Audio in python
This page tries to provide a starting point for those who want to work with audio in combination with python. If you are looking for podcast and such on Python you are not at the right place here, but PythonAudioMaterial is. If you are creating a game, most of what you are looking for may already be included in the many PythonGameLibraries that are available.
Built in modules
The Multimedia Services allow for some basic audio functionality in python. It consists of the following modules:
- Manipulate raw audio data.
- Read and write audio files in AIFF or AIFC format.
- Provide an interface to the Sun AU sound format.
- Provide an interface to the WAV sound format.
- Module to read IFF (e.g. AIFF) chunks.
- Determine type of a sound file.
- Access to OSS-compatible audio devices (mainly important for Linux / FreeBSD)
Beyond the default modules
Alternatively, you might want to learn about audio programming in Python. There is a veritable forest of stuff out there, but here are some good starting points.
For a complete overview have a look at PythonInMusic.
pyAudio provides Python bindings for PortAudio, the cross-platform audio I/O library. Only for audio input and output, other operations can be done using e.g. python's built in wave module.
- Snack has commands for basic sound handling, such as playback, recording, file and socket I/O. Snack also provides primitives for sound visualization, e.g. waveforms and spectrograms.
- Python programs for CD-ripping and conversion between audio file formats.
Modules relying on closed source
A wrapper around the FMOD-library offering plenty of options including 3D sound and effects. FMOD is a popular closed, but free for own use, that is used in many commercial game titles.