April 20th, 2008: stable branch SDL_sound 1.0.3 released!
September 9th, 2008: We have switched from Subversion to Mercurial.

SDL_sound is a library that handles the decoding of several popular sound file formats, such as .WAV and .MP3. It is meant to make the programmer's sound playback tasks simpler. The programmer gives SDL_sound a filename, or feeds it data directly from one of many sources, and then reads the decoded waveform data back at her leisure. If resource constraints are a concern, SDL_sound can process sound data in programmer-specified blocks. Alternately, SDL_sound can decode a whole sound file and hand back a single pointer to the whole waveform. SDL_sound can also handle sample rate, audio format, and channel conversion on-the-fly and behind-the-scenes, if the programmer desires.

As the name implies, SDL_sound is an add-on to Simple Directmedia Layer, and as such, you'll need it to build and use SDL_sound. SDL gives us lots of convenience for porting and implementing some elements of the library, not to mention that it is a powerful, cross platform answer to DirectX. You should definitely look into it, whether you use SDL_sound or not.

Places SDL_sound is known to be used:

What works:

What doesn't work:


SDL_sound is licensed under the GNU Lesser General Public License version 2.1 (or newer, at your option). Those interested in a closed-source license may contact me about licensing fees.


A Doxygen-generated API reference can be found here. You can generate your own HTML, manpage, LaTeX, RTF, etc documents with this program; download the SDL_sound source and use the included Doxyfile.


Prepackaged source code and binaries:

Downloading with Mercurial:

SDL_sound's source code may be downloaded using Mercurial (aka: "hg"). Hg allows you to get up-to-the-minute fixes and enhancements; as a developer works on a source tree, you can use hg to mirror that source tree instead of waiting for an official release. Please look at the Mercurial website for more information on using hg, where you can also download software for Mac OS X, Windows, and Unix systems.

SDL_sound is no longer hosted in a CVS or Subversion repository. You have to use hg or wait for an official release.

Here is the web interface to SDL_sound's Mercurial repository.

To download SDL_sound via Mercurial:

hg clone
...or, for the stable (non-development) branch:
hg clone -r stable-1.0

Mailing list:

There is a mailing list for SDL_sound available. To subscribe, head to the mailman page. Then, to send mail to the list, write to

Page maintained by Ryan C. Gordon.