Représentation temps-fréquence#
Le signal sonore correspond à la gamme musicale jouée au piano. Sur le signal sonore, les notes sont bien visibles, mais elles sont difficilement identifiables.
On peut écouter ce son (fe
est la fréquence d’échantillonnage)…
from IPython.display import Audio
Audio(x, rate=fe)
Le spectre ne permet pas d’identifier les notes jouées car elles sont toutes mélangées puisque l’axe temporel est perdu :
D’où l’intérêt de la représentation temps-fréquence, ici avec le spectrogramme (et les arguments par défaut).
fig = plt.figure(figsize=(12,10))
plt.specgram(x, Fs=fe)
plt.colorbar()
plt.xlabel("$t$ (s)")
plt.ylabel("$f$ (Hz)")
plt.show()
On le voit, la partie intéressante du spectrogramme (celle qui porte l’information), est située sous 5000 Hz. Dans la suite, on n’affichera que cette zone.
Mais cet affichage n’est pas très lisible : la résolution est grossière, surtout en fréquence.
On peut jouer sur les paramètres NFFT
et noverlap
.
NFFT
est le nombre d’échantillons utilisés pour calculer la TFD (256 par défaut)noverlap
est le nombre d’échantillons en commun entre deux TFD successives (128 par défaut).
On constate que lorsque NFFT
augmente, la résolution temporelle diminue (l’affichage est moins précis selon l’axe des temps).
Cela s’explique par le fait que la fenêtre glissante est de plus en plus grande, entraînant moins de décalages possibles
et donc moins de transformée de Fourier calculées.
En même temps, la résolution fréquentielle augmente puisque la taille des transformée de Fourier est identique à la taille des fenêtres (NFFT
).
C’est le principe d’incertitude de Gabor-Heisenberg : NFFT
doit être fixé en faisant un compromis entre les résolutions temporelle et fréquentielle.
Dans la suite, on choisit NFFT
= 4096 et noverlap
= 2048.
Pour mettre en évidence les harmoniques les plus énergétiques, on modifie l’échelle des couleurs en réglant vmin
qui correspond à la valeur en dessous de laquelle toutes les amplitudes sont représentées de la même couleur.
On trouve donc les fréquences fondamentales de la musique (et donc les notes associées) en adaptant le zoom :