Vorbis
From Wikipedia, the free encyclopedia
Vorbis | |
---|---|
File name extension | .ogg .oga [1] |
Internet media type | audio/ogg |
Developed by | Xiph.Org Foundation |
Type of format | Audio codec |
Contained by | Ogg |
Vorbis is a free and open source, lossy audio codec project headed by the Xiph.Org Foundation and intended to serve as a replacement for MP3.[2] It is most commonly used in conjunction with the Ogg container and is therefore called Ogg Vorbis.
Vorbis development began following a September 1998 letter from Fraunhofer Gesellschaft announcing plans to charge licensing fees for the MP3 audio format. Soon after, founder Christopher "Monty" Montgomery commenced work on the project and was assisted by a growing number of other developers. They continued refining the source code until a stable version 1.0 of the codec was released on July 19, 2002.
The latest official version is 1.2.0 released on 2007-07-25, but there are some fine-tuned forks, most notably aoTuV, that offer better audio quality, particularly at low bitrates. Work is in progress to merge back those improvements. Source code (called libvorbis) for the Xiph.Org Foundation release is available from the official download page.[3]
Contents |
[edit] Name
"Vorbis" is named after a Discworld character, Exquisitor Vorbis in Small Gods, by Terry Pratchett. Coincidentally, Nanny Ogg is another Discworld character, a witch who appears in several books including Witches Abroad, though the Ogg format was not named after her. "Ogg" is in fact derived from ogging, jargon that arose in the computer game Netrek.[4]
[edit] Usage
The Vorbis format has proven popular among supporters of Free software.[5] They argue that its higher fidelity and completely free nature, unencumbered by patents, make it a well-suited replacement for patented and restricted formats like MP3. However, MP3 has been widely used since the late-1990s and as of 2008, continues to remain popular in the consumer electronics industry.
Vorbis has different uses for consumer products. Many video game titles such as 18 Wheels of Steel, Unreal Tournament, Mafia: The City of Lost Heaven and Grand Theft Auto: San Andreas store in-game audio as Vorbis. Popular software players support Vorbis playback either natively or through an external plugin. A number of Web sites use it, such as Jamendo and Mindawn, as well as several national radio stations like CBC Radio, JazzRadio, and Virgin Radio.
[edit] Codec comparisons
For many applications, Vorbis has clear advantages over other lossy audio codecs in that it is patent-free and has free and open-source implementations and therefore is free to use, implement, or modify as one sees fit, yet produces smaller files than most other codecs at equivalent or higher quality.[6][7]
Listening tests have attempted to find the best quality lossy audio codecs at certain bitrates. Some conclusions made by recent listening tests:
- Low bitrate (less than 64 kbit/s): the most recent public multiformat test at 48 kbit/s shows that aoTuV Vorbis has a better quality than WMA and LC-AAC, the same quality of WMA Professional, and a lower quality than HE-AAC.[8]
- Mid to low bitrates (less than 128 kbit/s down to 64 kb/s): private tests at 80 kbit/s and 96 kbit/s shows that aoTuV Vorbis has a better quality than other lossy audio codecs (LC-AAC, HE-AAC, MP3, MPC, WMA).[9] [10]
- Mid bitrate (128kb/s): most recent public multiformat test at 128 kbit/s shows a four-way tie between aoTuV Vorbis, LAME-encoded MP3, WMA Pro, and QuickTime AAC, with each codec essentially transparent (sounds identical to the original music file).[11]
- High bitrates (more than 128 kb/s): most people do not hear significant differences. However, trained listeners can often hear significant differences between codecs at identical bitrates, and aoTuV Vorbis performs better than LC-AAC, MP3, and MPC.[12]
Many of these results, however, are difficult to keep up to date due to the ever-evolving nature of the codecs.
[edit] Listening tests
- See also: codec listening test#Results
Listening tests are normally carried out as ABX tests, i.e., the listener has to identify an unknown sample X as being A or B, with A (the original) and B (the encoded version) available for reference. The outcome of a test must be statistically significant. This setup ensures that the listener is not biased by his/her expectations, and that the outcome is very unlikely to be the result of chance. If sample X can be identified reliably, the listener can assign a score as a subjective judgement of the quality. Otherwise, the encoded version is considered to be transparent. Below are links to several listening test results.
- 2005-2006 Public group test of Lame MP3, Vorbis AoTuV, iTunes AAC, Nero AAC, and WMA Pro at ~135 kbit/s nominal. Results suggest that further group testing at this bitrate is unnecessary because all codecs are statistically tied near transparency.[11]
- 2005, July comparison - AAC vs MP3 vs Vorbis vs WMA at 80 kbit/s. States that aoTuV beta 4 is the best encoder for either classical or various music in this bitrate, and that its quality is comparable to the LAME ABR MP3 at 128 kbit/s.[9]
- 2005, August comparison - AAC vs MP3 vs Vorbis vs WMA at 96 kbit/s. States that aoTuV beta 4 and AAC are tied as the best encoders for classical music in this bitrate, while aoTuV beta 4 is the best encoder for pop music, even better than LAME at 128 kbit/s.[10]
- 2005, August comparison - MPC vs VORBIS vs MP3 vs AAC at 180 kbit/s. An audiophile listening test, which states that, for classical music, aoTuV beta 4 has 93% percent probability of being the best encoder, tied with MPC. MPC is tied with both Vorbis, in the first place, and LAME in the second.[12]
[edit] Technical details
Quality | Nominal Bitrate | |
---|---|---|
Official Xiph.Org Foundation Vorbis | aoTuV beta 3 and later | |
-q-2 | not available | 32 kb/s |
-q-1 | 45 kb/s | 48 kb/s |
-q0 | 64 kb/s | |
-q1 | 80 kb/s | |
-q2 | 96 kb/s | |
-q3 | 112 kb/s | |
-q4 | 128 kb/s | |
-q5 | 160 kb/s | |
-q6 | 192 kb/s | |
-q7 | 224 kb/s | |
-q8 | 256 kb/s | |
-q9 | 320 kb/s | |
-q10 | 400 kb/s |
Given 44.1 kHz (standard CD audio sampling frequency) stereo input, the encoder will produce output from roughly 45 to 500 kbit/s (32 to 500 kbit/s for aoTuV tunings) depending on the specified quality setting. Quality settings run from -1 to 10 (-2 to 10 for aoTuV tunings). Files encoded with a given quality setting should have the same quality of sound in all versions of the encoder, but newer versions should be able to achieve that quality with a lower bitrate. The bitrates mentioned above are only approximate; Vorbis is inherently variable-bitrate (VBR), so bitrate may vary considerably from sample to sample.
Vorbis uses the modified discrete cosine transform (MDCT) for converting sound data from the time domain to the frequency domain. The resulting frequency-domain data is broken into noise floor and residue components, and then quantized and entropy coded using a codebook-based vector quantization algorithm. The decompression algorithm reverses these stages. The noise floor approach gives Vorbis its characteristic analog noise-like failure mode (when the bitrate is too low to encode the audio without perceptible loss), which many people find more pleasant than the metallic warbling in the MP3 format. The sound of the compression artifacts at low bitrates can be perhaps described as reverberations in an amphithreatre or a room.
Vorbis aims to be more efficient than MP3, with transparency being available at lower bitrates.
Various tuned versions of the encoder (Garf, aoTuV or MegaMix) attempt to provide better sound at a specified quality setting, usually by dealing with certain problematic waveforms by temporarily increasing the bitrate. The most consistently cited problem with Vorbis is pre-echo, a faint copy of a sharp attack that occurs just before the actual sound (the sound of castanets is commonly cited as causing this effect). Most of the tuned versions of Vorbis attempt to fix this problem and to increase the sound quality of lower quality settings (-q-2 through -q4). Some tuning suggestions created by the Vorbis user community (especially the aoTuV beta 2 tunings) have been incorporated into the 1.1.0 release.[13]
The Vorbis format supports bitrate peeling for reducing the bitrate of already encoded files, and an experimental implementation is available.[14] However, encoding at the lower bitrate will result in better audio quality than this experimental bitrate peeler.
Vorbis streams can be encapsulated in other media container formats besides Ogg.[15] A commonly used alternative is Matroska.
[edit] Metadata
Vorbis metadata, called comments, support metadata 'tags' similar to those implemented in the ID3 standard for MP3. The metadata is stored in a vector of eight-bit-clean strings of arbitrary length and size. The size of the vector and the size of each string in bytes is limited to 232-1 (about 4.3 billion, or any integer that can be expressed in 32 bits). This vector is stored in the second header packet that begins a Vorbis bitstream.[16]
The strings are assumed to be encoded as UTF-8. Music tags are typically implemented as strings of the form "[TAG]=[VALUE]", for instance, "ARTIST=The John Smith Band". Like the current version of ID3, users and encoding software are free to use whichever tags are appropriate for the content. For example, an encoder could use localized tag labels, live music tracks might contain a "Venue=" tag or files could have multiple genre definitions. Most applications also support common de facto standards such as discnumber and Replay Gain information.
[edit] Licensing
Knowledge of Vorbis's specifications is in the public domain. Concerning the specification itself, the Xiph.Org Foundation reserves the right to set the Vorbis specification and certify compliance. Its libraries are released under the revised 3-clause BSD license and its tools are released under the GNU General Public License. The libraries were originally released under the GNU Lesser General Public Licence, but a BSD license was later chosen with the endorsement of Richard Stallman.[17] The Xiph.Org Foundation states that Vorbis, like all its developments, is completely free from the licensing or patent issues raised by other proprietary formats such as MP3. Although the Xiph.Org Foundation states it has conducted a patent search that supports its claims, outside parties (notably engineers working on rival formats) have expressed doubt that Vorbis is free of patented technology.[18]
The Xiph.Org Foundation maintains that it was privately issued a legal opinion subject to attorney-client privilege. It has not released an official statement on the patent status of Vorbis, pointing out that such a statement is technically impossible due to the number and scope of patents in existence and the questionable validity of many of them. Such issues cannot be resolved outside of a court of law. Some Vorbis proponents have derided the uncertainty concerning the patent status as "FUD": misinformation spread by large companies with a vested interest.
Vorbis is supported by several large digital audio player manufacturers such as Samsung, Rio, Neuros Technology, Cowon, and iriver. Many feel that the growing support for the Vorbis codec within the industry supports their interpretation of its patent status, as multinational corporations are unlikely to distribute software with questionable legal status. The same could be said about its growing popularity in other commercial enterprises like mainstream computer games.
[edit] Hardware and software support
[edit] Hardware
Tremor, a version of the Vorbis decoder which uses fixed-point arithmetic (rather than floating point), was made available to the public on September 2, 2002 (also under a BSD-style license).[19] Tremor, or platform specific versions based on it, is more suited to implementation on the limited facilities available in commercial portable players. A number of versions that make adjustments for specific platforms and include customized optimizations for given embedded microprocessors have been produced. Several hardware manufacturers have expressed[citation needed] an intention to produce Vorbis-compliant devices, and new Vorbis devices seem to be appearing at a steady rate, especially in South Korea[citation needed][dubious ], although availability may differ from country to country.
Many high-end digital audio players such as Cowon's popular D2 and iAudio X5 ship with full ogg support. Although many digital audio players such as Apple's iPod do not natively support Vorbis, through the use of Rockbox, an open-source firmware project, many become capable of decoding Vorbis files. Support continues to grow; in May 2008 Sandisk added Vorbis capability to the 1.01.29 firmware for the Sansa Clip player. The Xiph.Org Foundation wiki has an up-to-date list of Vorbis-supporting hardware, such as portables, PDAs, and microchips.[20]
[edit] Software
Software supporting Vorbis exists for many platforms. Although Apple iTunes does not natively support Vorbis, the Xiph.Org Foundation provides a QuickTime component[21] which can be used in iTunes and QuickTime on both Microsoft Windows and Mac OS. On Windows, DirectShow filters exist[22] to decode Vorbis in multimedia players like Windows Media Player and others which support DirectShow. Vorbis is well-supported on the Linux platform in programs like XMMS, xine, and many more. More information about Vorbis-supporting software can be found at the Xiph.Org Foundation wiki.[23] Users can test these programs using the list of Vorbis audio streams available on the same wiki.[24] The ever-popular Winamp can also play ".ogg" vorbis files.
[edit] Implementations
Because of Vorbis's free and open nature, developers are free to write compliant encoders and decoders.
[edit] Official
The Xiph.Org Foundation's reference implementation is free and open source, and licensed under the BSD License and the GNU Lesser General Public License.
[edit] aoTuV
Modified versions of the reference encoder are also available: aoTuV is a version that has received quality tweaks since the release of libVorbis 1.0; previous changes from aoTuV (Beta2) have been merged back into the Xiph.Org Foundation's libVorbis 1.1. Lancer is a modified version of aoTuV focusing on encoding speed. Current version: aoTuV Beta5.5 (2008/03/31)
[edit] Tremor
Tremor is an implementation of a Vorbis decoder using fixed-point arithmetic. It is intended for environments when a floating-point arithmetic unit is unavailable. The Xiph.Org Foundation has expressed interest in modifying Tremor into a floating-point version, which would replace the current floating-point reference decoder.[25]
[edit] FFmpeg
The libavcodec library contains an LGPL-licensed Vorbis decoder that is faster than the reference implementation. [26]
[edit] See also
- Comparison of audio codecs
- FreeCast, peer-to-peer Vorbis streaming
- Juce, cross-platform C++ toolkit with embedded Vorbis support
- Ogg bitstream format
- PocketOgg: a Vorbis player program for Windows CE for Pocket PC
- Sb0, a file format related to Vorbis, used in certain Ubisoft games
- Vorbis comment, metadata format used by Vorbis
- XSPF, playlist format
- Xiph QuickTime Components, official QuickTime implementation
[edit] References
- ^ Xiph.org wiki, MIME Types and File Extensions. Retrieved on 2007-10-13.
- ^ Xiph.Org Foundation (1999-05-14). Xiph.org: About. Retrieved on 2008-03-15.
- ^ Xiph.Org Foundation. Xiph.org: Downloads. Retrieved on 2008-01-12.
- ^ Xiph.Org Foundation. xiph.org: naming.
- ^ Recordings about our Philosophy - GNU Project - Free Software Foundation (FSF). Retrieved on 2008-01-12.
- ^ MedO. Ogg Vorbis - Better Than Mp3?.
- ^ Nanook. Ogg Vorbis - An Alternative to MP3.
- ^ Results of Public, Multiformat Listening Test @ 48 kbps (November 2006). Retrieved on 2008-01-12.
- ^ a b 80 kbps personal listening test (summer 2005) - Hydrogenaudio Forums. Retrieved on 2008-01-12.
- ^ a b MP3, WMA, AAC, OGG qualité à 96 kbps (évaluation) - Traitement Audio - Video & Son - FORUM HardWare.fr (French). Retrieved on 2008-01-12.
- ^ a b Results of Public, Multiformat Listening Test @ 128 kbps (December 2005). Retrieved on 2008-01-12.
- ^ a b MPC vs VORBIS vs MP3 vs AAC at 180 kbit/s - Hydrogenaudio Forums. Retrieved on 2008-01-12.
- ^ Recommended Encoder Versions and Settings - Hydrogenaudio Forums. Retrieved on 2008-01-13.
- ^ VINJEY. Vorbis & Downloads. Retrieved on 2006-11-13.
- ^ The Community. Oggless proposal.
- ^ Xiph.Org Foundation. Vorbis Comment Field Documentation. Retrieved on 2007-03-14.
- ^ Jack Moffitt (2001-02-26). [icecast-dev] Xiph.org announces Vorbis Beta 4 and the Xiph.org Foundation. Retrieved on 2006-11-13.
- ^ Vorbis development, status & patent issues. Retrieved on 2006-11-13.
- ^ [vorbis-dev] tremor relicensed as BSD (2002-09-03). Retrieved on 2008-03-15.
- ^ VorbisHardware - XiphWiki. Xiph.Org Foundation. Retrieved on 2008-01-13.
- ^ Xiph.Org: QuickTime Components. Retrieved on 2008-01-13.
- ^ illiminable Ogg Directshow Filters for Speex, Vorbis, Theora and FLAC. Retrieved on 2008-01-13.
- ^ VorbisSoftwarePlayers - XiphWiki. Xiph.Org Foundation. Retrieved on 2008-01-13.
- ^ VorbisStreams - XiphWiki. Xiph.Org Foundation. Retrieved on 2008-01-13.
- ^ Xiph.Org Monthly Meeting log for October 2006.
- ^ mailing list thread comparing Vorbis decoding performance. Retrieved on 2007-08-17.
[edit] External links
- The Xiph.Org Foundation
- Vorbis site - Xiph reference implementation
- Other encoder / decoder implementation:
- List of decoders
- List of encoders
- Xiph reference implementation
- aoTuV - aoTuV Vorbis tuned implementation
- Vorbis acceleration project - Optimized versions of aoTuV Vorbis encoder and other SSE/MultiThread optimizations
- Fixed-point version of the Vorbis decoder
- Software / hardware supporting Vorbis:
- Other useful links:
|
|