语音录音python坚持听



我正在使用NextEch桌面麦克风进行输入,并且我知道它有效,因为我在设置中对其进行了测试。我正在使用Python 2.7。当我执行下面的代码时,脚本就像卡在audio = r.listen(source)上一样。当我执行键盘中断以终止脚本时,这是追溯:

Traceback (most recent call last):
  File "test_audio.py", line 12, in <module>
    listen()
  File "test_audio.py", line 6, in listen
    audio = r.listen(source)
  File "/usr/local/lib/python2.7/dist-packages/speech_recognition /__init__.py", line 559, in listen
    buffer = source.stream.read(source.CHUNK)
  File "/usr/local/lib/python2.7/dist-packages/speech_recognition/__init__.py", line 161, in read
    return self.pyaudio_stream.read(size, exception_on_overflow=False)
  File "/usr/local/lib/python2.7/dist-packages/pyaudio.py", line 608, in read
    return pa.read_stream(self._stream, num_frames, exception_on_overflow)
KeyboardInterrupt

这是代码:

import speech_recognition as sr
def listen():
    r = sr.Recognizer()
    with sr.Microphone() as source:
        audio = r.listen(source)
    try:
        print(r.recognize_wit(audio, key="############################"))
    except sr.RequestError as e:
        return "There was an error with the speech recognititon software."
listen()

这对您来说可能很有趣:

即使我不说话,识别者也试图识别语音, 或者我说话后。

尝试增加recognizer_instance.energy_threshold属性。这 基本上是识别器对识别者的敏感程度 应该开始。较高的值意味着它将不太敏感,这将 如果您在大声的房间里很有用。

来源:https://pypi.python.org/pypi/speechrecognition/

这是解决方案:

print("Speak something")
audio = r.listen(source)
try:
    said = r.recognize_google(audio)
    print(f"You said: {said}")
except Exception as e:
    print(f"I think you are at very noisy place,nThis is the error in computer languge: {str(e)}")

在" audio = r.listen(source)"的行中。已编写,您只需要添加另一个参数" phrase_time_limit = 5&quot"。看起来像这样:

audio = r.listen(source,phrase_time_limit=5)

最新更新