PyAudio trying to use JACK

Gus picture Gus · Jan 12, 2011 · Viewed 11.3k times · Source

I'm running PyAudio under Python 2.6.6 and would like it to use ALSA and not 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

Answer

larsks picture larsks · Feb 1, 2016

For those who happen to find themselves at this old question via Google:

The message displayed by pyaudio...

jack server is not running or cannot be started

...is informative, not an error. It means that portaudio tried and failed to connect to Jack, but doesn't mean that it gave up on everything.

At that point, you should have a fully functional PyAudio object using ALSA. You can verify this by, e.g., looking at a list of available devices:

>>> 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