• Recording People

    Valentin Moncler | M1 CAS

    Intention

    Afin de poursuivre les recherches entamées dans le cadre de mon mémoire autour de la musique générative et après avoir observé le travail de Jeff Talman sur The Low Down - qui génère du son, des résonances pures à partir du silence d'une pièce avec différents hauts-parleurs -, j'ai choisi de réaliser une installation de "room recording".

    Ce travail propose une tentative de renversement du dispositif d'installation dans l'esprit de Mirror, d'Alexandra Dementieva. Le spectateur n'est plus simplement observateur, mais observé. L'installation se nourrit de sa présence et lui dérobe le son de ses déplacements et de ses paroles, portant en lui la trace d'un passé qui ne s'efface pas.

    L'environnement sonore créé s'auto-génère en fonction des déplacements du spectateur. Il capte les sons que celui-ci produit à l'approche des micros disposés dans l'espace et, par ré-enregistrement de la matière diffusée à travers les haut-parleurs, génère à terme des variations dans le matériau d'origine.

    L'aspect lié de tous les éléments enregistrés par des cross-fade sert un côté "à l'intérieur du ventre de la pièce", comme un enfant dans le ventre d'une mère entendrait les sons de l'extérieur lorsqu'on s'approche, naviguant autour de lui.

     

    Matériel

    • 1 ordinateur
    • 1 carte son (4in4out minimum dans le cadre de cette démonstration, modulable en fonction des espaces)
    • 4 enceintes
    • 4 micros (de préférence directionnels type cardioïdes)
    • 1 interface MIDI
    • 4 détecteurs capacitifs
    • 1 détecteur pyroélectrique
    • 1 capteur de volume sonore

     

    NB : Dans le cadre de cette démonstration, les capteurs ont été interprétés manuellement grâce à un contrôleur MIDI.

     

    Contrôleur

    Schémas d'installation

    Installation

     

    Description générale du fonctionnement

    L'installation est en attente. Lorsqu'un visiteur entre dans la pièce, son mouvement est traduit par le capteur pyroélectrique qui fait démarrer l'installation. Si des sons sont déjà stockés et constituent une base de données existante, ils sont déclenchés progressivement après le réveil de l'installation.

    Le spectateur se déplace dans l'espace. Lorsqu'il s'approche des microphones, les capteurs capacitifs détectent sa présence. Lorsqu'il est suffisamment proche d'un micro, les données du capteur sont interprétées pour déclencher l'enregistrement du son capté par ce micro. L'enregistrement s'arrête lorsque le spectateur s'éloigne. Il y peut y avoir autant d'enregistrements simultanés que de microphones dans cette configuration.

    Les sons sont ensuite rappelés et diffusés de manière aléatoire par le patch. Leur spatialisation à travers les quatre enceintes utilisées varie de manière aléatoire. Ce hasard suit des états différents en fonction du bruit dans la pièce. Plus le bruit perçu par le capteur de volume sonore est fort, plus les déplacements du son se font chaotiques, brusques et désordonnés.

    Lorsqu'il n'y a plus de spectateur, le capteur pyroélectrique ne capte plus de déplacements de chaleur. Un compte à rebours démarre et l'installation retourne progressivement à l'état de veille.

     

    Start-stop

     

    Le cœur du code

    Le code repose sur une gestion algorithmique des données perçues par les microphones et les capteurs.

    Les enregistrements sont déclenchés à proximité des micros. Les sons sont stockés dans un [coll] grâce à l'objet [sprintf] qui permet de combiner les signes en un seul message. Le numéro de fichier est incrémenté par un [counter] afin d'avoir toujours des noms de fichier uniques et de ne pas écraser les précédents. Comme l'enregistrement ne démarre pas forcément dans un moment à zéro énergie sonore, un enregistreur sans clic à été codé. Il repose sur une rampe générée par un [line 0.].

     

    Recording People

     

    Le rappel des sons est effectué de manière aléatoire. Un [counter] incrémente les numéros des fichiers inscrits dans le [coll] et communique dans le même temps le nombre maximum de fichiers contenus dans ce même [coll] à un [random] qui détermine aléatoirement quel fichier (parmi ceux déjà enregistrés) sera lu.
    Un crossfade est appliqué pour la transition entre chaque son. Pour cela, deux [sfplay~] se renvoient la balle automatiquement. Chaque fois qu'un fichier est lu par le [sfplay~], dans le même temps, ses informations sont envoyées à un [sinfo~]. Cet objet permet de connaître des informations relatives au fichier, notamment sa durée. J'y soustrait la durée du crossfade que je souhaite appliquer et, en faisant passer les signaux dans un [matrix], j'ajoute des messages qui permettent un fade-in et un fade-out simultanés pour le son entrant et le son sortant. Dans une perspective d'évolution du dispositif, j'essaierai probablement de coder ces fades de manières à ce qu'ils soient logarithmiques et pas linéaires comme c'est le cas ici.

     

    play-from-coll

     

    Des presets régissent l'aléatoire les déplacements dans l'espace. Il y a quatre paliers. Ceux-ci sont déclenchés par les données du capteur de volume sonore. L'objet [split] m'a permis de diviser l'étendue des données perçues par le capteur en quatre zones distinctes. L'objet [change] permet ensuite de ne prendre en compte que les changements de zone, et d'éviter une actualisation du paramètre à chaque changement de valeur perçue par le capteur.
    Aussi, à chaque arrêt du dispositif, le nombre maximum de fichier enregistrés est stocké dans un preset qui sera rappelé à la prochaine ouverture du patch.

    La spatialisation repose sur l'objet [spat5] développé par l'IRCAM. Des [drunk] permettent de moduler les paramètres d'azimuth, de distance et d'elevation simultanément. Lorsque les paramètres évoluent, le déplacement passe par tous les points intermédiaires entre celui de départ et celui d'arrivée grâce à l'objet [line] qui génère une rampe entre les deux valeurs. Celui-ci interprète les données transmises par le [pak] qui le précède et permet de faire en sorte que la nouvelle valeur d'arrivée soit la prochaine valeur de départ.

     

     Spat5

    General mix

     

    J'ai rencontré de nombreuses difficultés pour traiter les variables et leur ordre d'arrivée dans les objets comme pour l'enregistrement ou la lecture de fichiers. Je ne suis d'ailleurs pas parvenu à solutionner de manière totalement satisfaisante l'enregistrement pour lequel j'ai appliqué un délai de 10ms au [toggle] afin que le message "open nomdufichier.wav wave" parviennent en premier au [sfrecord~].
    Une autre difficulté a résidé dans l'algorithmie qui est présente dans le nommage, le rappel des sons et la spatialisation. Au départ, le son tournait simplement autour d'une seule enceinte, sans passer par les autres.

     

    Vidéo de démonstration

    « Synthétiseur HaptiqueSimmon »

    Tags Tags : , , , , , ,
  • Commentaires

    Aucun commentaire pour le moment

    Suivre le flux RSS des commentaires

    Vous devez être connecté pour commenter