Les Enveloppes
Par définition, le générateur d'enveloppe (EG pour enveloppe generator) est
un module destiné à faire évoluer tel ou tel paramètre d'un son dans le temps.
Il s'applique en premier lieu à l'amplitude, mais aussi au timbre (fréquence de coupure
d'un filtre en synthèse soustractive, niveau de sortie d'un opérateur modulateur en
synthèse FM...), à la hauteur (fréquence de l'oscillateur), et ainsi de suite.
Un générateur de son possède au minimum une enveloppe d'amplitude, et au maximum
(selon la bonne volonté du constructeur), autant d'enveloppes que de paramètres à
faire évoluer (par exemple quatre, destinées respectivement à l'amplitude, au timbre,
à la hauteur et au niveau de sortie d'un LFO). Par souci d'économie, sur certains
instruments, une seule et même enveloppe est utilisée pour contrôler plusieurs
paramètres (l'amplitude et le timbre, etc).
Nos ancêtres les ADSR
Plus connus sous la dénomination d'ADSR, les premiers modèles d'enveloppes firent
leur apparition avec les synthétiseurs analogiques. Le terme d'ADSR provient des initiales
des quatre segments qui les composent (attack, decay, sustain release), et dont voici la signification :
Attack (attaque) : ce segment correspond
au temps mis par le signal d'enveloppe pour atteindre
son niveau maximum, à partir du moment
où la note est enfoncée.
Decay (décroissance) : ce segment
correspond au temps mis par le signal d'enveloppe
pour passer du niveau maximum au niveau de maintien,
déterminé par le segment suivant.
Sustain (maintien) : ce segment s'applique
à un niveau, et non plus à une durée.
Il correspond au niveau auquel le signal d'enveloppe
est émis, passé les segments d'attaque
et de décroissance, tant que la note n'est
pas relâchée.
Release (relâchement) : ce segment
correspond au temps mis par le signal d'enveloppe
pour atteindre le niveau zéro à
partir du point de l'enveloppe auquel la note
est relâchée.
De l'origine de la segmentation
Dès l'apparition des commandes numériques,
l'ADSR fut remplacée par un système
plus efficace. Celui-ci divise l'enveloppe en
un certain nombre de segments (variable selon
les instruments), chacun d'entre eux étant
caractérisé par une vitesse (rate,
time), et un niveau (level).
Afin d'illustrer ce principe, je vous propose
d'étudier le fonctionnement de l'unique
enveloppe des synthétiseurs Roland de la
famille Juno (Juno 1/2, MKS-50), constituée
de quatre segments (time 1/level 1, time 2/level
2, time 3/level 3, time 4), dirigée simultanément
vers les étages d'oscillation, de filtrage,
et d'amplification. La plage de valeurs des paramètres
T et L couvre une étendue qui va de 0 à
127.
Segment 1 : le signal d'enveloppe met un
certain temps (T1) pour passer du niveau 0 au
niveau L1.
Segment 2 : le signal d'enveloppe met un
certain temps (T2) pour passer du niveau L1 au
niveau L2.
Segment 3 : le signal d'enveloppe met un
certain temps pour (T3) passer du niveau L2 au
niveau L3, auquel il reste tant que la note est
enfoncée.
Segment 4 : le signal d'enveloppe met un
certain temps (T4) pour passer du niveau auquel
il se trouve lorsque la note est relâchée,
au niveau zéro.
En ce qui concerne l'oscillateur, il convient
de régler la profondeur d'action de l'enveloppe
(taux réglable de 0 à 127), ainsi
que son mode de fonctionnement à choisir
parmi les quatre modes suivants :
Normal ( ) : l'évolution de la hauteur
suit la courbe de l'enveloppe.
Inversé ( ) : l'évolution
de la hauteur suit la courbe inverse de l'enveloppe.
Normal avec dynamique ( ) : l'évolution
de la hauteur suit la courbe de l'enveloppe, dont
l'amplitude est fonction de la vélocité
d'enfoncement.
Inversé avec dynamique ( ) : l'évolution
de la hauteur suit la courbe inverse de l'enveloppe,
dont l'amplitude est fonction de la vélocité
d'enfoncement.
En ce qui concerne le filtre, il convient de régler
la profondeur d'action de l'enveloppe (taux réglable
de 0 à 127), ainsi que son mode de fonctionnement
à choisir parmi les quatre modes suivants
:
Normal ( ) : l'évolution de la fréquence
de coupure suit la courbe de l'enveloppe (pour
que cet effet soit audible, il est nécessaire
que la fréquence de coupure ne soit pas
à son maximum, puisqu'elle augmente par
rapport au niveau zéro de l'enveloppe).
Inversé ( ) : l'évolution
de la fréquence de coupure suit la courbe
inverse de l'enveloppe (pour que cet effet soit
audible, il est nécessaire que la fréquence
de coupure ne soit pas à son minimum, puisqu'elle
diminue par rapport au niveau zéro de l'enveloppe).
Normal avec dynamique ( ) : l'évolution
de la fréquence de coupure suit la courbe
de l'enveloppe, dont l'amplitude est fonction
de la vélocité d'enfoncement (pour
que cet effet soit audible, il est nécessaire
que la fréquence de coupure ne soit pas
à son maximum, puisqu'elle augmente par
rapport au niveau zéro de l'enveloppe).
Dynamique ( ) : seule la vélocité
d'enfoncement influe sur la fréquence de
coupure (à condition qu'elle ne soit pas
à son maximum).
En ce qui concerne l'amplificateur, il convient
de régler le mode de fonctionnement de
l'enveloppe (dépourvue de profondeur d'action,
puisqu'elle agit systématiquement sur le
volume) à choisir parmi les quatre modes
suivants :
Normal ( ) : l'évolution du volume suit la courbe de l'enveloppe.
Porte ( ) : le volume passe instantanément à son niveau maximum lorsqu'une touche
est pressée, pour redescendre tout aussi rapidement à zéro lorsqu'elle est
relâchée (l'enveloppe reste sans effet).
Normal avec dynamique ( ) : l'évolution du volume suit la courbe de l'enveloppe, dont
l'amplitude est fonction de la vélocité d'enfoncement.
Porte avec dynamique ( ) : le volume passe instantanément à son niveau maximum
lorsqu'une touche est pressée, pour redescendre tout aussi rapidement à zéro lorsqu'elle
est relâchée (l'enveloppe reste sans effet). Ce maximum est fonction de la vélocité d'enfoncement.
La série Juno s'accompagne d'un programmeur : le PG-300. Un outil bien plus efficace que l'alpha-dial...
Face au patche disco bass
L'enveloppe crée l'illusion d'un écho. En effet, après une attaque rapide (T1 = 11, L1 = 127), le son décroît progressivement jusqu'à son volume minimum pendant une durée fonction de T2 (à 56 dans cet exemple), pour atteindre à vitesse maximum (T3 = 00) un niveau de sustain légèrement inférieur au niveau d'attaque (L3 = 100). Pour modifier le temps d'écho, il suffit de changer la valeur de T2.
Face au patch scratch
Si la phase de release (T4) entre en action dès
le relâchement de la note, cela ne signifie
pas pour autant qu'elle démarre à
partir du niveau de sustain (L3). En effet, pour
peu que le musicien relâche la note lors
de l'attaque (T1/L1) ou du decay (T2/L2), le release
prendra immédiatement le relais, et ceci
à partir du niveau courant (court-circuitant
ainsi la phase de sustain). Dans cet exemple,
le release est long (T4 = 71), pour un sustain
nul (L3 = 00).
Par conséquent, en maintenant la note enfoncée
suffisamment longtemps pour qu'elle entre dans
cette période de sustain, le release restera
sans effet. Par contre, en la relâchant
entre L1 (127) et L2 (127), le release partira
directement de ce niveau maximum (T1 étant
réglé à 38 pour les besoins
du son, le fait de relâcher la note avant
L1 en diminuera l'amplitude, et par conséquent,
le temps de release).
Notez par ailleurs que l'enveloppe agit sur la
hauteur, ainsi que sur le timbre. Un moyen de
renforcer la différence entre les deux
bruitages de ce patch. Pour une même valeur
de T, la durée du segment correspondant
dépend de l'étendue d'amplitude
à parcourir, c'est-à-dire de la
différence entre les niveaux de début
et de fin de ce segment.
Au programme de ce second volet sur la vie trépidante des enveloppes : l'incroyable aventure des pentes et niveaux de la famille Casio CZ. Une excellente leçon d'ergonomie et de souplesse d'utilisation...
Pour revenir au sujet qui nous préoccupe,
sachez qu'un son de Casio CZ est constitué
de deux oscillateurs possédant chacun trois
enveloppes identiques respectivement dédiées
à la hauteur, à la distorsion de
phase (que nous assimilerons au filtrage par souci
de simplification), et à l'amplitude.
Ces enveloppes sont composées d'un nombre
variable de segments (compris entre 1 et 8), chaque
segment étant caractérisé
par une pente (rate) et par un niveau (level).
Cette pente, dont la valeur correspond à
l'angle mesuré par rapport à l'horizontale,
détermine la vitesse à laquelle
ce niveau est atteint.
A la carte
Nous fixerons le nombre de segments d'une enveloppe
en affectant le point de fin (end) à l'un
d'entre eux. Ainsi, en admettant que l'on désire
programmer un son dont le timbre, à son
maximum de brillance, ne subisse aucune évolution,
il conviendra de lui associer une enveloppe à
un seul segment (c'est à dire un segment
de fin), de niveau et de pente maximum.
De par une économie de manipulations, réduites
à la saisie des valeurs des pentes et niveaux
des segments nécessaires; ce système
facilite grandement l'édition des enveloppes.
De même, la phase de maintien (sustain)
pourra être affectée à n'importe
quel segment. En l'atteignant, l'enveloppe se
maintiendra à un volume constant jusqu'au
relâchement de la note. Nous voici donc
en présence d'enveloppes configurables,
aux possibilités d'expression bien supérieures
à celles rencontrées sur la plupart
des synthétiseurs.
Post-enveloppe
Le fait que la phase de sustain soit liée
à n'importe quel segment de l'enveloppe
autorise la création de mouvements complexes.
Ainsi, en positionnant le sustain au niveau du
second segment, les six suivants serviront par
exemple à programmer une enveloppe à
part entière, se déclenchant 'après
coup' dès le relâchement de
la note.
Je vous laisse imaginer la richesse d'évolution
d'un son lorsque les trois enveloppes de chaque
oscillateur infligent des mouvements différents
à la hauteur, au timbre et à l'amplitude !
Double Croche
Le patch Double Croche est une extension du patch
Echo Bass du mois dernier. Il repose sur deux
formes d'ondes dans le style basse synthétique,
la seconde (dents de scie + double sinus) étant
légèrement plus brillante que la
première (dents de scie + impulsions).
L'enveloppe d'amplitude de cette première
forme d'onde simule une séquence interprétant
quatre doubles croches successives, tandis que
l'enveloppe d'amplitude de la seconde à
pour effet de maintenir le son pendant la durée
de ces quatre notes (avec un volume à forte
décroissance), pour enchaîner par
trois autres doubles croches.
Essayez d'utiliser ce patch sur les premier et
troisième temps de chaque mesure d'une
séquence en 4/4, à un tempo de 76
à la noire, en rajoutant un éventuel
délai d'environ 132 millisecondes. Dans
ce cas, les sept notes produites par le CZ exécuteront
un sextolet de doubles croches, suivi de la première
double du temps suivant.
Evolution
Le patch Evolution est un double bruitage particulièrement sidéral, qui, de l'attaque au sustain, se déroule sur une vingtaine de secondes! Les enveloppes de pitch et d'amplitude évoluent différemment, ce qui permet aux deux formes d'ondes d'apparaître, de disparaître, et de changer de hauteur indépendamment l'une de l'autre. Après approximativement quatre secondes, le LFO entre en action. Par ailleurs, l'oscillateur deux est modulé par du bruit blanc.
Après s'être penché sur le rôle et la structure des enveloppes lors des deux précédents dossiers, je vous invite aujourd'hui à découvrir quelques unes des méthodes destinées à les rendre plus vivantes.
Le degré d'expression d'une enveloppe dépend
du potentiel que le constructeur décide
de mettre à la disposition du musicien
pour qu'il en contrôle les paramètres,
c'est à dire les pentes et niveaux des
différents segments en fonction de son
jeu.
Ces pentes et niveaux sont le plus souvent contrôlées
par les informations contenues dans les messages
MIDI qui pilotent l'enveloppe. Rappelons à
ce sujet qu'une enveloppe entre en action dès
réception d'un message de note enfoncée
(constitué d'un numéro de note et
d'une vélocité d'enfoncement), pour
passer la main au(x) segment(s) de release dès
réception d'un message de note relâchée
(constitué du même numéro
de note, et d'une éventuelle vélocité
de relâchement).
Nous voici donc à la tête de numéros
de notes et de vélocités, prêts
à modifier dynamiquement nos enveloppes.
Mais comment ? Et pourquoi ?
Le suivi d'enveloppe
De par leurs caractéristiques physiques,
nombreux sont les instruments acoustiques dont
l'enveloppe d'amplitude évolue suivant
la hauteur. Pour vous en convaincre, maintenez
enfoncée une note de piano tout en chronométrant
le temps mis par le son pour s'éteindre
complètement. Inférieure à
une seconde pour la note la plus aiguë du
clavier, cette durée atteint près
d'une demi minute dans les extrêmes graves.
Ce phénomène tient au fait que l'énergie
communiquée à une corde se dissipe
à une vitesse proportionnelle à
sa longueur, plus importante dans les graves.
Le niveau de sustain d'un piano étant nul
(puisque qu'une vibration ne peut être entretenue),
c'est au segment de décroissance (decay)
que s'appliqueront ces constatations.
Autre exemple, celui de l'orgue d'église,
dont la hauteur des notes, fonction de la longueur
des tuyaux, est calculée selon la célèbre
formule 'f = V:2L' (f représentant
la fréquence, V la vitesse du son, et L
la longueur). Tout cela pour prouver, mais vous
l'auriez deviné, que la colonne d'air parcourra
plus lentement un tuyau long qu'un tuyau court!
Ces propriétés affectent ici les
segments d'attaque et de release, l'orgue étant
un instrument sans decay, d'un niveau de sustain
maximum (maintenu par l'arrivée de l'air
jusqu'au relâchement de la note).
Généralités
Les expériences précédentes
démontrent qu'il est nécessaire
pour un synthétiseur, d'être en mesure
de simuler ces caractéristiques naturelles
en augmentant ou en réduisant la vitesse
de déroulement des segments de l'enveloppe
d'après la hauteur de la note jouée.
Par extension, rien n'empêche de contrôler
cette vitesse par la vélocité (attaque
plus rapide lorsqu'une touche est enfoncée
plus rapidement, release plus lent lorsqu'une
touche est relâchée plus lentement,
etc). En poursuivant ce raisonnement, hauteur
et vélocité pourront également
agir non plus sur les pentes, mais sur les niveaux
des différents segments (niveau d'attaque
plus élevé dans les aigus que dans
les graves, niveau de decay plus faible lorsqu'une
touche est enfoncée plus lentement, etc).
Trop souvent négligées, ces quatre
méthodes (contrôle de la vitesse
et/ou du niveau des segments, individuellement
ou globalement, en plus ou en moins en fonction
de la hauteur d'une note et/ou à la vélocité),
permettent de rendre un son extrêmement
vivant, en y induisant de subtiles nuances...
ParticularitésPour en finir avec la théorie,
précisons que la vélocité
de relâchement, bien que rarement implémentée,
représente un cas particulier. En effet,
contrairement à la vélocité
d'enfoncement ou au numéro de note, celle-ci
est incapable d'influer sur les segments compris
entre l'attaque et le sustain puisqu'elle appartient
au message de note relâchée, qui
par définition, déclenche le ou
les segments de release d'une enveloppe (des instruments
comme le Kawai K5 ou ceux de la série Casio
examinée le mois dernier comportent plusieurs
segments de release).
Enfin, notons que le contrôle des pentes
et niveaux des segments ne concerne pas uniquement
l'enveloppe d'amplitude, mais tout module d'un
générateur de son auquel s'adresse
une enveloppe (filtre, oscillateur...). je vous
propose, à titre indicatif, d'examiner
sommairement la manière dont certains synthétiseurs
procèdent, histoire de vous faire une idée
plus précise sur la mise en oeuvre de ces
quelques notions.
Le Yamaha SY77
Le paramètre keyboard rate scaling (+/-7), programmable pour chacune des enveloppes d'amplitude, de filtre et de pitch, en contrôle la vitesse de déroulement suivant la hauteur de la note jouée. Par ailleurs, les niveaux de l'enveloppe de pitch réagissent à la vélocité (l'importance des écarts de hauteur variant proportionnellement à la vitesse de frappe).
Le Roland D-50
Sur le D-50, tous les segments de l'enveloppe de pitch sont sensibles à la vélocité quant à leurs vitesses (velo, de 0 à 2) ou à la hauteur de la note quant à leurs niveaux (time key follow, de 0 à 4). De même pour l'enveloppe de filtre (plus précis, le paramètre velo va de 0 à 99), si ce n'est que la hauteur de la note intervient aussi sur les niveaux de tous les segments (depth key follow, de 0 à 4). Pour l'enveloppe d'amplitude, en plus du paramètre time key follow, la vitesse du segment d'attaque est sensible à la vélocité (velo, de 0 à 99).
Le Roland JD-800
Sur le plan de l'enveloppe d'amplitude, la vélocité,
pondérée par l'une des quatre courbes
de réponse disponibles (vélocité
en abscisse, valeur convertie en ordonnée),
influe d'une part sur les niveaux des deux premiers
segments (L1, L2) et sur celui du sustain en fonction
de la valeur du paramètre velocity sensitivity
(+/-50), et d'autre part sur la durée de
l'attaque en fonction du paramètre time
velocity sensitivity (+/-50).
Enfin, le numéro de note influe sur la
durée des deuxième et troisième
segments ainsi que sur celle du release en fonction
de la valeur du paramètre time key follow
(+/-10). A quelques détails près,
les enveloppes de filtre et de hauteur du JD-800
sont contrôlées similairement.
Le Korg M1
Tous les segments de l'enveloppe de pitch sont
sensibles à la vélocité,
qu'il s'agisse de leurs vitesses (EG time vel
sens, +/-99), ou de leurs niveaux (EG level vel
sens, +/-99). Les quatre segments des enveloppes
de filtre et d'amplitude (attack, decay, slope,
release) sont individuellement programmables pour
répondre en plus ou en moins à la
vélocité et/ou au à la hauteur
de la note (par rapport à un point central
: center key), et ceci quant à leurs vitesses,
en fonction d'un taux global (EG time velocity
sensitivity, EG time keyboard tracking, tous deux
allant de 0 à 99).
Le niveau de l'ensemble des segments de l'enveloppe
de filtre est également sensible à
la vélocité (EG intensity velocity
sensitivity, +/-99).
Le Kawai K5
Nous nous bornerons à commenter l'enveloppe
d'amplitude, constituée de sept segments
(le sustain, à emplacement fixe, correspondant
au niveau du cinquième segment). Après
avoir sélectionné individuellement
le ou les segments à traiter, il est possible
d'en contrôler la vitesse à partir
de la vélocité d'enfoncement, de
relâchement, et du numéro de note
(+/- 15 pour chacun de ces trois contrôles).
Quant au niveau de l'ensemble des segments, il
répond à la vélocité
d'enfoncement et à la hauteur de la note
jouée (+/-31 pour chacun de ces deux paramètres).
De plus, il faut savoir que le K5 traite cette
hauteur après qu'elle soit passée
par une courbe de pondération nommée
'keyboard scaling curve' (d'un concept
proche de celui qu'emploie le JD-800 pour la vélocité).
Egalement utilisée par d'autres modules
que l'enveloppe d'amplitude, cette courbe se programme
en définissant une note centrale (break
point), ainsi que des pentes ascendantes ou descendantes
(+/-31) de part et d'autre de celle-ci. Un bon
moyen de personnaliser la réponse à
la hauteur.
La conclusion à tirer de ces quelques exemples
est que chaque constructeur traite d'une manière
qui lui est propre la réponse d'une enveloppe
à la hauteur de la note et à la
vélocité, avec plus ou moins d'efficacité.
Si votre synthétiseur habituel ne figure
pas parmi les cinq modèles ci-dessus, décortiquez-en
le mode d'emploi !
