Python Библиотека SpeechRecognition сообщает, что мой микрофон недоступен - PullRequest
0 голосов
/ 21 июня 2020

Я пытаюсь выполнить распознавание речи с помощью python и библиотеки SpeechRecognition. Когда я запускаю код basi c из документации, я получаю сообщение об ошибке, показанное ниже.

Traceback (most recent call last):
  File "C:\Python37\lib\runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "C:\Python37\lib\runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "C:\Python37\lib\site-packages\speech_recognition\__main__.py", line 8, in <module>
    with m as source: r.adjust_for_ambient_noise(source)
  File "C:\Python37\lib\site-packages\speech_recognition\__init__.py", line 141, in __enter__
    input=True,  # stream is an input stream
  File "C:\Python37\lib\site-packages\pyaudio.py", line 750, in open
    stream = Stream(self, *args, **kwargs)
  File "C:\Python37\lib\site-packages\pyaudio.py", line 441, in __init__
    self._stream = pa.open(**arguments)
OSError: [Errno -9985] Device unavailable

Я пробовал использовать несколько индексов микрофонов, но ни один из них ничего не улавливает (программа работает вечно, пока я не выйду это), но когда я пытаюсь использовать его с микрофоном по умолчанию, он выдает ошибку. При запуске python -m speech_recognition, чтобы проверить, был ли он установлен в командной строке, я получил такое же сообщение об ошибке, как показано выше, поэтому код не является проблемой. Я также пробовал запустить программу от имени администратора и убедился, что мой микрофон установлен по умолчанию. У меня также установлено только python 3, так что это не проблема с несколькими версиями.

1 Ответ

0 голосов
/ 21 июня 2020
import speech_recognition as sr
r = sr.Recognizer()
with sr.Microphone() as source:
    print("Boss.. plz say some")
    audio = r.listen(source)
    print("143 Boss")
try:
    text = r.recognize_google(audio)
except Exception as e:
    print (e)

Используйте этот код, если вы все еще сталкиваетесь с проблемой комментарий, иначе примите ответ.

...