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