繁体   English   中英

Python语音识别:AttributeError:模块“ speech_recognition”没有属性“ Recognizer”

[英]Python Speech Recognition: AttributeError: module 'speech_recognition' has no attribute 'Recognizer'

我知道我的问题有多个线索,但是没有答案可以帮助我,我在这里尝试了所有可以想到的事情。

错误代码即时获取:

Traceback (most recent call last):
  File "/home/pi/Documents/SB/sp_recog.py", line 4, in <module>
    import speech_recognition as sr
  File "/home/pi/Documents/SB/speech_recognition.py", line 59, in <module>
    data = recordAudio()
  File "/home/pi/Documents/SB/speech_recognition.py" line 20, in recordAudio
    r = sr.Recognizer()
AttributeError: module 'speech_recognition' has no attribute 'Recognizer'

和Python脚本即时通讯使用:

#!/usr/bin/env python3
# Requires PyAudio and PySpeech.

import speech_recognition as sr
import vlc
import time
import os
from time import ctime
from gtts import gTTS

def speak(audioString):
    print(audioString)
    tts = gTTS(text=audioString, lang='de')
    tts.save("audio.mp3")
    os.system("mpg321 audio.mp3")

def recordAudio():
    # Record Audio
    r = sr.Recognizer()
    p = vlc.MediaPlayer("PRIVATE")
    with p.play() as source:
        print("Say something!")
        audio = r.listen(source)

    # Speech recognition using Google Speech Recognition
    data = ""
    try:
        # Uses the default API key
        # To use another API key: `r.recognize_google(audio, key="GOOGLE_SPEECH_RECOGNITION_API_KEY")`
        data = r.recognize_google(audio)
        print("You said: " + data)
    except sr.UnknownValueError:
        print("Google Speech Recognition could not understand audio")
    except sr.RequestError as e:
        print("Could not request results from Google Speech Recognition service; {0}".format(e))

    return data


def PRIVATE(data):
    if "PRIVATE" in data:
        speak("PRIVATE")

    if "PRIVATE" in data:
        speak(ctime())

    if "PRIVATE" in data:
        data = data.split(" ")
        location = data[2]
        speak("PRIVATE")


# initialization
time.sleep(2)
speak("PRIVATE")
while 1:
    data = recordAudio()
    PRIVATE(data)

我更改了一些代码,因为我不希望它被读取。 我从站点复制了脚本并对其进行了修改,以便可以使用它。

我尝试过的事情:

  • 更改文件名
  • 通过PYInstaller将脚本编译为可执行文件
  • 重新安装语音识别器
  • 重新安装PyAudio
  • 重新安装Python_VLC(尽管我不认为该错误是由于该库引起的,但至少值得这样做。)

我将不胜感激,也希望这个问题能够得到解决,以使其他有相同问题的人也能从此线程中受益,谢谢。

似乎您有一个文件/home/pi/Documents/SB/speech_recognition.py ,因此它正在文件中寻找Recognizer() (而不是实际的模块speech_recognition )。 尝试将您的speech_recognition.py文件重命名为其他名称。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM