Hi, I recently worked on Python audio device support for Linux and OS X. Not so recently, I wrote a DirectSound module for win32.
Python 2 has support for various audio devices, but they have no common interface and some are broken or obsolete. Python 3000 might be a chance to improve on this. The situation seems to be: Linux: ossaudiodev is becoming obsolete on Linux (because OSS is being replaced by ALSA). pyalsaaudio, http://sourceforge.net/projects/pyalsaaudio, is broken for multithreaded programs: it does not wrap blocking calls with Py_BEGIN_ALLOW_THREADS/Py_END_ALLOW_THREADS. A suitable, submitted patch has not been included by the maintainer in nearly two years. With this or a similar patch, it works fine, however. Windows: win32all has DirectSound support, but it's lowlevel and complicated. Other audio device wrappers may exit, but I don't know about them. OS X: The (undocumented) audiodev implementation does not work for me. There is a pyrex implementation for coreaudio support which I haven't tested, but I have written coreaudio wrappers in C (to be published). What I'd like to see: I like the idea of having audio device support for the major operating systems in the standard library. But I am even more interested in a common interface for simple operations. IMO, the API should support: - stereo playback - stereo recording - different sampling rates and formats (alaw, mulaw and PCM in signed integers in various widths and maybe PCM in floats/doubles). - device selection - volume control Overall, I think the level of abstraction in the OSS or ALSA APIs is about right, coreaudio on OS X and DirectSound on Windows are overkill outside of niche applications. I would volunteer sample implementations for Windows, OS X and Linux (ALSA). - Lars _______________________________________________ Python-3000 mailing list Python-3000@python.org http://mail.python.org/mailman/listinfo/python-3000 Unsubscribe: http://mail.python.org/mailman/options/python-3000/archive%40mail-archive.com