语音识别器返回只听音频的开头



我正在使用Python的SpeechRecognition从音频文件中提取文本。我遇到的问题是,它只适用于剪辑的几秒钟。这是我的代码:

import speech_recognition as spr
AUDIO_FILE = "file.wav"
recognizer = spr.Recognizer()
with spr.AudioFile(AUDIO_FILE) as source: 
recognizer.adjust_for_ambient_noise(source, duration=0.2) 
audio = recognizer.record(source)
text = recognizer.recognize_google(audio, language='es-CL')
print(text)

识别工作正常,但只是在几秒钟内。即,text包含与59秒长的音频剪辑的前7秒相对应的单词。

我不明白这是怎么发生的,也许是因为剪辑中出现了静音,识别器认为音频已经结束了?是否有任何方法可以配置此参数(如果存在(?如果不是这样的话,会有什么问题?

就我所能用谷歌搜索到的而言,我发现你需要给系统一个持续时间来监听整个文件,或者迭代recog1.listen(source)部分直到文件结束,因为在这个链接中,你可以检查源代码,它在第215行说;如果您指定10秒的持续时间,那么在每次迭代中,您将获得文件"的下一个10秒;。我希望它能成功。

最新更新