我正在开始一项需要将音频转换为文本的工作。我正在使用 python 的语音识别库。我在github上看到了一个关于如何使用它的教程。该程序无法通过麦克风识别我的声音。
我在 ubuntu 16.04 上使用 python 2.7。
代码:
import speech_recognition as sr
# obtain audio from the microphone
r = sr.Recognizer()
with sr.Microphone() as source:
print("Say something!")
r.adjust_for_ambient_noise(source)
audio = r.listen(source)
# recognize speech using Sphinx
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))
终端输出:
shivam@shivam-HP-Pavilion-15-Notebook-PC:~/Python/audio$ python temp.py
ALSA lib pcm_dsnoop.c:606:(snd_pcm_dsnoop_open) unable to open slave
ALSA lib pcm_dmix.c:1029:(snd_pcm_dmix_open) unable to open slave
ALSA lib pcm_dmix.c:1029:(snd_pcm_dmix_open) unable to open slave
Say something!
“说点什么!”之后,它一直闪烁,但我的声音未被识别。
我无法安装
PocketSphinx
模块,遇到问题。
但如果我用 recognize_sphinx
切换 recognize_google
,它对我有用。
这是您修改后的代码。
import speech_recognition as sr
# obtain audio from the microphone
r = sr.Recognizer()
with sr.Microphone() as source:
print("Say something!")
r.adjust_for_ambient_noise(source)
audio = r.listen(source)
# recognize speech using Sphinx
try:
#print("Sphinx thinks you said " + r.recognize_sphinx(audio))
print("Sphinx thinks you said " + r.recognize_google(audio))
except sr.UnknownValueError:
print("Sphinx could not understand audio")
except sr.RequestError as e:
print("Sphinx error; {0}".format(e))
输出
Python 2.7.9 (default, Dec 10 2014, 12:24:55) [MSC v.1500 32 bit (Intel)] on win32
Type "copyright", "credits" or "license()" for more information.
>>> ================================ RESTART ================================
>>>
Say something!
Sphinx thinks you said hello
>>>
希望这有用。
@Shivam Mitra 我也有同样的问题。可以分享一下你的解决方案吗?