Balises Sonores

Fin 2012, Yvain von Stebut est venu me parler de son projet : construire des objets insolites permettant d′écouter au casque des enregistrements radiophoniques - ou autres. Quelques mois plus tard naissaient les balises sonores.

Parallèlement à son travail de rencontres radiophoniques à Vandoeuvre, Yvain von Stebut s’est associé à Anthony Laguerre (musicien et électronicien) et Thomas Girod (informaticien et musicien) pour réaliser des balises sonores proposant au public des situations d’écoute singulières. Ils ont glissé de petits modules de lecture audio autonomes dans différents objets (meubles, boîte aux lettres, radio…) invitant le public à déconnecter les écouteurs de leurs téléphones portables pour les reconnecter dans les prises audio de ces modules disséminées dans l’espace de la galerie. Ces expérimentations autour de la diffusion sonore permettront également d’envisager des développement futurs au travers de parcours radiophoniques dans la ville.

Programme du festival Musique Action, au Centre Culturel André Malraux

Les balises

Les balises sont des objets du quotidien dans lesquels on a greffé un dispositif de diffusion sonore. Ce dispositif est composé des éléments suivants :

  • un Arduino Uno
  • un MP3 Shield, permettant la lecture de fichiers sonores à partir d′une carte micro-SD,
  • une alimentation externe ou sur pile 9v,
  • un montage électronique permettant de brancher plusieurs écouteurs, avec un bouton de volume indépendant.

Le code embarqué dans l′Arduino permet la lecture des pistes présentes sur la carte-SD et propose deux modes de lecture :

  • normal : par ordre alphabétique, et on repart de la première piste quand on arrive à la fin ;
  • shuffle : les pistes sont mélangées, lues, et remélangées avant d′être lues à nouveau.

Les deux boutons en facade permettent simplement de passer à la piste suivante ou précédente.

La table d′orientation

Pour cette pièce, l′objectif était de construire une interface permettant une écoute non-linéaire - l′auditeur doit pouvoir voyager dans l′enregistrement en accélérant, ralentissant, sautant d′un moment à un autre, superposant les sons …

Les boutons, faders et potards incrustés dans la table servent à contrôler un patch Max/MSP, en charge de la production sonore. Un Arduino Mega fait l′interface entre la table et l′ordinateur.

Si l′électronique de la table est très simple (câbler les boutons, faders et potards sur les entrées numériques et analogiques de l′Arduino), sa réalisation a été assez fastidieuse. D′une part, la répartition des contrôles aux quatre coins d′une table d′un mètre carré nécessite de faire courir de nombreux fils sous la table, ce qui fragilise le montage. D′autre part, les potards ont leur masse repiquée sur le plateau métalique de la table, ce qui introduit un signal parasite capté par l′Arduino lorsqu′on touche le plateau métalique.

Pour la programmation de l′Arduino et la communication avec l′ordinateur, nous avons dans un premier temps opté pour maxuino. Coté Arduino, on charge un programme permettant de causer selon le protocole firmata. Coté Max/MSP, on utilise l′objet maxuino pour récupérer les messages firmata, et tout est configurable via une belle interface graphique, sans devoir écrire une ligne de code … en théorie. En pratique, tout n′est pas si rose.

  • Malgré de nombreux efforts, nous n′avons pas réussi à faire marcher la mémorisation de configuration. Yvain devait donc activer manuellement toutes les entrées (16 analogiques, 28 numériques) à chaque démarrage de son patch.
  • Le processus d′activation étant lui-même assez obscur, le démarrage du patch tenait presque du rituel vaudou.
  • Enfin, le tout avait tendance à planter au bout de quelques heures d′usage, pour une raison que je n′ai pas eu le temps d′élucider (peut être liée au nombre gigantesque de messages inutiles envoyés par l′Arduino sur la liaison série).

Finalement, j′ai opté pour le développement d′une solution ad-hoc : l′Arduino lit ses entrées, et envoit un message si la valeur lue est différente de la précédente, en tenant compte d′une marge d′erreur pour compenser le problème de bruit sur les entrées analogiques. Les messages sont transmis sur la liaison série selon un protocole ascii tout simple, mais suffisant pour cet usage :

<numero du controleur> <valeur>\n

Coté Max/MSP, les objets standard permettent de communiquer avec un port série. Il ne reste alors plus qu′à interpréter le protocole et router les messages vers les contrôles appropriés.

Malgré les nombreuses embûches sur le chamin, le résultat final est fonctionnel - de nombreux visiteurs ont pu composer des tableaux sonores avec. Mais la v2 connaitra sera certainement beaucoup plus aboutie techniquement …