logomuse.gif (7529 octets)               À PROPOS DES SONAGRAMMES

Daniel BEAUFILS, Bernard CAILLAUD
© INRP - TECNE
Dernière mise à jour 25/05/1998

bullr.gif (939 octets)  À propos de la transformée de Fourier discrète 
         bullv.gif (938 octets)  La discrétisation 
         bullv.gif (938 octets)  Le fenêtrage 
bullr.gif (939 octets)  Le spectre tridimensionnel 
         bullv.gif (938 octets)  Le glissement de la fenêtre 
         bullv.gif (938 octets)  Le compromis temps-fréquence 
         bullv.gif (938 octets)  Compléments à propos de la représentation graphique 
bullr.gif (939 octets)  Voir aussi ...
bullr.gif (939 octets)  Bibliographie


 

L'analyse d'un son repose nécessairement sur l'étude de son spectre. Il existe plusieurs outils qui, fondés sur la transformée de Fourier rapide, offrent des représentations utiles : le spectre 2D classique, le spectre type "vocodeur" et le sonagramme. Ces deux dernier permettent en particulier d'étudier l'évolution spectrale dans le temps.

 

bullr.gif (939 octets)  À PROPOS DE LA TRANSFORMÉE DE FOURIER DISCRÈTE

bullv.gif (938 octets)  La discrétisation

Le principe de la transformée de Fourier discrète (TFD) repose sur un double échantillonnage : celui du signal (échantillonné dans le temps) et celui de la transformée elle-même (dont les valeurs sont échantillonnées sur une série de valeurs de la fréquence). Dans la pratique, celui-ci n'est pas arbitraire, mais choisi en fonction du pas d'échantillonnage temporel pour assurer, en particulier, l'inversion de la transformation. Le pas de l'échantillonnage en fréquence qui en résulte est évidemment central dans l'analyse spectrale.

 Si s(t) représente un signal évoluant dans le temps, le signal échantillonné avec une période Te, sera une suite de valeurs s(nTe). Si N est le nombre de points considérés pour le calcul, la transformée de Fourier portant sur les N valeurs s(nTe) (n de 0 à N-1) s'écrira :

Ã(f) = S n s(nTe).exp(-2p j.n.f.Te) (1)

Cette expression est bien une fonction continue de la fréquence f. La transformée de Fourier discrète résulte de la discrétisation de cette fonction de la fréquence avec un pas :

fo = 1/NTe (2)

Par TFD, on calcule donc, les N valeurs complexes :

Ã(kfo) = S n s(nTe).exp(-2p j.n.k/N) (3)

Cette expression est généralement écrite sous la forme :

Ã(ko) = S n s(n).exp(-2p j.n.k/N) (4)

ou encore :         Ãk = S n sn.exp(-2p j.n.k/N) (5)

 On voit que la forme (4) correspond dans la pratique à l'utilisation d'un tableau s(N) pour les valeurs du signal échantillonné, et d'un tableau A(2, N) pour les valeurs échantillonnées de la transformée de Fourier. Chaque composante fréquentielle a en effet deux valeurs (partie réelle et partie imaginaire dans l'expression ci-dessus) ou, de façon équivalente, l'amplitude (module du nombre complexe) et la phase (argument).

bullv.gif (938 octets)  Le fenêtrage 

Le nombre N utilisé dans les expressions ci-dessus est à priori quelconque. Cependant, dans la pratique il faut travailler avec un nombre fini. On aura compris que ce nombre de points est alors le nombre d'échantillons de fréquence pour lesquels on calcule l'amplitude et la phase. Pour les signaux sonores, l'inconvénient vient pas du fait l'on calcule alors la transformée de Fourier non plus du signal périodique qui nous intéresse, mais celui du signal de durée finie. Il faut alors utiliser une astuce de calcul pour minimiser les effets "indésirables" que cette troncature entraîne (apparition de lobes secondaires).

 Généralement, la correction adoptée est celle dite de la fenêtre de Hamming visant à atténuer le signal sur les bords : le signal est multiplié par la fonction f(t) = 0.54 + 0.46.cos(2p t/T). L'utilisation d'autres fenêtres conduit évidemment à des spectres légèrement différents.

sona1.gif (5814 octets)
Son de synthèse : spectre calculé avec une fenêtre de Hamming, 2048 points (CoolEdit ©).

sona2.gif (6767 octets)
Même son : spectre calculé avec une fenêtre triangulaire, 2048 points (CoolEdit ©).

 

bullr.gif (939 octets)  LE SPECTRE TRIDIMENSIONNEL

bullv.gif (938 octets)  Le glissement de la fenêtre

Pour analyser un son qui évolue dans le temps, la procédure consiste à répéter l'analyse de Fourier au cours du temps. En termes "techniques" cela revient à faire glisser la fenêtre d'analyse le long du signal.

sona3.gif (12301 octets)
Glissement dans une représentation temps-fréquence type sonoagramme. Logiciel Spectrogramme © (Gram.exe).


sona4.gif (17743 octets)
Glissement dans une représentation temps-fréquence type "vocodeur". Logiciel Wave for Windows © (Turtle Beach System).

bullv.gif (938 octets)  Le compromis temps-fréquence

La limite de Shanon ou critère de Nyquist (la fréquence la plus élevée est la moitié de la fréquence d'échantillonnage) est bien connue. Pour l'analyse sonagraphique, bien souvent, c'est la limite de résolution et la fréquence la plus basse qui sont importants ! 

La méthode fixe en effet une valeur minimale à la fréquence calculée (qui est celle du pas de la discrétisation) : fo = 1/NTe. Cette dernière relation est essentielle dans l'analyse sonagraphique : la grille d'analyse d'une image sonagraphique est donc fixée par la donnée de Te et N. Ceci est important puisque cela fixe la finesse de l'analyse et la valeur de la fréquence la plus basse repérable.  

Pour l'analyse d'un son évoluant dans le temps, on comprend alors bien le compromis nécessaire : la fenêtre que l'on va faire "glisser" le long du son doit être suffisamment étroite pour analyser finement l'évolution temporelle mais suffisamment large pour avoir une bonne résolution temporelle.

 Donnons un exemple : si un sonagramme a une fréquence maximale de 11025 Hz cela sous-entend que la fréquence d'échantillonnage est Fe = 22050 Hz, soit une période Te = 1/22050 s ; par ailleurs, si l'on souhaite avoir une fréquence minimale (c'est-à-dire une résolution) de 20 Hz, alors il faut choisir la taille de la fenêtre temporelle en conséquence ; par exemple N = 1024 points (fo = 22050/1024 »  21.5 Hz). En conséquence, le son d'origine est décomposé en tranches de durée 1024xTe »  46 ms. Un son de 1 seconde est donc ramené à environ 20 tranches.

sona5.gif (7382 octets)
Son de percussion.
Durée 2.24 s. Échantillonnage 22050 Hz.
Fenêtre de 256 points. Échelle des fréquences linéaire
de 0 à 11 kHz. Sans recouvrement. (VirtualWaves 2 ©).

sona6.gif (3251 octets)
Même son.
Échantillonnage 11025 Hz. Fenêtre 1024 points.
Échelle des fréquences linéaire de 0 à 2760 Hz.
Sans recouvrement. (VirtualWaves 2 ©).

Dans de nombreux cas, un paramétrage supplémentaire est offert : celui du taux de recouvrement au cours du glissement de la fenêtre. Pour éviter l'apparition des longs pavés le calcul est effectué non pas en passant d'un bloc de N points au suivant, mais en faisant glisser la fenêtre avec un pas plus petit. Alors chaque portion du signal est utilisée dans 2, 3,... calculs successifs de la transformée de Fourier : c'est le taux de recouvrement. Un taux de recouvrement de 5 est souvent utilisé ; mais s'il permet d'obtenir un effet de continuité, on comprend qu'il lisse tous les événements brefs : on peut ainsi risquer masquer des transitoires intéressants.

Certains logiciels offrent aussi la possibilité d'effectuer le calcul en avançant la fenêtre d'un pas supérieur à la largeur de la fenêtre. Dans ce cas, pour éviter une rupture dans la représentation graphique, la spectre calculé est attribué à la "plage d'avancement" et donc représenté par un pavé étendu.

Ci-contre, le sonagramme d'un son de 0.30 s, numérisé à 44 kHz, 16 bits. L'étendue spectrale est donc de 0-22 kHz. La fenêtre de calcul est de 23 ms (résolution 43 Hz) et le pas d'avance temporelle (frame advance) est de 1 ms.

sona7.gif (55871 octets)
Son de clarinette triple de Sardaigne. (SoundScope ©).

bullv.gif (938 octets)  Compléments à propos de la représentation graphique

Le calcul par F.F.T. repose sur le choix d'un nombre N de points prélevés sur le signal échantillonné, tel que N soit une puissance de 2 permettant l'application d'un algorithme récursif. Le calcul donne alors les parties réelle et imaginaire (R, I) de la transformée qui permettent de calculer les N/2 valeurs d'amplitude par Ö (R² + I²). Mais la représentation graphique nécessite un nouveau traitement.

D'une part, qu'il s'agisse de niveaux de gris ou de couleurs, leur nombre est limité par la résolution graphique : la représentation est donc elle-même quantifiée. D'autre part, le codage des niveaux graphiques en fonction des valeurs n'est pas imposé. Les valeurs peuvent donc être représentées de façon relative et ce sur une échelle linéaire ou logarithmique : dans le premier cas la représentation est celle du signal lui-même, pourrait-on dire, c'est-à-dire du rapport des amplitudes des composantes ; dans le second la représentation est en quelque sorte celle de la perception, c'est-à-dire des niveaux relatifs en décibel (suivant la loi de Weber-Fechner).

Enfin, dans certains logiciels, un seuil est utilisé (ou proposé à l'utilisateur) de façon à éliminer les niveaux faibles. Ceci est particulièrement utile lorsque l'on désire faire disparaître un bruit de fond, qu'il soit à l'origine dans le son où qu'il provienne du calcul numérique lui-meme.

 

sona8.gif (17053 octets)
Sonagramme : durée 1.9 s.
Échelle des fréquences linéaire de 0 à 7000 Hz.
Chant de Rossignol ( Spectrogramme
©)

sona9.gif (7882 octets)

Même signal : Effet d'un seuillage à -6dB .
( Spectrogramme
©)


sona10.gif (26399 octets)
Sonagramme en représentation logarithmique
des niveaux sonores.
Échelle linéaire des fréquences
de 0 à 7000 Hz. Chant de Rossignol (CoolEdit
©).


sona11.gif (3462 octets)

Même analyse mais en représentation linéaire
des niveaux (CoolEdit
©).

Il ne faut donc pas s'étonner que pour un même son, l'allure d'un sonagramme, d'un paramétrage à un autre, et donc d'un logiciel à un autre, puisse être très différente. Une interprétation un peu fine nécessite donc de connaître les choix sous-jacents aux calculs et aux représentations.

 

bullr.gif (939 octets)  VOIR AUSSI ...

Le sonagramme dans les logiciels dans la rubrique Analyse de logiciels ainsi que Le sonagramme : représentation incontournable dans les Suggestions pédagogiques.

 

bullr.gif (939 octets)  BIBLIOGRAPHIE

CAILLAUD B., 1995. Analyse sonagraphique et enseignement, Caen : CRDP Basse-Normandie, 200 p.

ESQUIEU J., 1996. Analyse spectrale numérique et transformée de Fourier rapide, brochure de d'exposé thématique, 7e Journées Nationales Informatique et Pédagogie des Sciences Physiques, UdP-INRP, 1996, 18 pages.

KUNT M., 1990. Traitement numérique des signaux, Dunod, 3e édition, 402 .

ROCHEBOIS T., 1997. Méthodes d'analyse/synthèse et représentations optimales des sons musicaux basées sur la réduction de données spectrales, thèse d'électronique, Université Paris XI, 214 p.