使用python进行语音识别

时间:2019-01-31 17:43:28

标签: speech-recognition

import speech_recognition as sr
r= sr.Recognizer()
with sr.Microphone() as sourse:
    print("Say something: ")
    audio=r.listen(sourse)

    try:
        text =r.recognize_google(audio)
        print("You said: {}".format(text))
    except:
        print("Sorry")

我在使用python进行语音识别时遇到问题,响应时间非常慢,有时无法响应。

2 个答案:

答案 0 :(得分:0)

现在,这可能对您不起作用,具体取决于您所在的位置,但它对我有所帮助,基本上,语音识别的工作原理是等待语音听到。过一会儿,如果说完某句话后没有声音,语音识别将假定您说的是应该听到的声音。

您缺少代码的关键部分: r.adjust_for_ambient_noise(source)

它的作用是对背景中的环境噪声进行采样(最大采样时间约为一秒钟,具体取决于噪声水平),然后在收听用户时,它将不会收听任何内容。引起周围噪音的背景。因此,在您的情况下,您的代码需要大约10-20分钟才能停止在没有r.adjust_for_ambient_noise(source)的情况下进行监听。

最后,您的代码应如下所示:

import speech_recognition as sr

r = sr.Recognizer()
with sr.Microphone() as source:
    r.adjust_for_ambient_noise(source)
    print("Say something!")
    audio = r.listen(source)

try:
    text = r.recognize_google(audio)
    print("You said: {}".format(text))
except:
    print("Sorry")

答案 1 :(得分:0)

通过这些修改可以更好地工作:-

import speech_recognition as sr

def recog():
    r = sr.Recognizer()
    with sr.Microphone() as source:
        print("Say Something")
        r.pause_threshold = 1
        r.adjust_for_ambient_noise(source)
        audio = r.listen(source)

    try:
        print("Recognizing..")
        text = r.recognize_google(audio, language='en-in') # Specify Language Code
        print("You said {}".format(text))

    except Exception as e:
        print(e)
        print("Sorry")

recog()

try this.