Aujourd’hui, je ressors un vieux code que j’avais écris pour le CNAM. Le sujet était faire que l’image à l’écran bouge quand on parle dans un microphone. Mais pas d’animation à la Winamp (j’ai des vieilles références :-) ou le player de Windows. J’avais donc programmé une voiture sur un circuit, pour le réalisme j’avais connecté un Wii-chuck via un Arduino pour faire le volant. Imaginez une personne avec un Wiichuk et un micro en train de faire “Vrrrooum” et vous aurez un idée de ma soutenance (qui s’est bien passée d’ailleurs).
Les conditions étaient :
- Utiliser un Micro
- La langage imposé est Processing
Processing Késako
Processing est une variante de Java en plus simple. C’est un langage destiné à faire des oeuvres d’arts numériques. Il est souvent enseigné en école d’art. Il vient avec son propre éditeur. à noter que les Arduinos se programment aussi en processing.
Il suffit d’implémenter deux méthodes :
1 2 |
|
Un exemple très simple
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
|
Appuyez sur la touche play
Je viens de faire un petit painbrush. C’est assez facile d’obtenir un truc plutôt joli avec assez peu de lignes de code. Il y a des librairies toutes prêtes pour la video, webcam.
Il y a de nombreux livres donc le Visualizing Data. Pour 2007, le livre est impressionnant. On parle de traitement de donnée et acquisitions des données bien avant la mode du Big data.
Installez Processing
Nous allons d’abord installer Java si vous n’avez pas. J’installe le paquet officiel
1 2 3 4 5 6 |
|
Puis nous allons installer Processing On télécharge le binaire à l’adresse officielle
Puis on décompresse
1 2 3 |
|
Il n’y a plus qu’à lancer processing
1
|
|
Vous devriez voir apparaitre l’interface
Faire marcher mon code:
- Il faut utiliser la librairie Ess pour analyser le signal (marrant c’était déja vieux à l’époque)
- Aller sur le site suivant.
- Décompressez et copier le répertoire ESS dans /usr/share/processing/processing-2.2.1/modes/java/libraries/
Le code
Il est disponible ici sous Github. J’ai commenté la partie avec le Numchuck+Arduino (car peux de gens ont le matériel). A l’époque impossible de faire marcher la connection USB/Wiichuck sous Linux, j’ai passé la soutenance sous un vieux PC sous windows XP. Tout est mis dans le même fichier car j’avais pas trouver comment découper un projet. C’est d’ailleurs ce que je reproche un peu à Processing, c’est un langage simple pour débuter, mais faire un MVC ou un programme très complexe. Il faut quasiment tout refaire à la main.
Quelques liens
- le site officiel
- Des galeries interactives
- ProcessingJs (fait par le programmeur de JQuery Jon Resig)