python - 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 的答案,并且花了一整天的时间来解决这个问题,但仍然找不到答案。
解决方案
我也有同样的错误。您的语音识别模块可能没有正确下载。要解决这个问题,您应该在 Google 上搜索“非官方 Python 二进制文件”。点击第一个链接。您将看到一个包含大量 python 模块 .wheel 文件的网页。使用 'ctrl+f' 查找 pyaudio 链接。单击它,您将转到一堆 pyaudio 文件。然后你需要找到支持你的python版本的wheel文件。安装它。然后打开保存该轮文件的文件夹。在那里打开一个 powershell 或 cmd 窗口并编写 pip install (车轮文件的名称)。然后你的 pyaudio 将被下载,它应该开始工作了!
推荐阅读
- elm - Elm 中是否有类似于列表推导的东西?
- android - 如何在 MainActivity.java 之前添加一个活动
- r - 如何使用 data.table 查找所有列组合的线性回归
- c# - .Net Core 忘记密码未找到
- postgresql - PostgreSQL 类型 bigint 的无效输入语法
- javascript - Splidejs 或 jQuery / JS 以及使用范围滑块更改幻灯片
- javascript - 对全日历上的一系列事件使用基于 CSS 的隐藏/显示过滤器——事件并不总是显示备份
- flutter - 颤振停止铃声在主要功能上开始
- sql-server - 使用 LDAP 和 SQL Server 更新 Active Directory 用户密码
- python - 在冰湖游戏中从 Q-Learning 算法实现 SARSA