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

时间:2017-06-13 04:26:41

标签: python speech-recognition pocketsphinx google-speech-api

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

有关如何使用python执行此操作的任何想法吗?

这就是我所做的。 我尝试在Python中使用speech_recognition库。

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")

这将转录音频,但不提供单词出现时间的时间戳。我知道我可以将我的音频文件分成几部分并继续通过谷歌语音识别器提供它,直到我得到我想要的部分,但这似乎是一个可怕的想法。我还设想了转录不太准确的情况,因此我确定的文件可能无法准确转录。

我也试过了pocketphinx,但我不确定如何让它在文件中提供一个单词的可能位置(它非常转录了测试文件)。

理想情况下,我会搜索一个函数:find_likely_location_of_word(word),它返回一个开始时间戳和一个结束时间戳。

我原本以为这必须是多次做过的事情,所以也许有人至少可以指出我正确的方向?

1 个答案:

答案 0 :(得分:0)

让你想找的词叫做“var”

    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")