Un son est une vibration de l’air qui se propage sous forme d’onde. Lorsque vous parlez ou écoutez de la musique, ces vibrations frappent vos tympans et sont interprétées par votre cerveau. Pour qu’un ordinateur puisse analyser ces sons, il faut les convertir en nombres. Cela se fait en deux étapes :
Imaginez un tableau de valeurs numériques qui reproduit fidèlement l’onde sonore originale. Plus l’échantillonnage est dense (mesures fréquentes) et la quantification précise (grands nombres), meilleure est la qualité du son numérique.
Un fichier audio brut est simplement une liste de nombres. Par exemple, un son de 1 seconde à 16 kHz contient 16 000 valeurs, chacune représentant l’amplitude du son à un instant précis. En Deep Learning, ces données deviennent un tenseur 1D (une ligne de nombres).
Exemple concret :
signal = [0.1, -0.3, 0.5, ..., 0.2] # 16 000 valeurs pour 1 seconde à 16 kHz
Le son est composé de multiples fréquences (aiguës, graves). Pour les identifier, on utilise la Transformée de Fourier Rapide (FFT). Elle décompose le son en ses "composantes de base", comme un prisme décompose la lumière en couleurs.
Limitation de la FFT : Elle perd l’information temporelle. On sait quelles fréquences sont présentes, mais pas quand.
Solution : La Transformée de Fourier à Court Terme (STFT) analyse de courtes tranches de son, créant un spectrogramme. Ce dernier est une image où :
Exemple : Dire "bonjour" produit un spectrogramme avec des motifs distincts : les voyelles (comme "o") forment des bandes horizontales, tandis que les consonnes (comme "j") apparaissent comme des pics courts.
L’oreille humaine est plus sensible aux graves qu’aux aigus. Le Mel-spectrogramme adapte cette perception en compressant les hautes fréquences.
Les MFCC résument encore plus les données :
Les MFCC sont utilisés pour reconnaître des mots ou classer des genres musicaux. Par exemple, Google Assistant les utilise pour identifier des phonèmes (unités sonores).
Un fichier audio est une liste de nombres (ex. 16 000 valeurs pour 1 seconde à 16 kHz). En Deep Learning, cela devient un tenseur 1D de forme (N,)
.
Un spectrogramme STFT ou Mel devient une matrice (F, T)
où :
F
= nombre de fréquences (ex. 128 bandes).T
= nombre de trames temporelles (ex. 100 instants).(Canaux, F, T)
comme pour les images.(T, F)
.(T, F)
avec un encodage temporel.Code Python Simplifié :
import librosa
# Charger un fichier audio
signal, sr = librosa.load("exemple.wav", sr=16000)
# Calculer un Mel-spectrogramme
mel = librosa.feature.melspectrogram(y=signal, sr=sr, n_mels=128)
Des réseaux comme WaveNet ou les Autoencodeurs apprennent à reconstruire le son sans bruit. Exemple : Supprimer le ronflement électrique à 50 Hz en ciblant son pic dans le spectrogramme.
Le Deep Learning transforme le son en modèles mathématiques pour créer des assistants vocaux, des correcteurs d’accent, ou des outils de reconnaissance musicale. En combinant physique, maths et programmation, on donne l’oreille à l’IA !
Pour approfondir vos connaissances et explorer des outils avancés, voici quelques ressources incontournables :
Ma recommandation musicale du jour : à écouter sans modération !
Écouter sur YouTube