我在 python 上做了一个虚拟助手,我不知道为什么语音识别不听并打印我所说的

问题描述

正如我所说,我正在使用 Python 制作一个虚拟助手,而语音识别不听我的,它不打印我所说的内容代码如下:

import speech_recognition as sr

def get_audio():
    print("listening...")
    r = sr.Recognizer()
    with sr.Microphone() as source:
        audio = r.listen(source)
        said = ""

        try:
            said = r.recognize_google(audio)
            print(said)
        except Exception as e:
            print("Exception: " + str(e))
        
    return said


get_audio()

在我以 python 运行和调试代码后,它只说我在听我在麦克风上尽可能大声说话,但不起作用。我的任务栏显示 python 正在使用麦克风但仍然不起作用,我正在使用 vscode。

请所有能帮助我的人。

解决方法

显然,根据您的描述,您的代码一直在监听,我认为这就是问题所在。现在我将在下面给出一个更新的代码

import speech_recognition as sr

def get_audio():
    print("listening...")
    r = sr.Recognizer()
    with sr.Microphone() as source:
        r.adjust_for_ambient_noise(source,duration = 1)
        audio = r.listen(source)
        said = ""

        try:
            said = r.recognize_google(audio)
            print(said)

        except Exception as e:
            print("Exception: " + str(e))
        
    return said


get_audio()

所以我添加了 r.adjust_for_ambient_noise(source,duration = 1) 它的作用是,它根据背景噪音调整阈值,然后听你说什么。

这应该可以正常工作!

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...