【问题标题】:Speech recognition using python使用python进行语音识别
【发布时间】:2021-06-04 16:28:05
【问题描述】:
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 进行语音识别时遇到问题,响应时间很慢,有时它没有响应。

【问题讨论】:

  • 非常慢是什么意思?这段代码需要多少时间?根据您的要求需要多少时间?请参考stackoverflow.com/help/how-to-ask 了解应添加的更多详细信息。
  • 这意味着有时它无法响应 10 到 20 分钟的时间

标签: speech-recognition


【解决方案1】:

现在,这可能对您不起作用,具体取决于您所在的位置,但它对我有所帮助,基本上语音识别的工作原理是它等待直到听到某些内容。过了一会儿,如果说某事后有一段时间没有声音,语音识别会假设你说的是它应该听到的。

您遗漏了代码的关键部分,即: r.adjust_for_ambient_noise(source)

它的作用是对背景中的环境噪声进行采样(最多需要大约一秒钟,具体取决于噪声级别),然后在收听用户时不会收听造成环境噪音的背景。因此,在您的情况下,如果没有r.adjust_for_ambient_noise(source),您的代码大约需要 10-20 分钟才能停止收听。

最后,你的代码应该是这样的:

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")

【讨论】:

    【解决方案2】:

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

    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.
    

    【讨论】:

      猜你喜欢
      • 2018-01-27
      • 2019-05-05
      • 2018-10-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-06-07
      • 2018-07-01
      相关资源
      最近更新 更多