Trajectoires sonores

 

Vincent Lesbros

m a i l t o : v i @ a i . u n i v - p a r i s 8 . f r

http://www.ai.univ-paris8.fr/~vi

 

GAIV, Département Informatique

Université Paris 8

2, rue de la Liberté

93526 Saint-Denis - France

 

 

 

Résumé

 

Nous présentons dans cet article trois nouveaux procédés de synthèse sonore dont le principe de fonctionnement est fondé sur l'utilisation de trajectoires de mobiles virtuels en tant que signal sonore échantillonné. Ces procédés, que nous regroupons sous le terme de synthèse subjectile, ont été mis en œuvre dans trois applications développées en langage C et en Smalltalk : Sound Potatoes, Mouvants et Rubans. L'application Sound Potatoes est un éditeur graphique particulièrement adapté aux sons de cordes pincées, les applications Mouvants et Rubans sont des outils de musique exploratoire permettant une approche nouvelle de la création et de la visualisation de sons dans des espaces à deux et trois dimensions.

 

1. Introduction

Le son que nous percevons est la conséquence des vibrations de l'air, les vibrations sont un mouvement et pour étudier les mouvements, il est pratique d'observer les trajectoires, c'est-à-dire la trace dans l'espace des positions successives des mobiles au cours du temps.

Partant de cette observation, nous avons utilisé des trajectoires de mobiles virtuels pour générer des sons. Le principe de base est l'utilisation en tant qu'échantillon de signal dans la forme amplitude temps de la projection de la position du mobile sur un axe. Par exemple, les valeurs des échantillons sonores sont les valeurs successives de la coordonnée x du mobile.

La synthèse sonore consiste alors en la création de trajectoires. Nos applications basées sur ce principe se distinguent sur la façon de produire ces trajectoires.

La première, nommée Sound Potatoes manipule une trajectoire préexistante, correspondant à une période de son. La trajectoire, donnée initialement par un geste de l'utilisateur, est déformée au cours du procédé de synthèse pour obtenir une évolution du son.

La seconde application, nommée Mouvants permet de créer des mobiles et de définir des interactions entre ces mobiles. Les trajectoires produites sont alors le résultat du déplacement des mobiles subissant les forces d'interaction.

Enfin, la troisième application nommée Rubans est un modeleur 3D permettant de construire des modèles tridimensionnels à la surface desquels les trajectoires des mobiles viennent s'enrouler à la manière de rubans autour de paquets. Il s'agit ici de définir l'espace dans lequel les trajectoires de mobiles peuvent être construites.

 

Figure 1 : Exemple de trajectoire dans Sound Potatoes.

 

Sound Potatoes est un éditeur graphique de sons de cordes pincées. En effet, la trajectoire donnée par l'utilisateur (figure 1) subit au cours du procédé une déformation élastique, et cette évolution, tendant à lisser la trajectoire tout en diminuant son diamètre correspond sur le plan sonore, à une simplification du spectre associée à une décroissance de l'enveloppe d'amplitude similaire aux caractéristiques des sons de percussions et de cordes pincées. Cette méthode de synthèse est à rapprocher de celle de [Karplus et Strong 1983] mais notre système généralise le procédé tout en rendant son utilisation intuitive par sa visualisation.

 

Figure 2 : Exemple de trajectoire dans Mouvants.

 

L'application Mouvant est née du besoin de nouvelles méthodes de génération des trajectoires (cf. figure 2) pour accéder à des familles de timbres différentes de celles obtenues dans Sound Potatoes. L'application Mouvant est également une généralisation de notre système basé sur les réseaux de couplages élastiques développé dans l'application Phonogramme [Lesbros 1995a, 1995b, 1996]. Les règles d'interaction entre les mobiles ne sont plus limitées à la simulation de couplages élastiques ou de ressorts mais peuvent être quelconques grâce à une représentation des champs de force par des images créées par l'utilisateur.

 

Figure 3 : exemples d'explosions. Les spirales sont formées par les trajectoires de trois mobiles A, B, C avec A lié à B, B à C et C à A. A chaque unité de temps, les mobiles s'éloignent les uns des autres et les forces qu'ils subissent sont de plus en plus grandes. La seconde explosion est formée par les trajectoires de trois mobiles X, Y, Z avec X lié à Y, Y à X, X à Z et Z à Y.

 

Le risque d'explosion de tels réseaux de mobiles en interactions (cf. figure 3) nous à conduit vers la définition de modèles tridimensionnels destinés à confiner les trajectoires des mobiles dans un espace clairement délimité. C'est le but de l'application Rubans.

 

Figure 4 : Le modèle édité dans l'application Rubans est ici un tube de 5 étages formés chacun de 7 points. L'option de visualisation montre les facettes et les segments (on voit les segments des facettes cachées). La trajectoire visualisée contient 400 intersections avec les segments. Sur les bords du tube, la trajectoire est repliée.

 

2. Sound Potatoes

Il est plus naturel de dessiner un cercle qu'une période de fonction sinus or, la projection sur un axe de la position d'un mobile décrivant une trajectoire circulaire produit un signal sinusoïdal, c'est-à-dire un son pur.

Notre programme Sound Potatoes utilise des trajectoires de mobiles virtuels décrites dans un espace à deux dimensions. Une trace quelconque produite par l'utilisateur à l'aide de la souris est interprétée en tant que trajectoire. Elle est formée d'une successions de segments et est refermée automatiquement sur elle même.

Un mobile virtuel parcours la trajectoire de point en point, une des coordonnées du mobile, son abscisse, est enregistrée dans un fichier d'échantillons sonores. La deuxième coordonnée, actuellement ignorée, pourrait également servir à produire un signal stéréo. La projection de la position du mobile pourrait aussi être faite sur différents axes de manière à produire une famille de sons variants progressivement en fonction de l'angle de projection.

 

La fréquence fondamentale du son obtenu est directement liée au nombre de segments de la trajectoire et à la fréquence d'échantillonnage choisie lors de la restitution sonore.

 

(1) f = fe / nombre_de_segments

 

f est la fréquence obtenue et fe la fréquence d'échantillonnage.

 

Le nombre de segments est dépendant du geste de l'utilisateur, de la durée et de la célérité de ce geste ainsi que de l'échantillonnage du mouvement de la souris par la machine. Un grand geste lent et ample donnera un son grave alors qu'un geste bref donnera un son aigu.

La taille de la trajectoire, plus précisément son diamètre mesuré perpendiculairement à l'axe de projection, est implicitement liée à l'amplitude du son, mais, pour éviter l'écrêtement du signal, nous préférons calibrer le signal obtenu en appliquant un facteur d'échelle ramenant les extrêmes dans les limites des valeurs possibles pour les échantillons. En contrepartie, la taille du tracé perd de son influence sur le résultat sonore.

Le timbre du son produit est lié à la forme de la trajectoire : un tracé lisse et circulaire sera proche d'un son pur alors qu'un tracé agité, saccadé produira un son plus riche en partiels.

Les variations temporelles du timbre sont la conséquence des déformations appliquées à la trajectoire du mobile au cours de notre procédé de synthèse.

A chaque tour, c'est-à-dire à chaque période, la trajectoire subit l'application d'un algorithme de tension élastique [Lesbros 1995b] : les points de la trajectoire sont eux-mêmes considérés comme étant des mobiles liés entre eux par les segments assimilés à des couplages élastiques. Pour chaque point, le déplacement est calculé par la somme de deux grandeurs : la vitesse du point pondérée par un coefficient d'amortissement et la tension que subit le point (somme des vecteurs ayant le point pour origine et ses voisins pour extrémité) pondérée par un second coefficient.

Ceci conduit à la réduction de la taille de la trajectoire et à un lissage progressif, diminuant respectivement l'amplitude et les partiels aigus. Les sons générés peuvent ainsi, suivant le réglage des coefficients, être très proches de ceux obtenus par [Karplus et Strong 1983], des sons de cordes pincées et de percussion ou au contraire fournir des sons dont l'enveloppe d'amplitude est constante et présentant une modulation spectrale pour un coefficient d'amortissement valant 1 (c'est-à-dire sans perte d'énergie). Si le coefficient de tension est nul, la trajectoire n'est pas déformée et le signal produit est périodique.

 

3. Mouvants

 

Notre outil permet de créer et placer des mobiles virtuels dans un espace à deux dimensions et de les relier entre eux. Chaque liaison créée joue le rôle d'un champ : elle applique une force d'un mobile à l'autre. La force est unidirectionnelle : il n'y a pas de rétroaction si l'on ne crée pas la liaison inverse. Notre règle de calcul de la force est la suivante :

Chaque mobile possède sa position (x, y) et une vitesse initiale (dx, dy). La vitesse étant le déplacement ajouté à la position du mobile à chaque unité de temps.

Si le mobile A est relié au mobile B, à chaque unité de temps la vitesse de A est augmentée de l'accélération (gX, gY) avec :

 

(2) gX = (xB - xA) / kX

et gY = (yB - yA) / kY

 

kX et kY sont des constantes, (xA, yA) les coordonnées du point A et (xB, yB) les coordonnées du point B.

 

Un système de deux mobiles reliés de cette manière, avec kX et kY égaux donne une trajectoire elliptique pour le mobile A si le mobile B à une vitesse initiale nulle.

La forme et l'orientation de l'ellipse dépendant de la distance initiale de A à B et de la vitesse initiale de A. (Si kX est différent de kY, le système produit une trajectoire courbe remplissant un rectangle).

On peut calculer la distance et la vitesse initiale nécessaires pour obtenir un cercle, ceci nous dote en outre d'un nouvel algorithme rapide de tracé de cercles et d'ellipses par points.

Le son correspondant à une trajectoire circulaire ou ellipsoïdale est un son simple mais en combinant les influences de plusieurs mobiles, nous pouvons produire des figures et des sons complexes.

 

Figure 5 : La trajectoire du mobile central donne un son composé de deux partiels, chacun des partiels étant issu des mobiles aux trajectoires elliptiques.

 

Une autre façon de générer des trajectoires donnant des sons plus riches est de modifier la formule du champ. Nous avons remplacé la formule (2) par des images.

Une image est une fonction de x et y donnant un code de couleur. Nous utilisons les valeurs des composantes de la couleur en tant que valeur d'accélération et d'amortissement. Le vert et le bleu sont associés respectivement aux composantes verticales et horizontales de l'accélération. La composante rouge est utilisée pour introduire un amortissement : un coefficient compris entre 0 et 1 appliqué à la vitesse à chaque unité de temps.

Dans une liaison entre A et B, le mobile B (définissant le champ) donne la position du centre de l'image, et le mobile A (subissant le champ) désigne à chaque unité de temps un point de l'image, la couleur de ce point transformée en vecteur accélération, ajouté à la vitesse, elle même ajoutée à la position, désignant un nouveau point de l'image, et ainsi de suite.

Notre outil permet d'utiliser conjointement des points associés à la formule (2) et des points associées à des images. Les points peuvent subir l'influence de plusieurs points et en influencer eux-mêmes plusieurs. L'image donnant l'équivalent de la formule (2) est composée d'un dégradé horizontal du noir au vert additionné d'un dégradé vertical du noir au bleu, avec la composante rouge fixée au maximum.

En modifiant cette image initiale dans une palette graphique, nous pouvons introduire des variations qualitatives significatives sur la trajectoire obtenue.

On peut voir dans l'image le plan d'un paysage montagneux, la couleur indiquant la pente, dans lequel circule un mobile sujet à la gravitation. Le mobile peut trouver pendant un certain temps un régime relativement stable, puis, à cause d'une infime irrégularité, passer brusquement dans une autre forme de trajectoire. Au niveau du son obtenu, ceci peut se traduire par des variations de fréquence, d'amplitude et de timbre.

 

4. Rubans

Notre programme Rubans comporte un éditeur de modèles tridimensionnels (modeleur).

Les modèles sont constitués d'une partie topologique et d'une partie géométrique.

La partie topologique décrit une hiérarchie d'inclusion d'éléments : les sommets (extrémités des segments) contenus dans les segments, eux-mêmes contenus dans les facettes incluses dans l'objet principal. Chaque élément connaît les éléments contenus et contenant, un élément peut appartenir à plusieurs éléments. Tant qu'un sommet n'est contenu dans aucun segment, il est directement placé dans l'objet principal, de même pour les segments ne formant pas encore de facettes.

La partie géométrique contient les coordonnées des points sous la forme d'une table indexée par les sommets de la structure topologique.

 

Le modèle ainsi constitué est encapsulé dans une chaîne de transformations géométriques : facteur d'échelle, rotations, translation, projection perspective et finalement translation 2D. Chaque transformation conserve la table des points transformés. Le changement d'un paramètre d'une transformation entraîne la mise à jour de toutes les transformations englobantes.

La structure topologique permet d'ajouter des sommets, de les lier entre eux pour former les segments et de construire automatiquement les facettes au fur et à mesure de la formation des segments. D'autres opérations telles le clivage de facettes, l'élision des facettes internes (celle qui ne font plus partie de l'enveloppe externe du modèle), ne sont possibles qu'avec une structure de ce type.

 

Pour former la trajectoire de notre mobile virtuel à la surface du modèle, nous partons d'une facette et d'un segment de trajectoire traversant cette facette, puis nous réitérons le calcul du passage de la trajectoire d'une facette à la suivante. La matière obtenue est la suite des points d'intersection de la trajectoire avec les bords des facettes traversées (figure 4). Cette séquence est ensuite échantillonnée en divisant chaque segment de trajectoire en unité de longueur constante.

 

Pour obtenir l'équivalent de l'enroulement d'un ruban autour du modèle, nous considérons que la trajectoire est rectiligne lorsque les facettes sont ramenées dans un plan en les articulant autour de leur segment commun. Le passage d'une facette à l'autre est donc calculé à plat.

A partir de la longueur des segments, l'intersection de la trajectoire avec le segment suivant est déterminé dans le plan. La position des intersections est connue en terme de distance le long des segments. Ces distances sont ensuite reportées dans l'espace à trois dimensions, et les coordonnées 3D des points d'intersection sont enregistrées dans une table.

 

Actuellement nous utilisons la projection sur l'axe x, y ou z de la trajectoire, mais d'autres projections, ou toute formule combinant les valeurs de x y et z pourraient également être utilisées pour générer les valeurs des échantillons du signal.

 

5. Perspectives

 

Sound Potatoes manipule les trajectoires, Mouvants les mobiles et Rubans l'espace dans lequel les trajectoires des mobiles sont créées. Ces trois regards sur le mouvement engendrent des formes de trajectoires particulières auxquelles correspondent des timbres ou des classes de sons particulières. Les propriétés des sons produits par Sound Potatoes (avec un réglage connu des coefficients) sont caractéristiques d'une famille de sons bien identifiée. De telles classes de sons sont-elles identifiables en fonction des graphes de mobiles construits dans Mouvants ou des formes des modèles édités dans Rubans ? Le contrôle de la forme des modèles ou des couleurs des images de champ est-il suffisant pour obtenir une émergence de caractéristiques sonores identifiable ?

 

Nos trois procédés de synthèse relient étroitement son et apparence visuelle. En ce sens ils sont le résultat de notre recherche de représentations graphiques des sons telle que nous l'avions initiée avec les phonogrammes. Mais le lien établi entre le son et l'image passe par la compréhension du mouvement. Ces procédés sont dynamiques et n'ont plus l'aspect statique d'un enregistrement tel que les phonogrammes. Leur aspect dynamique : la production directe des échantillons sonores, font de ces mécanismes peu coûteux en temps de calcul de bons candidats pour la synthèse en temps réel.

Références

[Karplus Strong 1983] K. Karplus, A. Strong, Digital Synthesis of Plucked-String and Drum Timbre, MIT Press, Computer Music Journal 7:2, 1983.

[Lesbros 1995a] V. Lesbros, Atelier Informatique pour la musique expérimentale, Rapport LAFORIA 95/13, Deuxième Journées d'Informatique Musicale JIM'95, pp. 67-80, mars 1995

[Lesbros 1995b] V. Lesbros, Atelier Incrémentiel pour la Musique Expérimentale, Thèse de Doctorat, Université Paris 8, Octobre 1995.

[Lesbros 1996] V. Lesbros, From Images to Sounds, a Dual Representation, MIT Press, Computer Music Journal, 20:3, pp. 59-69, Fall 1996.