home
Overview
Audiere is a high-level audio API. It can play
Ogg Vorbis, MP3,
FLAC,
uncompressed WAV, AIFF,
MOD, S3M, XM, and IT files.
For audio output, Audiere supports DirectSound or WinMM in Windows, OSS
on Linux and Cygwin, and SGI AL on IRIX.
Audiere is open source and
licensed under the LGPL.
This means that you may freely use Audiere in commercial products, as
long as you do not modify the source code. If you do modify Audiere
and release a product that uses your modifications, you must release
your changes to the code under the LGPL as well.
Audiere is portable. It is tested on Windows, Linux-i386,
Cygwin, and IRIX with at least three major compilers. Most of Audiere
is endian-independent, so I expect it would work with few
modifications on other architectures.
News
2006.02.13 - Audiere 1.9.4 Released
It's been about two and a half years since the previous release of
Audiere, and much has happened in that time. Here are the highlights:
- Replaced mpegsound with a stand-alone version of the MPEG audio decoder
from ffmpeg's libavcodec library. The result is an MP3 decoder that is
more portable and works with more MP3 files. MP3 files are now seekable
as well. (Matt Campbell)
- Added Speex support.
- Added support for reading metadata tags from sample sources. So far,
Vorbis comments are supported, as are ID3v1 and ID3v1.1 tags in MP3 files.
Interface designed with help from Brian Robb and Andy Friesen.
- Added callback system for stream stop events. (Richard Schaaf and
Chad Austin)
- Added CD audio support, using the MCI subsystem on Win32/Cygwin and
libcdaudio on Linux. (Chad Austin and Richard Schaaf)
- Added MIDI support through the MCI subsystem on Win32 and Cygwin.
(Chad Austin)
- Dramatically reduced the latency of the OSS device. (Matt Campbell)
- Rewrote the Resampler class to use DUMB's cubic interpolation resampler,
resulting in much better resampling for devices such as OSS that use
Audiere's own mixer. (Matt Campbell)
- Added bindings to wxWidgets. (Emanuel Dejanu)
- Fixed a bug in the DirectSound device implementation which significantly
slowed down opening of devices and buffers. (Matt Campbell)
- Added pitchshift to the Python bindings. (Jason Chu)
- Split Doxygen documentation into one for users and one for developers.
This release also includes the usual slew of other bug fixes and minor
improvements. For complete details, please refer to the change log.
2003.07.15 - Audiere 1.9.3 Released
Been six months since the last release...
2003.01.06 - Audiere 1.9.2 Released
Another release on the road towards 2.0... No reason not to upgrade!
Changes since 1.9.1:
- many general improvements to wxPlayer
- use __declspec instead of def files for mingw compatiblity
- build the winmm audio device in Cygwin if it's available
- build the DirectSound audio device in Cygwin if it's available
- greatly improved linearity of the volume property in the DirectSound device (Mik Popov)
- add support for audio device enumeration
- enable setting the GLOBAL_FOCUS bit on DS surfaces via the global= device parameter
- enable choosing nonstandard DirectSound devices via the device_guid= device parameter
- drastic performance increase when using MULTIPLE sound effects
- implement volume, panning, and pitch shift on SoundEffect objects
- improved latency of SGI audio device
- disable Ogg or FLAC if 'configure' can't find them.
2002.10.12 - Audiere 1.9.1 Released
This release is a good step towards 2.0, even though it still shouldn't be
considered 100% rock solid. (It seems to work fine for me though, so go
ahead and download it.)
Here is the list of changes since 1.9.0:
- added GetSupportedFileFormats for file format enumeration
- added audiere-config script which provides version information and external library dependencies
- finer synchronization granularity on DirectSound output streams for lower-latency OutputStream calls
- increase priority of Audiere update thread on all platforms but Win9x, which deadlocks
- MP3 support via splay's mpegsound (thanks to Chad Austin and Jacky Chong)
- read 10 MP3 frames for smoother playback on corrupt (?) files
- added ClassPtr convenience typedefs so people can use them instead of RefPtr<Class>
- the configure script outputs the URLs for required libraries if it can't find them
- FLAC support (thanks to Chad Austin and Jacky Chong)
- added the SoundEffect convenience class for simple sound playback
- added menu item to close wxPlayer so you can close child windows in wxGTK
- added pitch shifting to the OutputStream interface
- added square wave generation
- added white noise generation
- added pink noise generation
- updated wxPlayer
2002.09.07 (9:11 p.m. CST) - 1.9.0 Release Updated
That'll teach me from not testing on Linux before releasing... I
have updated the download to include a very minor fix which allows
it to compile on Linux. There was also a stupid mistake in the tutorial
(fixed thanks to Ben Scott). If you downloaded 1.9.0 earlier, please
download it again.
2002.09.07 - Audiere 1.9.0 Released
Finally, it's here! This is a major release, designed to get the new API
tested before 2.0 is released. I would say 1.9.0 should be considered beta,
but I feel it is so much better than the last 'stable' release (1.0.4) that
there is no reason not to upgrade.
The following is planned for 2.0: 3D spatialization, FLAC support,
MP3 support (again, this time using an LGPL library), supported file
type enumeration, pitch bending and other DSP effects, AIFF support,
and ADPCM compressed WAV support.
Here is what changed since 1.0.4:
- completely new API, defined in C++
- made Audiere objects reference counted
- support for seeking within WAV and Ogg Vorbis files
- support for preloading sounds instead of always streaming from disk
- updated Python, XPCOM, and Java bindings
- upgraded to Ogg Vorbis 1.0
- major performance improvement in DSOutputStream::isPlaying
- Ogg Vorbis decoder now works properly on big-endian architectures
- WAV reader works properly on big-endian architectures
- general support for big-endian architectures
- SGI AL (Audio Library) output support
- WinMM output support
- new SampleBuffer object for loading a sound once and playing it multiple times
- SCons build system for MIPSPro on IRIX
- interfaces now use __stdcall on Windows so they are more compliant with COM
- completely new wxPlayer
- fixed bug on Linux where, the more streams were playing, the lower the overall volume would be
- implemented the REAL fix for the DirectSound stream-repeating bug
- support for low-pass filters on .it files (enabled DMODE_RESONANCE in mikmod)
- readded stereo panning support
- switched volume to normalized floats [0, 1] instead of [0, 255]
- added a tone generator
2002.06.10 - Audiere 1.0.4 Released
Audiere 1.0.4 is out. This is a relatively minor release, but I highly
recommend that users of 1.0.3 upgrade to this version. One thing to keep
in mind is that I have removed support for MP3 playback. See the
FAQ
for the rationale behind this decision.
With the release of 1.0.4 came a "new" web design (copied from
Corona, which was, in turn,
copied from SCons). Complaints?
Praise? Send me e-mail.
Here is what changed since 1.0.3.
- fixed awful sound repeating bug
- removed MP3 support
- switched library completely to LGPL
- compiles on Debian
- compiles with gcc 3
- compiles on IRIX (no mikmod or audio output support yet)
- correct timing in null output driver
- major source tree restructuring
- --enable-debug configuration option
- added Doxygen support
- fixed noisy output in Linux
- removed Acoustique, moved decoder architecture into Audiere itself
- fixed isPlaying() in OSS output driver
- runs on NT4 again
- removed DLL output driver
- removed null output driver from default list (it must be explicit)
- fixed complete hang on context creation in Win9x
- support building without DX8
- several internal mikmod updates