Exemple d'utilisation des outils de CAO pour la synthèse sonore

"En Trance" de Fausto Romitelli pour soprano, ensemble et dispositif électronique



Laurent Pottier
Université Paul Valéry
Route de Mende
34199 Montpellier Cedex 5
e-mail : pottier@bred.univ-montp3.fr



Résumé: Ce document décrit le travail réalisé pour la production de la pièce "En Trance" de Fausto Romitelli, pour voix de soprano, effectif de seize instruments et électronique. Ce travail, effectué dans les studios de l'Ircam avec le compositeur pendant l'automne et l'hiver 1995, a permis la création d'une bande électronique destinée à être jouée par ordinateur en concert.
Les sons électroniques ont été produits avec les programmes CSound [Vercoe 1994], Chant [Rodet, Potard, Barrière., 1985] et Audiosculpt [Hanappe, 1994] sous le contrôle du programme PatchWork [Assayag et Rueda, 1993]. Les paramètres de la synthèse ont été prélevés à partir d'analyses réalisées sur des sons instrumentaux et en utilisant des processus harmoniques et algébriques mettant en uvre différents algorithmes mis au point dans PatchWork.


1. Présentation des outils

1.1 PatchWork

PatchWork est un environnement de programmation graphique pour la composition assistée par ordinateur basé sur les langages Common Lisp et CLOS. Il permet de manipuler le matériau musical (notes, rythmes, enveloppes, structures formelles). PatchWork permet également d'implémenter des algorithmes pour créer et manipuler des objets musicaux. PatchWork peut être utilisé pour le contrôle de différents dispositifs de synthèse sonore, comme les synthétiseurs MIDI, les programmes CSound, Chant ou Audioculpt. Il permet d'échanger des informations avec de nombreux programmes sous différentes formes (fichiers textes ou binaires, MIDI Files, Apple Events).

1.2. CSound

CSound est un programme de synthèse sonore par ordinateur issu de la lignée des programmes "Music x" initialement conçus et programmés dans les années cinquante par Max Mathews. CSound permet de construire des "instruments" à partir de la plupart des algorithmes de synthèse connus puis de fournir à ces "instruments" des instructions, des listes de paramètres ou "scores" pour la production de sons numériques. Ce programme fonctionne en temps différé et ne présente pas de limite quant à la multiplicité des paramètres qu'il peut mettre en uvre.

1.3. Les librairies de PatchWork

Des librairies pour le programme PatchWork ont été mises au point de façon à contrôler plus aisément les paramètres de la synthèse avec CSound.
La librairie "CSound/Edit-sco" [Malt et Pottier, 1994] permet d'utiliser les ressources de PatchWork, ses fonctions de construction et de manipulation d'objets musicaux ou ses éditeurs graphiques et de notation musicale, pour produire des paramètres destinés à contrôler des "instruments" construits avec CSound.
La librairie "SpData" [Pottier, 1996] permet de lire les données d'analyses réalisées avec différents programmes (Audiosculpt, Lemur, Soundhack, CSound...) et d'en donner une représentation permettant de les éditer et de les transformer, notamment en vue d'une utilisation pour la synthèse de sons numériques.

2. Présentation de la pièce "En Trance"

2.1. Le compositeur

Fausto Romitelli, né en 1963 en Italie, a suivi le cursus de Composition et d'Informatique musicale de l'Ircam au cours de l'année universitaire 1990-1991. Il s'était déjà intéressé à la création de sons de synthèse à l'aide du programme CSound et avait alors créé un ensemble de fonctions pour l'aide à la composition et à la synthèse en utilisant le langage Common Lisp.

2.2. Le dispositif électronique utilisé

Dans sa pièce "En Trance" pour voix de soprano, ensemble de 16 instruments et dispositif électronique, Fausto Romitelli n'a voulu privilégier ni l'ensemble instrumental ni la partie électronique mais plutôt leur attribuer des rôles complémentaires.
La partie électronique a été jouée par plusieurs claviers numériques pilotant un synthétiseur SY99, un échantillonneur Sample-Cell et une bande quadriphonique. Cette dernière, formée par l'enchevêtrement de plusieurs couches sonores, était organisée en onze fragments successifs, déclenchés à partir des claviers.



Figure 1 : "En Trance ": schéma global du dispositif de câblage audio et MIDI.

2.3. Structure de la pièce

La pièce, d'une durée totale de 15 minutes, est organisée en trois cycles comportant chacun trois types de sections : les sections A et D lentes et très calmes, où les sons sont comme chuchotés ; les sections B plus intenses, à l'intérieur desquelles tournent des boucles rapides "cresc. - decresc.", chacune jouée sur un accord différent par les instruments et l'électronique ; les sections C rythmées, où les instruments suivent des voies différentes créant ainsi une polyphonie mouvementée.


Figure 2 : "En Trance ": structure de la pièce

2.4. L'utilisation de la CAO pour les harmonies des sections

Pour générer l'ensemble des mouvements harmoniques présents dans sa pièce, Fausto Romitelli a utilisé plusieurs types de processus. Parmi ceux-ci, on trouve la distorsion de spectres harmoniques, le jeu sur des combinaisons de hauteurs, choisies dans un ensemble donné, la génération de spectres par modulation de fréquences ou encore la référence à des spectres de fréquences fournis par l'analyse de sons instrumentaux.
Dans la section 1B, par exemple, un processus de distorsion est appliqué à des séries harmoniques développées à partir de hauteurs fondamentales placées dans un registre grave. La ligne mélodique de ces fondamentales crée un mouvement se déplaçant vers les graves, mouvement accentué par les variations de l'indice de distorsion qui diminue vers la fin de la section.



Figure 3 : les fondamentales utilisées pour générer les hauteurs dans la section 1B

On peut observer, figure 4, les différentes séries harmoniques réalisées à partir de la ligne mélodique des fondamentales et figure 5 les même séries après distorsion.



Figure 4 : les séries harmoniques (10 premiers partiels) sur les fondamentales de la section B1



Figure 5 : les séries après distorsion (10 premiers partiels) de la section B1
taux de distorsion : 0.8 0.9 0.85 0.9 0.95 0.95 0.65 0.65 0.65

Le patch ci-dessous, réalisé avec le programme PatchWork, a permis de produire ces suites d'accords. Le module "const" contient la liste des indices de distorsion. Le module "chord" contient la ligne mélodique des fondamentales. Le module "arithm-ser" donne la liste des harmoniques - 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 - liste sur laquelle on va placer en exposant l'indice de distorsion. La note donnant la fondamentale est convertie en fréquence (f0) et multipliée successivement par chacun des indices modifiés avant d'être à nouveau convertie en MIDIcents.

fn = f0 * ni

avec
fn = fréquence du nième partiel
f0 = fréquence de la fondamentale
n = indice du partiel
i = indice de distorsion



Figure 6 : patch pour la distorsion de séries harmoniques (programme PatchWork)

D'autres techniques ont également été utilisées pour l'élaboration de l'harmonie dans les différentes sections, par exemple : l'étirement d'accords et la génération de partiels par la simulation d'une modulation de fréquence.



Figure 7 : (a) Distorsion d'un accord vers les graves (section 3D')
(b) Création de hauteurs par modulation de fréquence (section 2A)

Les sons électroniques ont été construits sur les mêmes harmonies que celles des parties instrumentales. Nous décrivons dans le chapitre suivant les techniques mises en uvre pour la génération des deux types de sons les plus représentatifs de cette pièce : les sons filtrés et les sons à forme d'onde variable. Dans ces deux cas le compositeur joue sur les ambiguïtés entre la notion de timbre et celle d'harmonie.

3. Description des techniques de synthèse des sons

3.1. La synthèse par filtrage

Le filtrage est une technique de synthèse qui consiste à atténuer un certain nombre de fréquences présentes dans un son. Dans cette pièce, les filtrages étaient destinés à imprégner d'un contenu harmonique précis des sons bruités. Pour cela, nous avons utilisé dans le programme CSound des filtres résonants, ne laissant passer qu'une bande de fréquence très réduite (de l'ordre du hertz) et centrés sur les notes des accords que l'on désirait faire émerger du son à filtrer. Pour filtrer le son par un accord donné, nous avons créé, pour chaque note de cet accord, un ensemble de filtres de fréquences multiples de la fréquence correspondant à cette note. Les outils algébriques et graphiques de PatchWork nous ont permis de contrôler la variation de l'intensité des filtres avec leur rang harmonique et d'agir globalement sur l'intensité des filtres en fonction de leur fréquence.

Les sons destinés à être filtrés ont été obtenus en effectuant des synthèses croisées entre divers sons instrumentaux à l'aide du programme Audiosculpt. Ces croisements nous ont procuré des sons bruités, aux profils dynamiques très mouvementés et présentant un très riche spectre de fréquences.
L'instrument décrit dans le schéma ci-dessous peut être contrôlé par un score formé par une succession de lignes de paramètres correspondant chacune à un filtre.

;ins date durée iamp ifreq iatt iatt+isust iband ibwsc
i1 0 8 2.6 880 1 6 1.6 50


Figure 8 : Orchestre utilisé pour le filtrage (CSound)

3.2 La synthèse par forme d'onde

La synthèse par forme d'onde variable a permis de créer des sons en synthèse pure tout en gardant une référence au monde instrumental à l'intérieur duquel des données ont été prélevées puis réduites par plusieurs techniques associées.
Le principe de cette synthèse consiste à utiliser une série d'oscillateurs en phase qui s'additionnent et dont les amplitudes varient au cours du temps. Ce procédé permet l'interpolation de différentes formes d'ondes et produit, en permanence, des variations de timbres. Diverses fonctions de modulations, des vibratos ou "jitter", ont également été utilisées pour créer du mouvement à l'intérieur du son. Enfin, des enveloppes de fréquences et d'amplitudes ont été produites pour offrir des variations dynamiques de la hauteur et de l'intensité du son.



Figure 9: Orchestre utilisé pour la synthèse par forme d'onde (CSound)

Suivant les sections, les formes d'ondes ont été calculées soit par l'analyse additive harmonique d'un son instrumental, effectuée par exemple à chaque seconde sur le son original, soit d'après une définition géométrique de l'onde (sinus, triangle, dent de scie) ou encore d'après une définition harmonique.



Figure 10 : Formes d'ondes obtenues par l'analyse harmonique d'un son de violoncelle en deux points différents (attaque et chute)

Les enveloppes de fréquences ont été calculées d'après l'analyse de la fondamentale d'un son harmonique instrumental en utilisant le programme Audiosculpt. Les enveloppes d'amplitudes ont été obtenues d'après l'analyse de l'enveloppe d'amplitude de sons instrumentaux à l'aide du programme PatchWork ou calculées d'après des fonctions arithmétiques (sinusoïdes, courbes de gauss ) ou des courbes graphiques interpolées.



Figure 11 : Courbes d'amplitudes réalisées par interpolation entre une enveloppe d'amplitude prélevée sur un son de violoncelle (à gauche) et une courbe de gauss

3.3 Les niveaux de contrôle des paramètres de synthèse

Après avoir construit les instruments destinés à CSound, nous avons dû programmer des patchs à l'intérieur de l'environnement PatchWork pour la production des scores de contrôle de ces instruments. Ces patchs ont été construits en plusieurs niveaux.
Le premier niveau de construction du patch est réalisé par l'assemblage de modules destinés à structurer les données en tableau et à écrire un fichier texte qui constituera le score.
Le deuxième niveau de construction du patch consiste à mettre en place des fonctions d'interpolation, des changements d'échelles pour les durées des sons partiels et différentes règles qui permettent de produire des sons complexes avec un nombre encore réduit de paramètres de contrôle. Le passage du premier au deuxième niveau s'effectue par un procédé d'abstraction.
Le troisième niveau de construction du patch détermine des progressions dans le temps des différents paramètres de contrôle définies au niveau inférieur. Pour cela, diverses fonctions ont été utilisées parmi lesquelles des outils graphiques permettant de tracer l'évolution d'un paramètre au cours du temps et divers types de séries et d'interpolations.



Figure 12 : différents niveaux d'abstractions d'un patch de contrôle de la synthèse dans PatchWork

En évaluant le patch situé au troisième niveau, on obtient la production d'un ensemble de scores permettant la synthèse d'un ensemble de sons constitutifs d'une section. Dans l'exemple ci-dessous correspondant à la section 3D' (la dernière de la pièce), la partie électronique est formée de deux couches de sons filtrés et d'une couche de sons par forme d'onde, qui évoluent en six fois cinq phrases en produisant une descente progressive vers les graves.



Figure 13 : répartition des sons pour le mixage de la section 3D' (Protools)



Figure 14 : sonagramme du début de la partie électronique de la section 3D'

Conclusion

Le programme PatchWork offre au compositeur de nombreuses fonctions arithmétiques, logiques et graphiques qui lui permettent d'explorer une multitude de domaines encore non exploités et riches de promesses musicales. L'utilisation de PatchWork pour l'étude, la transformation et la génération de données concernant l'analyse et la synthèse des sons permet de dépasser le stade de la partition pour agir directement sur le matériau sonore. Les techniques d'abstraction offrent la possibilité d'agir à l'intérieur d'un même patch sur des contrôles situés à chacun des niveaux du processus d'écriture : de la microstructure d'un partiel jusqu'à la structure harmonique d'une section de la pièce


Bibliographie

[Hanappe 1994] Hanappe Peter, Audiosculpt - User's Manual , documentation Ircam, Paris, Octobre 1994, 75 p.
[Assayag et Rueda 1993] Assayag Gérard et Rueda Camillo, The Music Representation Project at IRCAM , ICMC Proceedings, 1993, pp. 206-209
[Malt et Pottier 1994] Malt Mikhail et Pottier Laurent, PW Csound/Edit-sco - Library of modules for Generating Csound scores - Reference , documentation Ircam, Paris, Avril 1994, 45 p.
[Pottier 1997] Pottier Laurent, PW-SpData : Vue d'ensemble, Référence, Tutorial , documentation Ircam, Paris, Mars 1997, 91 p.
[Vercoe 1986] Vercoe Barry, Csound, A Manual for the Audio Processing System and Supporting Programs with Tutorials , Media Laboratory, M.I.T., Cambridge Massachusetts, 1986, éd. de 1994, 133 p.
[Rodet, Potard, Barrière 1985] Rodet Xavier, Potard Yves , Barrière Jean-Baptiste, Chant : de la synthèse de la voix chantée à la synthèse en général , rapport Ircam, n 36, Paris, 1985, 21 p.
[Rodet 1980] Rodet Xavier, Time-Domain Formant-Wave-Function Synthesis , Spoken Language Generation and Understanding, ed. J.G. Simon, Dordrecht:D. Reibel. 1980, reprinted in Computer Music Journal 8 (3), 1984 , pp. 9-14
[Potard, Baisnée, Barrière 1986] Potard Yves, Baisnée Pierre-François, Barrière Jean-Baptiste, Experimenting with Models of Resonance Produced by a New Technique for the Analysis of Impulsive Sounds , ICMC Proceedings, San Francisco, 1986, pp. 269-274