MPEG-1 Layer 2 & 3Edit
Layer 2: AKA MP2. Reasonably rare, probably because people assume it's not as good as MP3 (because of the name, see). Wikipedia says that it provides better sound quality than MP3 at bitrates of 256kbits or higher.
- Encoded with TooLAME (toolame.sourceforge.net), its fork TwoLAME (twolame.sourceforge.net), or ffmpeg. MeGUI only supports to encode with FFmpeg.
Layer 3: Known everywhere as MP3, it's the .avi of audio formats - anything can play it. Audio quality is 'average', i.e., it's the worst out of all formats, but since audio files are pretty small, people are happy to just increase the bitrate. Encoded with LAME (LAME Ain't an MP3 Encoder - yes, this is a recursive acronym. Just ignore the fact that LAME is an MP3 encoder and you'll do fine).
AAC aka Advanced Audio Coding aka MPEG-4 Part 3 aka MPEG-2 Part 7 (so a nice simple set of names in other words). Here's the wikipedia page on it. AAC offers better quality than MP3, and probably the best overall compared to any other codec.
There are a few different AAC 'profiles' you can encode to:
- Main: The 'normal' version of AAC, but virtually nothing implements it, so you can ignore it.
- LC (Low Complexity): the 'normal' profile, AAC files are usually LC.
- HE (High Efficiency): When you start encoding to bitrates under around 64-96kbits (for stereo) (which is the common ballpark figure, Nero use around 75-80kbits), you can start using HE, which will increase the audio quality at those bitrates. HE codes the upper half of the frequency spectrum with a technique called Spectral Band Replication (SBR). Basically it's coded as a difference from the lower half, rather than normally as a standalone segment. Maximum efficiency is increased, but maximum quality is reduced.
- HEv2 (High Effiency version 2): If you drop the bitrate even further (to around 40kbits), you can start using HEv2, which will again allow you better quality at those bitrates. This introduces another coding technique called Parametric Stereo (PS). Instead of encoding each channel separately, PS encodes one 'master' channel, and encodes the other channels as 'differences' from it. Once again, maximum efficiency is increased, but maximum quality is reduced.
- LTP (Long Term Prediction): Another magical compression technique that is especially useful for voice compression (or anything has repeated sounds). As per Main profile, it's not used and therefore safe to ignore.
- LD & ELD (Low Delay & Extra Low Delay): Used for speech encoding.
Different AAC encoders & decoders will implement support for different profiles above. Generally you can rely on LC support being in whatever tool you use, but HE and HEv2 are a little more hit and miss. Computer decoders should support all three, but your mileage may vary. In particular, Apple stuff only does LC. On the bright side, AAC implements 'graceful degradation', which means if a decoder tries to play back a file encoded with an unsupported profile, at least something should come out:
- HE content on a LC decoder: you'll only hear the lower half of the frequency spectrum.
- HEv2 content on a LC decoder: you'll only hear a single channel.
AAC can be created with a few tools. Even if they don't say it, most available programs will just use one of the below.
- Nero Digital Audio. Released May 2006, supports LC/HE/HEv2, free, great quality output, CLI. What more could you want? Homepage: nero.com/enu/nero-aac-codec.html
- FFmpeg. It is an experimental codec included in libavcodec.
- VisualOn AAC Encoder. Bought from VisualOn by Google to use in Android open-source project.
- Fraunhofer IIS AAC Encoder. Like VisualOn encoder, it was open-sourced by Google for Android. It supports almost all the AAC profiles including LC, HE, HEv2, and ELD.
- Quicktime. Back in early 2004, Quicktime was the best AAC encoder. What's changed since then? Probably very little. It only outputs AAC-LC though, no HE or HEv2 support.
- FAAC. Free AAC Codec. Not nearly as good quality as the rest above, but it's the only real open source AAC encoder. Once commonly used, now not so common. It does support Main and LTP encoding though.
MeGUI only supports Nero AAC Codec.
A completely patent free audio codec that lies very close to AAC qualitywise. Different testers give one or the other first prize, they are pretty much neck and neck for 'normal' bitrates. Usually can be seen referred to as Ogg Vorbis, however we speak of the audio codec itself, Vorbis, since it will be used in other media containers. The name Ogg comes from the container it is typically stored in by itself (.ogg). Vorbis is maintained by the Xiph organization along with a few other strange codecs, none of which are terribly common.
It is a speech codec developed by Xiph.org.
Implementation of the ATSC A/52 standard by Dolby Studios. Dolby Digital AC3 is Dolby's base lossy audio codec in which they have enhanced over the years to create a large umbrella suite of codecs. It is the standard audio format for DVDs and most Digital TV Broadcasts. If the file contains AC3 audio it usually means it is the original audio from the source, essentially the highest possible quality. Compared to other lossy codecs however, it is quite inefficient and space-consuming. Maximum bitrate of 640kbits and a limit of 5 channels.
Dolby Digital Plus, or Extended AC3. AC3's reincarnation for use with HD video. Seen mainly on HD DVD and Blu-ray discs. General compression efficiency improvements have been included, but since the maximum bitrate of the stream is now over 6mbit (rather than 640kbit) you can get perceptually lossless quality pretty easily anyway. Allows 13 channels. See also: Wikipedia.
Dolby's attempt at a 'next gen' lossless audio codec. Support is mandatory on HD DVD, but optional on Blu-ray. Supports 14 channels, 192 kHz sampling rate and 24bit depth. It's limited to 8/96/24 respectively on the next gen disc formats. Bitrate goes up to the insanely high 18mbits, although as with most maximum limits here and below, real life usage will probably never break 6mbit. Wikipedia can probably tell you more.
DTS (Digital Theater Systems) is an extremely high bitrate audio codec rarely found in the wild. DTS is an official audio codec to be used with the DVD standard, however, it is not mandatory to the standard and thus not all DVD players can decode DTS audio tracks. HD DVD and Blu-ray both mandate support. It comes in two flavors: huge (768 kbit/s) and ginormous (1,536 kbit/s). Actually comparing this codec to AC3 is difficult, because it is often mastered differently to the AC3 file when both are included on a DVD. Read the wikipedia page for more info on this subject.
DTS Extended Surround. Basically the same as DTS, just with another channel included. The extra channel is a second 'center surround' channel. Comes in two varieties, but both are reasonably rare. The first is called Matrix, where the extra channel is modulated into the existing channels (remember dolby pro logic? Like that). Also there is the Discrete variant, where the extra channel is included as another totally separate channel. Both are backwards compatible (i.e., just the 5.1 will play in a normal DTS decoder). Wikipedia might tell you more.
DTS High Definition Master Audio. An updated version of DTS ES that is also lossless. It's very similar to the above. There's a normal DTS track that's played back if the decoder doesn't support this. 'This' is the lossless version, which supports 8 channels, 96 kHz sampling rate and 24bit depth. The bitrate also goes up to 25mbit! Just thinking about what could make someone think that bitrate is required for an audio stream makes me shudder in horror. Decoding support for this is optional for both HD DVD and Blu-ray, so with any luck it will never see the light of day. Wikipedia.
DTS High Definition High Resolution (is it just me, or are these names are getting progressively dumber?). What was produced when DTS realised nobody would support DTS-HD MA. Supports 8 channels at 96 kHz and 24 bit depth. Wow, sounds the same as the above! It is, just not lossless. What difference does that make? Well, about 19mbits. Yes, the maximum bitrate is now a far more sane 6mbit. Wikipedia.
Flac stands for Free Lossless Audio Codec. It is a lossless audio codec like TrueHD and DTS-HD MA.