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