Tous les Projets
NLP

Classification de Commandes Vocales Synthétiques

CNN audio à 30 classes atteint 100% de précision test sur 41 849 échantillons. Mel-spectrogram (64 bins) + SpecAugment. CNN à 4 blocs, 1,25M paramètres. Précision val atteint 100% à l'époque 8. Label smoothing 0,1.

100.00%
Test accuracy
1.00
All-class F1
Epoch 8
100% val achieved
1,246,142
Model params
Jeu de Données

41 849 fichiers .wav synthétiques, 30 classes de commandes

Approche

Mel-spectrogram + SpecAugment → CNN à 4 blocs + label smoothing + LR cosinus

Stack Technique
PythonPyTorchlibrosa4-block CNNMel-SpectrogramSpecAugment
Mots-clés
Audio CNNMel-SpectrogramSpecAugmentSpeech Recognition30-classlibrosa
Visualisations5 Graphiques
Analyse Approfondie

Classification de commandes audio à 30 classes atteignant une précision parfaite sur données synthétiques.

Jeu de données

  • 41 849 fichiers .wav : 30 classes de commandes (bed, bird, cat... yes, zero)
  • Variantes propres + bruitées, 16kHz, durée fixe 1,0s
  • Entraînement : 31 386 / Validation : 6 277 / Test : 4 186 (stratifié)

Extraction de Features

1. Charger .wav → normaliser à 1,0s (rembourrage/découpage)
2. Mel-spectrogram : 64 bins, n_fft=512, hop=160
3. Normaliser par échantillon à [0, 1]
4. SpecAugment : FreqMask(k=15) + TimeMask(k=35)

Architecture CNN (1 246 142 paramètres) 4 ConvBlocks [32→64→128→256 canaux] → GAP → Dense(512) → Dropout(0,3) → Dense(30)

Entraînement 30 époques, Adam(lr=1e-3), CrossEntropy + label_smoothing=0,1, CosineAnnealingLR, patience=10

Résultats

ÉpoquePrécision Val
598,5%
8100,0%
30100,0%

Précision test : 100,00% | F1 par classe : 1,00 pour toutes les 30 commandes

Pourquoi une Précision Parfaite ? La parole synthétique a des propriétés acoustiques très consistantes. Contrairement à la parole réelle (accents, prosodie, bruit de fond), les commandes synthétiques se regroupent étroitement dans l'espace mel-spectrogram — c'est une condition d'évaluation favorable mais irréaliste.