Ogg Vorbis Gaining Industry Support
An anonymous reader writes "While Ogg Vorbis format has not gained much adoption in music sales and portable players, it is not an unsupported format in the industry. Toy manufacturers (e.g. speaking dolls), voice warning systems, and reactive audio devices exploit Ogg Vorbis for its good quality at small bit-rates. As a sign of this, VLSI Solution Oy has just announced VS1000, the first 16 bits DSP device for playing Ogg Vorbis on low-power and high-volume products. Earlier Ogg Vorbis chips use 32 bits for decoding, which consumes more energy than a 16-bit device does. See the Xiph wiki page for a list of Ogg Vorbis chips."
Another advantage with ogg over mp3 is that it supports more than 2 channels. The video game industry, especially those doing dev on next-gen consoles, are quite aware of this.
Consoles have hardware-accelerated ADPCM compression for normal sfx, but audio streams can certainly be compressed with Vorbis. All the commercial audio libraries support it at this point, or else it's easy enough to add the support yourself. The next-gen engines have plenty of horsepower to spare for vorbis decoders - it's really not that expensive as long as you don't go too crazy with simultaneous decodes.
Our company is switching from mp3 to vorbis for our upcoming projects - it's definitely a better format for a closed system such as games. As is oft-mentioned here, it's a better-sounding codec at lower bitrates, which is important for MMOs, since occasional updates are expected - and saving bandwidth wherever possible certainly matters. And, it has a few technical benefits such as sample-accurate decoding (MP3 decodes in blocks, so you have to write additional kludges to get around this), which is helpful for loops.
It's nice to hear the format is picking up a bit of steam. I've had my eye on it for a long time, and have been impressed with the steady progress that has been made.
Irony: Agile development has too much intertia to be abandoned now.
Well, the problem is that you don't understand what "Ogg" and "Vorbis" (and "Theora") actually are. There's actually two different things here: codecs and container formats. "Ogg" refers to the container format; it's comparable to Quicktime, AVI, or Matroska. "Vorbis" and "Theora" refer to codecs (audio and video respectively); Vorbis is comparable to MPEG 1 layer 3 (aka MP3) or Advanced Audio Codec (AAC) and Theora is comparable to MPEG 2, DivX or H.264.
So, when people say "Ogg Vorbis" what they're actually referring to is a Vorbis audio stream inside an Ogg container. Presumably, it's possible to have a file with a raw Vorbis bitstream (without the Ogg container), and it's certainly possible to have an Ogg container without a Vorbis bitstream. This is also why Ogg Theora files have an .ogg extension; they're actually files with a Theora video stream and (probably) Vorbis audio stream, inside an Ogg container.
"[Regarding the 'cloud,'] ownership was what made America different than Russia." -- Woz
There's no problem with decoding MP3 in a fixed buffer size. Each frame contains exactly 1152 audio samples.
The MP3 problem you might be thinking of is the bit reservoir: Constant bitrate MP3 only pretends to be constant bitrate. If you look at the spacing between MP3 frame headers it looks like each frame is exactly the same size. But they're really not: frames can borrow bits from nearby frames, so the compressed data at one place in the stream doesn't necessarily decode to the decompressed samples that nominally correspond with that frame. Thus it's tricky to determine where you have to start decoding if you want to seek to a given sample number, and the naive seeking method could be off by about +/- 0.25 seconds.
That problem is specific to MP3; I don't know of any other audio format that suffers from it. All Vorbis had to do to fix it was be logical and put each bit in the frame it's supposed to be in, not in some random other frame.