Wartbed:Architecture/Audio
From Dark Omen Wiki
< Wartbed:Architecture(Difference between revisions)
(→Evaluation of audio libraries for WARTBED) |
|||
(7 intermediate revisions not shown) | |||
Line 1: | Line 1: | ||
+ | {{WARTBED-ArchitectureInfobox}} | ||
+ | |||
==Evaluation of audio libraries for WARTBED== | ==Evaluation of audio libraries for WARTBED== | ||
Line 9: | Line 11: | ||
| OGG, WAV, AIFF / AIFC, AU / SND, RAW, PAF, IFF / SVX, WAV, SF, VOC, W64, MAT4, MAT5, PVF, XI, HTK, CAF, SD2 , FLAC. Not MP3. | | OGG, WAV, AIFF / AIFC, AU / SND, RAW, PAF, IFF / SVX, WAV, SF, VOC, W64, MAT4, MAT5, PVF, XI, HTK, CAF, SD2 , FLAC. Not MP3. | ||
| LGPL | | LGPL | ||
- | | Dec | + | | Dec 2009 |
|- | |- | ||
| [http://connect.creativelabs.com/openal/default.aspx OpenAL] | | [http://connect.creativelabs.com/openal/default.aspx OpenAL] | ||
Line 30: | Line 32: | ||
| Ogg, MP3, FLAC, uncompressed WAV, AIFF, MOD, S3M, XM, and IT files. | | Ogg, MP3, FLAC, uncompressed WAV, AIFF, MOD, S3M, XM, and IT files. | ||
| LGPL | | LGPL | ||
- | | Feb 2006 (before that | + | | Stable: Feb 2006 (before that July 2003). Current repo pathces. |
|- | |- | ||
| [http://www.portaudio.com/faq.html PortAudio] | | [http://www.portaudio.com/faq.html PortAudio] | ||
Line 37: | Line 39: | ||
| Buffers only - ignorant of file formats | | Buffers only - ignorant of file formats | ||
| MIT | | MIT | ||
- | | Repo | + | | Repo trunk Feb 2010 |
+ | |- | ||
+ | | [http://www.libsdl.org/ SDL audio layer] | ||
+ | | SDL_Mixer is a C-interface for playing samples and music. | ||
+ | | Linux, Windows, Windows CE, BeOS, MacOS, Mac OS X, FreeBSD, NetBSD, OpenBSD, BSD/OS, Solaris, IRIX, and QNX, and some unofficially supported OS:s. | ||
+ | | Seems to support WAV, AIFF and OGG, and MP# if compiled with a special flag. No native recording. | ||
+ | | LGPL | ||
+ | | SVN trunk active | ||
+ | |- | ||
+ | | [http://www.ambiera.com/irrklang/ irrKlang] | ||
+ | | cross platform sound library for C++, C# and all .NET languages. Seems very easy to code for. Affiliated with Irrlicht? | ||
+ | | Win, *nix (ALSA), OSX | ||
+ | | wav, ogg, mp3, flac, mod, it, s3d, xm | ||
+ | | Free for non-commercial, unlimited hobbyist = €65; unlimited indie = €290. | ||
+ | | Unknown | ||
+ | |- | ||
+ | | [http://caudio.deathtouchstudios.com/ cAudio] | ||
+ | | "Advanced C++ wrapper for OpenAL"; seems like a very competent and powerful system, only drawback after a fast gander seems to be the pseudo-Hungarian notation used. | ||
+ | | Source for Win, Linux. Since it is a wrapper, it should have the same compatibility as OpenAL. | ||
+ | | Ogg, MP3, raw, WAV | ||
+ | | zlib | ||
+ | | SVN active now, latest stable 2.0.0 Feb 20th, 2010 | ||
|} | |} | ||
+ | |||
+ | '''Current top dogs (no testing has been done yet)''': | ||
+ | * cAudio, perhaps fed by libsndfile | ||
+ | * Audiere | ||
==More projects to check out== | ==More projects to check out== | ||
- | * | + | * [http://sox.sourceforge.net/ SoX] is a program for converting between sound file formats. |
* [http://www.hitsquad.com/smm/programs/WavPlay/ Wavplay] started out as a minimal WAV file player under Linux and has mutated into Gnuwave, a client/server application for more general multimedia and games sound playback. | * [http://www.hitsquad.com/smm/programs/WavPlay/ Wavplay] started out as a minimal WAV file player under Linux and has mutated into Gnuwave, a client/server application for more general multimedia and games sound playback. | ||
* [http://www.68k.org/~michael/audiofile/ Audiofile] (libaudiofile) is a library similar to libsndfile but with a different programming interface. The author Michael Pruett has set out to clone (and fix some bugs in) the libaudiofile library which ships with SGI's IRIX OS. | * [http://www.68k.org/~michael/audiofile/ Audiofile] (libaudiofile) is a library similar to libsndfile but with a different programming interface. The author Michael Pruett has set out to clone (and fix some bugs in) the libaudiofile library which ships with SGI's IRIX OS. | ||
* [ftp://ccrma-ftp.stanford.edu/pub/Lisp/sndlib.tar.gz sndlib] is another library written by Bill Schottstaedt of CCRMA. | * [ftp://ccrma-ftp.stanford.edu/pub/Lisp/sndlib.tar.gz sndlib] is another library written by Bill Schottstaedt of CCRMA. | ||
+ | * [http://www.fmod.org/index.php/products/fmodex FMOD/FMOD Ex]: Very wide range of target platforms. Free for non-commericial, and expensive for commerical ($100, $3000 and $6000, plus additional per-platform fees) | ||
==Striking Gold== | ==Striking Gold== | ||
- | The ideal would be if I could find a library wrapping AL and formatted file I/O. | + | The ideal would be if I could find a library wrapping AL and formatted file I/O. Perhaps cAudio? |
Current revision as of 17:50, 5 March 2010
WARTBED Architecture Architectural documents:
|
WARTBED |
Evaluation of audio libraries for WARTBED
Library | Notes | Platforms | Supported formats | Licence | Latest update |
---|---|---|---|---|---|
libsndfile | Low-level sound file I/O. Bare metal C-interface. No playback, only file parsing. | Win/OSX/Linux, probably compilable to others | OGG, WAV, AIFF / AIFC, AU / SND, RAW, PAF, IFF / SVX, WAV, SF, VOC, W64, MAT4, MAT5, PVF, XI, HTK, CAF, SD2 , FLAC. Not MP3. | LGPL | Dec 2009 |
OpenAL | Cross-platform 3D audio API OpenGL-inspired C-interface. Commercially initiated but open source. Surprisingly frequently used in AAA titles. Paradox: Heavyweight yet low-level. Seems to be hairy with much low-level drudgery and buffer manipulation. | Win/MacOS/OSX/Linux/BSD/IRIX/Solaris/XBox | Buffers only - ignorant of file formats | Basically LGPL | Active |
BASS | Low footprint (100kb) high-level library. Seems sleek and attractive. Will cost money for commercial releases. | Officially Win & OSX. Also ported to Linux & iPhone. | MP3, MP2, MP1, OGG, WAV, AIFF (+ extra thru add-ons); MOD (XM, IT, S3M, MOD, MTM, UMX) + compressed MOD; recording. | Free/Commercial | Active forum |
Audiere | High-level audio API. Not very frequently maintained? | Windows/Linux/Cygwin/IRIX. OSX? | Ogg, MP3, FLAC, uncompressed WAV, AIFF, MOD, S3M, XM, and IT files. | LGPL | Stable: Feb 2006 (before that July 2003). Current repo pathces. |
PortAudio | Low-level C-interface audio playback-from-raw-buffer library. Seems like smoother to work with than AL. | Win/Mac/OSX/ASIO/UNIX/IRIX/BeOS/Linux ALSA & Jack | Buffers only - ignorant of file formats | MIT | Repo trunk Feb 2010 |
SDL audio layer | SDL_Mixer is a C-interface for playing samples and music. | Linux, Windows, Windows CE, BeOS, MacOS, Mac OS X, FreeBSD, NetBSD, OpenBSD, BSD/OS, Solaris, IRIX, and QNX, and some unofficially supported OS:s. | Seems to support WAV, AIFF and OGG, and MP# if compiled with a special flag. No native recording. | LGPL | SVN trunk active |
irrKlang | cross platform sound library for C++, C# and all .NET languages. Seems very easy to code for. Affiliated with Irrlicht? | Win, *nix (ALSA), OSX | wav, ogg, mp3, flac, mod, it, s3d, xm | Free for non-commercial, unlimited hobbyist = €65; unlimited indie = €290. | Unknown |
cAudio | "Advanced C++ wrapper for OpenAL"; seems like a very competent and powerful system, only drawback after a fast gander seems to be the pseudo-Hungarian notation used. | Source for Win, Linux. Since it is a wrapper, it should have the same compatibility as OpenAL. | Ogg, MP3, raw, WAV | zlib | SVN active now, latest stable 2.0.0 Feb 20th, 2010 |
Current top dogs (no testing has been done yet):
- cAudio, perhaps fed by libsndfile
- Audiere
More projects to check out
- SoX is a program for converting between sound file formats.
- Wavplay started out as a minimal WAV file player under Linux and has mutated into Gnuwave, a client/server application for more general multimedia and games sound playback.
- Audiofile (libaudiofile) is a library similar to libsndfile but with a different programming interface. The author Michael Pruett has set out to clone (and fix some bugs in) the libaudiofile library which ships with SGI's IRIX OS.
- sndlib is another library written by Bill Schottstaedt of CCRMA.
- FMOD/FMOD Ex: Very wide range of target platforms. Free for non-commericial, and expensive for commerical ($100, $3000 and $6000, plus additional per-platform fees)
Striking Gold
The ideal would be if I could find a library wrapping AL and formatted file I/O. Perhaps cAudio?