python speechRecognition模块中的麦克风无法识别语音

2024-05-17 17:33:28 发布

您现在位置:Python中文网/ 问答频道 /正文

当我运行此程序时,如果我使用耳机或外部麦克风,则可以识别语音。 但是,如果我使用笔记本电脑麦克风(麦克风阵列(Realtek(R)Audio)),则无法识别语音。这就像程序挂在第audio = r.listen(source)行如果我说了什么,然后插上耳机,程序就会工作。 笔记本电脑中的麦克风工作正常

import speech_recognition as sr
import pyaudio

r = sr.Recognizer()
with sr.Microphone() as source:
    print("Listening......")
    audio = r.listen(source)

    try:
        print("Recognizing...")    
        query = r.recognize_google(audio, language='en-in')
        print(f"USER: {query}\n")

    except Exception:
        print("Did not catch that")  

为什么会这样?谁能帮帮我吗

多谢各位


Tags: import程序sourceas语音queryaudiospeech
2条回答

我猜

可能它使用外部麦克风作为默认设备,您必须手动设置其他设备

documentation中,您可以看到

Microphone(device_index = None)

A device index is an integer between 0 and pyaudio.get_device_count() - 1 

您还可以查看如何获取所有可用设备的列表

import speech_recognition as sr

for index, name in enumerate(sr.Microphone.list_microphone_names()):
    print("Microphone with name \"{1}\" found for `Microphone(device_index={0})`".format(index, name))

顺便说一句:你也可以阅读Troubleshooting-也许它能提供更多的想法

r.adjust_for_ambient_noise(source) 我使用了这个函数,现在它正在工作。 这增加了识别音频的范围

谢谢大家

相关问题 更多 >