Python PyAudio正在尝试使用JACK

Python PyAudio正在尝试使用JACK,python,alsa,portaudio,pyaudio,jack,Python,Alsa,Portaudio,Pyaudio,Jack,我在Python2.6.6下运行PyAudio,希望它使用ALSA而不是JACK In [1]: import pyaudio In [2]: pa = pyaudio.pa In [3]: pa.initialize() Cannot connect to server socket err = No such file or directory Cannot connect to server socket jack server is not running or cannot be

我在Python2.6.6下运行PyAudio,希望它使用ALSA而不是JACK

In [1]: import pyaudio

In [2]: pa = pyaudio.pa

In [3]: pa.initialize()
Cannot connect to server socket err = No such file or directory
Cannot connect to server socket
jack server is not running or cannot be started

对于那些碰巧通过谷歌发现自己在这个老问题的人:

pyaudio显示的消息

jack server is not running or cannot be started
…是信息性的,不是错误。这意味着portaudio试图连接到Jack,但失败了,但并不意味着它放弃了一切

此时,您应该有一个使用ALSA的功能齐全的PyAudio对象。您可以通过查看可用设备的列表来验证这一点:

>>> import pyaudio
>>> pa = pyaudio.PyAudio()
[...lots of crap from ALSA...]
Cannot connect to server socket err = No such file or directory
Cannot connect to server request channel
jack server is not running or cannot be started
>>> print '\n'.join([y['name'] 
... for y in [pa.get_device_info_by_index(x)
... for x in range(pa.get_device_count())]])
bcm2835 ALSA: - (hw:0,0)
bcm2835 ALSA: IEC958/HDMI (hw:0,1)
USB Audio Device: - (hw:2,0)
sysdefault
dmix
default

如果通过
jackstart
从终端手动运行JACK,会发生什么情况?如果您更喜欢图形用户界面,还可以使用来控制JACK守护进程。无论如何,发布守护进程的启动输出。从位于的文档中,我认为您需要将
pyaudio.paALSA
传递到
pa.open()
,而不是依赖系统进行选择。嗯,我遇到了类似的问题,但原因是权限不足。在Ubuntu上,我需要加入
audio
组。而错误信息几乎相同。确实相关!如果你想摆脱烦人的信息,请看一看。