如何控制何时停止音频输入?

时间:2017-05-01 14:26:30

标签: python django speech-recognition

我使用SpeechRecognition Python包来获取用户的音频。

import speech_recognition as sr
# obtain audio from the microphone
r = sr.Recognizer()
with sr.Microphone() as source:
    print("Say something!")
    audio = r.listen(source)

执行此代码时,会开始侦听用户输入的音频。如果用户暂时不说话,它会自动停止。

  • 我想知道怎样才能知道它已停止收听音频?
  • 如何手动禁用它?我的意思是,如果我想听音频50秒,然后再停止收听任何进一步的音频?

2 个答案:

答案 0 :(得分:0)

我认为你需要阅读library specifications;那么,您可以检查使用记录方法而不是 listen 方法比您的应用程序更可取。

答案 1 :(得分:0)

  1. 如文档所述,当您退出with时,录制会停止。您可以在with之后打印一些内容,以了解记录已停止。
  2. 这是在50秒后停止录制的方法。
import speech_recognition as sr 
recognizer = sr.Recognizer() 
mic = sr.Microphone(device_index=1) 
with mic as source:
    recognizer.adjust_for_ambient_noise(source)
    captured_audio = recognizer.record(source=mic, duration=50)