我正在尝试在运行“ Amazon Linux 2 AMI 2.0.20190618 x86_64 HVM gp2”或Ubuntu的EC2 AWS实例上将pyaudio与Python 3结合使用。
我首先获得Anaconda的Python 3版本,并使用conda安装了pyaudio。但是,当我实际尝试使用pyaudio时,没有可用的设备。如果我尝试使用pip进行安装(需要先安装gcc,然后再从源代码构建和安装PortAudio,然后才是pyaudio),则同样。
import pyaudio
pa = pyaudio.PyAudio()
pa.get_device_count()
>> 0
我已经在从计算机上将实例切入实例后在python shell中运行了此代码,并且还在实例中运行并从浏览器访问的Jupyter笔记本中运行了该代码。最终目标是在该笔记本中提供录音。尝试使用pa.open(...)
时,错误是:
...
~/anaconda3/lib/python3.7/site-packages/pyaudio.py in __init__(self, PA_manager, rate, channels, format, input, output, input_device_index, output_device_index, frames_per_buffer, start, input_host_api_specific_stream_info, output_host_api_specific_stream_info, stream_callback)
439
440 # calling pa.open returns a stream object
--> 441 self._stream = pa.open(**arguments)
442
443 self._input_latency = self._stream.inputLatency
OSError: [Errno -9996] Invalid input device (no default output device)
答案 0 :(得分:0)
一种可能性是机器没有声卡
aplay --list-devices # list recognized audio hardware
aplay是一个portaudio实用程序,可以安装...
sudo apt-get install pulseaudio-utils
显示正在使用的音频驱动程序
sudo /sbin/lsmod | grep snd
如果存在音频硬件,则音频驱动程序安装特定于操作系统...您正在使用什么操作系统?
获取安装的pulseaudio软件包,然后在播放器上运行以查看是否列出了任何声卡
您有两个未知数-服务器硬件是否有声卡...如果是,则安装音频驱动程序,如果没有,则问题在于是否可以在没有声卡的服务器上使用pyaudio