Differences between revisions 30 and 32 (spanning 2 versions)
Revision 30 as of 2011-08-24 07:50:50
Size: 3060
Editor: ssegvic
Comment: alsaaudio worked for me out of the box, while ossaudiodev did not
Revision 32 as of 2014-01-30 11:25:46
Size: 3773
Editor: albert
Comment: musicplayer (ffmpeg) module update
Deletions are marked like this. Additions are marked like this.
Line 3: Line 3:
This page tries to provide a starting point for those who want to work with audio in combination with Python.
Line 5: Line 4:
If you are creating a game, most of what you are looking for may already be included in the many PythonGameLibraries that are available. This page tries to provide a starting point for those who want to work with audio in combination with Python.
Line 7: Line 6:
If you are looking for podcasts related to Python, go to the PythonAudioMaterial page.
If you are creating a game, most of what you are looking for may already be included in the many [[PythonGameLibraries|PythonGameLibraries]] that are available.


If you are looking for podcasts related to Python, go to the [[PythonAudioMaterial|PythonAudioMaterial]] page.
Line 12: Line 15:
Line 14: Line 18:
|| [[http://docs.python.org/lib/module-audioop.html|audioop]] || Manipulate raw audio data. ||
|| [[http://docs.python.org/lib/module-aifc.html|aifc]] ||   Read and write audio files in AIFF or AIFC format. ||
|| [[http://docs.python.org/lib/module-sunau.html|sunau]] ||   Provide an interface to the Sun AU sound format. ||
|| [[http://docs.python.org/lib/module-wave.html|wave]] ||   Provide an interface to the WAV sound format. ||
|| [[http://docs.python.org/lib/module-chunk.html|chunk]] ||   Module to read IFF (e.g. AIFF) chunks. ||
|| [[http://docs.python.org/lib/module-sndhdr.html|sndhdr]] ||   Determine type of a sound file. ||
|| [[http://docs.python.org/lib/module-ossaudiodev.html|ossaudiodev]] ||   Access to OSS-compatible audio devices (mainly important for Linux / FreeBSD) ||
|| [[http://docs.python.org/library/winsound.html|winsound]] || Access to the basic sound-playing machinery provided by Windows platforms. ||


||
[[http://docs.python.org/lib/module-audioop.html|audioop]] ||Manipulate raw audio data. ||
||[[http://docs.python.org/lib/module-aifc.html|aifc]] ||Read and write audio files in AIFF or AIFC format. ||
||[[http://docs.python.org/lib/module-sunau.html|sunau]] ||Provide an interface to the Sun AU sound format. ||
||[[http://docs.python.org/lib/module-wave.html|wave]] ||Provide an interface to the WAV sound format. ||
||[[http://docs.python.org/lib/module-chunk.html|chunk]] ||Module to read IFF (e.g. AIFF) chunks. ||
||[[http://docs.python.org/lib/module-sndhdr.html|sndhdr]] ||Determine type of a sound file. ||
||[[http://docs.python.org/lib/module-ossaudiodev.html|ossaudiodev]] ||Access to OSS-compatible audio devices (mainly important for Linux / FreeBSD) ||
||[[http://docs.python.org/library/winsound.html|winsound]] ||Access to the basic sound-playing machinery provided by Windows platforms. ||



Line 24: Line 34:
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.
Line 26: Line 35:
For a complete overview have a look at PythonInMusic.
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|PythonInMusic]].
Line 30: Line 44:
[[http://nsound.sourceforge.net|Nsound]]
    A framework for audio synthesis.
Line 33: Line 45:
[[http://pyaudiere.org|PyAudiere]]
   A high-level audio interface for Python.
Line 36: Line 46:
[[http://people.csail.mit.edu/hubert/pyaudio/|pyAudio]]
   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.
||[[http://nsound.sourceforge.net|Nsound]] ||C++ library with Python module for audio synthesis. ||
||[[http://pypi.python.org/pypi/pyaudiere/0.2|PyAudiere]] ||A high-level audio interface for Python. (deadlink) ||
||[[http://pydub.com|Pydub]] ||A high-level audio interface for Python. Uses ffmpeg for formats other than WAVE ||
||[[http://people.csail.mit.edu/hubert/pyaudio/|pyAudio]] ||Python bindings for [[PortAudio|PortAudio]] audio input and output ||
||[[http://www.speech.kth.se/snack/|Snack]] ||Playback, recording, file and socket I/O, waveforms and spectrograms. "Last release 2004-12-01. Dead?" ||
||[[http://sourceforge.net/projects/audiotools/|Python Audio Tools]] ||Programs for CD-ripping and conversion between audio file formats. ||
Line 39: Line 53:
[[http://www.speech.kth.se/snack/|Snack]]
   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.
Line 42: Line 54:
[[http://sourceforge.net/projects/audiotools/|Python Audio Tools]]
   Python programs for CD-ripping and conversion between audio file formats.



[[https://pypi.python.org/pypi/musicplayer|musicplayer module]]


 .
 Part of a [[http://albertz.github.com/music-player/|music player]]. It uses FFmpeg for decoding and [[PortAudio|PortAudio]] for output. It supports gapless playback and high sample rates (96kHz or 192kHz). It also has the functionality to calculate the [[ReplayGain|ReplayGain]] value and do loudness normalization, to calculate the [[AcoustId|AcoustId]] fingerprint, to get the metadata (via FFmpeg) and to calculate a visual representation for a sound file.

Line 46: Line 66:
[[http://gstreamer.freedesktop.org/modules/gst-python.html]]
Line 48: Line 67:
[[http://pyalsaaudio.sourceforge.net/]]
http://gstreamer.freedesktop.org/modules/gst-python.html


http://pyalsaaudio.sourceforge.net/


http://pypi.python.org/pypi/audiosocket/ - pure Python solution to play audio on Windows
Line 52: Line 79:
Line 53: Line 81:
   A wrapper around the [[http://www.fmod.org|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.

 .
A wrapper around the [[http://www.fmod.org|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.


Line 55: Line 89:
CategoryDocumentation
[[
CategoryDocumentation|CategoryDocumentation]]

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 creating a game, most of what you are looking for may already be included in the many PythonGameLibraries that are available.

If you are looking for podcasts related to Python, go to the PythonAudioMaterial page.

Built in modules

The Multimedia Services allow for some basic audio functionality in Python. It consists of the following modules:

audioop

Manipulate raw audio data.

aifc

Read and write audio files in AIFF or AIFC format.

sunau

Provide an interface to the Sun AU sound format.

wave

Provide an interface to the WAV sound format.

chunk

Module to read IFF (e.g. AIFF) chunks.

sndhdr

Determine type of a sound file.

ossaudiodev

Access to OSS-compatible audio devices (mainly important for Linux / FreeBSD)

winsound

Access to the basic sound-playing machinery provided by Windows platforms.

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.

Platform independent

Nsound

C++ library with Python module for audio synthesis.

PyAudiere

A high-level audio interface for Python. (deadlink)

Pydub

A high-level audio interface for Python. Uses ffmpeg for formats other than WAVE

pyAudio

Python bindings for PortAudio audio input and output

Snack

Playback, recording, file and socket I/O, waveforms and spectrograms. "Last release 2004-12-01. Dead?"

Python Audio Tools

Programs for CD-ripping and conversion between audio file formats.

musicplayer module

  • Part of a music player. It uses FFmpeg for decoding and PortAudio for output. It supports gapless playback and high sample rates (96kHz or 192kHz). It also has the functionality to calculate the ReplayGain value and do loudness normalization, to calculate the AcoustId fingerprint, to get the metadata (via FFmpeg) and to calculate a visual representation for a sound file.

Platform dependent

http://gstreamer.freedesktop.org/modules/gst-python.html

http://pyalsaaudio.sourceforge.net/

http://pypi.python.org/pypi/audiosocket/ - pure Python solution to play audio on Windows

Modules relying on closed source

pysonic

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


CategoryDocumentation

Audio (last edited 2016-03-05 22:53:01 by JoeHamilton)

Unable to edit the page? See the FrontPage for instructions.