Which library for audio playback ?

Jérôme jerome at jolimont.fr
Sat Dec 31 06:02:31 EST 2011


Fri, 30 Dec 2011 17:17:51 -0800
K Richard Pixley a écrit:

> I made a similar survey of available libraries recently.  I'm interested 
> in MIDI also, though, primarily on mac.
> 
> There doesn't seem to be any definitive audio library for linux, 
> although several, (jack, oss, alsa), exist.  (My impression is similar 
> to yours, OSS is obsolete. Jack may be the better library technically, 
> but is not as widely ported or available as ALSA.)
> 
> There is a definitive library for both audio and MIDI on mac - core 
> audio.  There really aren't any competitors.
> 
> There is also a definitive library for windows, although I don't use 
> windows.  It's the open source one with low latency that everyone in the 
> professional world uses to replace windows because, (surprise!), windows 
> isn't capable of coping.
> 
> I have found python libraries for each of these, although some are very 
> low level libraries, basically just wrapping something even lower.  If 
> anyone has done an integrated "full solution" for linux or mac, I didn't 
> find it.  The closest I found was PortMIDI and PortAudio which appear to 
> have ports for all three platforms as well as one or two sets of python 
> bindings and seem to be high enough level to be both useful and 
> productive.  The hard part there is that PortMIDI and PortAudio come in 
> source, which requires a bit of hunting to track down prerequisites, etc.
> 
> Please keep us posted as I'm chasing a similar problem.

Hi.

Looking at it again, I've narrowed down to the following few :

ossaudiodev
http://docs.python.org/library/ossaudiodev.html
Linux only but included in python

pygame
http://www.pygame.org/docs/ref/mixer.html#pygame.mixer.Sound
Most occurring answer on forums and mailing-lists on the net for this
question. Might be a little overkill...

PortAudio
http://people.csail.mit.edu/hubert/pyaudio/
http://www.portaudio.com/
Cross-platform, packaged for debian. Could fit my needs as well.

Generally, the examples I find are about opening and playing a wavefile. I
guess I'm gonna have to work a little to feed them a homegrown sinewave of
arbitrary frequency.

Regarding PortAudio,
python /usr/share/doc/python-pyaudio/examples/system_info.py (and other
examples) yield complaints about jack not being running. I assume they could
be tweaked to use ALSA instead.

I haven't had time to dig any further. If I come up with something, I'll keep
you posted.

Thanks for your answer.

-- 
Jérôme



More information about the Python-list mailing list