【问题标题】:Python speech recognition for Raspberry Pi 2Raspberry Pi 2 的 Python 语音识别
【发布时间】:2018-04-01 15:25:51
【问题描述】:
我正在尝试找到一个类似于 PySpeech 的语音识别库,该库可以在 Raspberry Pi 2 上运行。我对此并不陌生,并且已经尝试过研究,但有太多应用程序,我只需要帮助选择正确的应用程序。
我想要做的就是,当用户说某事时,程序将识别关键字并打开我的代码的正确部分,这将只显示有关该关键字的信息。
现在我正在使用 Python 2.7 和 PyQt4 来显示我想要的东西,但如果有更简单的东西,比如 KivyPi、PyGame 等,我愿意改变。
我愿意提供任何想法或任何帮助来推动我朝着正确的方向前进。
谢谢!
【问题讨论】:
标签:
python-2.7
speech-recognition
speech-to-text
raspberry-pi2
【解决方案1】:
我创建了一个名为 SpeakPython 的库来帮助 Python 开发人员做到这一点,并且刚刚在 GPL3 下发布了它。该库基于 pocketsphinx (sphinxbase) 和 gstreamer(用于流式识别,可快速获得结果)。它将允许您将 python 代码附加到语音命令。
这样的命令解析非常准确和动态,我已经在 Pi 上进行了测试。如果您有任何问题,请告诉我。
【解决方案2】:
要使用 Python 在 Raspberry Pi 2 上识别几个单词,您可以使用 Python 绑定到 Pocketsphinx
你可以找到pocketsphinx教程开始here。
您可以找到 RPi here 的一些安装详细信息。
您可以找到代码示例here。
您可以使用 pocketsphinx 和 python here 找到已经运行的示例。
【解决方案3】:
这是我在我的 pi 上启动并运行的,它使用 python 语音识别、pyaudio 和 python espeak 进行语音响应(如果你想要的话,如果不只是把它拿出来)这将监听语音输入,打印出来发短信给你。你可以操纵它来做任何你想做的事情 -
import pyaudio
from subprocess import call
import speech_recognition
r = sr.Recognizer()
r.energy_threshold=4000
with sr.Microphone(device_index = 2, sample_rate = 44100, chunk_size = 512) as source:
print 'listening..'
audio = r.listen(source)
print 'processing'
try:
message = (r.recognize_google(audio, language = 'en-us', show_all=False))
call(["espeak", message])
except:
call(['espeak', 'Could not understand you'])