Xiph.org Releases Free Fixed-Point Vorbis Decoder
volsung writes "A lot of us want portable music players with Vorbis support, right? Well, Xiph.org has decided to help speed the process by releasing their integerized Vorbis decoder, named "Tremor," under a BSD-like license. Tremor is a Vorbis decoding library written for CPUs without floating point hardware, like most handheld devices use. It was previously a proprietary library--licensed by theKompany for their Sharp Zaurus player, among others--but now it's available for everyone to use. The release page also gives contact information for many of the popular hardware manufacturers. If you want Vorbis support in your hardware, now is the time to send some emails! (Also, please say thanks to the Xiph.org crew with a donation if you can.)"
Actually, Emmett says they were cool with it. None of the people who had licensed the code earlier have to pay any money from this point on, so they are pretty happy, actually.
Most embedded CPUs (and all the StrongARMs, IIRC) don't. Nothing unusual there -- needing an FPU is kinda' rare on a tiny system, and putting it in is inappropriate in such cases where size, power consumption and per-unit cost are at such premiums.
Most use fixed point DSPs which are pretty much general purpose CPUs.. This code is 100% applicable.
By "they still haven't released a complete specification for the file format, or the audio format", I assume you meant, "Back when Vorbis hit 1.0, I read the full specification and stopped spreading FUD", right?
Actually not at all. We didn't pay a big licensing fee for Tremor and this came about before we paid any royalties, so it works out just fine for us. We love Xiph and Ogg Vorbis and have lots more stuff coming along to continue working with them. We have a nice easy to use and multi-platform (later this week) ripper for Ogg Vorbis called tkcOggRipper which you can check out at www.thekompany.com/projects/tkcoggripper. We also have an entirely ogg based internet radio station coming online shortly at www.progrock.com - we ripped about 350 CD's using tkcOggRipper, and we have even more fun stuff ahead.
. com
Rock on Xiph and may Ogg Vorbis rule the day!
Shawn Gordon
President
theKompany.com
www.thekompany
I know that everyone is down on the BSD and up on the GPL, but we owe a tremendous amount to the BSD license.. Companys (like microsoft) took up stuff like the TCP/IP stack, BIND, etc..
The BSD License is an excellent license for some things, just as the GPL is an excellent license for other things.
OggVorbis is one area where the BSD License makes perfect sense, namely, in an effort to get a published, open format implimented as widely as possible.
The GPL is an ideal license for persons and companies that wish to make their code available and participate in a public commons, without unconditionally handing their crown jewels over to a competitor. Indeed, there are many commercially written programs whose source code likely wouldn't have been released at all, or would have been released only under really onerous restrictions, such as Microsoft's so-called open license, Sun's community license, or something along those lines.
Both licenses are excellent. Both philosophies are a positive contribution to the intellectual wealth of humankind, and both have their place. Which one is most applicable to a given set of circumstances depends largely upon those circumstances and the goals in mind.
In this case, the goal is to spread the use of Ogg Vorbis as far and wide as possible, for which the BSD license is ideal. Indeed, even the FSF, which normally has strong reservations with regard to the BSD license, has endorsed the release of OggVorbis under the BSD license.
The Future of Human Evolution: Autonomy
They're contractors. They wrote this on contract for someone, and the contract allowed them to give it away after a while (IIRC). They weren't selling this in the first place. They wrote the floating-point vorbis, and then they were contacted by a company who wanted a fixed-point version and were willing to pay them to write it. Now they're giving away the fixed-point version in addition to the floating-point version, and probably working on other stuff for other people, with a similar deal.
It's like working for a software company. Once you've written something for them, you give it away (to the company); you continue to make money by getting paid to write more software, not being paid royalties or paid for licenses for the stuff you wrote previously.
Does anyone familar with this implementation have any idea how processor-heavy it is?
.oggs take up less space - it's a win-win situation.)
Using tkcPlayer on my Sharp Zaurus (which uses this library,) Ogg Vorbis playback takes up less CPU than mp3 playback (and the
I think they were using a fixed-point implementation (see here). Maybe (probably) Tremor is a more optimal implementation. I suspect we'll find out soon enough.
The chip used in the Rio Receiver I believe is pretty common in other designs (PhatBox, Empeg/Rio Car, AudioTron) and seems like it's becoming the de facto measuring stick for whether or not a codec will run in consumer hardware.
On the other hand, there has been work to build replacement clients for the Rio Receiver that use FLAC lossless compression, and that apparently works pretty well. So the current thinking is to transcode .ogg to flac at the server level. Or just to rip everything to flac (which requires a whole lot more disk space. :( )
FLAC adoption happened relatively fast after a free integer decoder library was available (though it is LGPL, not BSD, which has caused some hiccups). So if that's any indication, if Tremor can run on the Rio Receiver it should catch on quickly.
FLAC - Free Lossless Audio Codec
Please tell Apple you want Ogg Vorbis support in the iPod.
They're not always entirely hardware. Often a "MP3 chip" is nothing more than a DSP processor with onboard ROM. Its cheaper todo it that way and easier to maintain [fixing bugs means recompile the code not rebuild the device]
However that being said some MP3 players actually have DSP processors and the codecs in RAM [or flash of some sort]. The RIO-Volt IIRC has that functionality. Which means adding Vorbis support is not entirely out of the question.
Tom
Someday, I'll have a real sig.
The Intel StrongARM chip is pretty popular in embedded devices, including the Zaurus, iPod and other PDAs and portable music players. While the chips have an excellent power consumption vs performance and price ratio, it lacks a hardware FPU.
I'm not sure companies choose the StrongARM because it's cheaper than chips with a FPU. More likely, they choose it because it is supported by GCC, Linux, Windows CE and hundreds of commercial tools. It is low power, widely deployed, and relatively powerful for a low power chip. And having Intel behind it doesn't hurt. In short, it is a very low risk platform with significant advantages and a few minor disadvantages (no FPU).
Notice that xiph.org is a .org and not .com domain. Then notice that their web page states that they are a non-profit corporation, and that there is a link for donating to them. Re-read the writup in this article and see that it also has a link to their donation page.
To get something done, a committee should consist of no more than three persons, two of them absent.
Start here: Hydrogen Audio
No, that's not us (Although we like them as they're likely the least bullshit-laden codec comparison and development bulletin board out there. These guys were *very* harsh about Vorbis's quality the first few years. That feedback was invaluable for making the codec as good as it is today.)
c't has also run tests including Vorbis, and will have a big test run on several thousand listeners to offer here sometime soon. It's basically a much larger version of the tests ff123 has run on Hydrogen Audio. We're not privy to any of the current results, but I expect we'll do just fine ;-)
As for 'cranking it out', Ogg development started in 1993.
Monty
There are known, mathematical ways to test audio quality.
s/quality/fidelity/
You can measure how accurately an algorithm reproduces a given input signal, but there is no objective mathematical way to measure the quality of the audio, eg, whether the signal is any good in the first place.
Other than that, you're correct -- a thorough evaluation of an audio algorithm's worth will include both objective (waveform analysis) and subjective (humans listening) testing.
On May 04, Nicolas Pitre released a free (GPL) fixed point vorbis decoder and announced it on Vorbis Developement list.
But this important contribution was kept in silence. Even all posts from May 2002 had mysteriously dissapeared from Vorbis-dev archive.
Fortunately a copy of Nicolas announcement could be find here.
Now Xiph.org anounces that its fixed-point implementation is available for free under BSD style license.
This seems very strange to me.
MOD THE CHILD UP!
The original target for Tremor was a 74MHz Cirrus Maverick (ARM 7 TDMI core).
Monty