The Future of Ogg Vorbis
Brett writes "The author of MAD, the fixed point MP3 decoder comments on what is wrong with Ogg Vorbis, with a response from jack, one of the founders of the format.
"Ogg Vorbis may be the holy grail of patent-free audio compression, but there are some serious issues blocking its path to widespread acceptance. Unfortunately most of us are powerless to correct the situation; the problems must be addressed by Vorbis' creators. "
The rest of the of the story is currently running on K5." And Jack's response is enlightening as well.
Fractint was fast with integer operations, cause in those days, integer operations were traditionally much faster than floating point operations on the x86 platform.
The fixed point implementation of Vorbis would be very useful for embedded hardware where floating point support is usually not available on its CPUs.
Banu
From the Vorbis guy's response it's clear what the problem is: The idea is great, the plan is good, but the deliverables just take time to materialize. Nothing bad about that, it's true for practically every piece of software (or related, like the Ogg Vorbis specification.)
Regardless of whether the author of the K5 piece is right about the points he discusses, the Ogg Vorbis creators should take his criticism to heart instead of dismissing it. It's not about whether all those points are valid, so trying to prove that they are not doesn't accomplish anything. They should understand that apparantly they have a problem communicating their plans to their possible supporters from the development community and that what they are doing apparantly makes a strange impression.
They should be glad someone took the time to actually write this down and complain instead of just forgetting about their project and doing something else.
I can see one main way for Ogg to gain widespread acceptance quickly - as the sound track of your run-of-the-mill, MPAA-angering DiVX. MP3 soundtracks only allow for 2 channels, whereas Ogg will allow for n. The main thing that pisses me off about DiVX is the lack of 5.1.
Imagine how widespread Ogg would be if it was the favored soundtrack of the DiVX generation.
Actually, I got the impression that the author was very frustrated at trying to do an independent 'from-spec' implementation of Ogg... which is impossible since there's no spec.
Code defines an implementation, not a specification, and using code as a spec leads to 'bug compatible' further implementations (ie. Yeah, that's feature's done really poorly, but it has to in order to be compatible with the bug(s) in the original)
This is ungood.
--Z
Sorry to say it, but I cannot use it on my iPod and with iTunes. I ripped my 125+ audio-cds to MP3 as when I got my iPod.
I hate it when people comes up with this kind of reasons for not switching to a free format and making the world a better place... but now I do it myself. It is a pity. It is a shame.
But maybe I am wrong? Has anyone installed Ogg in iTunes, and is there any chans to hack the iPod?
I thought they both had valid points. What really struck me (it's all about me :-) was that Xiph guy responded to his points. Compare and contrast with the guy from ... oh crap it's early ... Redmond Linux? the one who didn't have source for his Linux distro in the beta CDs. He ducked all attempts
at answering the points that were raised against him, and just whined about the Linux community "eating its young" or some such. That left a bad taste in my mouth -- side step the questions, throw mud around -- whereas
with this I came out w/respect for both people and both points of view.
Of course, I could be wrong. I remember the last time it happened. It was a Monday...
Carousel is a lie!
Its not arrogance. We all want Ogg to be in wider use and to appear in portable players. From this discussion it is very clear that Ogg Vorbis is still very much in development and needs to be much more stable before anyone starts making software and hardware Ogg players. An incomplete specification and a reference implementation is not sufficient.
I use madplay and I'd like to see a version for Ogg, but at this stage it doesn't seem like Xiph are ready for developers. As they say, wait for 1.0 final and the promised complete documentation.
No, I did not read the f***ing article!
What kind of embedded system would have an Ogg player? How about a car stereo? Like, say.. an empeg? Which doesn't have a much in the way of CPU, including the fine lack of a floating point processor?
Vintage computer games and RPG books available. Email me if you're interested.
..because I could correct the idiot who moderated this Interesting. Is there a "Misinformative" rating?
Anyway, not to interrupt a fun GPL thread, but Ogg Vorbis is BSD-licensed precisely to encourage adoption.
Daniel
Hurry up and jump on the individualist bandwagon!
As open source Ogg Vorbis is released under the GPL/LGPL. However doesn't this prevent companies to integrate the sources into their software ?
Except... Ogg Vorbis isn't released under the GPL/LGPL. The license is basically BSD in form, but different wording.
To quote Jack, which wouldn't be necessary if you had read the linked message:
It's actually Free-er than most Free Software in some ways, siince we chose to prioritize adoption rather than require everyone buy into the LGPL. In essence by giving up a few freedoms with the more lax license, we are preserving freedom because the world will adopt Ogg, the only audio codec right now of it's kind that can be freely implemented.
Any sufficiently advanced technology is indistinguishable from a rigged demo.
Not really, divx only specifies the video format. You can plug in any sound codec you want to, including AC3. Here's a nice guide
As open source Ogg Vorbis is released under the GPL/LGPL. However doesn't this prevent companies to integrate the sources into their software ?
This is wrong.
The spec is public domain-- it's not well documented, evidently, but the format itself is public domain.
The utilities are GPLed, so you have to distribute the source to anything that encompases them.
The libraries themselves, however, are under BSD.
See The Ogg Vorbis FAQ.
-Rob
Honestly...what kind of embedded system would have an Ogg player in it? Your microwave? A candy dispenser?
Seems silly now, but what if someone makes a talking microwave, or a talking candy dispenser. Compressing the audio files, even if it is just a voice, would save space.
I'll have something intelligent to add one of these days...
Where did you hear that Ogg Vorbis [by which I assume you mean the reference implementation libraries] was released under the GPL/LGPL?
The sample tools are GPL - but the libraries are under a license similar to the 3-clause [ie old] BSD. This is specifically to encourage widespread adoption of the standard. Think about it: if you want to add Ogg Vorbis support to your application or embedded box, you won't be borrowing the command-line tools, just the libraries.
"How can you claim that you are anti-crack, while still writing a window manager?" — Metacity README
For example, I am not aware of any flash portable pocket player that has an FPU. That's because it's entirely possible to do MP3/WMA in integer. Nobody is going to fit an expensive and battery draining processor into their product just to support an extreme minority codec.
By using floating point for the algorithms, libvorbis is ruled out from nearly all embedded devices. At the moment it pretty much only runs (in real time) on PC/Mac systems.
Patrick Doyle
I mod down every jackass who puts his moderation policy in his sig. Oh, wait a sec....
The problem with OV is that it doesn't make enough of a jump in compression from its predecessor, the MP3 format.
MP3s will continue to rein supreme, Iron Chef style, until someone releases a new compression algorythm that saves at least 10x more space. It is too much work to convince MOST people to use other forms of music compression when there is negligable savings (in quality and size) for the average user.
------
Today's Top Deals
Sorry if I sound like I'm trolling. I'm not. I'm just being honest.
Co-founder and designer at Music Nearby: http://musicnearby.com
Personally I thought the news that Ogg Vorbis is now shipped with Winamp 2.80 was the news of they day. Any guess as to how many times over this will double the installed base of computers capable of playing Vorbis-files?
Belief is the currency of delusion.
This is somewhat besides the point, but in case noone had noticed, the latest Winamp 2.80 ships with Vorbis support by default.
:)
This is very nice because:
a) no more explaining how to install plugins to less-literate users
b) it seems that the legal team of AOL considers Vorbis to be patent-safe (they looked into the matter, which is why this lasted so long)
c) some of the WinAmp developers have become Vorbis freaks
--
GCP
I totally agree. As the hardware developer on a portable mp3 player I can tell you that unless you want to use a hardware decoder (the MAS... chip) and get locked into a particular format (MP3) you're need an software implementation sans floating point. While it is possible to get embedded proc's with floating point capability, the price is simply not worth it in most cases. For instance an EP7312 with no floating point costs about $20, an EP9312 with floating point costs more like $50. Which is why small companies with a low budget like mine choose the cheaper proc's. We are totally open to supporting Ogg, but our first release will support MP3 only because we do have a free library that runs on our proc and runs on it well (well we pay 25 cents per player to Fraunhoffer, but I think that's entirely reasonable)
They are decent processors - you can do MP3/WMA/Whatever without an FPU. Hell, you can play Quake on them at a reasonable speed. Same goes for Vorbis - it "just" needs an integer implementation, which is rather a large task that nobody in the public domain wants to take on, and no business wants to spend development time on.
It would also help to lobby people like Winamp, LimeWire, WinMX etc. to include Ogg as a recognized format by default making it easier to locate and play music.
What I'm going to say is what software engineers already know.
The specifications for software are much, much more important than your implementation. If the specifications are written completely and well, the design of said software project will "fall" from the specifications, and the implementation will "fall" from the design. "Specification" isn't something you can do after-the-fact; at best, you will have an incomplete specs document (because of developers who incompletely document their own code), and at worst you will have WRONG specs (because a developer makes an innocent typo that doesn't get caught).
Sure, the ogg stream format and the vorbis audio format have been frozen for a year; however, code is not self-documenting. One of my wisest professors said that the only man he has known that writes self-documenting code is Knuth, and you might be a good hacker, but you are NOT Knuth. Every mortal man needs specifications and design documents to be able to make ANYTHING out of ANY piece of code; hell, I have some relatively simple Java apps I hacked together six months ago that would read like Greek if I didn't have my specs and my design documents.
How can anyone expect to reasonably use an undocumented format?
Either way, it's generally a good idea to have spec done prior to completing your product. I know the hackers out there will balk at this simple minded engineer, but some people out there think that writing down what you're going to do before you do it, might be a decent way to get it done. But let's face it, writing specs isn't always the sexiest work.
JPEG vs GIF is more like MP3 vs MIDI. (actually that's a reasonable analogy
:: mp3/ogg/etc. (lossy compression via removal of high frequencies)
:: flac/lpac/shorten/etc. (lossless compression via huffman coding compression)
:: midi (lossless symbolic description of media primitives)
Here's a more reasonable isomorphism between audio and image formats:
JPG
.gif/.png
.svg/.eps/etc.