4. La synthèse par guides d'ondes

La synthèse par guides d'ondes45, fondée uniquement sur des techniques de traitement de signal, trouve son origine dans la découverte dans les années 80, par Kevin Karplus et Alex Strong, d'un algorithme très économique en calculs permettant d'obtenir un résultat sonore de corde pincée très convaincant. Celui-ci revêt une importance historique car c'est le premier exemple d'un nouveau type de synthèse physique. En ce sens, il constitue le pôle représentatif de tout un type de modélisation en plein essor aujourd'hui. Les musiciens et expérimentateurs, n'ayant pas accès aux puissantes machines capables de mettre en œuvre les outils de synthèse digitale, ont tout de suite apprécié la simplicité de l'algorithme de Karplus et Strong ainsi que la possibilité de l'utiliser sur des ordinateurs de faible capacité. Après de nombreuses améliorations et diverses extensions de ce modèle, réalisées par Julius O. Smith au CCRMA46 de l'université de Stanford et par David Jaffe, la méthode de synthèse dite par guides d'ondes fut développée. L'implantation du système en temps réel fut réalisée pour les processeurs Intel 8080A (par Alex Strong), l'instrument Texas TMS9900 (par Kevin Karplus) et le SC / MP (par Mike Plass).

Premièrement, dans l'ordre chronologique, nous découvrirons le modèle de Karplus/ Strong qui constitue le point de départ de toute cette lignée de techniques de synthèse. Nous verrons ensuite de manière générale comment il sera enrichi jusqu'à donner naissance à la synthèse par guides d'ondes proprement dite.

4.1. Le modèle de Karplus / Strong

Le modèle développé par Kevin Karplus et Alex Strong a été plus le fruit d'un hasard que d'un désir intentionnel de la mise en place d'une synthèse par modèles physiques. En effet, au cours d'une synthèse avec table d’onde dont le contenu était du bruit blanc47, Karplus et Strong ont découvert que lorsque le contenu de la table d’onde est filtré à chaque instant, il en résulte un timbre de corde pincée. Ils mirent ainsi au point un algorithme simulant les cordes pincées connu maintenant sous le nom de " Modèle de Karplus / Strong ".

Malgré la simplicité de la technique, le résultat sonore est extrêmement réaliste. Karplus et Strong48 racontent que quand leur technique de synthèse a été comparée à la synthèse additive aux laboratoires Bell, ils ont réalisé qu'elle utilisait autant de puissance qu'une synthèse additive avec deux oscillateurs sinusoïdaux, alors que 30 oscillateurs sont nécessaires pour obtenir un son aussi satisfaisant. Elle n'offre pas la souplesse des techniques de synthèse digitale mais elle est en revanche économique, agréable à entendre et facile à contrôler. Les paramètres contrôlables de cette synthèse sont la hauteur, l'amplitude et le temps d'amortissement du son. La hauteur est approximativement définie par la période de l'onde en échantillons (paramètre p), l'amplitude est définie par l'amplitude maximale de départ A, et le temps d'amortissement est déterminé par la hauteur et un coefficient d'amortissement S.

Pour mieux comprendre comment fonctionne cette synthèse nous commencerons par décrire le principe des tables d'ondes qui est à l'origine de la découverte de Karplus et Strong.

4.1.1. Le principe des tables d'ondes

La table d'onde est la base du système de Karplus et Strong. La table d'onde est une mémoire permettant de stocker des échantillons de son. Pour pouvoir reproduire une période de l'onde sonore, on stocke p échantillons. Yt est la valeur de l'échantillon à l'instant t (c'est à dire, l'échantillon portant le numéro t). Dans ce cas, si la table contient 4 échantillons (p=4) alors Y1 est égal à Y5 car une fois que les quatre échantillons sont lus, on retourne au premier. Ceci peut ce traduire par l'algorithme :

Yt = Yt-p

La technique de la table d'onde est très simple, elle consiste à répéter indéfiniment les mêmes échantillons en boucle. L'inconvénient, c'est que le son est très monotone, il est donc nécessaire de faire intervenir des irrégularités, des modifications, qui rendront le son vivant. L'algorithme de Karplus et Strong ne modifie pas les sons sortant de la table d'onde mais la table d'onde elle-même. Pour que le son reste périodique, autrement dit, pour qu'il garde une hauteur donnée et un timbre relativement homogène, les changements effectués doivent être très légers. Afin de ne pas mettre en péril l'économie du système, il ne faut changer qu'un échantillon en entrée pour chaque échantillon sorti. Si l'on remplace chaque échantillon que l'on vient de lire par une nouvelle valeur, on peut réduire la table d'onde à une période de l'onde, c'est à dire que la table ne contient que p échantillons, on appelle cela une ligne de retard de longueur p (voir Figure 23).

Figure 23 : Représentation schématique d'une table d'onde réduite à une ligne de retard modifiée au fur et à mesure de sa lecture.

4.1.2. L'algorithme de Strong

Cette modification, nécessaire pour rendre le son vivant, c'est Alex Strong qui en a eu l'idée en décembre 1978 : il s'agit de faire la moyenne de deux échantillons successifs (voir Figure 24), ce qui produit un amortissement progressif du son. Mathématiquement, cette idée se résume ainsi :

Yt = 1/2 (Yt-p + Yt-p-1)

Le son ainsi produit a une hauteur correspondant à une période de p + 1/2 échantillons et ressemble au son d'une corde pincée. Aucune multiplication n'est nécessaire pour cette formule (juste une addition et une division), c'est ce qui rend les calculs si rapides et le système si économique. Une caractéristique très intéressante de cette formule est que les harmoniques du son ainsi produit ne sont pas amortis avec la même rapidité : les harmoniques aigus disparaissent plus rapidement, comme dans un son acoustique de corde pincée. Si la table d'onde reste la même entre deux notes l'effet obtenu est celui d'une liaison. Si p ne change pas, la note continue, et si p change, on obtient une liaison entre deux notes.

Pour que le son ressemble vraiment à celui d'une corde pincée, il faut que la période initiale du son soit riche en harmoniques. C'est dans ce but que la table d'onde est remplie de valeurs tirées au hasard au début de chaque note, ce principe permet de modifier la structure harmonique à chaque nouvelle note. Ce principe crée une variation suffisamment fine pour que les sons semblent tous provenir d'un même instrument mais permet d'éviter au son un aspect mécanique. De plus, ces valeurs constituent un bruit qui rappelle le pincement caractéristique de la corde.

Figure 24 : Représentation schématique de la synthèse d'une corde pincée.

Pour fournir ces valeurs tirées au hasard qui doivent remplir la table d'onde on utilise la formule suivante qui permet de donner la valeur +A ou -A à l'échantillon Yt, c'est à dire uniquement une valeur extrême ce qui permet de garantir au son résultant un grand nombre d'harmoniques (voir Figure 24) :

Yt = { +A probabilité 1/2 Pour -p £ t £ 0
- A probabilité 1/2

Un problème survient dans cette synthèse si on désire obtenir des sons très aigus, la période p est alors très petite et le remplissage au hasard de la table, ainsi que les modifications survenant à chaque période, rendent le timbre totalement irrégulier et la hauteur incontrôlable. Après expérimentation, il a été conclu que p ne doit pas être inférieur à 32. Si on veut des sons plus aigus, il est donc nécessaire de changer la fréquence d'échantillonnage.

4.1.3. L'apport de Karplus

En décembre 1979, Karplus a découvert qu'une simple modification de l'algorithme de Strong permettait d'obtenir toute une gamme de sons allant des percussions aux cordes pincées. Cette modification consiste en l'introduction d'une formule de probabilité. La valeur d'un échantillon n'est plus, alors, systématiquement égale à la moyenne des deux échantillons précédents, mais elle est tantôt égale à cette moyenne, tantôt égale à son inverse. Ce qui se traduit par la formule suivante :

Yt = { + 1/2 (Yt-p + Yt-p-1) probabilité b
- 1/2 (Yt-p + Yt-p-1) probabilité 1 - b

Le facteur b est nommé " blend factor49 ", c'est lui qui détermine avec quelle probabilité Yt est égal à la moyenne des deux échantillons précédents ou à son inverse. Si b=1 la formule ajoutée par Karplus s'annule et le son est celui d'une corde pincée. Si b=0 le signal devient nul tous les p + 1/2 échantillons alors le son passe à l'octave supérieure et prend un timbre qui évoque une corde pincée dans une bouteille dans l'aigu, et une harpe dans le grave.

Si b=1/2 le son est celui d'une percussion. Quand b prend une valeur intermédiaire, le son est un mélange de percussion et de corde pincée. Pour les sons de percussions, la période p ne contrôle plus la hauteur mais elle est proportionnelle au temps d'amortissement. Dans ce cas, p influence directement le timbre et permet d'obtenir divers types de percussions (voir Figure 25).

Figure 25 : Représentation schématique de la synthèse d'une percussion.

Comme la période p est proportionnelle au temps d'amortissement du son, pour une hauteur donnée, la durée du son est toujours la même. Si on veut obtenir un son plus long, il est donc nécessaire d'apporter encore une autre modification à l'algorithme. Ce qui détermine la hauteur et le timbre du son, c'est sa composition en harmoniques. Si on double la taille de la table d'onde alors le son aura une période double donc sera une octave plus bas ; mais si la première moitié de la table est identique à la seconde, alors seulement certains harmoniques seront présents et le son sonnera une octave plus haut que ce que la période p nous laissait présager. Pour appliquer cette idée, il suffit de modifier légèrement la formule qui permet de calculer le son. Au lieu de faire la moyenne des deux échantillons précédents pour obtenir un nouvel échantillon, de temps en temps il suffira de copier à l'identique l'échantillon précédent dans le but de rallonger le son. Ceci se traduit ainsi mathématiquement avec le facteur d'allongement du son désigné par S :

Yt = { Yt-p probabilité 1 - 1/S
+ 1/2 (Yt-p + Yt-p-1) probabilité 1/S

Nous devons remarquer que S influence néanmoins légèrement la hauteur du son car la période du son n'est plus égale à p + 1/2 mais à p + 1/S. Ce n'est finalement pas un inconvénient puisque cela permet de régler les problèmes d'accords. En effet, puisque la période du son n'est pas tout à fait égale à p, il est difficile d'obtenir des intervalles vraiment justes, mais par un choix astucieux de la valeur de S, il est possible de corriger ce problème. En utilisant une valeur élevée pour S (un son très long) avec une table d'onde non remplie au hasard, il est possible d'obtenir des sons de bois. Néanmoins l'attaque reste sèche comme pour une corde pincée et des recherches sont en cours pour améliorer ces sons.

Pour repousser les limites de cette synthèse, Karplus et Strong ont eu recours à des solutions astucieuses mais qui ne peuvent être générales. Ainsi de nombreux développements et améliorations ont été apportées par d'autres chercheurs.

4.2. Extensions de Jaffe et Smith

Afin d'augmenter la qualité des sons produits, Jaffe50 et Smith ont apporté des améliorations à l'algorithme de Karplus et Strong.

Ils ont d'abord résolu le problème de la justesse des notes. En effet, l'algorithme de Karplus et Strong induisait une quantification des fréquences. L'écart, en fréquence entre deux notes graves successives est assez large pour que la quantification ne soit pas gênante, mais cet écart entre deux notes aiguës successives est plutôt mince, ce qui rend l'accord très difficile. L'introduction d'un filtre a permis de corriger ce problème. Ils ont cependant remarqué que pour obtenir un bon accord interne du son (accord des harmoniques), les octaves extrêmes doivent être élargies comme pour l'accord d'un piano.

Jaffe et Smith se sont également intéressés au problème de la dynamique du son. La modification de l'amplitude de départ du signal produit un effet d'éloignement ou de rapprochement du son. Pour donner la sensation d'une attaque plus forte, d'un son fortissimo, il est nécessaire d'agir sur le spectre en modifiant l'amplitude relative des harmoniques. Ils ont donc ajouté encore un filtre supplémentaire pour rendre possible les changements de dynamique du son.

Voici, tous les autres problèmes que Jaffe et Smith se sont efforcés de résoudre par l'ajout de filtres et de paramètres permettant de contrôler la synthèse :

L'algorithme de base créé par Strong permettait de synthétiser des sons de cordes pincées. Les améliorations apportées par Karplus ont permis de synthétiser des percussions. Les apports successifs ont rendu possible l'émission de sons boisés et Smith s'est intéressé aux cordes frottées. Enfin, le modèle de Karplus / Strong a été généralisé à toute la synthèse par modèles physiques et c'est Julius Orion Smith qui a nommé cette technique générale la synthèse par guides d'ondes.

4.3. La synthèse par guides d’ondes de Julius Orion Smith

Le guide d'ondes est la simulation d'un corps vibrant le long duquel se propagent les ondes. Ce corps est généralement une corde ou un tuyau, mais il existe également des simulations d'objets à deux, voire trois dimensions. En utilisant une paire de lignes de retards (le modèle élémentaire de Karplus et Strong n'en utilisait qu'une), on peut simuler deux ondes qui voyagent le long d'une corde dans des directions opposées, qui se réfléchissent aux extrémités et repartent en sens inverse. Les deux formes d'onde progressent à travers les lignes de retard et sont renvoyées par les filtres de réflexion qui produisent une inversion de la phase et un léger amortissement dépendant de la fréquence (voir Figure 26).

Dans le modèle de Karplus / Strong, comme nous l'avons expliqué précédemment (au § 0.0), la longueur de la ligne de retard correspond à une période de l'onde. Ici l'onde fait un aller retour et sa période équivaut à une demi-ligne de retard. On peut dire, de façon imagée, que les mouvements de l'onde de bas en haut du guide d'onde le font " résonner " à des fréquences liées à ses dimensions. Si le guide d'onde présente un changement de dimension ou recoupe un autre guide d'onde, sa façon de vibrer s'en trouve modifiée.

Figure 26 : Modèle de guide d'onde bidirectionnel d'une corde finie.

Pour créer un instrument, il est possible d'assembler plusieurs guides d'ondes et de les connecter par des modules de jonctions. Dans le cas des instruments à vent, chaque partie de section différente est simulée par un guide d'ondes. L'anche ou l'embouchure qui excite l'instrument est simulée par un oscillateur à consultation de table ou bien par un oscillateur non-linéaire plus complexe modélisé sous forme de mécanisme masse-ressort-amortissement. L'excitation par frottement constitue une exception et nécessite l'intervention d'une liaison particulière de jonction, par l'intermédiaire de laquelle pourront être introduites les caractéristiques de cette excitation. Ce même module de jonction permet la modélisation de trous dans un tube cylindrique. Notons d'ores et déjà qu'il sera nécessaire pour la création de maillages de guides en deux et trois dimensions. Enfin, un dernier type d'élément devra être introduit pour parfaire les diverses simulations, il s'agit de filtres pour simuler les effets des composantes de rayonnement des instruments, de la caisse de résonance des instruments à cordes ou encore du pavillon des instruments à vent. Ces divers modules intervenant dans la simulation de tous les instruments sous diverses formes sont résumés dans une représentation générique globale à la Figure 27.

Figure 27 : Modèle instrumental générique en guides d'ondes.

Le modèle de clarinette réalisé par S. Hirschman, P. Cook et J. Smith est l'exemple d'un instrument " entier " réalisé à l'aide de guides d'ondes (voir Figure 28). Les changements de longueur du tuyau, lorsque les trous sont bouchés, sont simulés par une partie de longueur variable. L'instrument simulé réagit comme l'instrument réel, produit des " couac " lorsque les entrées appropriées sont fournies et génère différentes quantités d'harmoniques en fonction de l'amplitude du souffle.

Figure 28 : Schéma d'une Clarinette synthétisée par des guides d'ondes d'après S.Hirschman, P. Cook et J. Smith51.

Pour générer des structures plus complexes que les cordes ou les tubes acoustiques cylindriques, le module de jonction, qui avait déjà été utilisé notamment dans des configurations d'enrichissement des modélisations de structures simples, est nécessaire. Cette liaison qui peut comporter plusieurs ports simultanément permet d'assurer la connexion de plusieurs guides d'ondes comme nous l'avons vu sur la représentation générique d'un modèle instrumental en guides d'ondes (voir Figure 27). Ce procédé peut être généralisé pour l'assemblage des lignes de retard suivant différentes positions.

Perry Cook utilise ce principe pour construire des tubes acoustiques de rayon irrégulier en joignant des segments de tubes cylindriques (voir Figure 29). Ce type de structure particulier est nécessaire, par exemple, dans le cadre de la modélisation d'un conduit vocal, qui constitue le fondement du logiciel SPASM de synthèse par guides d'ondes, de la voix chantée et parlée. Dans ce logiciel, le conduit vocal, assimilé à un tube acoustique, est discrètisé en plusieurs tubes élémentaires de différents rayons. Chacun d'eux est représenté par une ligne de retard bidirectionnelle élémentaire et connecté aux autres par l'intermédiaire d'une liaison de jonction assurant un ajustement des rayons des tubes discrets concomitants. Ce procédé peut être généralisé à la modélisation des formes des tubes acoustiques, s'écartant du tube cylindrique, utilisés pour les instruments à vent.

Figure 29 : Modélisation d'un tube de diamètre irrégulier grâce à des segments de tubes cylindriques.

Figure 30 : Réseau de guides d'ondes à deux dimensions.

S.Van Duyne et J. Smith utilisent le module de jonction pour développer des proliférations de guides d'ondes suivant des réseaux à deux ou trois dimensions. Une surface plane est modélisée par des lignes de retard bidirectionnelles, correspondant à des unités de retard d'une période, réparties suivant un quadrillage, et connectées entre elles par des jonctions de répartition à 4 ports (voir Figure 30). A partir de ce type de réseau, des membranes et des plaques pourront être simulées avec toutefois adjonction de quelques conditions particulières.

La modélisation d'une membrane contraint à simuler également la présence de bords permettent la réflexion des ondes en inversant leur trajet, ce qui n'est pas le cas pour les plaques non encastrées. La généralisation de ce procédé permet la modélisation de réseaux cylindriques (voir Figure 31), ainsi que des volumes grâce à des réseaux en trois dimensions utilisant par conséquent des jonctions pourvues de 6 ports (voir Figure 32).

Figure 31 : Réseau de guides d'ondes cylindrique.

Figure 32 : Réseau de guides d'ondes à trois dimensions.

A partir de ces réseaux, S.Van Duyne et J. Smith ont envisagé la construction d'instruments plus complexes et plus complets. Ainsi la mise en œuvre d'un modèle de piano pourrait consister en une plaque (réseau à deux dimensions) qui représente la table d'harmonie en en possédant les principales caractéristiques, sur laquelle seront connectées les cordes par l'intermédiaire de points de jonction sur la plaque, qui devront donc être pourvus d'un port supplémentaire. Le même procédé d'assemblage peut permettre de créer un tambour en associant trois types de réseaux : un réseau à deux dimensions simulant la membrane, un réseau cylindrique raide modélisant le fût et enfin un réseau à trois dimensions représentant la contribution de l'air contenu dans le fût.

La synthèse par guides d'ondes permet donc de modéliser n'importe quelle structure. Elle peut-être couplée avec rigueur aux modèles physiques plus généraux de Cordis-Anima et Mosaïc. C'est en ce qui concerne la modélisation de guides d'ondes multidimensionnels, comme les cordes et les trous, qu'elle est le plus efficace. Tout en étant précise, elle conserve une simplicité de représentation rappelant l'algorithme de Karplus et Strong.

Pour le contrôle de cette synthèse, Perry Cook a développé un contrôleur de souffle polyvalent que nous allons décrire maintenant.

4.4. Le méta-contrôleur HIRN de Perry Cook

Le HIRN - Meta-Wind Instrument Controler - instrument polymorphe élaboré par Perry Cook, permet de " jouer " - grâce à divers capteurs (pression de l'air injecté, pression sur l'anche, tension des lèvres) et des éléments de contrôle purement mécaniques (clefs, parties rotatives ou coulissantes) -, de contrôler en temps réel des modèles physiques par guides d'ondes, de clarinette, saxophone soprano, flûte, trompette et le passage de l'un à l'autre (voir Figure 33).

Le modèle est élaboré à partir des trois modèles décrivant les instruments à anche simple, lipale et à jet d'air, et permet de simuler, non seulement, ces trois catégories d'instruments comprenant la clarinette et le saxophone soprano, la trompette et le trombone, la flûte traversière et à bec, mais aussi des instruments hybrides. Les paramètres de contrôle de ce modèle particulier sont la raideur de l'anche, la tension des lèvres, la longueur du tube et celle des lignes secondaires, l'état des trous, la longueur du jet et la pression du souffle ainsi qu'un coefficient d'hybridation entre le type clarinette et le type flûte traversière/flûte à bec.

Les paramètres du modèle peuvent être contrôlés soit avec une interface graphique sur NeXT, soit via MIDI, c'est à cette fin que le HIRN a été élaboré. Il possède de nombreux capteurs et une structure variable s'adaptant aux modes de jeu des différents instruments. Des capteurs mécaniques comme des clefs ou pistons pour le jeu des bois et des cuivres, une partie coulissante de l'instrument associée au jeu du trombone, des parties rotatives permettant de passer d'une embouchure de clarinette à celle de la flûte à bec mais aussi de la flûte traversière.

Au niveau de l'embouchure, des capteurs permettent de détecter, la pression de l'air injecté, la pression exercée sur l'anche, la tension des lèvres mais aussi la hauteur (permettant de pouvoir chanter dans l'instrument…). Ces signaux captés sont directement associés aux paramètres correspondants du modèle.

Cet instrument permet le contrôle en temps réel de l'ensemble des paramètres internes à la modélisation par guides d'ondes des instruments à vent, grâce à des fonctions standards de contrôle MIDI. Le HIRN exploite les modes de contrôle des instruments à vent et ajoute de nombreux degrés de liberté supplémentaires pour le contrôle. Des pédales ou autres contrôleurs peuvent être ajoutés au HRN pour contrôler le modèle.

Figure 33 : Représentation schématique du contrôleur HIRN avec ses principales fonctions.52

Cette technique de modélisation par guides d'ondes, qui permet la simulation d'un très large panel d'instruments, est maintenant très répandue. Elle fait l'objet de nombreux développements ; peuvent être cités entre autres les travaux de Perry Cook avec des simulations d'instruments à vent contrôlées en temps réel avec un dispositif instrumental spécifiquement adapté, ou encore des modélisations de la voix chantée ou parlée, ainsi que des simulations de guitare et de flûte effectuées par l'équipe de Matti Karjalainen en Finlande. Enfin, une des preuves de son succès, réside dans son implantation dans les synthétiseurs. Les contrôleurs utilisés avec ces synthétiseurs, la série des WX- de Yamaha par exemple, sont largement inspirés du contrôleur HIRN de Perry Cook. Ces synthétiseurs et leurs contrôleurs feront donc l'objet de notre prochain chapitre.