AttributeError: module 'speech_recognition' has no attribute 'Recognizer'
Проблема с библиотекой SpeechRecognition в Python. Устанавливал с помощью комманды: pip install SpeechRecognition
Код выдаёт ошибку:
File "D:\VoiceHelper\VoiceHelper.py", line 14, in command
r = speech_recognition.Recognizer()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: module 'speech_recognition' has no attribute 'Recognizer'
Вот сам код:
import speech_recognition
import os
import sys
import webbrowser
def talk(words):
print(words)
os.system("say " + words)
talk("Привет, чем я могу помочь вам?")
def command():
r = speech_recognition.Recognizer()
with speech_recognition.Microphone() as source:
print("Говорите")
r.pause_threshold = 1
r.adjust_for_ambient_noise(source, duration=1)
audio = r.listen(source)
try:
zadanie = r.recognize_google(audio, language="ru-RU").lower()
print("Вы сказали: " + zadanie)
except speech_recognition.UnknownValueError:
talk("Я вас не понял")
zadanie = command()
return zadanie
def makeSomething(zadanie):
if 'открыть сайт' in zadanie:
talk("Уже открываю")
url = 'https://youtube.com'
webbrowser.open(url)
elif 'стоп' in zadanie:
talk("Да, конечно, без проблем")
sys.exit()
elif 'имя' in zadanie:
talk("Меня зовут Сири")
while True:
makeSomething(command())
Дополнение
Сейчас начали выскакивать такие ошибки:
File "C:\Users\Егор Арестович\AppData\Local\Programs\Python\Python312\Lib\site-packages\speech_recognition_init_.py",
line 80, in init self.pyaudio_module = self.get_pyaudio()
^^^^^^^^^^^^^^^^^^
File "D:\VoiceHelper\VoiceHelper.py",
line 18, in command with Microphone() as source:
File "C:\Users\Егор Арестович\AppData\Local\Programs\Python\Python312\Lib\site-packages\speech_recognition_init_.py",
line 111, in get_pyaudio from distutils.version import LooseVersion
ModuleNotFoundError: No module named 'distutils'
Traceback (most recent call last):
File "D:\VoiceHelper\VoiceHelper.py",
line 42, in <module> makeSomething(command())
Ответы (1 шт):
Автор решения: AnnaBazueva
→ Ссылка
Я сделала так:
import os
import sys
import webbrowser
from speech_recognition import Recognizer, Microphone, UnknownValueError
def talk(words):
print(words)
os.system("say " + words)
talk("Привет, чем я могу помочь вам?")
def command():
r = Recognizer()
with Microphone() as source:
print("Говорите")
r.pause_threshold = 1
r.adjust_for_ambient_noise(source, duration=1)
audio = r.listen(source)
try:
zadanie = r.recognize_google(audio, language="ru-RU").lower()
print("Вы сказали: " + zadanie)
except UnknownValueError:
talk("Я вас не понял")
zadanie = command()
# Далее без изменений
И мне потребовалось установить дополнительно - pip install pyaudio
Вывод в консоль:
(.venv) PS C:\KWORK> & c:/KWORK/.venv/Scripts/python.exe c:/KWORK/my_test.py
Привет, чем я могу помочь вам?
"say" не является внутренней или внешней
командой, исполняемой программой или пакетным файлом.
Говорите
(.venv) PS C:\KWORK>
Для Python версии 3.12+ необходима библиотека setuptools - pip install setuptools