【问题标题】:speech recognition not taking input语音识别不接受输入
【发布时间】:2020-05-20 01:00:53
【问题描述】:

我正在使用以下代码,但它不接受任何输入。它只是打印监听,没有任何反应,不接受输入,程序也不会终止。

import speech_recognition as sr

r1=sr.Recognizer()
r2=sr.Recognizer()
r3=sr.Recognizer()

with sr.Microphone() as source:
    print('Listening')
    audio = r3.listen(source)
    print(r2.recognize_google(audio))

【问题讨论】:

    标签: python python-3.x speech-recognition pyaudio google-speech-api


    【解决方案1】:

    我认为您的麦克风没有检测到。尝试打印所有输出设备,我相信您会收到一条消息说找不到输出设备。

    【讨论】:

    • 哦,我会再调查一下,会回复你的。
    【解决方案2】:

    试试这个:

    with sr.Recognizer(device_index=1) as source:
    

    而不是,

    with sr.Microphone() as source:
    

    如果您还没有安装Pyaudio,请使用命令pip install PyAudio

    【讨论】:

    • __init__() 得到了一个意外的关键字参数“device_index”。
    【解决方案3】:

    我做过一个类似的项目。你可能想试试这个。

    def takeCommand():
        r = sr.Recognizer()
    
        with sr.Microphone() as source:
    
            print("Listening...")
            r.pause_threshold = 1
            audio = r.listen(source)
    
        try:
            print("Recognizing...")
            query = r.recognize_google(audio, language='en-us')
            print("User said: {query}\n")
    

    这是我在项目中使用的。您显然需要制作自己的异常处理程序。比如“无法识别”之类的。

    【讨论】: