openWakeWord erkennt das Wake Word nicht? So findest du die Ursache

August 2026 · openWakeWord · Recall

Ein Modell ohne Reaktion ist nicht automatisch schlecht trainiert. Fehler beim Mikrofon, Resampling, Framing, bei der Merkmalsextraktion, beim Schwellenwert oder eine Lücke zwischen TTS-Training und echten Stimmen sehen identisch aus. Prüfe sie in dieser Reihenfolge.

Zuerst: rohe Vorhersagewerte protokollieren. Bewegt sich der Score nie, prüfe Audio und Modellladung. Steigt er beim richtigen Wort, bleibt aber unter der Schwelle, prüfe Threshold und Trainingsabdeckung.

1. Modell mit einer WAV-Datei testen

Teste vor dem Live-Mikrofon eine bekannte positive 16-kHz-Datei mit predict_clip(). Kontrolliere Modellname und Score. Falsche Pfade, Cache-Dateien oder eine Verwechslung von ONNX und TFLite wirken wie null Recall.

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

2. Audiovertrag prüfen

openWakeWord erwartet 16-Bit-PCM mit 16 kHz; Frames sollten laut Dokumentation Vielfache von 80 ms sein. Speichere den echten Eingabestrom als WAV und höre ihn an. Prüfe Kanäle, Datentyp, Framelänge und Amplitude. Deaktiviere AGC, Rauschunterdrückung und Echo-Cancelling vorübergehend.

3. Scores statt nur Trigger ansehen

0.5 ist ein Ausgangspunkt, keine universelle Schwelle. Messe mindestens 20 beabsichtigte Äußerungen und mehrere Minuten Alltagssprache. Eine niedrigere Schwelle reduziert Aussetzer, erhöht aber Fehlaktivierungen.

BeobachtungNächster Schritt
Score bleibt nahe nullPfad, Audioformat, Sample-Rate, Feature-Pipeline
Zielwort knapp unter ThresholdNiedrigere Schwelle gegen Negativdaten testen
WAV geht, Mikrofon nichtCapture, Resampling und Puffer vergleichen
Nur eine Person wird erkanntSprecher- und Aussprachevielfalt ergänzen
Nur in Ruhe zuverlässigReale Geräusche, Raum und Distanz testen

4. VAD und Cooldown isolieren

VAD-Gates, Debounce, Cooldown oder mehrere erforderliche positive Frames können einen gültigen Score blockieren. Schalte sie zur Diagnose aus und aktiviere sie einzeln wieder. Logge Score, VAD, Schwellenentscheidung und Cooldown gemeinsam.

5. Trainingsdaten erweitern

Wie Voicute Schwankungen reduziert

Voicute trainiert ein kompaktes Zielwortmodell, erweitert synthetische Sprache um akustische Variationen und bietet eine Voice-Enhanced-Variante mit ausgewählten echten Aufnahmen. Damit wird die Lücke zwischen sauberer Synthese und realem Mikrofon kleiner. Das exportierte ONNX-/TFLite-Modell muss trotzdem auf der Zielhardware getestet und eingestellt werden; ein Messwert ist keine Garantie für jede Umgebung.

Fazit: Liegt der Fehler in Audio oder Threshold, kann openWakeWord weiterverwendet werden. Wenn Aufbau und Pflege der Trainingspipeline das Problem sind, ist ein generiertes, portables Modell eine Alternative.
Offline-Modell erstellen

Quellen