Schnelle Wake-Word detection in Python?
Hallo,
ich programmiere gerade einen Sprachassistenten und wollte nun eine schnelle Wake-Word detection einbauen, also wenn man das Wake-Word "Luna" sagt, soll es innerhal einer Sekunde in die Hauptschleife gehen. Das ist mein Code:
def wait_for_wake_word(recognizer, source):
while True:
print("Warte auf Wake-Word...")
try:
audio = recognizer.listen(source, phrase_time_limit=1)
text = recognizer.recognize_google(audio, language="de-DE")
if hey_luna_in_q(text):
print("Wake-Word erkannt!")
return
except sr.UnknownValueError:
pass
except sr.RequestError as e:
print(f"Fehler bei der Anfrage an die Google Web Speech API: {e}")
def hey_luna_in_q(q):
return "luna" in q.lower()
Wenn man das Programm startet und dann direkt das Wake-Word sagt, funktioniert auch allles gut, aber sobal ich etwas warte bevor ich das Wake-Word sage (was bei einem Sprachassistenten ja meistens so ist), dauert es sehr lange, bevor es in die Hauptschleife geht und manchmal passiert überhaupt nichts, wieso?
Freundliche Grüsse
1 Antwort
Ich denke mal es gibt ein spezielles Kommando um im Hintergrund auf das Wakeword zu warten.
Das funktioniert womöglich besser, denn so, wie es jetzt dasteht kann es sein, dass das eine Endlosschleife ist, die extrem viel Performance zieht und den Speicher vollschreibt.