当我尝试运行以下脚本或import sounddevice
顶部的任何脚本时,我收到此错误消息。我以管理员身份在 cmd 安装了声音设备,pip install sounddevice
并验证了它的存在pip list
Assertion failed!
Program: C:\Program Files\Python37\python.exe
File: src/hostapi/wdmks/pa_win_wdmks.c, Line 1061
Expression: FALSE
示例程序:
import sounddevice
sounddevice.get_portaudio_version()
input('enter to exit')
另一个示例编(来自1):
import sounddevice as sd
import soundfile as sf
data, fs = sf.read('ImperialMarch60.wav')
sd.play(data, fs)
status = sd.wait()
更新/进一步说明:
我尝试重新安装 sounddevice 和 python 以及使用 sounddevice 0.3.12 或 python 3.8.3 代替。我一次只安装了 1 个 python 版本。我拥有 Audacity 已经很长时间了,而且很有效。
从 whl 下载https://www.lfd.uci.edu/~gohlke/pythonlibs/#sounddevice
并运行pip install sounddevice-0.3.15-cp37-cp37m-win_amd64.whl
安装但产生相同的“断言失败”错误。我不认为这是相关的,但即使我安装了 Visual Studio Build Tools 2019,我也不能这样做,所以我下载了 gohlke whl for pyaudio 并且突然 sounddevice 工作......所以这有点解决了,但我pip install pyaudio
没有Microsoft Visual C++ 14.0 is required
不明白。也许 portaudio 没有像 sounddevice 文档所说的那样“自动”包含在 windows sounddevice 中2?
更新2:我卸载了sounddevice whl并使用pypl版本重新安装pip install sounddevice
,现在它也可以工作了......