首页 > 解决方案 > Python语音识别pyaudio错误

问题描述

我正在编写一个 python 代码来检测我的麦克风,但 speech_recognition 无法检测到我的输入设备。

import speech_recognition as sr
mic_index = 11
    for index, name in enumerate(sr.Microphone.list_microphone_names()):
        if("USB Device" in name):
            mic_index = index
            break

但这给了我错误。所以我Speech Recognition通过运行命令检查了我的模块python -m speech_recognition并收到以下错误:

Traceback (most recent call last):

File "/home/arqam/anaconda3/lib/python3.6/runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "/home/arqam/anaconda3/lib/python3.6/runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "/home/arqam/anaconda3/lib/python3.6/site-packages/speech_recognition/__main__.py", line 4, in <module>
    m = sr.Microphone()
  File "/home/arqam/anaconda3/lib/python3.6/site-packages/speech_recognition/__init__.py", line 86, in __init__
    device_info = audio.get_device_info_by_index(device_index) if device_index is not None else audio.get_default_input_device_info()
  File "/home/arqam/anaconda3/lib/python3.6/site-packages/pyaudio.py", line 949, in get_default_input_device_info
    device_index = pa.get_default_input_device()
OSError: No Default Input Device Available

我检查了我的 IO 设备编号和 pyAudio 文件位置,它给出了以下位置:

>>> pa.get_device_count()
0
>>> pyaudio.pa.__file__
'/home/arqam/anaconda3/lib/python3.6/site-packages/_portaudio.cpython-36m-x86_64-linux-gnu.so'

我已经看到了所有 stackoverflow 的答案,并且花了一整天的时间来解决这个问题,但仍然找不到答案。

标签: pythonanaconda

解决方案


我也有同样的错误。您的语音识别模块可能没有正确下载。要解决这个问题,您应该在 Google 上搜索“非官方 Python 二进制文件”。点击第一个链接。您将看到一个包含大量 python 模块 .wheel 文件的网页。使用 'ctrl+f' 查找 pyaudio 链接。单击它,您将转到一堆 pyaudio 文件。然后你需要找到支持你的python版本的wheel文件。安装它。然后打开保存该轮文件的文件夹。在那里打开一个 powershell 或 cmd 窗口并编写 pip install (车轮文件的名称)。然后你的 pyaudio 将被下载,它应该开始工作了!


推荐阅读