import speech_recognition as sr
from os import path
AUDIO_FILE = path.join(path.dirname(path.realpath(__file__)), "english.wav")
r = sr.Recognizer()
with sr.AudioFile(AUDIO_FILE) as source:
audio = r.record(source) # read the entire audio file
try:
print("Sphinx thinks you said " + r.recognize_sphinx(audio))
except sr.UnknownValueError:
print("Sphinx could not understand audio")
except sr.RequestError as e:
print("Sphinx error; {0}".format(e))
很多语音识别软件都依赖于HMM或隐马尔可夫模型。这种方法的工作原理是假设语音信号在足够短的时间尺度(比如10毫秒)下观察时,可以合理地近似为一个平稳的过程——也就是说,统计特性不随时间变化的过程。语音被分成10毫米的片段,并映射到一个实数向量,即cepstral系数,然后这些向量与音素匹配。这是一个典型的语音识别系统的高度概述。在
现在,回到你的要求,一点研究就会把你带到图书馆,比如-
现在使用SpeechRecognition很简单(取自source code并在我的电脑上试用)—
瞧,它的工作,在十行的代码中,多亏了开发这些代码的优秀人员:)
编辑-您需要设置PocketSphinx才能使此代码工作。在
相关问题 更多 >
编程相关推荐