Audio Classification (Classification Audio)
L’audio classification est une tâche de deep learning qui consiste à attribuer automatiquement une catégorie (label) à un signal audio en analysant ses caractéristiques acoustiques. Le système écoute un son et prédit ce qu’il représente : parole, musique, bruit de moteur, aboiement, sirène, toux, etc.
C’est l’une des applications fondamentales de l’audio deep learning. Chaque fois que votre téléphone détecte un wake word, qu’une caméra de surveillance identifie un bris de vitre, ou qu’un service de streaming catégorise un morceau par genre musical, un modèle de classification audio est à l’œuvre. La technologie s’appuie principalement sur les réseaux de neurones convolutifs (CNN) et les Transformers appliqués à des représentations visuelles du son (spectrogrammes), transformant ainsi un problème audio en un problème de vision par ordinateur.
- Catégorie
- Deep learning appliqué au traitement audio
- Principe
- Audio → spectrogramme → réseau de neurones → label prédit
- Modèles clés
- YAMNet (Google), PANNs, BEATs (Microsoft), AST (Audio Spectrogram Transformer), CLAP
- Dataset de référence
- AudioSet (Google) : 2M+ extraits, 527 classes d’événements audio
- Métrique
- mAP (mean Average Precision), accuracy, F1-score
- Applications
- Détection d’événements sonores, classification musicale, surveillance, accessibilité, santé
Comment fonctionne la classification audio
Le pipeline de classification audio suit une logique en quatre étapes. L’idée centrale est de convertir le son en image, puis d’appliquer les techniques de vision par ordinateur qui ont fait leurs preuves.
1. Prétraitement : du son brut au spectrogramme
L’audio brut est un signal 1D (amplitude en fonction du temps). Pour le rendre exploitable par un réseau de neurones, on le convertit en une représentation 2D appelée spectrogramme. Les étapes sont les suivantes :
L’audio est rééchantillonné à une fréquence standard (généralement 16 kHz). Une STFT (Short-Time Fourier Transform) décompose le signal en composantes fréquentielles sur des fenêtres temporelles courtes (typiquement 25 ms avec un pas de 10 ms). Le résultat est transformé en spectrogramme Mel, qui pondère les fréquences selon la perception de l’oreille humaine (échelle Mel). Enfin, on applique un logarithme pour obtenir un log-Mel spectrogramme, qui est la représentation standard pour la classification audio.
Le résultat est une « image » 2D où l’axe horizontal représente le temps, l’axe vertical représente les fréquences (échelle Mel), et l’intensité de chaque pixel représente l’amplitude. Chaque type de son produit un pattern visuel distinctif : la parole a une structure harmonique régulière, un coup de klaxon apparaît comme une bande horizontale intense, le bruit blanc remplit tout le spectrogramme uniformément.
2. Extraction de caractéristiques et classification
Le spectrogramme est passé dans un réseau de neurones qui en extrait des caractéristiques de haut niveau puis prédit la catégorie du son. Deux familles d’architectures dominent :
Les CNN (Convolutional Neural Networks) traitent le spectrogramme exactement comme une image. Les couches convolutives détectent des patterns locaux (harmoniques, transitoires, textures spectrales), et les couches de pooling agrègent ces informations en une représentation globale. YAMNet utilise l’architecture MobileNetV1, un CNN léger optimisé pour l’efficacité. Les PANNs (Pre-trained Audio Neural Networks) utilisent des architectures CNN plus lourdes (CNN14, ResNet) pour une meilleure précision.
Les Transformers appliquent le mécanisme d’attention au spectrogramme découpé en patches (comme les Vision Transformers pour les images). L’AST (Audio Spectrogram Transformer) et BEATs (Microsoft) sont les représentants majeurs de cette approche. CLAP (Contrastive Language-Audio Pretraining) va plus loin en apprenant conjointement des représentations audio et textuelles, permettant la classification zero-shot (prédire des catégories jamais vues pendant l’entraînement).
3. Embeddings : la représentation intermédiaire
Les couches internes du réseau produisent des embeddings audio : des vecteurs de dimension fixe (128D pour VGGish, 1024D pour YAMNet, 2048D pour PANNs) qui encodent les caractéristiques discriminantes du son. Ces embeddings sont extrêmement utiles pour le transfer learning : vous pouvez prendre un modèle pré-entraîné sur AudioSet, extraire les embeddings de vos propres sons, et entraîner un petit classifieur sur votre tâche spécifique avec très peu de données.
4. Prédiction
Les embeddings passent dans une couche finale (typiquement une couche dense avec activation softmax ou sigmoïde) qui produit un score de probabilité pour chaque catégorie. En classification multi-label (un son peut appartenir à plusieurs catégories simultanément, comme « parole » + « musique de fond »), on utilise une activation sigmoïde indépendante par classe.
Les modèles de référence
| Modèle | Éditeur | Architecture | Classes | Embedding | Taille | Point fort |
|---|---|---|---|---|---|---|
| YAMNet | MobileNetV1 (CNN) | 521 | 1024D | 3,7M params | Léger, rapide, idéal pour l’embarqué et le transfer learning | |
| PANNs (CNN14) | Recherche | CNN14 / ResNet | 527 | 2048D | ~80M params | Meilleure précision parmi les CNN, embeddings très discriminants |
| VGGish | VGG (CNN) | N/A (embeddings) | 128D | ~72M params | Historique, embeddings compacts, large écosystème | |
| AST | MIT | Transformer | 527 | 768D | ~87M params | Premier Transformer audio pur, forte précision |
| BEATs | Microsoft | Transformer + tokenizer audio | 527 | Variable | ~90M params | Apprentissage itératif, state-of-the-art AudioSet |
| CLAP | LAION / Microsoft | Audio encoder + text encoder | Zero-shot | 512D | Variable | Classification zero-shot (pas besoin de ré-entraîner) |
YAMNet : le standard accessible
YAMNet (Yet Another Mobile Network) est le modèle de classification audio le plus déployé. Pré-entraîné sur 1,57 million d’extraits YouTube de 10 secondes issus d’AudioSet, il prédit 521 classes d’événements audio. Son architecture MobileNetV1 à convolutions séparables en profondeur le rend ultra-léger (3,7M de paramètres, 69M de multiplications par frame de 960 ms), idéal pour le déploiement sur mobile et embarqué.
YAMNet traite l’audio à 16 kHz et produit des prédictions à 10 Hz (une prédiction toutes les 100 ms). En plus des scores de classification, il fournit des embeddings de 1024 dimensions qui sont excellents pour le transfer learning. L’utilisation typique : extraire les embeddings YAMNet de vos sons, puis entraîner un petit classifieur (même une simple régression logistique) sur votre tâche spécifique.
YAMNet est disponible via TensorFlow Hub et MediaPipe (Google AI Edge), avec des tutoriels officiels pour le transfer learning.
PANNs : la précision maximale en CNN
Les PANNs (Pre-trained Audio Neural Networks) sont une famille de modèles CNN entraînés sur AudioSet qui surpassent systématiquement YAMNet et VGGish en termes de précision. Le modèle CNN14 est le plus utilisé. Les embeddings PANNs (2048D) sont les plus discriminants parmi les extracteurs de caractéristiques audio basés sur CNN, selon des études comparatives récentes. Le compromis : les modèles sont plus lourds et plus lents que YAMNet.
CLAP : la classification zero-shot
CLAP (Contrastive Language-Audio Pretraining) est l’équivalent audio de CLIP pour les images. Il apprend à aligner des représentations audio et textuelles dans un espace d’embedding partagé. Le résultat : vous pouvez classifier des sons en fournissant simplement des descriptions textuelles des catégories, sans aucun ré-entraînement. Par exemple, vous pouvez lui soumettre un audio avec les labels candidats « Son de chien » et « Son d’aspirateur », et il prédit la catégorie la plus probable.
C’est un changement de paradigme : au lieu de ré-entraîner un modèle pour chaque nouvelle tâche de classification, vous définissez vos catégories en texte et CLAP fait le reste. La limite : CLAP est pré-entraîné sur des sons environnementaux génériques et peut manquer de précision sur des domaines très spécialisés (sons cliniques, bruits industriels spécifiques).
AudioSet : le dataset fondateur
AudioSet, créé par Google, est le dataset de référence pour l’audio classification. Il contient plus de 2 millions d’extraits audio de 10 secondes issus de YouTube, annotés selon une ontologie de 527 classes d’événements audio organisées hiérarchiquement. Les classes couvrent la parole, la musique (instruments, genres), les sons environnementaux (animaux, véhicules, intempéries), les sons domestiques et bien plus.
D’autres datasets importants incluent UrbanSound8K (8 732 extraits de sons urbains en 10 classes : klaxon, perceuse, sirène, etc.), ESC-50 (2 000 extraits en 50 classes de sons environnementaux), FSD50K (51 000 extraits annotés manuellement) et les datasets DCASE (Detection and Classification of Acoustic Scenes and Events), utilisés pour le benchmark annuel éponyme.
Cas d’usage
Surveillance et sécurité
Détection de coups de feu, de bris de vitre, de cris, de sirènes : la classification audio alimente les systèmes de vidéosurveillance intelligente et les capteurs de sécurité urbaine. L’Echo Dot Max d’Amazon utilise la technologie Omnisense pour détecter des sons spécifiques (alarme de détecteur de fumée, sonnette) et déclencher des alertes. Les systèmes de surveillance par l’audio complètent les caméras dans les zones où la vidéo est insuffisante (angle mort, obscurité).
Accessibilité pour les personnes sourdes et malentendantes
Des applications comme SoundWatch, ProtoSound et SoundSafe utilisent la classification audio pour alerter les personnes sourdes ou malentendantes des sons importants de leur environnement : sonnette, alarme incendie, klaxon, bébé qui pleure. Le son détecté est converti en notification visuelle ou vibration sur un smartphone ou une montre connectée. Ce domaine a vu une accélération significative entre 2022 et 2025, avec des systèmes de plus en plus précis grâce aux modèles pré-entraînés sur AudioSet.
Santé
La classification audio est utilisée pour détecter la toux (monitoring COVID/respiratoire), les ronflements (troubles du sommeil), les sons cardiaques anormaux (auscultation automatisée) et les sons de déglutition (dysphagie). Les études cliniques montrent que des modèles CNN (DenseNet) et Transformers (AST) atteignent des performances prometteuses même avec des datasets limités, en utilisant le transfer learning depuis des modèles pré-entraînés sur AudioSet.
Classification musicale
Identification du genre musical, détection d’instruments, reconnaissance de mélodies, séparation des sources : la classification audio est au cœur des systèmes de recommandation musicale de Spotify, Apple Music et YouTube Music. Les modèles identifient les caractéristiques spectrales qui distinguent le jazz du rock, le piano de la guitare, ou encore le tempo et l’énergie d’un morceau.
Automobile
Détection de sirènes d’urgence (pour alerter le conducteur), reconnaissance vocale dans l’habitacle, détection d’anomalies sonores du moteur (maintenance prédictive), identification de bruits de route pour l’insonorisation active. Les systèmes ADAS (Advanced Driver Assistance Systems) intègrent de plus en plus l’analyse audio en complément de la vision.
Maison connectée
Les enceintes connectées utilisent la classification audio pour détecter les alarmes de détecteur de fumée/CO, les sonnettes, les pleurs de bébé et les bris de vitre. Amazon Alexa Guard et Google Nest Aware intègrent ces fonctionnalités. La détection de wake word est elle-même une forme spécialisée de classification audio binaire (wake word détecté / non détecté).
Industrie et maintenance prédictive
Les machines industrielles produisent des signatures sonores caractéristiques. Quand un roulement commence à s’user, un compresseur à fuir ou un moteur à vibrer anormalement, le son change avant qu’une panne visible ne se manifeste. La classification audio détecte ces anomalies en continu, permettant une intervention préventive.
Comment implémenter la classification audio
Approche recommandée : transfer learning
Pour la grande majorité des cas d’usage, vous n’avez pas besoin d’entraîner un modèle from scratch. L’approche standard est le transfer learning : utiliser un modèle pré-entraîné (YAMNet, PANNs) comme extracteur de caractéristiques, puis entraîner un petit classifieur sur vos données spécifiques.
Le workflow concret avec YAMNet : chargez le modèle pré-entraîné depuis TensorFlow Hub, passez vos fichiers audio à travers le modèle pour obtenir les embeddings (vecteurs 1024D), entraînez un classifieur simple (dense layer, SVM, XGBoost) sur ces embeddings avec vos labels. Quelques centaines d’exemples suffisent souvent pour obtenir des résultats exploitables.
import tensorflow_hub as hub
import numpy as np
# Charger YAMNet
model = hub.load('https://tfhub.dev/google/yamnet/1')
# Extraire les embeddings d'un fichier audio (16 kHz, mono)
scores, embeddings, spectrogram = model(waveform)
# embeddings.shape = (N_frames, 1024)
# Moyenner sur les frames pour un embedding global
mean_embedding = np.mean(embeddings.numpy(), axis=0) # (1024,)
Approche zero-shot avec CLAP
Si vous n’avez pas de données d’entraînement du tout, CLAP permet une classification zero-shot. Vous définissez vos catégories en texte et le modèle prédit la plus probable. Hugging Face fournit un pipeline prêt à l’emploi :
from transformers import pipeline
classifier = pipeline(
"zero-shot-audio-classification",
model="laion/clap-htsat-unfused"
)
result = classifier(
"audio.wav",
candidate_labels=["son de chien", "son d'aspirateur", "musique"]
)
print(result) # [{'label': 'son de chien', 'score': 0.9997}, ...]
Déploiement on-device
Pour le déploiement sur mobile ou embarqué, MediaPipe Audio Classifier (Google) fournit un SDK prêt à l’emploi avec YAMNet optimisé pour Android et iOS. Sur les appareils Apple, Core ML permet d’exécuter des modèles de classification audio avec le Neural Engine. Sur les microcontrôleurs (ESP32, Arduino), TensorFlow Lite Micro permet de déployer des modèles compressés pour la détection d’événements sonores en temps réel.
Défis et limites
Le bruit de fond et les sons superposés. Dans le monde réel, les sons ne se présentent jamais isolément. Un aboiement mélangé à de la musique de fond et au bruit de la circulation est bien plus difficile à classifier qu’un aboiement en studio. Les modèles multi-label aident (un même extrait peut recevoir plusieurs labels), mais la précision chute significativement en conditions bruitées.
Le déséquilibre des classes. AudioSet est notoirement déséquilibré : certaines classes (parole, musique) ont des milliers d’exemples, d’autres (sons rares, événements spécifiques) n’en ont que quelques dizaines. Les modèles entraînés sans correction surévaluent les classes fréquentes et sous-évaluent les classes rares.
Les labels faibles. AudioSet utilise des « weak labels » (labels au niveau du clip de 10 secondes, pas au niveau de chaque instant). Le modèle sait qu’un chien aboie quelque part dans l’extrait, mais pas exactement quand. Cela complique l’évaluation et peut introduire du bruit dans l’entraînement.
La généralisation. Un modèle entraîné sur des extraits YouTube peut mal performer sur de l’audio capturé par un microphone industriel, un stéthoscope ou un capteur IoT. Le domaine acoustique (qualité du micro, environnement, conditions d’enregistrement) impacte fortement les performances. Le fine-tuning sur des données représentatives du cas d’usage cible est quasi systématiquement nécessaire.
Verdict
L’audio classification est une technologie mature et accessible grâce à l’écosystème de modèles pré-entraînés (YAMNet, PANNs, CLAP) et à la facilité du transfer learning. Pour la plupart des projets, le chemin le plus rapide vers un résultat exploitable est d’extraire les embeddings d’un modèle pré-entraîné et d’entraîner un petit classifieur sur vos données spécifiques.
Pour commencer rapidement : YAMNet + transfer learning. C’est léger, bien documenté et suffisant pour la majorité des cas d’usage. Pour la meilleure précision : PANNs (CNN14) pour les embeddings ou BEATs/AST pour la classification directe. Sans données d’entraînement : CLAP en zero-shot. Pour le déploiement mobile/embarqué : MediaPipe Audio Classifier ou TensorFlow Lite.
Le conseil essentiel : ne négligez pas le prétraitement audio. La qualité du spectrogramme (choix du nombre de bandes Mel, fenêtrage, normalisation) a autant d’impact sur les résultats que le choix du modèle. Et testez toujours sur de l’audio capturé dans les conditions réelles de votre cas d’usage, pas sur des extraits propres de studio.
Questions fréquentes sur l’audio classification
Quelle est la différence entre audio classification et speech recognition ?
L’audio classification attribue une catégorie à un son (parole, musique, klaxon, aboiement). La speech recognition (ASR) transcrit spécifiquement la parole en texte. La classification répond à « quel type de son est-ce ? », la reconnaissance vocale répond à « quels mots sont prononcés ? ». La détection de wake word est un cas particulier de classification audio binaire (wake word détecté ou non). Les deux technologies utilisent des spectrogrammes comme représentation d’entrée, mais leurs architectures et objectifs diffèrent.
Combien de données faut-il pour entraîner un classifieur audio ?
Grâce au transfer learning, vous pouvez obtenir des résultats exploitables avec aussi peu que 50 à 100 exemples par classe. Le modèle pré-entraîné (YAMNet, PANNs) a déjà appris les caractéristiques audio générales sur des millions d’extraits. Vous n’entraînez que la couche de classification finale sur vos données. Plus vous avez de données, mieux c’est (surtout pour les cas limites et les environnements bruyants), mais le seuil d’entrée est bien plus bas qu’un entraînement from scratch.
Peut-on classifier des sons en temps réel sur un smartphone ?
Oui. YAMNet ne fait que 3,7M de paramètres et 69M de multiplications par frame, ce qui le rend exécutable en temps réel sur un smartphone standard. MediaPipe Audio Classifier (Google) fournit un SDK optimisé pour Android et iOS. Apple Core ML offre une exécution accélérée via le Neural Engine. Pour les applications de détection continue (accessibilité, surveillance), le modèle tourne en arrière-plan avec un impact minime sur la batterie, similaire à la détection de wake word.
Qu’est-ce que la classification audio zero-shot et comment ça marche ?
La classification zero-shot permet de catégoriser des sons sans aucun entraînement préalable sur les catégories cibles. Le modèle CLAP apprend à aligner des représentations audio et textuelles dans un espace commun. Vous fournissez des descriptions textuelles de vos catégories (« bruit de perceuse », « applaudissements », « chant d’oiseau ») et un fichier audio, et le modèle prédit quelle description correspond le mieux au son. C’est très pratique pour le prototypage rapide ou les cas où vous n’avez pas de données d’entraînement, mais la précision est généralement inférieure à celle d’un modèle fine-tuné sur des données spécifiques.
Qu’est-ce qu’AudioSet et pourquoi est-il si important ?
AudioSet est le plus grand dataset labellisé d’événements audio au monde, créé par Google. Il contient plus de 2 millions d’extraits de 10 secondes issus de YouTube, annotés selon 527 classes d’événements audio. Quasiment tous les modèles de classification audio de référence (YAMNet, PANNs, VGGish, BEATs, AST) sont pré-entraînés sur AudioSet. C’est le « ImageNet de l’audio » : le dataset qui a permis de standardiser les benchmarks, de démocratiser le transfer learning et de faire progresser la recherche en classification audio.