我正在使用 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 秒对应的词。
我不明白这是怎么发生的,也许是因为剪辑中没有声音并且识别器认为音频已经结束?有没有办法配置这个参数(如果存在)?如果不是这样,那可能是什么问题?
答案 0 :(得分:0)
据我用谷歌搜索,我发现你需要给系统一个持续时间来监听整个文件,或者迭代 recog1.listen(source)
部分直到文件结束,因为 {{ 3}} 你可以检查源代码,它在第 215 行说“如果你指定 10 秒的持续时间,那么在每次迭代中你都会得到文件的下一个 10 秒”。我希望它能成功。