gpt4 book ai didi

Python 语音识别库 - 总是在听?

转载 作者:太空狗 更新时间:2023-10-30 00:22:51 37 4
gpt4 key购买 nike

我最近一直致力于在 Python 中使用语音识别库来启动应用程序。我打算最终将该库用于使用 Raspberry Pi GPIO 的语音激活家庭自动化。

我有这个工作,它检测到我的声音并启动应用程序。问题是它似乎卡在我说的一个词上(例如,我说 internet 并且它无限次地启动 chrome)

从我所见的 while 循环来看,这是不寻常的行为。我不知道如何阻止它循环。我是否需要在循环之外做一些事情才能使其正常工作?请看下面的代码。

http://pastebin.com/auquf1bR

import pyaudio,os
import speech_recognition as sr
r = sr.Recognizer()
with sr.Microphone() as source:
audio = r.listen(source)

def excel():
os.system("start excel.exe")

def internet():
os.system("start chrome.exe")

def media():
os.system("start wmplayer.exe")

def mainfunction():
user = r.recognize(audio)
print(user)
if user == "Excel":
excel()
elif user == "Internet":
internet()
elif user == "music":
media()
while 1:
mainfunction()

最佳答案

问题是您实际上只在程序开始时听一次语音,然后只是对保存的同一位音频重复调用 recognize。将实际监听语音的代码移到 while 循环中:

import pyaudio,os
import speech_recognition as sr


def excel():
os.system("start excel.exe")

def internet():
os.system("start chrome.exe")

def media():
os.system("start wmplayer.exe")

def mainfunction(source):
audio = r.listen(source)
user = r.recognize(audio)
print(user)
if user == "Excel":
excel()
elif user == "Internet":
internet()
elif user == "music":
media()

if __name__ == "__main__":
r = sr.Recognizer()
with sr.Microphone() as source:
while 1:
mainfunction(source)

关于Python 语音识别库 - 总是在听?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25394329/

37 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com