LABO 5 - 6 - 7
PROJET
SYNTHESE DE MUSIQUE SOUS
MATLAB
1.1 Introduction
Au cours de séances précédentes, nous avons appris à utiliser un certain nombre
d'outils fondamentaux en traitement du signal : générateurs (et
échantillonneurs), analyseurs, et filtres.
Ces outils vont maintenant nous permettre de modéliser et synthétiser des
signaux audio-numériques. Plus précisément, à partir d'un seul exemplaire d'une
seule note d'un instrument donné (différent pour chaque groupe), le but de notre
projet sera de recréer une pièce musicale complète utilisant cet instrument.
L'étape de modélisation du son sera, dans ces conditions, indispensable : elle
nous permettra en effet de modifier certaines caractéristiques des sons
synthétisés, comme leur durée ou leur fréquence fondamentale, tout en
conservant le timbre du son de départ.
Pour ce faire, nous aborderons successivement 3 méthodes de synthèse (et les
méthodes d'analyse associées) : la synthèse additive, la synthèse
soustractive, et la synthèse par formes d'ondes.
1.2 Rappels Théoriques
1.2.1 Caractéristiques acoustiques des sons
On caractérise souvent un son musical par :
Sa fréquence fondamentale (la note jouée). Un LA4 (LA dans la quatrième
octave d'un clavier de piano) a une fréquence de 440 Hz. Dans la musique
occidentale, il y a 12 notes par octave, chacune étant distante des autres d'un
demi-ton. Les notes sont disposées uniformément sur un axe logarithmique
en fréquence : un demi-ton correspond à un rapport de fréquence de
2^(1/12) Hz.
Sa durée. Un son musical est souvent composé d'un transitoire d'attaque,
pendant lequel le son s'établit dans l'instrument et se transforme en son de
2 LABORATOIRES DE TRAITEMENT DU SIGNAL
régime, puis meurt dans un transitoire d'extinction. On parle souvent d'ADSR
: attack-decay-sustain-release.
Son timbre, caractérisé principalement par l'évolution temporelle de son
enveloppe spectrale. L'enveloppe spectrale du son est créée par l'instrument,
qui possède souvent un ensemble de fréquences de résonances (et donc une
fonction de transfert), et par la source d'excitation (l'anche du saxophone, par
exemple), qui possède lui aussi une enveloppe spectrale. Au cours de
l'évolution (ADSR) d'un son, l'enveloppe spectrale de ce signal d'excitation
peut changer, et créer ainsi une variation de l'enveloppe spectrale du son
produit. Typiquement, il s'agira d'une atténuation des fréquences aiguës lors
de la phase de relâchement.
1.2.2 Synthèse additive
Le principe de la synthèse additive est de loin le plus simple à mettre en œuvre.
Nous commencerons donc par envisager ce mode de synthèse.
Modélisation
Les modèles spectraux occupent une place de choix en traitement du signal. La
modélisation harmonique interprète le spectre du signal en termes
d'harmoniques d'un fréquence fondamentale 0
F:
=
i
ii ttatx ))(cos()()(
~
φ
, avec
+=
t
Oii dFit
0
)(2)0()(
ττπφφ
ou, dans le domaine discret:
=
i
ii nnanx ))(cos()()(
~
φ
, avec
[]
e
i
j
Oii TjFin
=
+=
1
)(2)0()(
πφφ
(1)
i est l'indice des harmoniques, etai(t) et i0
F(t) sont respectivement leurs
amplitudes et leurs fréquences instantanées.
Ce modèle peut être étendu aux sons plus complexes : c’est le modèle hybride
harmonique/stochastique, qui ajoute fondamentalement une composante
apériodique à l’équation précédente:
)(
~
))(cos()()(
~
)(
~
)(
~
txttatxtxtx r
i
iirp +=+=
φ
(2)
)(
~
txpest complètement défini par ai(t), 0
F(t) et i
ϕ
(0), et où )(
~
txr est défini
par sa densité spectrale de puissance
()Srr
ω
. Tout comme les amplitudes et
fréquences des sinusoïdes,
()Srr
ω
est supposé varier en fonction du temps.
Estimation des paramètres
L’estimation des paramètres de ces modèles est d’une complexité variable, en
fonction de la complexité du signal à modéliser :
Si le signal est bien périodique, il suffit de mesurer, à partir d’une FFT,
l’amplitude des harmoniques. Leur phase est moins importante (en
général, l’oreille ne sera pas sensible à une déformation du spectre de
phase, tant que cette déformation ne varie pas trop dans le temps).
Si le signal contient une composante de bruit, l’estimation de l’amplitude
des harmoniques fournira, au mieux, un modèle de la seule composante
LABORATOIRES DE TRAITEMENT DU SIGNAL 3
harmonique. La composante de bruit devrait théoriquement être estimée
par mesure de la densité spectrale de puissance de ce qu’il reste du signal
après soustraction de ses harmoniques. En pratique, on peut parfois
estimer que la composante bruitée a une densispectrale de même allure
que celle du signal complet (harmoniques+bruit). On applique alors un
périodogramme (ou toute autre méthode de modélisation spectrale) au
signal complet, et on suppose que le bruit compte pour une fraction de ce
spectre (à déterminer à l’écoute).
Enfin, si le signal n’est pas bien stationnaire, il convient de répéter la
modélisation à intervalles réguliers. Un peut par exemple établir un
modèle harmonique pour l’attaque, un pour le maintien, et un pour le
relâchement du son.
Synthèse
La complexité de la synthèse d’un signal harmonique (éventuellement hybride
harmonique/stochastique) dépend elle aussi du signal à produire :
Pour un signal bien périodique, il suffira de produire une période du signal
(à l’aide de la formule (1)), et de répéter cette période, en lui affectant
éventuellement une enveloppe de type ADSR dont les coefficients seront
adaptés au signal.
Pour un signal possédant une composante bruitée, on créera un signal
harmonique comme dans le point ci-dessus, et on lui superposera une
composante bruitée (comme dans la formule (2)). Cette composante sera
obtenue par filtrage d’une bruit blanc avec le filtre ad-hoc.
Pour un signal dont le spectre évolue au cours du temps, il faudra
procéder à une interpolation temporelle des amplitudes des harmoniques.
(Au pire, il faudra également appliquer à la composante bruitée un filtrage
dynamique.)
Il est à noter que, dans ce dernier cas, l’utilisation de la formule (1) peut
conduire à un temps de calcul prohibitif, en raison du nombre
d’estimations de fonctions trigonométriques (cos). On peut éviter ce
problème en réalisant la synthèse par un procédé dit d’ addition-
recouvrement de signaux à court-terme (voir figure ci-dessous) : on
commence par produire des signaux parfaitement harmoniques par IFFT.
Ces signaux sont ensuite pondérés par une fenêtre de Hanning (qui part
de 0, passe par 1 en son centre, et revient vers 0), et additionnés les uns
aux autres. L’évolution continue du spectre du signal ainsi obtenu provient
du fait que, même si chaque signal de base est parfaitement harmonique,
les amplitudes des harmoniques changent d’un signal au suivant. Il est
clair que, pour que ce type de synthèse fonctionne correctement, il est
important que les signaux additionnés soient en phase (c.-à-d. que les
parties qui se recouvrent se correspondent).
4 LABORATOIRES DE TRAITEMENT DU SIGNAL
Synthetic speech
Windowing
Synthesis Frames
s (t)
k-1
~
s (t)
s (t)
k+1
k
~
~
t
k-1 t
kt
k+1 t
k+2
k+1
(t - )/2
t
k-1
Fig. 1. Synthèse par addition-recouvrement
Modification de la durée et/ou de la fréquence fondamentale
Un modèle additif pur permet facilement d’allonger ou de raccourcir des sons : il
suffit en principe de produire plus ou moins de périodes.
La modification de la fréquence fondamentale est un problème plus complexe : si
on veut éviter de modifier le timbre, il faut modifier la fréquence et l’amplitude
des harmoniques, de façon à conserver l’enveloppe spectrale. Les nouvelles
valeurs des amplitudes peuvent être obtenues en échantillonnant l’enveloppe
spectrale, elle-même obtenue par interpolation des amplitudes des harmoniques
de départ.
1.2.3 Synthèse soustractive
Voir document annexe : "What Is Analogue Synthesis?", qui donne l'organisation
générale d'un synthétiseur analogique générique basé sur la synthèse
soustractive et en explique les modules.
1.2.4 Synthèse par formes d'ondes
Voir document annexe : “Synthesis Technology : Wavetable”, qui décrit les
principes de base de cette méthode.
On notera que la modification de la période fondamentale, qui est réalisée dans
la version de base par simple interpolation des formes d’ondes, ne maintient
LABORATOIRES DE TRAITEMENT DU SIGNAL 5
absolument pas l’enveloppe spectrale du signal (c.-à-d. les fréquences de
résonance de l’instrument): un son de piano à queue dont on augmente la
fréquence par simple interpolation se transforme vite en un son de piano
d’enfant.
Pour pallier cet inconvénient, il est possible d’utiliser une méthode de synthèse
radicalement différente (mais qui s’inscrit toujours dans le cadre de la synthèse
par formes d’ondes) : l’addition-recouvrement pitch-synchrone dans le domaine
temporel (TD-PSOLA : Time Domain Pitch-Synchronous OverLap Add).
Si s(n) est un signal purement périodique, il est en effet possible d'en obtenir un
signal ~()
s
n de même enveloppe spectrale que s(n) mais de fréquence
fondamentale différente en additionnant des fenêtres d'OLA si(n), extraites par
multiplication de s(n) par une fenêtre de pondération w(n) synchronisée sur le
pitch 0
T de s(n). La modification de fréquence fondamentale se fait en changeant
l'écartement temporel entre fenêtres d'OLA successives (de sa valeur 0
T de
départ à une valeur T quelconque), et en réadditionnant les unes aux autres les
fenêtres d'OLA ainsi écartées (Fig. 2):
() = () ( - )sn snwniT
i0
~() ( ( ))sn s n iT T
i
i
=−
=−
0
Cette opération résulte en effet, d'après le théorème de la Somme de
Poisson1 en une réharmonisation du spectre de si(n) (qui, si nous supposons le
signal de départ purement périodique, est indépendant de i) avec une nouvelle
fréquence fondamentale 1/T:
)
2
(
22
)(
~
alors )()( si T
i
T
iS
T
nsSns
i
iii
π
ωδ
ππ
ω
→→
−∞=
Il s'ensuit que si la fenêtre de pondération w(n) est choisie de façon à ce que le
spectre de si(n) approxime l'enveloppe spectrale de s(n), TD-PSOLA fournit un
moyen très simple de modifier la fréquence fondamentale d'un signal périodique.
1 Suivant la formule de Poisson, la somme d'une infinité de versions décalées d'un même
signal f(t) conduit à un signal périodique dont les raies spectrales viennent se positionner
exactement sur le spectre du signal de départ:
si )()(
ω
Ftf → , alors
+∞
−∞=
+∞
−∞=
→
nn T
n
T
nF
T
nTtf )
2
()
2
(
2
)(
000
0
π
ωδ
ππ
(où ()
δ
est une impulsion de
Dirac)
1 / 8 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !