Wartbed:Architecture/Audio

From Dark Omen Wiki

< Wartbed:Architecture(Difference between revisions)
Jump to: navigation, search
(Created page with '==Evaluation of audio libraries for WARTBED== {| class="wikitable" ! Library !! Notes !! Platforms !! Supported formats !! Licence !! Latest update |- | [http://www.mega-nerd.co...')
(Evaluation of audio libraries for WARTBED)
 
(8 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 1009
+
| Dec 2009
|-
|-
| [http://connect.creativelabs.com/openal/default.aspx OpenAL]
| [http://connect.creativelabs.com/openal/default.aspx OpenAL]
-
| Cross-platform 3D audio API OpenGL-inspired C-interface. Commercially initiated but open source.
+
| 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
| Win/MacOS/OSX/Linux/BSD/IRIX/Solaris/XBox
| Buffers only - ignorant of file formats
| Buffers only - ignorant of file formats
Line 19: Line 21:
|-
|-
| [http://www.un4seen.com/bass.html BASS]
| [http://www.un4seen.com/bass.html BASS]
-
| Low footprint (100kb) high-level library.  
+
| Low footprint (100kb) high-level library. Seems sleek and attractive. Will cost money for commercial releases.  
| Officially Win & OSX. Also ported to Linux & iPhone.  
| 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.  
| MP3, MP2, MP1, OGG, WAV, AIFF (+ extra thru add-ons); MOD (XM, IT, S3M, MOD, MTM, UMX) + compressed MOD; recording.  
Line 26: Line 28:
|-
|-
| [http://audiere.sourceforge.net/ Audiere]
| [http://audiere.sourceforge.net/ Audiere]
-
| High-level audio API.  
+
| High-level audio API. Not very frequently maintained?
| Windows/Linux/Cygwin/IRIX. OSX?
| Windows/Linux/Cygwin/IRIX. OSX?
| 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 Juli 2003)
+
| Stable: Feb 2006 (before that July 2003). Current repo pathces.
|-
|-
| [http://www.portaudio.com/faq.html PortAudio]
| [http://www.portaudio.com/faq.html PortAudio]
-
| Low-level C-interface audio playback-from-raw-buffer library.
+
| 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
| Win/Mac/OSX/ASIO/UNIX/IRIX/BeOS/Linux ALSA & Jack
| Buffers only - ignorant of file formats
| Buffers only - ignorant of file formats
| MIT
| MIT
-
| Repo head Feb 2010
+
| 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://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==
 +
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
Documents related to technical design aspects and implementation details.
For a general overview of WARTBED, see the WARTBED Design Document

Architectural documents:

WARTBED

0.1 "Clausewitz"
0.2 "Jomini"
...

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?

Personal tools
communication