In ResPyre_ project context, `Regis Prevot`_ wrote a python binding for ALSA_. Because I believe his work could be usefull for other developpers, here is a first version of alsamodule_. This first version supports ALSA mixer. You can get, change, mute, unmute volume on audio channels. Here is a little example: :: >>> import alsa >>> mixer = alsa.mixer("default") >>> mixer.printInfo() ********************** Card Id: default Mixer Card Name: Intel 82801DB-ICH4 Mixer Device Name: SigmaTel STAC9750/51,0x42434d64 BCM Max Volume: -1 Min Volume: -1 Incremental value min: -1.00 Number of Elements: 22 ********************** >>> print mixer.channels.keys() ['Capture', 'Mic', 'Mono Output Select', 'Mix', 'Master', 'PCM', 'Aux', 'External Amplifier', '3D Control - Switch', 'Phone', 'PC Speaker', 'Line', 'Mic Select', 'CD', '3D Control - Depth', 'Master Mono', 'Mix Mono', 'Mic Boost (+20dB)', 'Headphone', 'Video', '3D Control - Center', 'PCM Out Path & Mute'] >>> print "get volume for device PCM" get volume for device PCM >>> print mixer.getVolume("PCM") (45, 45) >>> print mixer.setVolume("PCM", 3, 3) (48, 48) The binding is written in C, and has been tested under Linux. A `setup.py` file should come shortly. Until then use the Makefile to build the thing. Any feedback is welcome. .. _ResPyre: http://respyre.org .. _Regis Prevot: http://respyre.org/reg.html .. _ALSA: http://alsa-project.org .. _alsamodule: http://respyre.org/pyalsa.html