【问题标题】:NotImplementedError: this is an abstract class in speech recognitionNotImplementedError:这是语音识别中的一个抽象类
【发布时间】:2019-11-07 12:46:39
【问题描述】:

当我尝试运行该代码时,我从谷歌获得了一些用于语音识别的代码,我得到“NotImplementedError”,请参阅下面的代码并帮助我。我使用的是 Mac。

import speech_recognition as sr
r = sr.Recognizer()
with sr.Recognizer() as source:
print("Speak Anything")
audio = r.listen(source)

try:    
    text = r.recognize_google(audio)
    print("you said:{}".format(text))
except NotImplementedError:
    print("Sorry could not recognise your voice")

Traceback(最近一次调用最后一次):

文件“”,第 4 行,在 以 sr.Recognizer() 作为来源:

文件“/Users/chiku/anaconda3/lib/python3.5/site-packages/speech_recognition/init.py”,第 51 行,enter raise NotImplementedError("这是一个抽象类")

NotImplementedError:这是一个抽象类

Traceback(最近一次调用最后一次):

文件“”,第 4 行,在 以 sr.Recognizer() 作为来源:

文件“/Users/chiku/anaconda3/lib/python3.5/site-packages/speech_recognition/init.py”,第 51 行,enter raise NotImplementedError("这是一个抽象类")

NotImplementedError:这是一个抽象类

【问题讨论】:

  • 也许你应该和你从谁那里得到这个代码的人谈谈?

标签: python speech-recognition


【解决方案1】:

在上面的行中,您实例化了一个Recognizer 对象,然后您尝试在问题行中使用未实例化的类。那应该是

with r as source:
    ...

【讨论】:

  • 错误来自这一行:使用 sr.Recognizer() 作为源: ... ... audio = r.listen(source) 文件“”,第 2 行 ... 音频= r.listen(source) ^ IndentationError: 需要一个缩进块
  • 这不是同一个错误,这是一个不同的错误。该错误是因为您没有缩进 with ...as source: 下的块
  • 问题已解决。启动麦克风问题后解决。 mic = sr.Microphone() 以 mic 为源:
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-06-15
  • 1970-01-01
  • 2010-09-18
  • 2018-02-23
  • 2011-11-01
相关资源
最近更新 更多