Overblog
Suivre ce blog Administration + Créer mon blog
26 mars 2014 3 26 /03 /mars /2014 12:13

Bon, ça fait 2 mois que l'événement est passé, mais ça me fait mal de laisser mon blog autant en déshérence.


Comme je l'ai dit ultra rapidement dans mon article précédent, j'étais le 31 janvier sur scène au côté de Marklion à la Gare Numérique de Jeumont du côté de Lille pour leur première soirée Electro Session. J'ai joué le VJ au moyen de mon logiciel dont je parlais ici. Un grand moment 



De manière complètement improvisée, après une discussion avec les très sympathiques You Man qui étaient aussi à l'affiche, j'ai développé un autre logiciel de VJ en une heure dans les loges et je suis remonté sur scène à leurs côtés pour en jouer 

Une super soirée ! Marklion, You Man, on remet ça quand vous voulez 

 

 

 

Partager cet article
Repost0
31 janvier 2014 5 31 /01 /janvier /2014 20:45

Un article hyper ultra rapide pour dire que dans 15 min je suis sur scène à la gare numérique de Jeumont avec Marklion :-)

https://m.facebook.com/events/544422058988202/

Avis à ceux d'entre vous qui sont dans la région de Lille ! :-)

Partager cet article
Repost0
27 octobre 2013 7 27 /10 /octobre /2013 19:51

Comme je l'avais annoncé dans mon article précédent, j'ai à nouveau collaboré avec Marklion pour son concert au Cargo de Nuit à Arles du 23 octobre 2013. Cette super soirée du festival Octobre Numérique sur le jeu vidéo a attiré pas mal de monde, avec aussi au programme le déjanté Morusque et le très bon Dubmood dont les musiques électroniques reprennent les sonorités de vieux jeux 8bits.

 

 


 

L'animation derrière Marklion est générée en temps réel par un logiciel que j'ai développé encore une fois avec Processing. J'utilise une caméra Kinect qui le filme et l'affiche sous la forme d'une sorte de nuage 3D d'électrons qui lui donne une allure de Christ numérique. Mon programme mêle sa représentation virtuelle à toutes sortes d'effets vidéos réagissant à la musique et dont Marklion contrôle les paramètres grâce à un contrôleur MIDI. J'ai utilisé pour ça un Korg nanoKontrol2 qui s'est avéré très pratique pour modifier en live les variables du programme.

 

 


 

Le concert s'est super bien passé, mis à part un petit problème de clonage d'écran qui a fait qu'il n'était pas possible d'avoir le retour du vidéoproj sur l'écran du portable devant Marklion. Problème qu'il a résolu en posant son téléphone devant lui en mode caméra en guise de rétroviseur

 

Ce fut une excellente expérience, qui m'a donné plein d'autres idées. Ce genre de collaboration artistique me plaît vraiment beaucoup. J'ai hâte de remettre ça !

Partager cet article
Repost0
13 octobre 2013 7 13 /10 /octobre /2013 16:31

Marklion est venu faire une performance vendredi dernier à Arles à l'occasion du vernissage des expositions de l'Obs/IN, conférence dont la thématique cette année est l'image numérique et le jeu vidéo.


J'avais eu la chance d'être mis en contact avec lui (merci Yannick ) et de lui proposer une collaboration unissant ses talents de musicien et mes compétences en codage. J'ai développé pour son concert un logiciel qui produit en temps réel une animation réagissant à sa musique et aux mouvements des spectateurs.


Les gens se retrouvant plongés dans cet univers virtuel crée par les accents 8bits de la musique électronique de Marklion, j'affiche les spectateurs sous la forme de sprites des débuts du jeu vidéo grâce à une caméra Kinect. Leurs coeurs battent au rythme de la musique et sont connectés entre eux par cette émotion commune suscitée par la musique.

D'où le nom de cette performance graphique : Connecting Beats, merci à ma chouchounette pour l'avoir trouvé !



 

Le codage en Processing a été fait un peu à l'arrache, les derniers moments avant le concert ont été l'occasion de quelques sueurs froides (plantage de ma machine, merci les MàJ foireuses de Windows 8 ), mais la soirée s'est très bien déroulée ensuite ! L'expérience a été très positive ! On devrait normalement rééditer cette collaboration pour un concert de Marklion le 23 octobre au Cargo de Nuit à Arles 


 

Marklion (ALPAGE Records)

Précurseur de la génération 8bit, au sein notamment de son ancien groupe DAT Politics, Marklion compose aujourd'hui une Techno-pop parfois mélancolique aux accents acides survitaminés. Hors format et hors tendance, sa musique est toujours vivante et vivifiante.

http://marklion.fr/biopics

 

Obs/IN 2013

Arles @Espace van Gogh - Expositions du 11 au 24 octobre & Colloque les 23 et 24 octobre

http://observatoireimagenumerique.com

 

Partager cet article
Repost0
21 juin 2012 4 21 /06 /juin /2012 20:40

stylophone.jpg

 

C'est aujourd'hui la fête de la musique, malheureusement annulée dans certaines villes en raison des intempéries. J'ai bricolé une compo de circonstance au stylophone, "La fanfare des grenouilles". Croâ.

Oulah, une musique au stylophone, ça doit être bien pourri, vous dites-vous. Et bien non, pas du tout. C'est pire. Oh oui.

 

dewplayer:http://www.stravingo.fr/musique/La_fanfare_des_grenouilles.mp3&

 

Avec ça, si il ne pleuvait pas dans votre ville, ce devrait maintenant être chose faite.

Partager cet article
Repost0
8 février 2009 7 08 /02 /février /2009 00:50
Je vous parlais dans le précédent article du séquenceur Reaper, dont je me sert en réalité pour deux choses :
  • Je m'en sert comme d'un séquenceur, normalement, quoi. Je bricole des musiques en m'enregistrant sur plusieurs pistes en jouant successivement de la guitare, de la basse, du clavier, et en rajoutant une batterie. Ça m'amuse beaucoup en dépit d'une qualité, heu, discutable
  • Je l'utilise aussi en temps que programmeur. En effet, Reaper offre la possibilité d'appliquer sur les pistes audios différents effets grâce à des plugins aux formats VST, DX et JS. Ces formats sont standards et peuvent être utilisés dans de très nombreux logiciels de traitement audio. N'importe quel programmeur peut créer un plugin VST grâce au SDK de Steinberg ou un plugin DX avec le SDK de Cakewalk.


Mais le format qui m'intéresse le plus actuellement est le JS, ou « JesuSonic ». D'ailleurs, pourquoi un tel nom ? Et bien parce que, outre le fait qu'il s'agisse d'un logiciel, ses concepteurs ont aussi pour projet d'intégrer ce soft dans un boitier hardware à la forme pour le moins mystique.



Contrairement aux plugins VST et DX qui sont développés en C++ puis compilés, les plugins JS ont la particularité de se présenter sous la forme d'un script, d'un fichier texte écrit dans un langage de programmation très simple qui s'apparente un peu au langage C. Du coup, ils ont pour gros avantage le fait de pouvoir être édités afin de modifier leur comportement, sans avoir à quitter Reaper ! Il est donc possible d'écrire un effet JS, de le tester, et de le modifier à volonté afin d'obtenir le résultat voulu. Le cycle de développement est ainsi accéléré. Les plugins JS offrent aussi l'avantage de pouvoir créer très facilement une interface graphique (sliders, menus déroulants) afin d'ajuster les paramètres de l'effet.


Je me sert donc actuellement de Reaper pour écrire des effets au format JS. Lorsqu'ils seront au point, je les adapterai ensuite en C pour la TCDDK. Bref, je me sert de JS pour prototyper des effets pour la ToneCore de line6. Pour vous montrer à quel point un script JS est simple, voici un effet d'écho très basique que j'ai bricolé vite fait :


desc:echo

slider1:200<0,1000,1>length (ms)

slider2:-10<-20,0,1>feedback (dB)


@init

buffer=0;


@slider

delaylen=slider1*srate/1000;

feedback = 2 ^ (slider2/6);


@sample

buffer[0]=spl0 + buffer[0]*feedback;

buffer[1]=spl1 + buffer[1]*feedback;

spl0=buffer[0];

spl1=buffer[1];

buffer += 2;

buffer >= delaylen*2 ? buffer = 0;


Ce plugin comporte deux sliders, définis au début du script, qui permettent de régler la longueur de l'écho (entre 0 et 1000 ms) ainsi que le volume de l'écho (-20 à 0 dB).



Les plus programmeurs d'entre vous comprendront très facilement ce programme après avoir jeté un œil à la doc très concise du langage Jesusonic. Grosso modo, je mélange les échantillons en entrée (spl0 et spl1, pour les échantillons stéréo de gauche et de droite) à ceux que j'avais enregistré dans un buffer d'une longueur variable (donnée par le slider 1 de l'interface), en ajustant le volume de ce buffer grâce au slider 2, et je remet le tout dans spl0 et spl1 pour que ce mélange soit joué.


Et en voici le résultat. Tout d'abord, en enregistrant directement la guitare :


[Guitare → Pod XT → Reaper]


Puis en appliquant l'effet JS d'écho :


[Guitare → Pod XT → Reaper → Effet JS]


Oui, oui, l'effet d'écho est trèèèès basique et le guitariste est nul, mais c'est juste pour illustrer le principe ^^'


Pour l'anecdote, comme mes développements tournent beaucoup ces temps-ci autour de l'informatique musicale (TCDDK, Jesusonic), je programme très souvent maintenant avec une guitare sur les genoux – ce qui n'est pas des plus pratiques – afin de tester rapidement mes programmes. Et du coup, l'envie m'est venue de tester le jeu en slide avec une tone bar, car cette technique se joue justement avec la guitare posée à plat sur les cuisses. C'est donc aussi ce qui explique la piètre qualité du morceau d'exemple ci-dessus (outre les très modestes talents guitaristiques de votre serviteur), car je n'ai pas du tout réglé ma Stratocaster pour le slide : l'action est trop basse, le tirant des cordes trop léger, et du coup la Tone bar racle sur les frettes


Bon, il faut que j'améliore cet écho, et dès que j'arrive enfin à utiliser cette @%#!  de SRAM, je porte l'effet sur la TCDDK.


Partager cet article
Repost0
7 février 2009 6 07 /02 /février /2009 11:41
Au cours de mes expérimentations musicales, j'utilise beaucoup l'excellent Reaper , logiciel d'enregistrement et d'édition audio multipistes (sons échantillonnés et midi). Un séquenceur, quoi, autrement appelé un « DAW », pour « Digital Audio Workstation »


C'est un nouveau venu dans un milieu déjà occupé depuis des années par des mastodontes tels que Abbleton Live, Cakewalk, Cubase ou Pro Tools, mais il a cependant bien des avantages pour lui.


A commencer par son prix de 50$ pour une utilisation non commerciale, alors que ses concurrents sont 10 fois plus chers, ainsi qu'une interface très claire, très facile d'utilisation là où les ténors du genre présentent souvent une interface un peu trop touffue pour l'amateur moyen. La place occupée sur disque est aussi stupéfiante : l'installeur fait 3 Mo, le logiciel une fois installé prend moins de 12 Mo. Ça se voit ensuite au démarrage qui ne prend que quelques secondes !


Mais ce prix modeste, cette clarté de l'interface et cette taille réduite ne signifient pas pour autant que Reaper est un outil simpliste, bien loin de là.


Il est au contraire très puissant, rapide. Certes, il n'offre pas autant de fonctionnalités qu'un Cubase ou qu'un ProTools, mais il propose l'essentiel (et même plus) dont un amateur voire un semi pro a besoin pour créer. Le nombre de pistes est illimité, de nombreuses opérations sont possibles sur les sons, de nombreux formats de fichiers sont reconnus (AIFF, OGG, MP3, WAV, etc.), les effets et instruments virtuels standards sont utilisables (VST, VSTi, DX, DXi, JS), l'interface est customisable, etc.


Et surtout, il y a derrière une équipe de développement très dynamique qui sort une nouvelle mise à jour tous les mois avec des nouveautés, améliorations et corrections par dizaines. Les bugs sont donc très rapidement corrigés, ce qui en fait un logiciel particulièrement stable.


Vraiment, si vous vous intéressez à la création musicale, je vous conseille d'essayer Reaper.


...et non, ils ne me sponsorisent pas pour leur faire de la pub, mais c'est vraiment un logiciel que j'apprécie et qui offre des possibilités pour un développeur comme moi, mais je vous en reparlerai.

Partager cet article
Repost0
4 février 2009 3 04 /02 /février /2009 10:09
Le TCDDK m'offre un challenge à bien des niveaux. Non seulement je découvre la programmation sur DSP et je me forme sur le traitement du signal, mais en plus de cela je dois composer avec les restrictions mémoire très importantes de cette plateforme.

En effet, le DSP 56364 possède 3 RAM différentes :
  • mémoire P : 1,25k x 24 bits pour stocker le programme.
  • mémoire X : 1K x 24 bits pour stocker des données.
  • mémoire Y : 0,75K x 24 bits pour stocker des données.
Il y a aussi des subtilités permettant de faire des vases communiquants entre les mémoires P, X et Y, afin d'allouer plus ou moins de mémoire au programme en prenant sur l'espace des données, mais je ne vais pas vous embêter outre mesure avec ça. Vous l'aurez constaté, le DSP possède vraiment très peu de mémoire.

En particulier, les 1,25k de la mémoire P ne pèsent pas bien lourd, mais c'est cohérent avec le fait que ce programme doit être éxecuté en temps réel sur tous les échantillons sonores reçus, soit 40000 fois par seconde (x2 si on traite le son en stéréo) car le convertisseur analogique / digital fonctionne avec une fréquence de 40KHz. Bon, il y a vraiment intérêt à faire des programmes courts, optimisés, et on comprend pourquoi le développement doit être fait en assembleur ou en C. Un programme en C++ aurait été beaucoup trop gros. Ca me rappelle mes tout premiers programmes sur ZX81 et son glorieux kilo octet de mémoire. Comme quoi les 4 Mo de la DS, c'est vraiment du luxe :)


Heureusement, le TCDDK possède une extension mémoire, une SRAM de 512 Ko permettant d'étendre la mémoire P, X ou Y.

Je bloque actuellement sur l'utilisation de cette SRAM en raison du manque d'info dans la doc de Line 6. Il n'y a qu'un exemple en assembleur DSP 56364, que je ne connais pas et que je vais donc devoir apprendre ne serait-ce que pour décrypter cet exemple. Mes connaissances en assembleur 68000 et 80x86 me permettent de le comprendre dans sa globalité, mais je n'en saisis pas toutes les subtilités.

Et pourtant l'utilisation de cette SRAM est indispensable, soit pour stocker des tableaux importants, des tables précalculées, mais aussi pour bufferiser le signal reçu, afin de réaliser des effets tels que des échos, des délais, des flangers, qui ont besoin de mémoriser le son afin de le mélanger au son traité par la suite. Bon, inutile tout de même de songer à programmer un looper, car les 512 Ko ne permettent de mémoriser que 4,37 secondes de son en mono à 40KHz. On comprend pourquoi la pédale ToneCore Echo Park de Line 6, basée sur la même architecture, annonce un délai d'écho maximum de 2,2 secondes en stéréo.


Je ne dois pas être le seul à éprouver quelques difficultés à coder sur le TCDDK, car le nombre d'effets publiés jusque là est très faible. Je n'en ai compté que 5 alors que le TCDDK est sorti en octobre 2008 :
  • 2 Band Filter EQ, écrit en assembleur (exemple de Line 6)
  • Tremolo, écrit en assembleur (exemple de Line 6)
  • Tremolo 2, écrit en C (Brian Soderberg)
  • BadRubix, écrit en C (Luke Durback)
  • ST-Fuzz, écrit en C (Stravingo)
Ces programmes sont disponibles sur le forum officiel du TCDDK et sur le Wiki officieux. Pour avoir un peu fouillé dans les recoins du net, je n'en ai pas trouvé d'autres. Cher lecteur, si tu as la connaissance d'un autre effet, merci de me le signaler :)

Line 6 a vraiment tout intérêt à diffuser plus d'exemples en C et à étoffer sa doc si il souhaite que son TCDDK touche un plus large public.

Partager cet article
Repost0
25 janvier 2009 7 25 /01 /janvier /2009 21:41
J'ai rédigé un avis sur le TCDDK sur l'excellent site Audiofanzine que je lis avec plaisir régulièrement depuis des années. L'article est un peu trop long pour que je le reproduise ici, mais sachez que j'en dis du bien .

Je ne regrette que la doc minimaliste de Line 6, le faible nombre d'exemples (deux ) et le SDK en C très incomplet mais en cours de développement.

Je regrette aussi l'appétit vorace de la bestiole qui me descend une pile en 4h . Il va d'ailleurs falloir que j'achète l'adaptateur secteur (le DC-1 de Line 6), qui sera bien pratique à l'usage.


Mais globalement, je suis très satisfait de mon nouveau joujou qui va m'amuser  (et me servir !) pendant je pense pas mal de temps. Mais bon, sachez fidèles lecteurs que je ne délaisserai pas le développement sur DS pour autant
Partager cet article
Repost0
24 janvier 2009 6 24 /01 /janvier /2009 23:25
J'ai commencé à regarder ce qu'il était possible de faire avec le ToneCore DSP Development Kit (TCDDK, pour les intimes). Certes, il est possible de développer en assembleur pour le DSP56364, et d'ailleurs Freescale Semiconductor met à disposition tout un environnement de programmation (basé sur Eclipse), mais cela suppose un temps de formation assez élevé avant d'obtenir le moindre résultat satisfaisant.

Heureusement, Line 6 a commencé à diffuser un Kit de développement en langage C pour son TCDDK, s'appuyant sur l'environnement de développement de Freescale Semiconductor, mais il est pour le moment très embryonnaire. Cela permet en tout cas de réaliser assez rapidement de petits programmes. Je regarderai un jour l'assembleur du DSP56364, mais j'étais impatient de tester la bestiole.

J'ai écrit en langage C un programme permettant de simuler une pédale de type "Fuzz", qui modifie le signal provenant de la guitare en le boostant et en l'écrêtant. Le résultat est un son sale, saturé, très largement utilisé en rock, blues, métal, etc. Je l'ai ensuite compilé, puis transferré sur le TCDDK.

Pour tester l'effet de mon programme, j'ai joué (massacré ?) un riff en branchant ma stratocaster dans la pédale mais sans l'activer, et en reliant celle-ci à mon Pod XT pour simuler un ampli. J'ai utilisé une simulation de Marshall Super Lead jumped. Le résultat, sans le moindre effet, est un son plutôt clair :

[Guitare -> TCDDK désactivée -> Pod XT]

Bon, pour jouer du Metallica, le son clair c'est pas terrible. Et puis j'ai enclenché la pédale pour exécuter mon programme. Et là, c'est le drame :

[Guitare -> TCDDK activée -> Pod XT]

Bon, mon effet est beaaauuucoup plus cheap que ce que permettent de faire les pédales les plus connues dans le domaine de la distortion (Big Muff, Tube Screamer, Rat, etc.), mais je trouve le résultat intéressant pour les quelques heures de boulot que j'y ai consacré.

L'effet n'est pour le moment pas trop paramétrable. Dans mon programme, j'adapte la saturation du son en fonction de la position du premier des six potentiomètres de la pédale. En le mettant à 0, on a le son clair original, comme si la pédale était désactivée, et en le mettant à fond... on peut se racheter des oreilles  Dans l'exemple ci-dessus, je n'ai mis la saturation qu'à 50 %.

J'améliorerai cet effet et j'en développerai prochainement d'autres. J'ai entre autres une idée assez délirante qui pourrait être amusante si j'y parviens
En attendant, les heureux possesseurs de la TCDDK peuvent télécharger le fichier .cld à transférer sur leur pédale :

  [Download TCDDK-Stravingo-Fuzz]

Partager cet article
Repost0