Objective
Playback of compressed sound format in Q3VM bytecode.
Intended Niches
- Playback of player's own choice of music in background.
- Large sound files (WAV size > 100KB) used in maps.
- Broadcasting of custom sound packs.
Candidates
- OggVorbis
- Pros:
- Lossy compression, from 10:1 and onwards.
- Lossiness not noticeable in the heat of battle.
- Streamable! (write out decompressed form in lots of small chunks, instead of one large file)
- Cons:
- Lots and lots of floating point (slow).
- Still evolving (entails frequent import of upstream source).
- FLAC (Free Lossless Audio Codec)
- Pros:
- Decoding uses integer arithmetic (goes fast).
- Lossless compression (1.3:1 to 3:1) - perfect reconstruction of sound.
- Streamable!
- Cons:
- LGPL may cause licensing conflict wrt distribution of mod (until all Q3A code goes GPL).
- Compression not as good as Ogg Vorbis.
- MP3 (MPEG-1 Layer 3)
- Pros:
- Very common format.
- Lossy compression, from 6:1 to 15:1 or thereabouts.
- Known decoder in QVM form exists.
- Streamable?
- Cons:
- Format is encumbered by patents.
- Practically impossible to create (encode to) MP3 legally and freely.
- Therefore, most extant MP3s may be illegal just by existing.
- Wasn't designed for scalability the way Ogg Vorbis is.
- Encoders probably suck (i.e. resulting MP3 file sucks).
- Decoder implementations also probably suck, legal issues notwithstanding.
- Doesn't compress and preserve quality as well as Ogg Vorbis.
- TwinVQ (Transform-domain Weighted Interleave Vector Quantization), VQF, MPEG-4
- Pros:
- Extreme compression, around 40:1?
- Cons:
- MPEG-2 AAC (Advanced Audio Coding)
- Pros:
- Lossy compression, from 20:1?
- Cons:
- Weird licensing (not getting a player easily).
- Based on the developers involved (companies), expect much encumberance with copyrights, patents, and trade secrets. (unfriendly to Q3 mod)