OpenAL Soft

1.3.253 LGPL (GNU Lesser General Public License)    
2.8/5 18


OpenAL Soft is a cross-platform software implementation of the OpenAL 3D audio API.




OpenAL Soft is a cross-platform software implementation of the OpenAL 3D audio API. It's built off of the open-sourced Windows version available originally from the SVN repository at

OpenAL provides capabilities for playing audio in a virtual 3d environment. Distance attenuation, doppler shift, and directional sound emitters are among the features handled by the API. More advanced effects, including air absorption, low-pass filters, and reverb, are available through the EFX extension. It also facilitates streaming audio, multi-channel buffers, and audio capture.

OpenAL Soft is meant as a compatible update/replacement to the OpenAL Sample Implementation (the SI). The SI has been unmaintained for quite a while, and would require a lot of work to clean up. After attempting to work on the SI for a bit, I became overwhelmed with the amount of work needed, and I eventually decided to fork the old Windows version to attempt an accelerated ALSA version. The accelerated ALSA idea quickly fell through, but I ended up porting the software mixing code to be cross-platform, with multiple output backends: ALSA, OSS, DirectSound, and a .wav writer are currently implemented.

OpenAL Soft supports mono, stereo, 4-channel, 5.1, 6.1, and 7.1 output, as opposed to the SI's 4-channel max (though it did have some provisions for 6 channel, this was not 5.1, and was seemingly a "late" addition). OpenAL Soft does not support the Vorbis and MP3 extensions, however those were considered deprecated even in the SI. It does, though, support some of the newer extensions like AL_EXT_FLOAT32 and AL_EXT_MCFORMATS for multi-channel and floating-point formats, as well as ALC_EXT_EFX for environmental audio effects, and others.


CMake version 2.4 or newer


To install OpenAL Soft, first extract it. It will automatically extract itself into the openal-soft-/ directory. Using your favorite shell, go into the CMakeConf/ directory, and run:

cmake ..

Assuming configuration went well, you can then build it, typically using GNU Make (KDevelop, MSVC, and others are possible depending on your system setup and CMake configuration).

What's New in This Release:

Fixed a DirectSound buffer lock issue present on some cards
DirectSound output now uses the reported speaker setup for selecting the output format
DirectSound devices are enumerated with the ALC_ENUMERATE_ALL_EXT extension
ALSA playback cards with no devices are no longer enumerated
Added a new, more practical alext.h header for using extensions
Note that this doesn't yet include the EFX types.
New option to duplicate stereo sounds on the rear channels (stereodup)
Default is off since it drasticly increases the loudness of stereo sounds compared to local mono sounds
More initialization and unexpected shutdown fixes
OSS capture now uses the correct buffer size
All ALSA capture devices are now enumerated
Now using a better wait method for ALSA in mmap mode, to reduce unnecessary thread wakeups
Last updated on February 28th, 2008

#3D audio API #audio library #virtual 3D sound #OpenAL #3D #audio #sound

0 User reviews so far.