• Aucun résultat trouvé

Dispositif de traitement audio en temps réel

Une partie des signes utilisés est proposée dans les notes de la partition La messe est dite. Vive la messefournie en annexe de ce document.

5.3 Dispositif de traitement audio en temps réel

Le code développé pour cette pièce est en lien avec mon projet du cours avancé de Création musicale en langage Python 2 (MUS 6327X) d’Olivier Bélanger. Un extrait est proposé en annexe de ce document.

5.3.1 Structure du programme Python

Il consiste en une librairie de traitement en temps réel comprenant :

1. enregistrements et lecture de pré-réglages (presets). Enregistrements et lecture d’auto- mations ;

2. traitement rythmique par enregistrement et rediffusion de grains ; 3. traitement rythmique par jeu de délais ;

4. traitement de texture par filtre ; 5. spatialisation.

Les chaines de traitement était appliquées sur les microphones de la caisse-claire, de la cymbale et du piano. Les contrôles se faisaient par lignes de commande puis ont été reliés à un clavier midi dont le routage était préparé pour l’occasion. Les activations et automations étaient ainsi lancées à partir du clavier midi ou à partir d’une pédale de déclenchement.

Une des difficultés du projet était la gestion des flux audio et du coût de calcul. La partie vidéo en temps réel de la pièce était assurée par un autre ordinateur sur scène.

FIGURE2.8:La messe est dite. Vive la messe: test et ajustement des réglages qui définiront les points d’interpolation sur le jeu du piano. Sur l’écran apparaissent les interfaces de contrôle du programme Python pour le traitement de texture par filtres.

Le volume de la librairie produite était conséquent : toutes ces fonctions et sous-fonctions reliées étaient entièrement originales à l’époque4.

5.3.2 Traitement de texture par filtre

Pour le traitement de texture, un programme de test construit sur une arborescence d’ef- fets permet de sélectionner les réglages intéressants et de les enregistrer en format texte dans un sous-dossier (voir figure 2.8). La librairie de traitement de texture emprunte la même arbo- rescence. Une méthode de lecture des réglages ré-affecte les valeurs aux bons objets grâce à des dictionnaires d’attributs (codés également pour l’occasion). L’affectation du réglage peut se faire grâce à un portamento. L’affectation de chaque attribut peut également se faire par un portamento, de sorte que l’on peut choisir son trajet d’interpolation entre deux jeux de paramètres.

4. Ce projet fut souligné par Olivier Bélanger pour avoir été le projet PYO de plus grande ampleur qui n’ait pas été codé par lui.

5 La messe est dite. Vive la messe

5.3 Dispositif de traitement audio en temps réel 61

5.3.3 Entrées audio

En entrée des traitements en temps réel, un programme de pré-traitement du flux est uti- lisé. Un filtre passe-haut basse fréquence et un filtre passe-bas haute fréquence sont utilisés. Une compression et un seuil (gate en anglais) sont également utilisés pour réduire un peu la plage dynamique et nettoyer le signal. Une méthode d’enregistrement de boucle est ajoutée.

Pour cette pièce en particulier, le piano bénéficiait d’une boucle de rétroaction (feedback) grâce à un haut-parleur orienté vers la table d’harmonie du piano. Le système était rendu riche et sensible par cette boucle. Le jeu pianistique se faisant essentiellement à l’intérieur du piano, un contrôle était possible sur les parties vibrantes (cordes et table d’harmonie) et donc sur l’amplification du feedback.

5.3.4 Spatialisation en temps réel

— Pour la spatialisation, une commande de position est donnée en paramètre d’un flux audio. Une configuration de haut-parleurs est également un paramètre d’entrée ; — La méthode de spatialisation choisie était VBAP [36] et fut implémentée à l’aide de

fonctions de librairie de calcul scientifique NumPy ;

— L’algorithme projette chaque flux sur chaque sortie avec un facteur d’amplitude et une couche plus ou moins forte de réverbération ;

— Les flux sont additionnés. Une compression et une réverbération globale sont appli- quées. La gestion se fait par ligne de commande. Les trajectoires sont automatisées et lancées depuis le clavier MIDI.

5.3.5 Traitement rythmique par délais

Pour le traitement rythmique par délais, une enveloppe d’une durée choisie sélectionne le flux audio et passe dans une série d’effets, un délai puis une autre série d’effet. Le délai est calculé de deux manières. Soit la période possible est supérieure à un temps de référence (tempo) et la durée maximale est inférieure à ce temps de référence. Soit la période possible est inférieure au temps de référence et la durée maximale est inférieure au temps de réfé- rence. À intervalles réguliers, choisis suivant le temps de référence et un tirage aléatoire, les propriétés des séries d’effet changent et un des délais est lancé.

5.3.6 Traitement rythmique par enregistrement et rediffusion de grains

Pour le traitement rythmique par gestion de grains, plusieurs couches de grains possédant des propriétés rythmiques similaires sont empilées mais le rendu de chacune est différent. Chaque couche stocke temporairement un grain dans une mémoire tampon ré-enregistrée régulièrement à partir d’un flux audio. Le grain est multiplié par une enveloppe et la lecture est lancée par déclenchement. Les déclenchements sont gérés soit par un nuage plus ou moins dense, soit par une séquence de temps forts suivant un type « grosse caisse » ou « caisse claire » grâce à un objet BEAT. La longueur des grains est variable. Un paramètre de vitesse de lecture peut y être affecté. Les grains contenus dans une couche peuvent ensuite être enregistrés. Leur densité et leur variation rythmique se font indépendamment.

6 L’Ivresse et le Progrès

6.2 Introduction 63

6

L’Ivresse et le Progrès

Composition : Cédric Camier

Date : 2013

Instrumentation : Percussions, Batterie, dispositif de platine sur cymbale

Durée : 9 ”

Création : 2014, The meaning of format, Live@CIRMMT, Multi- Modal Room New music Building, McGill University

Lien : -