一、背景说明

        1. 在使用pip install PyAudio安装该包失败的一些处理方法;

        2. import speech_recognition as sr失败,因为speech_recognition 库虽然本身可以安装,但如果你想让它从麦克风录制音频进行识别,它通常需要依赖 PyAudio 库来访问麦克风。

二、解决方法

        出现这种问题一般是因为PyAudio依赖的C库“portaudio”没有安装,而你的编译环境找不到它,导致PyAudio不能用pip源码安装。

        解决方法一:直接安装预编译的 PyAudio wheel(推荐)

                1. 访问 https://www.lfd.uci.edu/~gohlke/pythonlibs/#pyaudio进入到如下页面后,点击绿色框处的链接;

                2. 进入页面后,往下滑动找到PyAudio,点击进去;

                3. 选择适合的版本进行下载,找到与你安装的 Python 版本 (例如 cp39 代表 Python 3.9) 和 系统架构 (win32 代表 32位 Windows, win_amd64 代表 64位 Windows) 匹配的 .whl 文件。
例如,如果你用的是 Python 3.9 64位,你需要下载 PyAudio‑0.2.11‑cp39‑cp39‑win_amd64.whl (版本号可能会有更新);

                下载这个 .whl 文件到你的电脑上(记住文件存放的路径);

                4.  打开命令行或终端,使用 pip install 命令并指定 .whl 文件的完整路径来安装它:

pip install path/to/your/downloaded/PyAudio‑*.whl
# 将 path/to/your/downloaded/ 替换为你文件实际所在的路径
# 例如: pip install C:\Users\YourUser\Downloads\PyAudio‑0.2.11‑cp39‑cp39‑win_amd64.whl

        解决方法二:安装 PortAudio 开发库再源码编译(不推荐)

                  如果你非要源码编译:

                1. 下载并安装 PortAudio 的开发包,把里面的 portaudio.h 和相关lib路径加到系统环境变量。
                2. 重新运行 pip install pyaudio
这个方案很繁琐,不建议Windows下用。

        

        解决方法三:用 sounddevice 替代 pyaudio

                  如果你只是用来录音和播放,sounddevice 用起来更简单,且纯Python实现:           

pip install sounddevice

                    并把代码里用到的 pyaudio 相关部分替换成 sounddevice,前面代码的录音部分就是用 sounddevice 示例的。

             

        注意解决方法三安装sounddevice后,speech_recognition是依赖PyAudio的,如果不使用speech_recognition,那么无影响,如果需要使用speech_recognition,那么按照方法一进行解决。

Logo

火山引擎开发者社区是火山引擎打造的AI技术生态平台,聚焦Agent与大模型开发,提供豆包系列模型(图像/视频/视觉)、智能分析与会话工具,并配套评测集、动手实验室及行业案例库。社区通过技术沙龙、挑战赛等活动促进开发者成长,新用户可领50万Tokens权益,助力构建智能应用。

更多推荐