<p>我需要运行两个循环,一个用于侦听语音命令,另一个用于保持与MQTT代理的连接,并侦听/发布MQTT主题,在发出语音命令时进行发布。问题是,我不知道最好的办法来设置这个。在MQTT等待语音命令执行函数的情况下,如何将这些设置为同时运行/从哪里开始研究解决方案?上课?多线程?不知道从哪里开始。在</p>
<p>另外-旁注-这种语音识别(pocketsphinx)是绝对可怕的。它有5%的时间会出现开/关的情况,每隔一段时间就会给出各种随机响应。如果你能用一个更好的模块,或者用pocketsphinx编码来更准确的话,你可以给我指出一个正确的方向(我已经注册了一个Google云语音API密钥,但是还没有收到)。在</p>
<p>这是密码</p>
<p>在语音.py公司名称:</p>
<pre><code>import pyaudio, os
import mqttPublisher
import speech_recognition as sr
def mainfunction(source):
audio = r.listen(source)
user = r.recognize_sphinx(audio)
print(user)
if user == 'on':
mqttPublisher.led_on()
elif user == 'off':
mqttPublisher.led_off()
if __name__ == '__main__':
r = sr.Recognizer()
with sr.Microphone() as source:
while 1:
mainfunction(source)
</code></pre>
<p>在mqttPublisher.py公司名称:</p>
^{pr2}$