Spracherkennung python-code funktioniert nicht
Ich bin mit dem folgenden code in Python 2.7 mit pyAudio installiert.
import speech_recognition as sr
r = sr.Recognizer()
with sr.Microphone() as source: # use the default microphone as the audio source
audio = r.listen(source) # listen for the first phrase and extract it into audio data
try:
print("You said " + r.recognize(audio)) # recognize speech using Google Speech Recognition
except LookupError: # speech is unintelligible
print("Could not understand audio")
Gibt die Ausgabe einen blinkenden Cursor. Das ist es. Bitte um Hilfe, wie ich bin neu in diesem.
- versuchen Sie, fügen Sie
indent
zutry...except
Teil? - Aber es ist nicht so dass jede Einbuchtung Fehler, das Python in der Regel gibt.
- Wenn Sie anrufen
r.listen
wird das Programm hängenbleibt hören, weil Sie nie sagen, Sie zu stoppen. Das ist meine Vermutung jedenfalls. - Wenn es ein continious loop der audio -, Siyan ist richtig. Den stream nie verlassen
audio = r.listen(source)
oder deine Einrückung ist falsch. Erwägen Sie die Verwendung einer nicht-blockierende Objekt wie dieselect
Bibliothek. Wenn Sie auf Windows würde ich vielleicht thread die Ausgabe einigen, wie. - welches os verwenden Sie?
- Ich benutze Windows 8.1 64bit x64
- Wo läufst du den code aus?
- IDLE(Python-GUI)
Du musst angemeldet sein, um einen Kommentar abzugeben.
Den möglichen Grund könnte sein, dass die
recognizer_instance.energy_threshold
Eigenschaft ist wahrscheinlich auf einen Wert eingestellt, der zu hoch ist, zu beginnen mit. Sie verringern sollte diese Schwelle, oder rufen Sierecognizer_instance.adjust_for_ambient_noise(source, duration = 1)
. Sie können lernen, mehr über ihn zu SpracherkennungIch entschieden habe das gleiche problem für mich mit der folgenden (Rauschunterdrückung),
Die "listen" Funktion hat, Probleme mit der Umwelt Lärm. Also der code ist nur blinken warten.
Verwenden Sie dieses Nebengeräusch-Unterdrückung/Anpassung;
r.adjust_for_ambient_noise(source, duration=5)
Referenz
Dienstag, März 28, 2017
Einfache Spracherkennung in Python mit PyAudio und Pocketsphinx
haben Sie versucht, anstelle
mit
gewährleisten pyaudio.h installiert ist, durch ausführen der nachstehenden Befehl
überprüfen Sie die Eingangs-Lautstärke für Ihr Mikrofon. Es ist standardmäßig auf 0 gesetzt in ubuntu (in meinem Fall). Seit Ihr Programm stecken auf der Linie
audio = r.listen(source)
, was einfach bedeutet, dass das Mikrofon nicht in der Lage zu hören, um jede Stimme Eingang. Hoffe, das hilft.Neben Tushar die Antwort, die ich vorschlagen, versucht ein schöner externen USB-Mikrofon. PyAudio können Fragen mit einem einfachen eingebauten laptop-Mikrofon.
Müssen Sie möglicherweise installieren Sie diese Dinge zuerst:
pip install pyaudio
pip install --upgrade pyaudio
pip install wheel
pip install google-api-python-client
sudo apt-get install flac
pip install monotonic
pip install SpeechRecognition
Danach, siehe die Website (https://realpython.com/python-speech-recognition/)
es wird deutlich erklären, was Sie wollte.
Hier bin ich anbringen, den code habe ich bearbeitet, die Website. Da ich neu bin und es wird nicht perfekt sein, aber ich habe versucht,. Dies ist zu prüfen Wetter die Spracheingabe ist ähnlich wie der text, den ich gegeben habe, und es wird auch das drucken, was Sie sagte.
Ich denke das problem ist mit die Dauer. Wenn Sie für einige Dauer, um die Spracherkennungs-engine das problem behoben werden.
Versuchen Sie den folgenden code:
Setzen, die Versuchen, Außer in den Einzug.
Hier ist mein code Arbeiten:-
versuchen, hinzufügen
wobei r recogniser Instanz, wie dies
nur versuchen;
es funktioniert.