openWakeWord ne détecte pas votre mot de réveil ? Guide de diagnostic

Août 2026 · openWakeWord · Rappel

Un modèle qui ne réagit pas n'est pas forcément mal entraîné. La capture micro, le rééchantillonnage, les trames, l'extraction des caractéristiques, le seuil ou l'écart entre voix TTS et voix réelles peuvent produire le même symptôme.

Premier réflexe : afficher le score brut. S'il ne bouge jamais, examinez l'audio et le chargement. S'il monte sur le bon mot mais reste sous le seuil, examinez le seuil et la couverture des données.

1. Tester le modèle avec un WAV

Avant le microphone, utilisez un fichier positif connu à 16 kHz avec predict_clip(). Vérifiez le nom et le score du modèle. Un mauvais chemin, un ancien fichier en cache ou une confusion ONNX/TFLite ressemble à un rappel nul.

from openwakeword.model import Model
model = Model(wakeword_models=["mon_modele.onnx"])
print(model.predict_clip("positif.wav"))

2. Vérifier le contrat audio

openWakeWord attend du PCM 16 bits à 16 kHz ; la documentation recommande des trames multiples de 80 ms. Enregistrez le flux réellement reçu et écoutez-le. Contrôlez les canaux, le type, la taille des trames et l'amplitude. Désactivez temporairement gain automatique, réduction de bruit et annulation d'écho.

3. Mesurer les scores avant de changer le seuil

0,5 est un point de départ, pas une valeur universelle. Mesurez au moins 20 prononciations positives et plusieurs minutes de parole ordinaire. Un seuil plus bas réduit les ratés mais augmente les faux déclenchements.

ObservationÀ vérifier
Score toujours proche de zéroChemin, format audio, fréquence et pipeline
Bon mot juste sous le seuilTester un seuil inférieur sur des négatifs
WAV reconnu, microphone nonCapture, resampling, tampon et trames
Une seule personne reconnueDiversité des voix et prononciations
Échec à distance ou dans le bruitDonnées réalistes de pièce, bruit et distance

4. Isoler VAD, cooldown et debounce

Un VAD, un délai anti-répétition ou plusieurs trames positives obligatoires peuvent bloquer un score valide. Désactivez ces couches, puis réactivez-les une par une en journalisant score, VAD, seuil et état du cooldown.

5. Améliorer les données

Comment Voicute réduit les variations

Voicute entraîne un modèle compact pour la cible, diversifie les voix synthétiques et les conditions acoustiques, et propose une version renforcée par des enregistrements réels sélectionnés. L'objectif est de réduire l'écart entre synthèse propre et microphone réel. Le modèle ONNX/TFLite exporté doit néanmoins être validé et réglé sur l'appareil final.

Conclusion : si le défaut vient de l'audio ou du seuil, conservez openWakeWord. Si la maintenance de la synthèse, de l'augmentation et de la validation bloque le projet, un modèle portable généré est une autre voie.
Créer un modèle hors ligne

Références