Chapitre précédent - Chapitre suivant

La synthèse des sons

La synthèse FM

Même si les premiers synthétiseurs analogiques permettaient souvent, en principe, de réaliser de la synthèse par modulation de fréquence (vibrato effectué à des fréquences audio, supérieures à 50 Hz), John Chowning est le premier a avoir constaté les possibilités réelles que cette technique allait pouvoir offrir pour la synthèse des sons.

« Les recherches de Chowning ont enrichi de façon décisive notre compréhension du son et de l’audition. Elles ont donné les clés d’un monde sonore neuf, qu’il a illustré d’œuvres très belles et foncièrement innovantes : Turenas, Stria et Phoné sont des pierres angulaires de la musique d’aujourd’hui. » (J.-C. Risset)[1]

John Chowning découvre la synthèse FM en 1967 et ne publiera sa découverte qu’en 1973 [2], après avoir pris le temps de l’expérimenter, notamment avec des pièces comme Sabelithe (1971) et Turenas (1972), et ainsi de prendre conscience de tout le potentiel de sa découverte. Celle-ci va donner lieu à un brevet vendu par l’université Stanford à la firme Yamaha qui ne produira son légendaire synthétiseur numérique, le DX7, qu’en 1983.

Turenas a été écrite avec une version du programme Music IV (initialement conçu par Max Mathews) et le principal synthétiseur utilisé par John Chowning dans cette pièce est un programme qu'il a dénommé VLN. Ce synthétiseur utilise deux oscillateurs porteurs (U6 et U7), un oscillateur modulant (U4) et un oscillateur basse fréquence (U2).

Un des instruments de John Chowning : VLN

Instrument initialement conçu par John Chowning pour la synthèse de sons de violons (d'où son nom), c'est un des instruments principaux utilisé pour la synthèse FM dans la pièce.

L'instrument VLN Initial tel qu'écrit en langage Music IV

 

09‑JUL‑72 1110 VLN4 I, MUS PAGE 1‑1
00050 <*****FUNCTIONS ON ** VF, DAT **
00200 VARIABLE /Z, X, Y,/DIS,/SQDISP,/R,
00300 /AA,/BB,/CC,/DD,/EE,/FF,/GG,/HH;
00400 SRATE<-25000; MAG<‑512/SRATE; SPEED<‑5; NCHNS<‑4; REVINIT<‑1; R<‑0;
00500 VARIABLE /DIS,/SQDIS,/R;
00600 COMPILE;
00700 INSTRUMENT VLN1;
00800 OSCIL[10](MAG,10*(MAG/P2),P20);
00900 0SCIL(U1,P18*MAG,F8); AA<-U2*PI6;
01000 INTRP(P6*P5*P23*MAG,P7*P5*P23*MAG,P21);
01100 OSCIL(U3+P17*U3*(U2/MAG), P5*P23*MAG+P5*P23*AA,F8);
01200 ZOSCIL(P4,MAG/P2,P20);
01300 ZOSCIL(U5*P19,U4+P3*P23*MAG+P3*P23*AA, F8);
01400 ZOSCIL(U5*(1.0-P19), U4+P3*P23*MAG*P8+P3*P23*P8*AA,F8);
01600 DIS<-(U6+U7)*P9;
01700 SQDIS<-(U6+U7)*P1O*P15;
01800 OUTA<-OUTA+DIS*P11;
01900 OUTB<-OUTB+DIS*P12;
02000 OUTC<-OUTC+DIS*P13;
02100 OUTD<-OUTD+DIS*P14;
02200 R<-R+SQDIS;
02300 END;
f

Schéma representant l'assemblage du synthétiseur VLN

p1 : numéro de l’instrument
p2 : durée du son (sec.)
p3 : fréquence centrale (cf)
p4 : amplitude du son (Amp)
p5 : fréq. de modulation (mf)
p6 : index de modulation (mi1)
p7 : 2e index de modulation (mi2)
p8 : fréq. centrale/transpositeur (cfz / scf)
p9 : distance du son (Dis)
p10 : direction (teta)
p11 : niveau dans haut-parleur A
p12 : niveau dans haut-parleur B
p13 : niveau dans haut-parleur C
p14 : niveau dans haut-parleur D
p15 : dosage de la réverbération (%R)
---- vibrato ----
p16 : vibrato bw (B.W)
p17 : écart de fréquence (delta f)
p18 : vitesse (rate)
-- enveloppe ---
p19 : dosage osc1 (A1)
p20 : amplitude env (Amp ENV)
p21 : amplitude modulation (mi ENV)
p22 : si p22 ≠ 0 déviation de fréquence (DF) p23 : transpose toutes les fréquences (Sc)

 

1

Le synthétiseur VLN programmé en Max (-> download)

Le patch pour le concert

Nous avons réalisé un patch Max/MSP pour jouer la pièce.

patch Max/MSP FM+gran11

Le patch est formé de trois synthétiseurs FM (deux oscillateurs porteurs, deux oscillateurs modulants et un LFO), d'un granulateur, d'un spatialisateur et d'une réverbération.

Réglages pour la synthèse FM

Sons 1 [n°1 dans la typologie] : sons très aigus. Dans la partition, ils sont joués trois octaves en-dessous de la hauteur entendue (en raison notamment de la faible étendue des claviers). En conséquence, la fréquence de la modulante est multipliée par huit.

- Il n'y a pas de modulation (indice = 0).

- L'enveloppe est percussive et très courte (50 ms).

memory1

 

Sons 2 [n°3 dans la typologie] : sons très graves et harmoniques. Dans la partition, ils sont joués deux octaves au-dessus de la hauteur entendue. En fait, la fréquence porteuse est jouée seulement une octave au-dessous (multipliés par 0.5) mais la fréquence de modulation est réglée sur 0.25 ce qui produit une octaviation vers les graves.

- La modulation est importante, le spectre est riche (indice = 10).

- L'enveloppe est très progressive et les sons durent longtemps (sustain maximum).

Si besoin, les interprètes peuvent agir sur l'enveloppe en utilisant le volume (notamment pour ralentir l'attaque ou accélérer la chute).

memory2

 

Sons 3 [n°4 et n°5 dans la typologie] : sons de cloche et de gongs. La fréquence porteuse est la fréquence de la note jouée. Par contre, la fréquence modulante est 1.41 (racine de 2) fois la fréquence porteuse. Il en résulte des sons inharmoniques. Les partitions suivantes montrent les séries générées à partir de la note do3 (en versions tempérée et 1/8e de ton).

- L'indice de modulation est contrôlé par l'interprète par un des curseurs du clavier

- L'enveloppe est sans sustain et l'interprète agit sur un des curseurs du clavier pour modifier la durée de résonance.

memory3

 

Sons 4 [n°6 dans la typologie] : sons de notes tenues qui jouent le premier canon. La fréquence porteuse est une octave au-desssus de la note jouée, mais la modulante est égale à la note jouée, c'est donc cette hauteur (la note jouée) qu'on entend. Les deux oscillateurs porteurs sont légèrement désacordés ce qui crée de légers battements assez lents.

- L'indice de modulation est moyen (3.81).

- L'attaque est relativement douce, le sustain n'est pas maximum, la chute est relativement douce aussi.

memory4

 

Sons 5 [n°10 dans la typologie] : le dernier son dans la pièce. Un son très grave et inharmonique. La fréquence porteuse est égale à celle de la note jouée, mais la fréquence modulante est beaucoup plus grave (x 0.38). Les partitions suivantes montrent les séries générées à partir de la note do3 (en versions tempérée et 1/8e de ton).

Projet ASTREE : conversion dans Faust

Dans le cadre du projet ANR ASTREE, Analyse et Synthèse de Traitements Tempts REEls, nous cherchons en outre à proposer des versions des programmes de synthèse et de traitements temps réel écrits dans un langage de description générique, à savoir le langage Faust développé à GRAME.

 

Le synthétiseur FM réalisé dans Max/MSP peut ainsi être implémenté dans Faust de la façon suivante :

 

import("music.lib");

oscillateur(freq, transp, modul1, modul2, vol, env) = env * vol * osci(freq * transp + modul1 + modul2);

vln(freq, transp, modul2, vol, env, freqmod, transpmod, modul1mod, modul2mod, volmod, envmod) = oscillateur(freq, transp, modul1, modul2, vol, env)

with {
modul1 = oscillateur(freqmod, transpmod, modul1mod, modul2mod, volmod, envmod);
};

process = vln;

Ce code peut être directement entré sur le compilateur Faust en ligne ce qui permet d'obtenir ensuite le code C++ permettant de réaliser la synthèse (sur l'environnement de son choix, par exemple Max/MSP, pure data, supercollider), d'obtenir la fonction compilée poru l'environnement choisi, de visualiser son bloc diagramme puis ensuite de l'insérer dans son environnement pour le faire jouer.

 

Blocs diagramme du synthétiseur FM réalisé par Faust.

 

Chapitre précédent - Chapitre suivant


 

[1] Jean-Claude Risset, « Sur l’impact de l’œuvre scientifique, technique et musicale de John Chowning », John Chowning, coll. Portraits Polychromes, Paris : INA-GRM, 2004, pp. 31-59.

[2] John Chowning, « The Synthesis of Complex Audio Spectra by Means of Frequency Modulation », Journal of the Audio Engineering Society, 21, 7, 1973, republié dans Computer Music Journal, vol. 1, n°2, 1977, pp. 46-54 et dans Roads, Curtis et Strawn John, (ed), Foundations of Computer Music, Cambridge : MIT Press, 1985.