如何在Python中的音频文件中查找单词?

如何在Python中的音频文件中查找单词?,python,speech-recognition,pocketsphinx,google-speech-api,Python,Speech Recognition,Pocketsphinx,Google Speech Api,我有一个音频文件,其中包含一个口语单词。我确信它包含单词,我需要检测单词的开头和结尾 有没有关于如何使用python实现这一点的想法 这就是我所做的。 我尝试使用Python中的语音识别库 import speech_recognition as sr r = sr.Recognizer() with sr.WavFile("a.wav") as source: audio = r.record(source)

我有一个音频文件,其中包含一个口语单词。我确信它包含单词,我需要检测单词的开头和结尾

有没有关于如何使用python实现这一点的想法

这就是我所做的。 我尝试使用Python中的语音识别库

import speech_recognition as sr
r = sr.Recognizer()
with sr.WavFile("a.wav") as source:              
    audio = r.record(source)                        

try:
    list = r.recognize_google(audio,key=None)                 
    print list
except LookupError:                                
    print("Could not understand audio")
这将转录音频,但不提供单词出现的时间戳。我知道我可以把我的音频文件分割成几个部分,然后通过谷歌语音识别器不断输入,直到我得到我想要的部分,但这似乎是个糟糕的主意。我还设想了转录不太准确的情况,因此我确定文件中的单词可能无法准确转录

我也尝试过pocketsphinx,但我不确定如何让它提供文件中单词的可能位置(它对测试文件进行了可怕的转录)

理想情况下,我将搜索一个函数:查找返回开始时间戳和结束时间戳的单词(word)的位置


我原以为这件事已经做了很多次了,所以也许至少有人能给我指出正确的方向?

让你试图找到的单词叫做“var”


也有返回时间戳的API,例如IBM Watson。这是关于速度/精度平衡。转录速度慢但更准确,定位速度快且更稳健,但容易出现假警报。
    import speech_recognition as sr
r = sr.Recognizer()
with sr.WavFile("a.wav") as source:              
    audio = r.record(source)                        

try:
    list = r.recognize_google(audio,key=None)                 
    if var in list:
        print("word found")

except LookupError:                                
    print("Could not understand audio")