【问题标题】:Speech is not recognized via microphone in python speechRecognition modulepython SpeechRecognition 模块中的语音无法通过麦克风识别
【发布时间】:2020-10-04 00:22:26
【问题描述】:

当我运行这个程序时,如果我使用耳机或外接麦克风,语音就会被识别。 但是,如果我使用笔记本电脑麦克风(Microphone Array (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")  

为什么会发生这种情况?有人可以帮帮我吗?

谢谢。

【问题讨论】:

  • 你的代码适合我!尝试在录音时提高声音,看看是否有效
  • 我大喊大叫,但它不起作用????
  • 我发誓......它对我很好
  • 尝试提高麦克风的灵敏度
  • 可能您必须在Microphone() 中使用一些变量来选择要使用的麦克风 - 默认情况下它可能使用外部麦克风。

标签: python speech-recognition microphone


【解决方案1】:

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

谢谢大家。

【讨论】:

  • 该网站只允许我在 2 天后这样做。
【解决方案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 - 也许它会提供更多想法。

【讨论】:

    猜你喜欢
    • 2021-07-15
    • 2015-03-16
    • 2021-10-03
    • 1970-01-01
    • 1970-01-01
    • 2023-02-13
    • 1970-01-01
    • 1970-01-01
    • 2020-09-12
    相关资源
    最近更新 更多