<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.hydrogenaudio.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Saratoga</id>
	<title>Hydrogenaudio Knowledgebase - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.hydrogenaudio.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Saratoga"/>
	<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=Special:Contributions/Saratoga"/>
	<updated>2026-05-14T22:37:28Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.44.2</generator>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=High_Definition_Compatible_Digital&amp;diff=26701</id>
		<title>High Definition Compatible Digital</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=High_Definition_Compatible_Digital&amp;diff=26701"/>
		<updated>2016-07-03T04:22:01Z</updated>

		<summary type="html">&lt;p&gt;Saratoga: clarify what the ffmpeg options do&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;High Definition Compatible Digital&#039;&#039;&#039;, or &#039;&#039;&#039;HDCD&#039;&#039;&#039; is a Microsoft proprietary audio encode-decode process that claims to provide increased dynamic range over that of standard Redbook audio CDs, while retaining backward compatibility with existing Compact disc players. —[https://en.wikipedia.org/wiki/High_Definition_Compatible_Digital HDCD article at Wikipedia]&lt;br /&gt;
&lt;br /&gt;
HDCD encodes a virtual 20-bit audio stream in the 16-bit redbook audio stream. Decoding the extra information required an HDCD-compatible player or Windows Media Player. There was no public documentation for the process, but it was eventually reverse engineered. Many HDCD-encoded CDs were released from the mid 1990s until about 2008. Microsoft no longer advertises nor supports HDCD.&lt;br /&gt;
&lt;br /&gt;
A lossless copy of CD audio will include the HDCD data.&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.head-fi.org/t/65414/hdcd-list List of known HDCD compact discs] at Head-Fi.org&lt;br /&gt;
* Technical examination by Jim Lesurf: [http://www.audiomisc.co.uk/HFN/HDCD/Enigma.html Page 1] [http://www.audiomisc.co.uk/HFN/HDCD/Examined.html Page 2]&lt;br /&gt;
&lt;br /&gt;
== Decoding software ==&lt;br /&gt;
As HDCD is a proprietary extension owned by Microsoft, Windows Media Player was the only software to support it for a long time. A simple closed-source Windows-only decoding tool, called hdcd.exe, appeared in 2007 on the Doom9 Forum, a product of reverse-engineering Windows Media Player. [http://forum.doom9.org/showthread.php?t=129136] Since that time, an open source implementation has come to exist based on this work. It supports the peak extend and gain HDCD features, while the transient filter feature is detected but not implemented.&lt;br /&gt;
&lt;br /&gt;
=== Audio players ===&lt;br /&gt;
* Windows Media Player, but there is a bug where HDCD will not be enabled if the HDCD control signal is not detected near the beginning of a song&lt;br /&gt;
* [[Foobar2000]] can decode HDCD to 20-bit PCM via [[Foobar2000:Components/HDCD Decoder (foo dsp hdcd)|foo_dsp_hdcd]] ([https://github.com/kode54/foo_hdcd/blob/master/hdcd_decode.c source])&lt;br /&gt;
* [[dBpoweramp]] will decode HDCD to 24-bit PCM&lt;br /&gt;
* [[CUETools]]&lt;br /&gt;
&lt;br /&gt;
=== FFmpeg ===&lt;br /&gt;
FFmpeg version 3.1&#039;s libavfilter supports a HDCD filter that will convert HDCD-encoded audio to PCM at up to 20-bit precision. The filter is based on the Foobar2000 component source code.&lt;br /&gt;
&lt;br /&gt;
;Example:FLAC with HDCD encoded in 16-bit (perhaps ripped from a CD)&lt;br /&gt;
 ffmpeg -i input16.flac -af hdcd output24.flac&lt;br /&gt;
;Example 2:Notice the output from the filter is truncated down to 16-bit because the wav muxer defaults to pcm_s16le...&lt;br /&gt;
 ffmpeg -i input16.wav -af hdcd output16.wav&lt;br /&gt;
;Example 3:... if you want to use another format (like pcm_s24le), you have to specify it with the acodec option&lt;br /&gt;
 ffmpeg -i input16.wav -af hdcd -acodec pcm_s24le output24.wav&lt;/div&gt;</summary>
		<author><name>Saratoga</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=Transparency&amp;diff=23273</id>
		<title>Transparency</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=Transparency&amp;diff=23273"/>
		<updated>2012-09-10T23:57:54Z</updated>

		<summary type="html">&lt;p&gt;Saratoga: don&amp;#039;t explain how to scientifically prove something is true that is also subjective since that would be nonsense&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;In [[psychoacoustics]], &#039;&#039;&#039;transparency&#039;&#039;&#039; is the ideal result of [[lossy]] data compression. If a lossily compressed result is perceptually indistinguishible from the uncompressed input, then the compression can be declared to be transparent. In other words, transparency is the situation where [[artifact]]s are nonexistant or imperceptible.&lt;br /&gt;
&lt;br /&gt;
Transparency depends most on the listener&#039;s familiarity with artifacts, and to a lesser extent, the compression method, [[bitrate]] used, input characteristics, listening conditions, and listening equipment. It also depends, on the particular music piece or sound under examination. Some audio samples, when compressed with certain algorithms under certain conditions, are known to cause artifacts of a specific kind (see, for example, the samples from the [http://lame.sourceforge.net/quality.php Lame MP3 Encoder Quality and Listening Test Information web page]).&lt;br /&gt;
&lt;br /&gt;
Judging transparency can be difficult due to observation bias, in which subjective like/dislike of a certain compression methodology emotionally influences his/her judgment. This bias is commonly referred to as &#039;&#039;placebo,&#039;&#039; although this use is slightly different from the medical use of the term.&lt;br /&gt;
&lt;br /&gt;
By definition, there is no way to prove whether a certain compression methodology is transparent. To scientifically prove that a compression method is &#039;&#039;not&#039;&#039; transparent, one should either show that the particular compression method results in a measurable and easily perceived artifact, or use double-blind tests where the high anchor is the original uncompressed audio. For such tests the [[ABX]] method is normally used, and the audio samples should be chosen so as to make the detection of artifacts more obvious.&lt;br /&gt;
&lt;br /&gt;
Non-lossy compression algorithms are assumed to be transparent: a non-lossy compression methodology should never introduce any artifact.&lt;br /&gt;
&lt;br /&gt;
Transparency at the lowest possible bitrate also seems to be used as a measure of the quality or degree of sophistication and tuning of a lossy compression algorithm:&lt;br /&gt;
* MP3-encoded files are generally considered artifact-free at bitrates at/above 192kbps.&lt;br /&gt;
* Vorbis ogg files are supposedly artifact-free at bitrates at/above 160kbps.&lt;br /&gt;
* AAC-encoded files, depending on the particular encoder implementation, are claimed to be artifact-free at lower bitrates than both Vorbis ogg and MP3.&lt;br /&gt;
&lt;br /&gt;
With the present competition between compression formats (open and proprietary) and encoder implementations (GPL&#039;d, proprietary), any claims of transparency at any given bitrate should always be considered with some skepticism.&lt;br /&gt;
&lt;br /&gt;
[[Category:Listening Tests]]&lt;/div&gt;</summary>
		<author><name>Saratoga</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=Transparency&amp;diff=23272</id>
		<title>Transparency</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=Transparency&amp;diff=23272"/>
		<updated>2012-09-10T23:51:30Z</updated>

		<summary type="html">&lt;p&gt;Saratoga: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;In [[psychoacoustics]], &#039;&#039;&#039;transparency&#039;&#039;&#039; is the ideal result of [[lossy]] data compression. If a lossily compressed result is perceptually indistinguishible from the uncompressed input, then the compression can be declared to be transparent. In other words, transparency is the situation where [[artifact]]s are nonexistant or imperceptible.&lt;br /&gt;
&lt;br /&gt;
Transparency depends most on the listener&#039;s familiarity with artifacts, and to a lesser extent, the compression method, [[bitrate]] used, input characteristics, listening conditions, and listening equipment. It also depends, of course, on the particular music piece or sound under examination. Some audio samples, when compressed with certain algorithms under certain conditions, are known to cause artifacts of a specific kind (see, for example, the samples from the [http://lame.sourceforge.net/quality.php Lame MP3 Encoder Quality and Listening Test Information web page]).&lt;br /&gt;
&lt;br /&gt;
Judging transparency can be difficult due to observation bias, in which subjective like/dislike of a certain compression methodology emotionally influences his/her judgment. This bias is commonly referred to as &#039;&#039;placebo,&#039;&#039; although this use is slightly different from the medical use of the term.&lt;br /&gt;
&lt;br /&gt;
By definition, there is no way to prove whether a certain compression methodology is transparent, since transparency is a perceptual, subjective phenomenon. To scientifically prove that a compression method is &#039;&#039;not&#039;&#039; transparent, one should either show that the particular compression method results in a measurable and easily perceived artifact, or use double-blind tests where the high anchor is the original uncompressed audio. For such tests the [[ABX]] method is normally used, and the audio samples should be chosen so as to make the detection of artifacts more obvious.&lt;br /&gt;
&lt;br /&gt;
Non-lossy compression algorithms are assumed to be transparent: a non-lossy compression methodology should never introduce any artifact.&lt;br /&gt;
&lt;br /&gt;
Transparency at the lowest possible bitrate also seems to be used as a measure of the quality or degree of sophistication and tuning of a lossy compression algorithm:&lt;br /&gt;
* MP3-encoded files are generally considered artifact-free at bitrates at/above 192kbps.&lt;br /&gt;
* Vorbis ogg files are supposedly artifact-free at bitrates at/above 160kbps.&lt;br /&gt;
* AAC-encoded files, depending on the particular encoder implementation, are claimed to be artifact-free at lower bitrates than both Vorbis ogg and MP3.&lt;br /&gt;
&lt;br /&gt;
With the present competition between compression formats (open and proprietary) and encoder implementations (GPL&#039;d, proprietary), any claims of transparency at any given bitrate should always be considered with some skepticism.&lt;br /&gt;
&lt;br /&gt;
[[Category:Listening Tests]]&lt;/div&gt;</summary>
		<author><name>Saratoga</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=Frequency_analysis&amp;diff=23163</id>
		<title>Frequency analysis</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=Frequency_analysis&amp;diff=23163"/>
		<updated>2012-05-14T05:02:57Z</updated>

		<summary type="html">&lt;p&gt;Saratoga: fixed formatting on links&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;;Why Shouldn&#039;t We Use Frequency or Spectral Graphs to Compare Audio Codecs?&lt;br /&gt;
&lt;br /&gt;
# You can&#039;t know precisely what is audible and what is not audible just by looking at graphs. &#039;&#039;(Remember: It&#039;s &#039;&#039;&#039;music&#039;&#039;&#039; that we are talking about.)&#039;&#039;&lt;br /&gt;
# [[FFT]] [[frequency]] response graphs are rough and can&#039;t tell practically anything about the temporal (short time) accuracy.&lt;br /&gt;
# All psychoacoustic models are different. What can look good in graphs, doesn&#039;t necessarely sound too good and vice versa.&lt;br /&gt;
# Graphical analysis is often useful, but only when used together with a listening test. The most useful view is the sound spectra view (spectral view in [[Adobe Audition]]).&lt;br /&gt;
# Blind listening testing ([[ABX]]) is the only method that can really be justified when testing quality. Blind testing, when enough probability is reached, is not affected by anykind of bias or [[placebo effect]].&lt;br /&gt;
# Difference/substraction/inverse-mixing method is not conclusive either.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;See the following links for more discussion:&lt;br /&gt;
* [http://www.hydrogenaudio.org/forums/index.php?showtopic=4734 Why subtracting one waveform from another is not a good analysis of encoding]&lt;br /&gt;
* [http://www.hydrogenaudio.org/forums/index.php?showtopic=754 Why merely comparing waveforms is not really effective]&lt;br /&gt;
* [http://www.hydrogenaudio.org/forums/index.php?showtopic=7834 Why waveforms cannot be used to deduce quality, but may be useful to know what the encoder is doing]&lt;/div&gt;</summary>
		<author><name>Saratoga</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=Dither&amp;diff=23142</id>
		<title>Dither</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=Dither&amp;diff=23142"/>
		<updated>2012-03-22T01:15:21Z</updated>

		<summary type="html">&lt;p&gt;Saratoga: improve description of dither&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Dither is random or semi-random noise added to a signal in order to mask quantization noise and/or extend dynamic range. The simplest dither is quiet white noise, but more complicated forms of dither are possible using [[noise shaping]], and they can even be completely inaudible.&lt;br /&gt;
&lt;br /&gt;
==Bit depth reduction==&lt;br /&gt;
A common use for dither is to improve the perceived audio quality when converting a digital signal from a higher bit depth to a lower one, e.g. from 24-bit to 16-bit.  By dithering the signal with a small amount of added noise, the additional rounding error added from requantization can be decorreated from the signal, resulting in a noise floor that is mathematically slightly higher, but audibly less noticeable.  The addition of dither becomes more important as the number of quantization levels decreases, and so is particularly important when converting to 8 bit or lower audio.&lt;br /&gt;
&lt;br /&gt;
From [http://www.hydrogenaudio.org/forums/index.php?showtopic=87045&amp;amp;view=findpost&amp;amp;p=745851 a HydrogenAudio forum post] by AndyH-ha:&lt;br /&gt;
&lt;br /&gt;
&amp;quot;When you reduce bit depth there will be resulting distortion. This has two aspects, the change (error) in the waveform itself and an unpleasant addition to the sound because of the error. The waveform error is expressed in the output signal as noise, but noise related to (correlated to) the audio from which it is derived. This is a quality of noise that is generally found to be unpleasant.&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Adding dither before reducing the bit depth randomizes the error. This completely eliminates the unpleasant sound aspect of the error. Instead it will result in a benign white noise kind of background sound. There is thus new noise from two sources in the bit depth reduced audio. The first is the dither noise added prior to bit reduction. The second is the error noise (quantization error) of the bit reduction process. Without the first, randomizing noise, the second noises add an unpleasant aspect to the audio. With the dither, the total noise is much less objectionable than the quantization noise alone.&lt;br /&gt;
&lt;br /&gt;
&amp;quot;This is mathematically correct, and observable with the proper equipment. It is doctrinally correct in the church of quality audio: always add dither when reducing the bit depth. However, I challenge you or anyone else to be able to ABX any real 16 bit music, dithered against non-dithered — unless perhaps some really bad software is used to do the bit reduction. Going to lower bit depths, such as to 8 bit, frequently makes the dither vs non-dither difference obvious and so this is the way it is demonstrated.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Is dither really necessary?==&lt;br /&gt;
&amp;lt;!--adapted from another Andy H-ha post in the same thread--&amp;gt;&lt;br /&gt;
Going from 24-bit to 16-bit, the quantization error is very small and the distortion/noise is extremely unlikely to be heard in any real music. Since quantization error isn’t audible in any real music at useable listening levels, whether dither must be used is more a matter of doctrine than functionality.&lt;br /&gt;
&lt;br /&gt;
Many sources (e.g. cassettes and LPs) already have considerable noise such as tape hiss. Even the best live recordings get some noise from the equipment, especially microphone preamplifiers. This might not make the best dither, but it acts in the same way, to largely de-correlate the quantization error from the signal.&lt;br /&gt;
&lt;br /&gt;
Anyone who believes dither is always necessary for conversions to 16-bit should submit, on the HydrogenAudio forums, samples that can be discriminated in blind testing.&lt;br /&gt;
&lt;br /&gt;
{{stub}}&lt;/div&gt;</summary>
		<author><name>Saratoga</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=Dither&amp;diff=23141</id>
		<title>Dither</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=Dither&amp;diff=23141"/>
		<updated>2012-03-22T01:05:03Z</updated>

		<summary type="html">&lt;p&gt;Saratoga: revert questionable edits&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Dither is random or semi-random noise added to a signal in order to mask quantization noise and/or extend dynamic range. The simplest dither is quiet white noise, but more complicated forms of dither are possible using [[noise shaping]], and they can even be completely inaudible.&lt;br /&gt;
&lt;br /&gt;
==Bit depth reduction==&lt;br /&gt;
A common use for dither is to improve the perceived audio quality when converting a digital signal from a higher bit depth to a lower one, e.g. from 24-bit to 16-bit.&lt;br /&gt;
&lt;br /&gt;
From [http://www.hydrogenaudio.org/forums/index.php?showtopic=87045&amp;amp;view=findpost&amp;amp;p=745851 a HydrogenAudio forum post] by AndyH-ha:&lt;br /&gt;
&lt;br /&gt;
&amp;quot;When you reduce bit depth there will be resulting distortion. This has two aspects, the change (error) in the waveform itself and an unpleasant addition to the sound because of the error. The waveform error is expressed in the output signal as noise, but noise related to (correlated to) the audio from which it is derived. This is a quality of noise that is generally found to be unpleasant.&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Adding dither before reducing the bit depth randomizes the error. This completely eliminates the unpleasant sound aspect of the error. Instead it will result in a benign white noise kind of background sound. There is thus new noise from two sources in the bit depth reduced audio. The first is the dither noise added prior to bit reduction. The second is the error noise (quantization error) of the bit reduction process. Without the first, randomizing noise, the second noises add an unpleasant aspect to the audio. With the dither, the total noise is much less objectionable than the quantization noise alone.&lt;br /&gt;
&lt;br /&gt;
&amp;quot;This is mathematically correct, and observable with the proper equipment. It is doctrinally correct in the church of quality audio: always add dither when reducing the bit depth. However, I challenge you or anyone else to be able to ABX any real 16 bit music, dithered against non-dithered — unless perhaps some really bad software is used to do the bit reduction. Going to lower bit depths, such as to 8 bit, frequently makes the dither vs non-dither difference obvious and so this is the way it is demonstrated.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Is dither really necessary?==&lt;br /&gt;
&amp;lt;!--adapted from another Andy H-ha post in the same thread--&amp;gt;&lt;br /&gt;
Going from 24-bit to 16-bit, the quantization error is very small and the distortion/noise is extremely unlikely to be heard in any real music. Since quantization error isn’t audible in any real music at useable listening levels, whether dither must be used is more a matter of doctrine than functionality.&lt;br /&gt;
&lt;br /&gt;
Many sources (e.g. cassettes and LPs) already have considerable noise such as tape hiss. Even the best live recordings get some noise from the equipment, especially microphone preamplifiers. This might not make the best dither, but it acts in the same way, to largely de-correlate the quantization error from the signal.&lt;br /&gt;
&lt;br /&gt;
Anyone who believes dither is always necessary for conversions to 16-bit should submit, on the HydrogenAudio forums, samples that can be discriminated in blind testing.&lt;br /&gt;
&lt;br /&gt;
{{stub}}&lt;/div&gt;</summary>
		<author><name>Saratoga</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=Original_ReplayGain_specification&amp;diff=22908</id>
		<title>Original ReplayGain specification</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=Original_ReplayGain_specification&amp;diff=22908"/>
		<updated>2011-08-14T20:00:14Z</updated>

		<summary type="html">&lt;p&gt;Saratoga: /* Metadata format */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Although music is encoded to a digital format with a clearly defined maximum peak amplitude, and although most recordings are normalized to utilize this peak amplitude, not all recordings sound equally loud. This is because once this peak amplitude is reached, perceived loudness can be further increased through signal-processing techniques such as dynamic range compression and equalization.&amp;lt;ref&amp;gt;Source: Wikipedia - [http://en.wikipedia.org/wiki/Loudness_war Loudness war]&amp;lt;/ref&amp;gt; Therefore, the loudness of a given album has more to do with the year of issue or the whim of the producer than the intended emotional effect. Because of this, a random play through a music collection can have one leaping for the volume control every other track.&lt;br /&gt;
&lt;br /&gt;
There is a solution to this annoyance: within each audio file, information can be stored about what volume change would be required to play each track or album at a standard loudness, and players can use this &amp;quot;replay gain&amp;quot; information to automatically nudge the volume up or down as required.&lt;br /&gt;
&lt;br /&gt;
The ReplayGain specification is a standard which defines an appropriate reference level, explains a way of calculating and representing the ideal replay gain for a given track or album, and provides guidance for players to make the required volume adjustment during playback. The standard also specifies a means to prevent clipping when the calculated replay gain exceeds the limits of digital audio, and it describes how the replay gain information is stored within audio files.&lt;br /&gt;
&lt;br /&gt;
==Loudness measurement==&lt;br /&gt;
Loudness is a subjective measure of the intensity of sound. The correlation of perceived loudness to sound pressure level is determined by the peculiarities of the auditory system. ReplayGain attempts to model those peculiarities with the following measurement procedure.&lt;br /&gt;
&lt;br /&gt;
===Loudness filter===&lt;br /&gt;
[[File:RG_Equal_loudness_all.gif‎|frame|Figure 1: Loudness filter target response (blue), high-pass response (green) and composite response (red)]]&lt;br /&gt;
&lt;br /&gt;
The human ear does not perceive sounds of all frequencies as having equal loudness. For example, a full-scale sine wave at 1 kHz sounds much louder than a full scale sine wave at 100 Hz, even though the two have identical energy. To account for this, the signal is filtered by an inverted approximation of the equal loudness curves (sometimes referred to as Fletcher&amp;amp;ndash;Munson curves) which describe the sensitivity of the ear as a function of frequency. The desired filter response derived from the equal loudness curves is shown in figure 1 (blue).&lt;br /&gt;
&lt;br /&gt;
At higher frequencies a 10th order IIR filter designed by MATLAB&#039;s &amp;quot;yulewalk&amp;quot; function is an excellent approximation to the target. This is cascaded with a 2nd order Butterworth high pass filter, with a high pass frequency of 150 Hz (Figure 1 [green]). The resulting combined response (Figure 1 [red]) is close to the target response, and is used by ReplayGain.&lt;br /&gt;
&lt;br /&gt;
[[File:RG_IIR-filter.png|frame|Figure 2: IIR filter topology used by &amp;quot;yulewalk&amp;quot; and Butterworth filter components]]&lt;br /&gt;
&lt;br /&gt;
The filter topology used for the components of the loudness filter is shown in figure 2. The filter coefficients for 48 and 44.1&amp;amp;nbsp;kHz sample rates are given for the Butterworth and &amp;quot;yulewalk&amp;quot; components in tables 1 and 2 respectively. When using other sample rates, coefficients must be transformed to maintain the same filter response.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|+Table 1a: Butterworth filter coefficients (F&amp;lt;sub&amp;gt;s&amp;lt;/sub&amp;gt;=48&amp;amp;nbsp;kHz)&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
| &#039;&#039;b(0)&#039;&#039;&lt;br /&gt;
| 0.98621192462708&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;a(1)&#039;&#039; || 1.97223372919527 || &#039;&#039;b(1)&#039;&#039; || -1.97242384925416&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;a(2)&#039;&#039; || -0.97261396931306 || &#039;&#039;b(2)&#039;&#039; || 0.98621192462708&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|+Table 1b: Butterworth filter coefficients (F&amp;lt;sub&amp;gt;s&amp;lt;/sub&amp;gt;=44.1&amp;amp;nbsp;kHz)&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
| &#039;&#039;b(0)&#039;&#039;&lt;br /&gt;
| 0.98500175787242&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;a(1)&#039;&#039; || 1.96977855582618 || &#039;&#039;b(1)&#039;&#039; || -1.97000351574484&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;a(2)&#039;&#039; || -0.97022847566350 || &#039;&#039;b(2)&#039;&#039; || 0.98500175787242&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|+Table 2a: &amp;quot;Yulewalk&amp;quot; filter coefficients (F&amp;lt;sub&amp;gt;s&amp;lt;/sub&amp;gt;=48&amp;amp;nbsp;kHz)&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
| &#039;&#039;b(0)&#039;&#039;&lt;br /&gt;
| 0.03857599435200&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;a(1)&#039;&#039; || 3.84664617118067 || &#039;&#039;b(1)&#039;&#039; || -0.02160367184185&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;a(2)&#039;&#039; || -7.81501653005538 || &#039;&#039;b(2)&#039;&#039; || -0.00123395316851&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;a(3)&#039;&#039; || 11.34170355132042 || &#039;&#039;b(3)&#039;&#039; || -0.00009291677959&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;a(4)&#039;&#039; || -13.05504219327545 || &#039;&#039;b(4)&#039;&#039; || -0.01655260341619&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;a(5)&#039;&#039; || 12.28759895145294 || &#039;&#039;b(5)&#039;&#039; || 0.02161526843274&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;a(6)&#039;&#039; || -9.48293806319790 || &#039;&#039;b(6)&#039;&#039; || -0.02074045215285&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;a(7)&#039;&#039; || 5.87257861775999 || &#039;&#039;b(7)&#039;&#039; || 0.00594298065125&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;a(8)&#039;&#039; || -2.75465861874613 || &#039;&#039;b(8)&#039;&#039; || 0.00306428023191&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;a(9)&#039;&#039; || 0.86984376593551 || &#039;&#039;b(9)&#039;&#039; || 0.00012025322027&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;a(10)&#039;&#039; || -0.13919314567432 || &#039;&#039;b(10)&#039;&#039; || 0.00288463683916&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
|+Table 2b: &amp;quot;Yulewalk&amp;quot; filter coefficients (F&amp;lt;sub&amp;gt;s&amp;lt;/sub&amp;gt;=44.1&amp;amp;nbsp;kHz)&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
| &#039;&#039;b(0)&#039;&#039;&lt;br /&gt;
| 0.05418656406430&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;a(1)&#039;&#039; || 3.47845948550071 || &#039;&#039;b(1)&#039;&#039; || -0.02911007808948&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;a(2)&#039;&#039; || -6.36317777566148 || &#039;&#039;b(2)&#039;&#039; || -0.00848709379851&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;a(3)&#039;&#039; || 8.54751527471874 || &#039;&#039;b(3)&#039;&#039; || -0.00851165645469&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;a(4)&#039;&#039; || -9.47693607801280 || &#039;&#039;b(4)&#039;&#039; || -0.00834990904936&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;a(5)&#039;&#039; || 8.81498681370155 || &#039;&#039;b(5)&#039;&#039; || 0.02245293253339&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;a(6)&#039;&#039; || -6.85401540936998 || &#039;&#039;b(6)&#039;&#039; || -0.02596338512915&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;a(7)&#039;&#039; || 4.39470996079559 || &#039;&#039;b(7)&#039;&#039; || 0.01624864962975&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;a(8)&#039;&#039; || -2.19611684890774 || &#039;&#039;b(8)&#039;&#039; || -0.00240879051584&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;a(9)&#039;&#039; || 0.75104302451432 || &#039;&#039;b(9)&#039;&#039; || 0.00674613682247&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;a(10)&#039;&#039; || -0.13149317958808 || &#039;&#039;b(10)&#039;&#039; || -0.00187763777362&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Input samples from the audio file to be analysed must be run in cascade manner through both of these filter components before being analysed further.&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear:both&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===RMS level calculation===&lt;br /&gt;
Next, the energy during each moment of the signal is determined by calculating the Root Mean Square (RMS) of the filtered signal every 50ms.&amp;lt;ref&amp;gt;The block length of 50ms was chosen after studying the effect of values between 25ms and 1s. 25ms was too short to accurately reflect the perceived loudness of some sounds. Beyond 50ms there was little change (after statistical processing). For this reason, 50ms was chosen.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The signal is chopped into 50ms long blocks. Then, for each block:&amp;lt;ref&amp;gt;If these steps are read backward, it should be clear why the process is called Root Mean Square averaging.&amp;lt;/ref&amp;gt;&lt;br /&gt;
# Every sample value is squared (multiplied by itself).&lt;br /&gt;
# The mean average is taken.&lt;br /&gt;
# The square root of the average is calculated.&lt;br /&gt;
&lt;br /&gt;
For stereo signals, in step 3, the mean average of all squared samples from both channels over the 50ms measurement interval is taken.&amp;lt;ref&amp;gt;One could sum channels of a stereo signal to mono before calculating the RMS level, but then any out-of-phase components (having the opposite signal on each channel) would cancel out to zero (i.e. silence). That&#039;s not how humans perceive them, so it&#039;s not a good solution.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The result of this calculation is then converted to a decibel representation as follows:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;L=20 \log_{10} \frac{2{L_{RMS}}}{L_{p-p}}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Where:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;L_{RMS}&amp;lt;/math&amp;gt; is the RMS value calculated above&lt;br /&gt;
:&amp;lt;math&amp;gt;L_{p-p}&amp;lt;/math&amp;gt; is the maximum peak-to-peak range of the samples in the audio file&lt;br /&gt;
&lt;br /&gt;
===Statistical processing===&lt;br /&gt;
Where the average energy level of a signal varies with time, the louder moments contribute most to perception of overall loudness. For example, in human speech, over half the time is silence, but the perceived loudness of speech is primarily determined by the levels between silences.&lt;br /&gt;
&lt;br /&gt;
A good method to determine the overall perceived loudness is to sort the RMS values into numerical order, and then pick a value near the top of the list. For highly compressed pop music (e.g. Figure 5(c), where there are many values near the top), the choice makes little difference. For speech and classical music (Figures 5(a) and 5(b) respectively), the choice makes a huge difference. The value which most accurately matches human perception of perceived loudness is 95%,&amp;lt;ref&amp;gt;Based on experiments performed by David Robinson, &amp;quot;I tried values from 70% to 95%. For highly compressed pop music, the choice makes little difference. For speech and classical music, the choice makes a huge difference. The value which most accurately matches human perception of perceived loudness is around 95%, so this value is used by Replay Level.&amp;quot;&amp;lt;/ref&amp;gt; so this value is used by ReplayGain.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery caption=&amp;quot;Figure 5: Loudness histograms&amp;quot;&amp;gt;&lt;br /&gt;
File:RG_Statistical_speech.gif‎‎|(a) Speech&lt;br /&gt;
File:RG_Statistical_classic.gif‎‎|(b) Classical music&lt;br /&gt;
File:RG_Statistical_pop.gif‎‎|(c) Pop music&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Reference level==&lt;br /&gt;
The audio industry does not have a standard for playback system calibration, but in the movie industry a calibration standard has been defined by the Society of Motion Picture and Television Engineers (SMPTE).&amp;lt;ref&amp;gt;SMPTE RP 200:2002 &amp;amp;ndash; Relative and Absolute Sound Pressure Levels for Motion-Picture Multichannel Sound Systems &amp;amp;ndash; Applicable for Analog Photographic Film Audio, Digital Photographic Film Audio and D-Cinema&amp;lt;/ref&amp;gt; The standard states that a single channel pink noise signal with an RMS level of -20 dB relative to a full-scale sinusoid&amp;lt;ref&amp;gt;&amp;quot;dB relative to a full-scale sinusoid&amp;quot; is preferred over &amp;quot;dBFS&amp;quot; as a unit of measure in this specification because there is some ambiguity whether the reference for dBFS is a full-scale square wave (peak reference) or a sine wave (RMS reference).&amp;lt;/ref&amp;gt; should be reproduced at 83 dB SPL.&amp;lt;ref&amp;gt;Measured using a C-weighted, slow averaging SPL meter.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ReplayGain adapts the SMPTE calibration concept for music playback. Under ReplayGain, audio is played so that its loudness, as measured using the procedures described in [[#Loudness measurement|Loudness measurement]] above, matches the loudness of a pink noise signal with an RMS level of -14 dB relative to a full-scale sinusoid,&amp;lt;ref&amp;gt;The initial ReplayGain proposal used the same -20 dB reference used by SMPTE. The reference was raised to -14 dB early on in ReplayGain development. This reference is used in all current ReplayGain implementations.&amp;lt;/ref&amp;gt; also measured using the procedures described above.&lt;br /&gt;
&lt;br /&gt;
In ReplayGain implementations, the reference level is described in terms of the SMPTE SPL playback level. By the SMPTE definition, the 83 dB SPL reference corresponds to -20FS dB system headroom. The -14 dB headroom used by ReplayGain therefore corresponds to an 89 dB SPL playback level on a SMPTE calibrated system and so is said to be operating with an 89 dB reference level.&lt;br /&gt;
&lt;br /&gt;
SMPTE cinema calibration calls for a single channel of pink noise reproduced through a single loudspeaker. In music applications, the ideal level of the music is actually the loudness when both speakers are in use. So, ReplayGain is calibrated to two channels of pink noise.&amp;lt;ref&amp;gt;In reality, a monophonic pink noise wave file is used, and ReplayGain automatically assumes the file is being played through both speakers, as would any monophonic file.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Gain calculation==&lt;br /&gt;
RG achieves loudness compensated playback by applying gain (or attenuation) dependent on the measured loudness of the audio file relative to the established reference level. The gain is calculated as follows:&lt;br /&gt;
:&amp;lt;math&amp;gt;RG=L_{n14}-L&amp;lt;/math&amp;gt;&lt;br /&gt;
Where all quantities are expressed in decibels:&lt;br /&gt;
:&amp;lt;math&amp;gt;RG&amp;lt;/math&amp;gt; is the replay gain adjustment,&lt;br /&gt;
:&amp;lt;math&amp;gt;L_{n14}&amp;lt;/math&amp;gt; is the measured loudness of the -14 dB pink noise reference and&lt;br /&gt;
:&amp;lt;math&amp;gt;L&amp;lt;/math&amp;gt; is the measured loudness of the audio file.&lt;br /&gt;
&lt;br /&gt;
Replay gain is positive if the loudness of the audio file is lower than the pink noise reference. The gain is negative (representing an attenuation) if the loudness of the audio file is higher than that of the reference. The gain is stored as metadata with the audio file as described below and is used by players to adjust output volume of tracks as they are played as described in [[#Player requirements|Player requirements]] below.&lt;br /&gt;
&lt;br /&gt;
==Metadata==&lt;br /&gt;
For ReplayGain to do its work during playback, four values must be stored as metadata&amp;lt;ref&amp;gt;Metadata is &amp;quot;data about data.&amp;quot; For example, the ID3 &#039;&#039;de facto&#039;&#039; standard provides a way to store artist, title, album title, track number, and other metadata in data blocks called &amp;quot;tags&amp;quot; immediately before or after the audio data in an MP3 file. Other metadata storage/tagging standards and conventions exist for other audio file formats.&amp;lt;/ref&amp;gt; with or within the audio file:&lt;br /&gt;
# Peak track amplitude&lt;br /&gt;
# Peak album amplitude&lt;br /&gt;
# Track replay gain&lt;br /&gt;
# Album replay gain&lt;br /&gt;
&lt;br /&gt;
If calculated for an individual track, the loudness measurement (as specified above) yields track replay gain. If calculated on an album basis, with all tracks concatenated to make one long audio file, the loudness measurement yields album replay gain.&lt;br /&gt;
&lt;br /&gt;
===Replay gain===&lt;br /&gt;
Under some listening conditions, it&#039;s useful to have every track sound equally loud. The problem with a track-by-track approach is that tracks which should be quiet in the context of the album on which they reside will be brought up to the level of all the rest. For casual listening, or in a noisy background, this can be a good thing. For serious listening, it does not respect the intent of the artist or mastering engineer; a tender ballad track will be blasting at the same loudness as a hard rock track on the same album. It&#039;s generally ideal to leave the intentional loudness differences between tracks in place, yet still correct for unmusical and annoying loudness differences between albums. To accomplish this, ReplayGain suggests that two different gain adjustments should be stored as metadata with each sound file.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Album replay gain&#039;&#039; represents the ideal listening gain for an entire album. ReplayGain reads the collection of tracks that comprise a album, and calculates a single replay gain for the whole set. This single gain can be used for playback of all tracks of the album. Intentionally quiet tracks then stay appropriately quieter than the rest. It still solves the basic problem (annoying, unwanted level differences between discs) because quiet or loud discs are still adjusted overall&amp;amp;mdash;so the pop CD that&#039;s 20 dB louder than the classical CD will be brought into line.&lt;br /&gt;
&lt;br /&gt;
===Peak amplitude===&lt;br /&gt;
Scanning a track or album for the peak amplitude can be a time-consuming process. Therefore, it&#039;s helpful if this single value is stored as metadata. This is used to predict whether the required replay gain adjustment will cause clipping during playback.&lt;br /&gt;
&lt;br /&gt;
The maximum peak amplitude value is stored as a floating point number, where 1.0 represents digital full scale. As with replay gain values, separate peak amplitude values are stored per track and per album.&lt;br /&gt;
&lt;br /&gt;
For uncompressed files simply, scanners store the maximum absolute sample value held in the file on any channel for positive or negative excursion. The single sample value should be converted to a floating-point representation, such that digital full scale is equivalent to a value of 1.0.&lt;br /&gt;
&lt;br /&gt;
Psychoacoustically coded audio, such as MP3, does not exist as a sequence of samples until it is decoded. Psychoacoustic coding of a heavily limited file can lead to sample values larger than digital full scale upon decoding. The coded files must be decoded using a fully compliant decoder that allows peak overflows (i.e. has headroom) and may result in peak amplitude values greater than 1.0.&lt;br /&gt;
&lt;br /&gt;
==Metadata format==&lt;br /&gt;
From the standpoint of metadata storage, each audio file format presents a unique situation. There are three favored schemes defined for storage of ReplayGain metadata: &#039;&#039;&#039;ID3v2&#039;&#039;&#039;, &#039;&#039;&#039;Vorbis comments&#039;&#039;&#039; and &#039;&#039;&#039;APEv2&#039;&#039;&#039;. A survey of file formats is listed below with metadata schemes in order of preference for each:&lt;br /&gt;
* .aac (Advanced Audio Coding raw format) &amp;amp;ndash; No metadata support (use .mp4 instead)&lt;br /&gt;
* .aiff, .aif, .aifc (Apple Interchange File Format) &amp;amp;ndash; &#039;&#039;&#039;ID3v2&#039;&#039;&#039; (in &amp;quot;ID3&amp;quot; IFF chunk)&lt;br /&gt;
* .ape, .apl (Monkey&#039;s Audio) &amp;amp;ndash; &#039;&#039;&#039;APEv2&#039;&#039;&#039;&lt;br /&gt;
* .bwf (Broadcast Wave Format) &amp;amp;ndash; &#039;&#039;&#039;ID3v2&#039;&#039;&#039; (in RIFF chunk)&lt;br /&gt;
* .flac (Free Lossless Audio Codec) &amp;amp;ndash; &#039;&#039;&#039;Vorbis comments&#039;&#039;&#039;&lt;br /&gt;
* .mp3 (MPEG audio layer 3) &amp;amp;ndash; &#039;&#039;&#039;ID3v2&#039;&#039;&#039;, LAME VBR proposed tag specification&lt;br /&gt;
* .mp4 also .m4a, .m4b, .m4p, m4r (MPEG-4 Part 14) &amp;amp;ndash; &#039;&#039;&#039;ID3v2&#039;&#039;&#039; (in &amp;quot;ID32&amp;quot; box)&lt;br /&gt;
* .mpc (Musepack) &amp;amp;ndash; &#039;&#039;&#039;APEv2&#039;&#039;&#039;&lt;br /&gt;
* .ogg (Ogg Vorbis) &amp;amp;ndash; &#039;&#039;&#039;Vorbis comments&#039;&#039;&#039;&lt;br /&gt;
* .tta (True Audio) &amp;amp;ndash; &#039;&#039;&#039;ID3v2&#039;&#039;&#039;, &#039;&#039;&#039;APEv2&#039;&#039;&#039;&lt;br /&gt;
* .wma (Windows Media audio) - In Extended Content Description Object, Vorbis Comment ASCII values&lt;br /&gt;
* .wav (Windows PCM) &amp;amp;ndash; No metadata support (use .bwf instead)&lt;br /&gt;
* .wv (WavePak) &amp;amp;ndash; &#039;&#039;&#039;APEv2&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===ID3v2===&lt;br /&gt;
The ID3v2 standard&amp;lt;ref&amp;gt;The ID3v2 format is explained at [http://www.id3.org/ www.id3.org]. The most useful document is the [http://www.id3.org/id3v2.3.0.html ID3v2 v2.3.0 standard]. Although this document has been superseded by v2.4.0, the earlier document is complete (rather than an update), and in indexed HTML form. As such, it represents a better technical introduction to ID3v2.&amp;lt;/ref&amp;gt; defines a &#039;&#039;tag&#039;&#039; which is situated before the data in an MP3 file.&amp;lt;ref&amp;gt;The original ID3 (v1) tags resided at the end of the file, and contained a few fields of information. The ID3v1 tag is not extensible and therefore cannot support ReplayGain metadata.&amp;lt;/ref&amp;gt; ID3 is used primarily with MP3 audio files but means of adapting the system to other file types have been developed.&lt;br /&gt;
&lt;br /&gt;
The ID3v2 tag is divided into &#039;&#039;frames&#039;&#039;. The preferred means of storing ReplayGain metadata is use of &#039;&#039;TXXX&#039;&#039; key/value pair frames. Two other legacy schemes for storing ReplayGain metadata exist: [[ReplayGain_legacy_metadata_formats#ID3v2_RGAD|RGAD]] and [[ReplayGain_legacy_metadata_formats#ID3v2_RVA2|RVA2]]. These formats are documented in the [[ReplayGain legacy metadata formats|appendix]]. Players may choose to look for these formats if metadata in the &#039;&#039;TXXX&#039;&#039; format is not found in the ID3v2 tag. New scanners may write these older formats in addition to the newer (TXXX) ones if they wish to remain backwards compatible with older players.&lt;br /&gt;
&lt;br /&gt;
ReplayGain uses four TXXX frames. The header of a TXXX frame is coded as follows:&lt;br /&gt;
&lt;br /&gt;
 Frame ID       $54 58 58 58 (&amp;quot;TXXX&amp;quot;) &lt;br /&gt;
 Size           $xx xx xx xx (size of frame excluding this header)&lt;br /&gt;
 Flags          $40 $00      (discard frame if audio data is altered)&lt;br /&gt;
&lt;br /&gt;
Frame data is coded as follows:&lt;br /&gt;
&lt;br /&gt;
 Text encoding  $00          (ISO-8859-1 encoding)&lt;br /&gt;
 Description    &amp;lt;key string&amp;gt; $00&lt;br /&gt;
 Value          &amp;lt;value string&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The four frames associated with ReplayGain metadata use the following key/value pairs&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Table 3: Metadata keys and value formatting&lt;br /&gt;
|-&lt;br /&gt;
!Metadata&lt;br /&gt;
!Key&lt;br /&gt;
!Value format&lt;br /&gt;
|-&lt;br /&gt;
|Track replay gain&lt;br /&gt;
|REPLAYGAIN_TRACK_GAIN&lt;br /&gt;
|[-]a.bb dB&lt;br /&gt;
|-&lt;br /&gt;
|Peak track amplitude&lt;br /&gt;
|REPLAYGAIN_TRACK_PEAK&lt;br /&gt;
|c.dddddd&lt;br /&gt;
|-&lt;br /&gt;
|Album replay gain&lt;br /&gt;
|REPLAYGAIN_ALBUM_GAIN&lt;br /&gt;
|[-]a.bb dB&lt;br /&gt;
|-&lt;br /&gt;
|Peak album amplitude&lt;br /&gt;
|REPLAYGAIN_ALBUM_PEAK&lt;br /&gt;
|c.dddddd&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Gains are specified textually in decibels. Negative gains (attenuation) are prefixed with a &#039;-&#039;. Positive gains have no prefix. Integral portion of the gain (a) may be one or two numeric (0-9) digits. If there is no integral portion the field is &#039;0&#039;. The decimal portion of the gain (bb) is two numeric digits. Gains are suffixed with a space followed by &#039;dB&#039;.&lt;br /&gt;
&lt;br /&gt;
Peak levels are specified textually as a positive decimal. Peak level is a dimensionless quantity with 1.000000 representing full scale. No suffix is included on peak values. The integer field (c) is typically 1 or 0. Six numeric digits in the decimal field (dddddd) is adequate to accurately represent peak values for 16-bit audio data.&lt;br /&gt;
&lt;br /&gt;
A robust player should be prepared to parse the following variations in either replay gain or peak level metadata:&lt;br /&gt;
*Positive gains with leading &#039;+&#039;&lt;br /&gt;
*More or fewer significant digits than specified in any field&lt;br /&gt;
*Leading zeros or spaces in integer fields&lt;br /&gt;
*Missing or malformed &#039;dB&#039; suffix (e.g. no space between numeric digits and suffix, alternate capitalization)&lt;br /&gt;
*Alternate capitalization of keys&lt;br /&gt;
&lt;br /&gt;
Other formatting errors indicate more severe problems and should result in player ignoring data as if the frame did not exist.&lt;br /&gt;
&lt;br /&gt;
===Vorbis comments===&lt;br /&gt;
A Vorbis comment&amp;lt;ref&amp;gt;[http://www.xiph.org/vorbis/doc/v-comment.html Vorbis comment metadata format]. ReplayGain metadata is documented on the [http://wiki.xiph.org/VorbisComment#Replay_Gain Xiph Wiki].&amp;lt;/ref&amp;gt; uses an ASCII &amp;lt;tt&amp;gt;key=value&amp;lt;/tt&amp;gt; format. When Vorbis comments are used, the four ReplayGain metadata items are stored as separate comments. The &#039;&#039;keys&#039;&#039; and formatting for &#039;&#039;values&#039;&#039; is the same as specified for ID3v2. Keys and values are required by the Vorbis comment specification to b separated by &#039;=&#039; (equal character).&lt;br /&gt;
&lt;br /&gt;
===APEv2===&lt;br /&gt;
The APEv2 metadata format&amp;lt;ref&amp;gt;[http://wiki.hydrogenaudio.org/index.php?title=APEv2_specification APEv2 Specification at Hydrogen Audio Wiki]&amp;lt;/ref&amp;gt; also organizes data into key/value pairs. Keys are ASCII format. A flags field allows support for several value formats including UTF-8 and binary. Under APEv2, ReplayGain meta data is stored using the same keys and data as ASCII values in the same format as specified for ID3v2.&lt;br /&gt;
&lt;br /&gt;
==Player requirements==&lt;br /&gt;
[[File:RG_Player_control.gif‎|frame|Figure 8: Example ReplayGain control panel]]&lt;br /&gt;
&lt;br /&gt;
Loudness normalization, pre-amplification and clipping prevention are the operations performed by a ReplayGain player.&lt;br /&gt;
&lt;br /&gt;
===Loudness normalization===&lt;br /&gt;
To properly normalize loudness, the player needs to determine if the user desires Track style level normalization (all tracks same loudness), or Album style level normalization (all albums same loudness, tracks of an album played at the same relative level as on the original release). This option should be selectable in the ReplayGain control panel (Figure 8). The player reads the corresponding gain metadata value from the file and scales the audio data as appropriate. Scaling the audio data simply means multiplying each sample value by a constant value. This constant is given by:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;10^\frac{gain}{20}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Or, in words, replay gain divided by 20 all raised to the power of ten.&amp;lt;ref&amp;gt;After any such operation, it&#039;s a good idea to dither the result. If this calculation and the pre-amp are implemented separately, then dither should only be added to the final result, just before the result is truncated back to 16 bits, or 24, or 8, as limited by the soundcard&amp;amp;mdash;not the file (i.e. after ReplayGain adjustment, an 8-bit file should be sent to a 16-bit soundcard at 16-bits).&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If the file only contains one of the replay gain adjustments (e.g. Album) but the user has requested the other (Track), then the player should use the one that is available (in this case, Album). If neither (Track or Album) gain metadata is available, then the player needs to choose a suitable default gain. Potential choices include unity gain (0 dB) or an average of gains from other tracks in the album or playlist.&lt;br /&gt;
&lt;br /&gt;
===Pre-amplification===&lt;br /&gt;
Although the calibration level used by ReplayGain suggests that the average level of an audio track should be 14 dB below full scale, some pop music is dynamically compressed to peak at 0 dB and average around 3 dB below full scale. This means that, when the replay gain is applied, the level of such tracks will be reduced by 11 dB! If users are listening to a mixture of highly compressed and more dynamic tracks, ReplayGain will make the listening experience more pleasurable by bringing the level of the compressed tracks down into line with that of the others. However, if users are only listening to highly compressed music, then they may complain that all their files are now too quiet.&amp;lt;ref&amp;gt;This problem can be especially noticeable on portable players with limited output or gain.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To address this problem, a pre-amp feature should be incorporated into the player. A user-supplied pre-amp setting is an adjustment to the calculated replay gain. It should default to perform no adjustment. This means that casual users will experience a moderate reduction in the loudness of their compressed pop music. Less-compressed material can generally be played at the same loudness without clipping. Normalization of more dynamic material may cause clipping or invoke the [[#Clipping prevention|clipping prevention]] mechanism (see below). Power users and audiophiles can reduce the pre-amp gain to enjoy the full dynamic range of all of their music.&lt;br /&gt;
&lt;br /&gt;
If enabled, the player should read the user selected pre-amp gain, and scale the audio signal by the appropriate amount. For example, a +6 dB gain requires a scale of 10&amp;lt;sup&amp;gt;6/20&amp;lt;/sup&amp;gt;, which is approximately 2. The replay gain and pre-amp scale factors can be combined&amp;lt;ref&amp;gt;Scale factors in  Decibel units are added to produce the same effect as multiplying scale factors in linear units.&amp;lt;/ref&amp;gt; for simplicity and ease of processing.&lt;br /&gt;
&lt;br /&gt;
===Clipping prevention===&lt;br /&gt;
ReplayGain&#039;s suggestion of a -14 dB average playback level leaves sufficient headroom for the bulk of modern recordings. Nevertheless, there exists the possibility that after application of replay gain and pre-amp adjustment, a track may exceed full scale during its dynamic peaks. Without intervention, this will result in clipping, a severe form of distortion. Factors introducing the possibility of clipping include:&lt;br /&gt;
&lt;br /&gt;
# Recordings from certain genres and certain periods in the history or commercial recordings require additional headroom. Although these recordings can be accommodated through a downwards adjustment of the pre-amp setting, it may be difficult to determine a safe adjustment and it may be undesirable to lower average level to accommodate the rare track which requires it. &lt;br /&gt;
# ReplayGain will make loud dynamically compressed tracks quieter, and quiet dynamically uncompressed tracks louder. The average levels will then be similar, but the quiet tracks will actually have louder peaks. If the user pushes the pre-amp gain upwards the peaks of the (originally) quieter tracks will be pushed well over full scale.&lt;br /&gt;
# In coded audio (e.g. MP3 files) a file that was hard-limited to digital full scale before encoding will often be pushed over the limit by the psychoacoustic compression. A decoder with headroom can recover the over full scale signal by reducing the gain.&lt;br /&gt;
&lt;br /&gt;
ReplayGain suggests two possible solutions which prevent clipping in these situations. A player should support one or both of these.&lt;br /&gt;
&lt;br /&gt;
====Audio limiting====&lt;br /&gt;
In situation 2 above, the user clearly wants all the music to sound very loud. To give them their wish, any signal which would peak above digital full scale should be hard limited at just below digital full scale. This is also useful at lower pre-amp gains, where it allows the average level of classical music to be raised to that of pop music, without distorting. The exact type of nature limiting or compression an implementation choice for the player.&amp;lt;ref&amp;gt;Something like the Hard Limiter found in Cool Edit Pro (Syntrillium) would be appropriate for pop music at least.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Reduced gain====&lt;br /&gt;
The audiophile user will not want any compression or limiting on the signal. In this case the only option is to automatically and temporarily reduce the pre-amp gain below the user-selected setting for tracks where clipping would otherwise occur. Clipping can be predicted by examining the peak level of the track or album being played.&lt;br /&gt;
&lt;br /&gt;
The player must read the peak amplitude metadata. If peak level metadata is unavailable, the player should assume a peak level of 1.0. If the peak level for both track and album is stored as metadata in the file, it is possible to calculate if, following the replay gain adjustment and pre-amp gain, the signal will clip at some point. If it won&#039;t, then no further action is necessary. &lt;br /&gt;
&lt;br /&gt;
An overall scale factor for loudness normalization taking into account replay gain, pre-amp setting and clipping prevention through gain reduction is given below.&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;math&amp;gt;min( 10^\frac{RG + G_{pre-amp}}{20}, \frac{1}{peak amplitude} )&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Hardware implementation===&lt;br /&gt;
The above three steps are appropriate to software players operating on the digital signal in order to scale it. However, it is possible to send the digital signal to the DAC without level correction, and to place an attenuator in the analogue signal path. The attenuator can then be driven by the Replay Gain value. The clipping problem can be addressed by providing adequate headroom in the analog circuitry. Bit transparency and maximum signal to noise ratio is maintained in the digital signal and DAC process.&amp;lt;ref&amp;gt;A system using today&#039;s 24-bit converters is unlikely to appreciate any overall gain in system performance with such an arrangement. A digitally-controlled analog gain element typically introduces significant noise and distortion.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Acknowledgements==&lt;br /&gt;
The [http://replaygain.hydrogenaudio.org/proposal original ReplayGain proposal] (an [http://replay.waybackmachine.org/20090306202649/http://www.replaygain.org/ archive] is also available) was developed by David Robinson and was published 10 July 2001. Additional updates were published by David Robinson through 10 October 2001.&lt;br /&gt;
&lt;br /&gt;
The following acknowledgement was included with the original proposal, &amp;quot;The algorithm to calculate an ideal replay gain has grown from my research into human hearing, with many additional ideas drawn from the work of E. Zwicker, and Brian Moore. I am currently completing my PhD at the University of Essex, and have been funded by the EPSRC.&amp;quot; Additionally David Robinson credited Glen Sawyer (Snelg) and Jim Casaburi (Walrus) for software contributions and Bob Katz and Matt Ashland for ideas.&lt;br /&gt;
&lt;br /&gt;
This updated ReplayGain specification reflecting current and recommended practice was prepared by Kevin Gross in 2011.&lt;br /&gt;
&lt;br /&gt;
==Contact==&lt;br /&gt;
For ReplayGain-related questions or contributions, please post in the [http://www.hydrogenaudio.org/forums/index.php?showforum=1 General Audio] section of the Hydrogen Audio forums.&lt;br /&gt;
 &lt;br /&gt;
==Appendix==&lt;br /&gt;
# [[ReplayGain legacy metadata formats]]&lt;br /&gt;
&lt;br /&gt;
==Notes==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Saratoga</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=Rockbox&amp;diff=22849</id>
		<title>Rockbox</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=Rockbox&amp;diff=22849"/>
		<updated>2011-07-19T15:52:10Z</updated>

		<summary type="html">&lt;p&gt;Saratoga: /* External links */ add rockbox features&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{featured}}&lt;br /&gt;
[[Image:Rockboxlogo.png|right]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Rockbox&#039;&#039;&#039; is a [[GPL]]-compliant [[open source]] operating system for portable digital audio players (DAPs). The Rockbox Project began in 2002 and was first implemented on the [[Archos]] Studio DAP because of owner frustration with severe limitations in the manufacturer-supplied user interface and device operations.&lt;br /&gt;
&lt;br /&gt;
Rockbox can completely replace the host device&#039;s operating system firmware and has matured to become an extensible, flexible platform that provides a plug-in architecture for adding PDA functionality, applications, utilities, and games, and has also managed to retrofit video playback functionality onto DAPs first released in mid-2000. Recently, Rockbox now includes a voice-driven user-interface suitable for operation by blind and visually impaired users.&lt;br /&gt;
&lt;br /&gt;
Although Rockbox&#039;s official title is &amp;quot;Rockbox: Open Source Jukebox Firmware&amp;quot;, in many instances it is not actually installed to (or run from) flash memory. Instead a minimal bootloader is installed in the supported device&#039;s flash which is capable of either loading Rockbox from the hard disk or, alternately, the original factory firmware.&lt;br /&gt;
&lt;br /&gt;
== Codecs ==&lt;br /&gt;
&lt;br /&gt;
Rockbox on software decoding platforms (non-Archos) supports playback of eleven [[lossy compression|lossy]] codecs (depending on how one counts), five [[lossless data compression|lossless]], two uncompressed and six miscellaneous formats.&amp;lt;ref&amp;gt;{{cite web|title=Rockbox  Supported audio formats|url=http://download.rockbox.org/daily/manual/rockbox-sansaclipplus/rockbox-buildap2.html#x17-335000B.1|work=Rockbox Manual}}&amp;lt;/ref&amp;gt; This makes a conservative total of 25 supported audio formats, although a few of them do not operate in realtime on all platforms. Extensive work has gone into optimizing each codec, with FLAC, Ogg, WMA, APE and WMA Pro among the fastest known implementations for those formats.&amp;lt;ref&amp;gt;{{cite web|url=http://www.hydrogenaudio.org/forums/index.php?showtopic=82125&amp;amp;view=findpost&amp;amp;p=716976 |title=Codec performance comparison &amp;amp;ndash; Hydrogenaudio Forums |publisher=Hydrogenaudio.org |date= |accessdate=2011-03-12}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Lossy formats ===&lt;br /&gt;
&lt;br /&gt;
* MPEG audio layers I-III ([[MP3]]/[[MPEG-1 Audio Layer II|MP2]]/[[MPEG-1 Audio Layer I|MP1]])&lt;br /&gt;
* [[Vorbis|Ogg Vorbis]]&lt;br /&gt;
* [[Advanced Audio Coding|MPEG-4 AAC]](-LC/HE/HEv2 profiles) (in [[MPEG-4 Part 14|MP4]] or [[RealMedia|RM]] containers)&lt;br /&gt;
* [[Musepack]]&lt;br /&gt;
* [[Dolby Digital|AC3]] (raw or [[RealMedia|RM]] container)&lt;br /&gt;
* [[Windows Media Audio|WMA Standard]]&lt;br /&gt;
* [[Windows Media Audio|WMA Professional]]&lt;br /&gt;
* [[Speex]]&lt;br /&gt;
* [[Cook Codec|Cook]]&lt;br /&gt;
* [[Adaptive Transform Acoustic Coding#ATRAC3 (LP2 and LP4 Modes)|ATRAC3]]&lt;br /&gt;
* The lossy portion of [[WavPack]] hybrid files&lt;br /&gt;
&lt;br /&gt;
=== Lossless formats ===&lt;br /&gt;
&lt;br /&gt;
* [[Free Lossless Audio Codec|FLAC]]&lt;br /&gt;
* [[WavPack]]&lt;br /&gt;
* [[Shorten]]&lt;br /&gt;
* [[Apple Lossless]]&lt;br /&gt;
* [[Monkey&#039;s Audio]]&lt;br /&gt;
* [[TTA (codec)|TTA]]&lt;br /&gt;
&lt;br /&gt;
=== Uncompressed formats ===&lt;br /&gt;
&lt;br /&gt;
* Intel-style [[WAV]]&lt;br /&gt;
* Apple [[Audio Interchange File Format|AIFF]]&lt;br /&gt;
Together they include over a dozen different [[Pulse-code modulation|PCM]] and [[Adaptive DPCM|ADPCM]] formats.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Rockbox features ==&lt;br /&gt;
&lt;br /&gt;
Beside the ability of playing and recording audio files, Rockbox offers many playback enhancements that other firmware packages may not have implemented yet. Listed below are a handful of these features.&lt;br /&gt;
&lt;br /&gt;
* [[Gapless playback]]&amp;lt;ref&amp;gt;{{cite web|title=Codec Featureset|url=http://download.rockbox.org/daily/manual/rockbox-sansaclipplus/rockbox-buildap2.html#x17-339000B.1.4|work=Rockbox Manual|accessdate=22 May 2011}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* [[crossfader|Crossfading]]&amp;lt;ref&amp;gt;{{cite web|title=Crossfade|url=http://download.rockbox.org/daily/manual/rockbox-sansaclipplus/rockbox-buildch7.html#x10-1220007.7|work=Rockbox Manual|accessdate=22 May 2011}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* [[Replay Gain]]&amp;lt;ref name=&amp;quot;soft_decode&amp;quot;&amp;gt;Software decoding targets only&amp;lt;/ref&amp;gt;&lt;br /&gt;
* 5 band fully parametric [[equalization (audio)|equalizer]]&amp;lt;ref name=&amp;quot;soft_decode&amp;quot; /&amp;gt;&lt;br /&gt;
* Variable speed decoding with pitch correction&amp;lt;ref&amp;gt;{{cite web|title=Pitch|url=http://download.rockbox.org/daily/manual/rockbox-sansaclipplus/rockbox-buildch4.html#x7-630004.3.3|work=Rockbox Manual|accessdate=22 May 2011}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* [[Crossfeed]]&amp;lt;ref name=&amp;quot;soft_decode&amp;quot; /&amp;gt;&lt;br /&gt;
* OTF (&amp;quot;on the fly&amp;quot;) playlists&lt;br /&gt;
* True random shuffle (fresh randomly shuffled list every time)&lt;br /&gt;
* Custom [[Theme (computing)|UI themes]]&lt;br /&gt;
* Dynamic Playlists (queue files to play next, or in other parts of a dynamic playlist)&lt;br /&gt;
* Stereo recording to WAV/AIFF/WavPack (lossless) and MP3&amp;lt;ref&amp;gt;MP3, WavPack and AIFF are available on non-Archos devices. Multiple sample rates and bitrates available (hardware-dependent).&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{cite web|title=Recording|url=http://download.rockbox.org/daily/manual/rockbox-sansaclipplus/rockbox-buildch10.html#x13-14900010|work=Rockbox Manual|accessdate=22 May 2011}}&amp;lt;/ref&amp;gt; (supporting devices)&lt;br /&gt;
* [[FM broadcasting|FM radio]], including FM recording (supporting devices)&lt;br /&gt;
* Remote control (supporting devices)&lt;br /&gt;
* Digital [[S/PDIF]] input/output (supporting devices)&lt;br /&gt;
* [[Last.fm]] support (even on players lacking [[Real-time clock|RTC]])&lt;br /&gt;
* [[cue sheet (computing)|Cue sheet]] support&lt;br /&gt;
* Changeable selector bar&lt;br /&gt;
* Album art&amp;lt;ref&amp;gt;{{cite web|url=http://www.rockbox.org/twiki/bin/view/Main/AlbumArt |title=Some limitations. Details at Rockbox Wiki |publisher=Rockbox.org |date= |accessdate=2011-03-12}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Sleep timer&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== External links ==&lt;br /&gt;
* [http://www.rockbox.org/ The Rockbox Project]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green;&amp;quot;&amp;gt;&#039;&#039;~ Text taken from [http://en.wikipedia.org/wiki/Rockbox Wikipedia entry for Rockbox]&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Firmware]]&lt;/div&gt;</summary>
		<author><name>Saratoga</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=Rockbox&amp;diff=22848</id>
		<title>Rockbox</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=Rockbox&amp;diff=22848"/>
		<updated>2011-07-19T15:51:15Z</updated>

		<summary type="html">&lt;p&gt;Saratoga: add rockbox codec info&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{featured}}&lt;br /&gt;
[[Image:Rockboxlogo.png|right]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Rockbox&#039;&#039;&#039; is a [[GPL]]-compliant [[open source]] operating system for portable digital audio players (DAPs). The Rockbox Project began in 2002 and was first implemented on the [[Archos]] Studio DAP because of owner frustration with severe limitations in the manufacturer-supplied user interface and device operations.&lt;br /&gt;
&lt;br /&gt;
Rockbox can completely replace the host device&#039;s operating system firmware and has matured to become an extensible, flexible platform that provides a plug-in architecture for adding PDA functionality, applications, utilities, and games, and has also managed to retrofit video playback functionality onto DAPs first released in mid-2000. Recently, Rockbox now includes a voice-driven user-interface suitable for operation by blind and visually impaired users.&lt;br /&gt;
&lt;br /&gt;
Although Rockbox&#039;s official title is &amp;quot;Rockbox: Open Source Jukebox Firmware&amp;quot;, in many instances it is not actually installed to (or run from) flash memory. Instead a minimal bootloader is installed in the supported device&#039;s flash which is capable of either loading Rockbox from the hard disk or, alternately, the original factory firmware.&lt;br /&gt;
&lt;br /&gt;
== Codecs ==&lt;br /&gt;
&lt;br /&gt;
Rockbox on software decoding platforms (non-Archos) supports playback of eleven [[lossy compression|lossy]] codecs (depending on how one counts), five [[lossless data compression|lossless]], two uncompressed and six miscellaneous formats.&amp;lt;ref&amp;gt;{{cite web|title=Rockbox  Supported audio formats|url=http://download.rockbox.org/daily/manual/rockbox-sansaclipplus/rockbox-buildap2.html#x17-335000B.1|work=Rockbox Manual}}&amp;lt;/ref&amp;gt; This makes a conservative total of 25 supported audio formats, although a few of them do not operate in realtime on all platforms. Extensive work has gone into optimizing each codec, with FLAC, Ogg, WMA, APE and WMA Pro among the fastest known implementations for those formats.&amp;lt;ref&amp;gt;{{cite web|url=http://www.hydrogenaudio.org/forums/index.php?showtopic=82125&amp;amp;view=findpost&amp;amp;p=716976 |title=Codec performance comparison &amp;amp;ndash; Hydrogenaudio Forums |publisher=Hydrogenaudio.org |date= |accessdate=2011-03-12}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Lossy formats ===&lt;br /&gt;
&lt;br /&gt;
* MPEG audio layers I-III ([[MP3]]/[[MPEG-1 Audio Layer II|MP2]]/[[MPEG-1 Audio Layer I|MP1]])&lt;br /&gt;
* [[Vorbis|Ogg Vorbis]]&lt;br /&gt;
* [[Advanced Audio Coding|MPEG-4 AAC]](-LC/HE/HEv2 profiles) (in [[MPEG-4 Part 14|MP4]] or [[RealMedia|RM]] containers)&lt;br /&gt;
* [[Musepack]]&lt;br /&gt;
* [[Dolby Digital|AC3]] (raw or [[RealMedia|RM]] container)&lt;br /&gt;
* [[Windows Media Audio|WMA Standard]]&lt;br /&gt;
* [[Windows Media Audio|WMA Professional]]&lt;br /&gt;
* [[Speex]]&lt;br /&gt;
* [[Cook Codec|Cook]]&lt;br /&gt;
* [[Adaptive Transform Acoustic Coding#ATRAC3 (LP2 and LP4 Modes)|ATRAC3]]&lt;br /&gt;
* The lossy portion of [[WavPack]] hybrid files&lt;br /&gt;
&lt;br /&gt;
=== Lossless formats ===&lt;br /&gt;
&lt;br /&gt;
* [[Free Lossless Audio Codec|FLAC]]&lt;br /&gt;
* [[WavPack]]&lt;br /&gt;
* [[Shorten]]&lt;br /&gt;
* [[Apple Lossless]]&lt;br /&gt;
* [[Monkey&#039;s Audio]]&lt;br /&gt;
* [[TTA (codec)|TTA]]&lt;br /&gt;
&lt;br /&gt;
=== Uncompressed formats ===&lt;br /&gt;
&lt;br /&gt;
* Intel-style [[WAV]]&lt;br /&gt;
* Apple [[Audio Interchange File Format|AIFF]]&lt;br /&gt;
Together they include over a dozen different [[Pulse-code modulation|PCM]] and [[Adaptive DPCM|ADPCM]] formats.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== External links ==&lt;br /&gt;
* [http://www.rockbox.org/ The Rockbox Project]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green;&amp;quot;&amp;gt;&#039;&#039;~ Text taken from [http://en.wikipedia.org/wiki/Rockbox Wikipedia entry for Rockbox]&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Firmware]]&lt;/div&gt;</summary>
		<author><name>Saratoga</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=Lossless_comparison&amp;diff=22847</id>
		<title>Lossless comparison</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=Lossless_comparison&amp;diff=22847"/>
		<updated>2011-07-19T15:49:05Z</updated>

		<summary type="html">&lt;p&gt;Saratoga: /* APE cons */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The &#039;&#039;&#039;lossless comparison page&#039;&#039;&#039; aims to gather information about lossless codecs available so users can make an informed decision as to what lossless codec to choose for their needs.&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
Given the enormous amount of [[lossless]] audio compressor choices available, it is a very difficult task to choose the one most suited for each person&#039;s needs.&lt;br /&gt;
&lt;br /&gt;
Several people only take into consideration compression performance when choosing a codec. But as the following table and article shows, there are several other features worth taking into consideration when making that choice.&lt;br /&gt;
&lt;br /&gt;
For example, users wanting good multiplatform compatibility and robustness (E.G, people sharing live recordings) would favour [[WavPack]] or [[FLAC]]. Another user, looking for the very highest compression available, would go with [[OptimFROG]]. Someone wanting portable support would use [[FLAC]] or [[ALAC]], and so on.&lt;br /&gt;
&lt;br /&gt;
En fin, this is not a matter worth getting too worked up about. If you later find out the codec you chose isn&#039;t the best for your needs, you can just transcompress to another format, without risk of losing quality.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; for latest comparison of lossless compression, scroll down to the [[Lossless comparison#External links|Links section of this page]].&lt;br /&gt;
&lt;br /&gt;
== Comparison Table ==&lt;br /&gt;
&amp;lt;!-- Do NOT add links to the table. It&#039;s cluttered and colourful enough as it is. Please add them to the article itself if needed. Thanks --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;2&amp;quot; style=&amp;quot;text-align:center; border:1px solid blue;&amp;quot;&lt;br /&gt;
|width=&amp;quot;120px&amp;quot;|&#039;&#039;&#039;Features&#039;&#039;&#039;&lt;br /&gt;
| width=&amp;quot;95px&amp;quot; style=&amp;quot;background: #00FFFF&amp;quot; | FLAC&lt;br /&gt;
| width=&amp;quot;95px&amp;quot; style=&amp;quot;background: #00FFFF&amp;quot; | WavPack&lt;br /&gt;
| width=&amp;quot;95px&amp;quot; style=&amp;quot;background: #00FFFF&amp;quot; | TAK&lt;br /&gt;
| width=&amp;quot;95px&amp;quot; style=&amp;quot;background: #00FFFF&amp;quot; | Monkey&#039;s&lt;br /&gt;
| width=&amp;quot;95px&amp;quot; style=&amp;quot;background: #00FFFF&amp;quot; | OptimFROG&lt;br /&gt;
| width=&amp;quot;95px&amp;quot; style=&amp;quot;background: #00FFFF&amp;quot; | ALAC&lt;br /&gt;
| width=&amp;quot;95px&amp;quot; style=&amp;quot;background: #00FFFF&amp;quot; | WMA&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot; style=&amp;quot;background: #FFFF99&amp;quot; | Encoding speed&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC&amp;quot; | fast&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | very fast&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | very fast&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC&amp;quot; | fast&lt;br /&gt;
| style=&amp;quot;background: #FF9900&amp;quot; | slow&lt;br /&gt;
| style=&amp;quot;background: #FFFFFF&amp;quot; | average&lt;br /&gt;
| style=&amp;quot;background: #FFFFFF&amp;quot; | average&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot; style=&amp;quot;background: #FFFF99&amp;quot; | Decoding speed&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | very fast&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | very fast&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | very fast&lt;br /&gt;
| style=&amp;quot;background: #FFFFFF&amp;quot; | average&lt;br /&gt;
| style=&amp;quot;background: #FFFFFF&amp;quot; | average&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC&amp;quot; | fast&lt;br /&gt;
| style=&amp;quot;background: #FFFFFF&amp;quot; | average&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot; style=&amp;quot;background: #FFFF99&amp;quot; | Compression*&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC&amp;quot; | 58.70%&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC&amp;quot; | 58.0%&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC&amp;quot; | 57.0%&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | 55.50%&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | 54.70%&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC&amp;quot; | 58.50%&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | 56.30%&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot; style=&amp;quot;background: #FFFF99&amp;quot; | Flexibility**&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | very good&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | very good&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | very good&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | very good&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | very good&lt;br /&gt;
| style=&amp;quot;background: #FF9900&amp;quot; | bad&lt;br /&gt;
| style=&amp;quot;background: #FF9900&amp;quot; | bad&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background: #FFFFFF&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot; style=&amp;quot;background: #FFFF99&amp;quot; | Error handling&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;background: #FF9900&amp;quot; | no&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;background: #FFFFFF&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | yes&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot; style=&amp;quot;background: #FFFF99&amp;quot; | Seeking&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | yes&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot; style=&amp;quot;background: #FFFF99&amp;quot; | Tagging&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | Vorbis tags&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | ID3/APE&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC&amp;quot; | APEv2 (exp.)&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | ID3/APE&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | ID3/APE&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC&amp;quot; | iTunes&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC&amp;quot; | ASF&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; style=&amp;quot;background: #FFFF99&amp;quot; | Hardware support &lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | very good&lt;br /&gt;
| style=&amp;quot;background: #FF9900&amp;quot; | limited&lt;br /&gt;
| style=&amp;quot;background: #FF9900&amp;quot; | no&lt;br /&gt;
| style=&amp;quot;background: #FF9900&amp;quot; | limited&lt;br /&gt;
| style=&amp;quot;background: #FF9900&amp;quot; | no&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC&amp;quot; | good&lt;br /&gt;
| style=&amp;quot;background: #FF9900&amp;quot; | limited&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; style=&amp;quot;background: #FFFF99&amp;quot; | Software support&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | very good&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC&amp;quot; | good&lt;br /&gt;
| style=&amp;quot;background: #FFFFFF&amp;quot; | average&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC&amp;quot; | good&lt;br /&gt;
| style=&amp;quot;background: #FFFFFF&amp;quot; | average&lt;br /&gt;
| style=&amp;quot;background: #FFFFFF&amp;quot; | average&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC&amp;quot; | good&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; style=&amp;quot;background: #FFFF99&amp;quot; | Hybrid/lossy&lt;br /&gt;
| style=&amp;quot;background: #FF9900&amp;quot; | no&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;background: #FF9900&amp;quot; | no&lt;br /&gt;
| style=&amp;quot;background: #FF9900&amp;quot; | no&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;background: #FF9900&amp;quot; | no&lt;br /&gt;
| style=&amp;quot;background: #FF9900&amp;quot; | no&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; style=&amp;quot;background: #FFFF99&amp;quot; | Replay Gain&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;background: #FF9900&amp;quot; | no&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;background: #FFFFFF&amp;quot; | sort of&lt;br /&gt;
| style=&amp;quot;background: #FF9900&amp;quot; | no&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; style=&amp;quot;background: #FFFF99&amp;quot; | RIFF chunks&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;background: #FFFFFF&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;background: #FFFFFF&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
| style=&amp;quot;background: #FF9900&amp;quot; | no&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; style=&amp;quot;background: #FFFF99&amp;quot; | Streaming&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;background: #FF9900&amp;quot; | no&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | yes&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; style=&amp;quot;background: #FFFF99&amp;quot; | Pipe support&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | yes&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; style=&amp;quot;background: #FFFF99&amp;quot; | Open source&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;background: #FF9900&amp;quot; | no&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;background: #FF9900&amp;quot; | no&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | yes (third-party)&lt;br /&gt;
| style=&amp;quot;background: #FF9900&amp;quot; | no&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; style=&amp;quot;background: #FFFF99&amp;quot; | Multichannel&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;background: #FF9900&amp;quot; | no&lt;br /&gt;
| style=&amp;quot;background: #FF9900&amp;quot; | no&lt;br /&gt;
| style=&amp;quot;background: #FF9900&amp;quot; | no&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | yes&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; style=&amp;quot;background: #FFFF99&amp;quot; | High resolution&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | yes&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; style=&amp;quot;background: #FFFF99&amp;quot; | OS support&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | All&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | All&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC&amp;quot; | Win/Linux Wine&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | All&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | Win/Mac/Linux&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | All&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC&amp;quot; | Win/Mac&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;(table continued below)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;2&amp;quot; style=&amp;quot;text-align:center; border:1px solid blue;&amp;quot;&lt;br /&gt;
|width=&amp;quot;120px&amp;quot;|&#039;&#039;&#039;Features&#039;&#039;&#039;&lt;br /&gt;
| width=&amp;quot;95px&amp;quot; style=&amp;quot;background: #00FFFF&amp;quot; | Shorten&lt;br /&gt;
| width=&amp;quot;95px&amp;quot; style=&amp;quot;background: #00FFFF&amp;quot; | LA&lt;br /&gt;
| width=&amp;quot;95px&amp;quot; style=&amp;quot;background: #00FFFF&amp;quot; | TTA&lt;br /&gt;
| width=&amp;quot;95px&amp;quot; style=&amp;quot;background: #00FFFF&amp;quot; | LPAC&lt;br /&gt;
| width=&amp;quot;95px&amp;quot; style=&amp;quot;background: #00FFFF&amp;quot; | MPEG-4 ALS&lt;br /&gt;
| width=&amp;quot;95px&amp;quot; style=&amp;quot;background: #00FFFF&amp;quot; | MPEG-4 SLS&lt;br /&gt;
| width=&amp;quot;95px&amp;quot; style=&amp;quot;background: #00FFFF&amp;quot; | Real Lossless&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; style=&amp;quot;background: #FFFF99&amp;quot; | Encoding speed&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | very fast&lt;br /&gt;
| style=&amp;quot;background: #FF9900&amp;quot; | slow&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | very fast&lt;br /&gt;
| style=&amp;quot;background: #FFFFFF&amp;quot; | average&lt;br /&gt;
| style=&amp;quot;background: #FFFFFF&amp;quot; | average&lt;br /&gt;
| style=&amp;quot;background: #FF9900&amp;quot; | slow&lt;br /&gt;
| style=&amp;quot;background: #FF9900&amp;quot; | slow           &lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; style=&amp;quot;background: #FFFF99&amp;quot; | Decoding speed&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | very fast&lt;br /&gt;
| style=&amp;quot;background: #FF9900&amp;quot; | slow&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC&amp;quot; | fast&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC&amp;quot; | fast&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC&amp;quot; | fast&lt;br /&gt;
| style=&amp;quot;background: #FF9900&amp;quot; | slow&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC&amp;quot; | fast        &lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; style=&amp;quot;background: #FFFF99&amp;quot; | Compression*&lt;br /&gt;
| style=&amp;quot;background: #FF9900&amp;quot; | 63.50%&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | 53.50%&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC&amp;quot; | 57.10%&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC&amp;quot; | 57.20%&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC&amp;quot; | 57.10%&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC&amp;quot; | 57.0%            &lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; style=&amp;quot;background: #FFFF99&amp;quot; | Flexibility**&lt;br /&gt;
| style=&amp;quot;background: #FF9900&amp;quot; | bad&lt;br /&gt;
| style=&amp;quot;background: #FFFFFF&amp;quot; | average&lt;br /&gt;
| style=&amp;quot;background: #FF9900&amp;quot; | bad&lt;br /&gt;
| style=&amp;quot;background: #FF9900&amp;quot; | bad&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | very good&lt;br /&gt;
| style=&amp;quot;background: #FF9900&amp;quot; | bad&lt;br /&gt;
| style=&amp;quot;background: #FF9900&amp;quot; | bad              &lt;br /&gt;
|-&lt;br /&gt;
|! style=&amp;quot;background: #FFFFFF&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; style=&amp;quot;background: #FFFF99&amp;quot; | Error handling&lt;br /&gt;
| style=&amp;quot;background: #FF9900&amp;quot; | no&lt;br /&gt;
| style=&amp;quot;background: #FF9900&amp;quot; | no&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;background: #FF9900&amp;quot; | no&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;background: #FFFFFF&amp;quot; | &amp;amp;nbsp;            &lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; style=&amp;quot;background: #FFFF99&amp;quot; | Seeking&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;background: #FF9900&amp;quot; | slow&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | yes               &lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; style=&amp;quot;background: #FFFF99&amp;quot; | Tagging&lt;br /&gt;
| style=&amp;quot;background: #FF9900&amp;quot; | no&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC&amp;quot; | ID3v1&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC&amp;quot; | ID3&lt;br /&gt;
| style=&amp;quot;background: #FF9900&amp;quot; | no&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC&amp;quot; | proprietary &lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; style=&amp;quot;background: #FFFF99&amp;quot; | Hardware support&lt;br /&gt;
| style=&amp;quot;background: #FF9900&amp;quot; | limited&lt;br /&gt;
| style=&amp;quot;background: #FF9900&amp;quot; | no              &lt;br /&gt;
| style=&amp;quot;background: #FF9900&amp;quot; | limited&lt;br /&gt;
| style=&amp;quot;background: #FF9900&amp;quot; | no&lt;br /&gt;
| style=&amp;quot;background: #FF9900&amp;quot; | no&lt;br /&gt;
| style=&amp;quot;background: #FF9900&amp;quot; | no&lt;br /&gt;
| style=&amp;quot;background: #FF9900&amp;quot; | no               &lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; style=&amp;quot;background: #FFFF99&amp;quot; | Software support&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | very good&lt;br /&gt;
| style=&amp;quot;background: #FF9900&amp;quot; | bad&lt;br /&gt;
| style=&amp;quot;background: #FFFFFF&amp;quot; | average&lt;br /&gt;
| style=&amp;quot;background: #FFFFFF&amp;quot; | average&lt;br /&gt;
| style=&amp;quot;background: #FF9900&amp;quot; | bad&lt;br /&gt;
| style=&amp;quot;background: #FF9900&amp;quot; | bad&lt;br /&gt;
| style=&amp;quot;background: #FF9900&amp;quot; | bad              &lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; style=&amp;quot;background: #FFFF99&amp;quot; | Hybrid/lossy&lt;br /&gt;
| style=&amp;quot;background: #FF9900&amp;quot; | no&lt;br /&gt;
| style=&amp;quot;background: #FF9900&amp;quot; | no&lt;br /&gt;
| style=&amp;quot;background: #FF9900&amp;quot; | no&lt;br /&gt;
| style=&amp;quot;background: #FF9900&amp;quot; | no&lt;br /&gt;
| style=&amp;quot;background: #FF9900&amp;quot; | no&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;background: #FF9900&amp;quot; | no               &lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; style=&amp;quot;background: #FFFF99&amp;quot; | Replay Gain&lt;br /&gt;
| style=&amp;quot;background: #FF9900&amp;quot; | no&lt;br /&gt;
| style=&amp;quot;background: #FF9900&amp;quot; | no&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;background: #FF9900&amp;quot; | no&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;background: #FF9900&amp;quot; | no               &lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; style=&amp;quot;background: #FFFF99&amp;quot; | RIFF chunks&lt;br /&gt;
| style=&amp;quot;background: #FF9900&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;background: #FF9900&amp;quot; | no&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;background: #FFFFFF&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
| style=&amp;quot;background: #FFFFFF&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
| style=&amp;quot;background: #FFFFFF&amp;quot; | &amp;amp;nbsp;            &lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; style=&amp;quot;background: #FFFF99&amp;quot; | Streaming&lt;br /&gt;
| style=&amp;quot;background: #FF9900&amp;quot; | no&lt;br /&gt;
| style=&amp;quot;background: #FFFFFF&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
| style=&amp;quot;background: #FF9900&amp;quot; | no&lt;br /&gt;
| style=&amp;quot;background: #FF9900&amp;quot; | no&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | yes               &lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; style=&amp;quot;background: #FFFF99&amp;quot; | Pipe support&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;background: #FF9900&amp;quot; | no&lt;br /&gt;
| style=&amp;quot;background: #FFFFFF&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
| style=&amp;quot;background: #FFFFFF&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
| style=&amp;quot;background: #FFFFFF&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
| style=&amp;quot;background: #FF9900&amp;quot; | no               &lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; style=&amp;quot;background: #FFFF99&amp;quot; | Open source&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;background: #FF9900&amp;quot; | no&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;background: #FF9900&amp;quot; | no&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;background: #FF9900&amp;quot; | no               &lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; style=&amp;quot;background: #FFFF99&amp;quot; | Multichannel&lt;br /&gt;
| style=&amp;quot;background: #FF9900&amp;quot; | no&lt;br /&gt;
| style=&amp;quot;background: #FF9900&amp;quot; | no&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;background: #FF9900&amp;quot; | no&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;background: #FF9900&amp;quot; | no               &lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; style=&amp;quot;background: #FFFF99&amp;quot; | High resolution&lt;br /&gt;
| style=&amp;quot;background: #FF9900&amp;quot; | no&lt;br /&gt;
| style=&amp;quot;background: #FF9900&amp;quot; | no&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;background: #FF9900&amp;quot; | no               &lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; style=&amp;quot;background: #FFFF99&amp;quot; | OS support&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | All&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC&amp;quot; | Win/Linux&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | All&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC&amp;quot; | Win/Linux/Sol&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | All&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | All&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | Win/Mac/Linux     &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;*&amp;lt;/nowiki&amp;gt; The Compression ratio is calculated with the division of compressed size by uncompressed size * 100. So, lower is better.&lt;br /&gt;
&lt;br /&gt;
Encoding speed, Decoding speed and Compression ratio are based on each encoder&#039;s default settings.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;**&amp;lt;/nowiki&amp;gt; Flexibility refers to the amount of encoding choices offered to the users (Fast/low compression, Slow/high compression and everything inbetween)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
These are the most popular lossless codecs, in alphabetical order:&lt;br /&gt;
&lt;br /&gt;
== Apple Lossless Audio Codec (ALAC) ==&lt;br /&gt;
http://www.apple.com/itunes/import.html &lt;br /&gt;
&lt;br /&gt;
[[ALAC]] is a codec developed by Apple for usage in [[Apple iPod|iPod]] and AirPort Express.&lt;br /&gt;
&lt;br /&gt;
=== ALAC pros ===&lt;br /&gt;
* Very fast decoding&lt;br /&gt;
* [[Open source]] (encoding and decoding via FFmpeg and [[CueTools|CUETools]], decoding only via [http://craz.net/programs/itunes/alac.html a standalone decoder])&lt;br /&gt;
* Hardware support ([[Apple iPod|iPod]], AirPort Express)&lt;br /&gt;
* Streaming support&lt;br /&gt;
* Tagging support (QT tags)&lt;br /&gt;
* Excellent hardware-software-lossy format integration with [[iTunes]]/iPod.&lt;br /&gt;
* Supports [[multichannel]] audio and [[high resolution]]s&lt;br /&gt;
&lt;br /&gt;
=== ALAC cons ===&lt;br /&gt;
* Limited software support&lt;br /&gt;
* No hybrid/lossy mode&lt;br /&gt;
&lt;br /&gt;
=== ALAC Other features ===&lt;br /&gt;
* Fits in the [[MP4]] container&lt;br /&gt;
* Can be used with the AirPort Express gadget&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Free Lossless Audio Codec (FLAC) ==&lt;br /&gt;
http://flac.sourceforge.net/&lt;br /&gt;
&lt;br /&gt;
[[FLAC]] is a lossless codec developed by Josh Coalson. It&#039;s part of the Xiph multimedia portfolio, along with [[Ogg]], [[Vorbis]], [[Speex]] and [[Theora]].&lt;br /&gt;
&lt;br /&gt;
=== FLAC pros ===&lt;br /&gt;
* [[Open source]]&lt;br /&gt;
* Very fast decoding&lt;br /&gt;
* Fast encoding&lt;br /&gt;
* Hardware support ([[Rio Karma|Karma]], Phatbox, etc.)&lt;br /&gt;
* Very good software support&lt;br /&gt;
* Error robustness&lt;br /&gt;
* Streaming support&lt;br /&gt;
* Supports [[multichannel]] audio and [[high resolution]]s&lt;br /&gt;
* Tagging support (FLAC tags)&lt;br /&gt;
* Supports [[RIFF]] chunks&lt;br /&gt;
* Pipe support&lt;br /&gt;
* [[Replay Gain]] compatible&lt;br /&gt;
&lt;br /&gt;
=== FLAC cons ===&lt;br /&gt;
* No hybrid/lossy mode&lt;br /&gt;
&lt;br /&gt;
=== FLAC Other features ===&lt;br /&gt;
* Supports embedded CUE sheets (with [http://flac.sourceforge.net/faq.html#general__no_cuesheet_tags limitations])&lt;br /&gt;
* Includes MD5 hashes for quick integrity checking&lt;br /&gt;
* Fits the [[Ogg]] and [[Matroska]] containers&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== LosslessAudio (LA) ==&lt;br /&gt;
http://www.lossless-audio.com/&lt;br /&gt;
&lt;br /&gt;
[[LA]] is a lossless codec developed by Michael Bevin.&lt;br /&gt;
&lt;br /&gt;
=== LA pros ===&lt;br /&gt;
* Very high compression&lt;br /&gt;
* Tagging support ([[ID3v1]])&lt;br /&gt;
* Supports [[RIFF]] chunks&lt;br /&gt;
* Pipe support&lt;br /&gt;
&lt;br /&gt;
=== LA cons ===&lt;br /&gt;
* Closed source&lt;br /&gt;
* Very slow encoding and decoding&lt;br /&gt;
* Doesn&#039;t support [[multichannel]] audio and [[high resolution]]s&lt;br /&gt;
* No hardware support&lt;br /&gt;
* No hybrid/lossy mode&lt;br /&gt;
* Bad software support&lt;br /&gt;
* Doesn&#039;t support [[Replay Gain]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;It&#039;s important to mention that the LA foobar plugin is buggy and doesn&#039;t produce lossless streams!&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Lossless Predictive Audio Coder (LPAC) ==&lt;br /&gt;
http://www.nue.tu-berlin.de/wer/liebchen/lpac.html&lt;br /&gt;
&lt;br /&gt;
[[Lossless Predictive Audio Coder]] (LPAC) is a lossless codec developed by Tilman Liebchen. Development of it has been halted in favour of development of [[MPEG-4]] ALS.&lt;br /&gt;
&lt;br /&gt;
=== LPAC pros ===&lt;br /&gt;
* Reasonable compression ratios&lt;br /&gt;
* [[High resolution]] audio support&lt;br /&gt;
* Supports [[RIFF]] chunks&lt;br /&gt;
&lt;br /&gt;
=== LPAC cons ===&lt;br /&gt;
* Closed source&lt;br /&gt;
* No error robustness&lt;br /&gt;
* Slow seeking&lt;br /&gt;
* No tagging&lt;br /&gt;
* No [[multichannel]] support&lt;br /&gt;
* No hybrid/lossy mode&lt;br /&gt;
* No hardware support&lt;br /&gt;
* Doesn&#039;t support [[Replay Gain]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Monkey&#039;s Audio (APE) ==&lt;br /&gt;
http://www.monkeysaudio.com/&lt;br /&gt;
&lt;br /&gt;
[[Monkey&#039;s Audio]] is a very efficient lossless compressor developed by Matt Ashland.&lt;br /&gt;
&lt;br /&gt;
=== APE pros ===&lt;br /&gt;
* [[Open source]]&lt;br /&gt;
* High efficiency&lt;br /&gt;
* Good software support&lt;br /&gt;
* Simple and user friendly. Official GUI provided.&lt;br /&gt;
* Java version (multiplatform)&lt;br /&gt;
* Tagging support ([[ID3v1]], [[APE tags]])&lt;br /&gt;
* [[High resolution]] audio support&lt;br /&gt;
* Supports [[RIFF]] chunks (only in the GUI encoder)&lt;br /&gt;
* Pipe support (only in a [http://www.etree.org/shnutils/shntool/ special] version)&lt;br /&gt;
&lt;br /&gt;
=== APE cons ===&lt;br /&gt;
* No [[multichannel]] support&lt;br /&gt;
* No error robustness&lt;br /&gt;
* No hybrid/lossy mode&lt;br /&gt;
* Limited hardware support (Rockbox, some Cowon players); poor battery life due to complicated decoding [http://www.rockbox.org/wiki/SoundCodecMonkeysAudio MP3 player benchmarks]&lt;br /&gt;
* Higher compression levels are extremely CPU intensive&lt;br /&gt;
* Doesn&#039;t support [[Replay Gain]]&lt;br /&gt;
&lt;br /&gt;
=== APE Other features ===&lt;br /&gt;
* Includes MD5 hashes for quick integrity checking&lt;br /&gt;
* Supports APL image link files (similar to CUE sheets)&lt;br /&gt;
&lt;br /&gt;
== MPEG-4 SLS ==&lt;br /&gt;
MPEG-4 SLS allows audio encoding from lossless scalable to [[AAC]].&lt;br /&gt;
&lt;br /&gt;
=== SLS pros ===&lt;br /&gt;
* Transcoding to standard AAC or any higher lossy bitrate at the speed of copying a file&lt;br /&gt;
* Scalable decoding from lossless, to any bitrate down to the AAC core track&lt;br /&gt;
* Best lossless compression available when you count the AAC track (~5% gain over any other lossless compression + AAC)&lt;br /&gt;
* [[High resolution]] audio support&lt;br /&gt;
* Multi channel audio support&lt;br /&gt;
* [[Open source]] (MPEG-4 Reference code)&lt;br /&gt;
* Embedded in standard MP4 files, so supports same tagging and Replay Gain features as AAC does.&lt;br /&gt;
&lt;br /&gt;
=== SLS cons ===&lt;br /&gt;
* No usable software available yet&lt;br /&gt;
* Pure lossless compression not the best there is&lt;br /&gt;
* Seems to be slow in encoding and decoding, but we have to wait for released software&lt;br /&gt;
&lt;br /&gt;
=== SLS Other features ===&lt;br /&gt;
* Transform based lossless codec with optional LC AAC core track&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== OptimFROG (OFR) ==&lt;br /&gt;
http://losslessaudiocompression.com/&lt;br /&gt;
&lt;br /&gt;
[[OptimFROG]] is a lossless format developed by Florin Ghido to become the champion in audio compression.&lt;br /&gt;
&lt;br /&gt;
=== OFR pros ===&lt;br /&gt;
* Very high compression&lt;br /&gt;
* Good software support&lt;br /&gt;
* Error robustness&lt;br /&gt;
* Streaming support&lt;br /&gt;
* Supports [[high resolution]]s&lt;br /&gt;
* Hybrid/lossy mode&lt;br /&gt;
* Tagging support ([[ID3]], [[APE tags]])&lt;br /&gt;
* Supports [[RIFF]] chunks&lt;br /&gt;
* [[Replay Gain]] compatible&lt;br /&gt;
&lt;br /&gt;
=== OFR cons ===&lt;br /&gt;
* Closed source&lt;br /&gt;
* No [[multichannel]] audio support&lt;br /&gt;
* No hardware support&lt;br /&gt;
* Quite slow decoding&lt;br /&gt;
&lt;br /&gt;
=== OFR Other features ===&lt;br /&gt;
* Supports 32bit float streams&lt;br /&gt;
* Includes MD5 hashes for quick integrity checking&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== RealAudio Lossless (RAL) ==&lt;br /&gt;
http://www.realnetworks.com/products/codecs/realaudio.html&lt;br /&gt;
&lt;br /&gt;
RealAudio lossless is the lossless codec developed by Real Networks for their multimedia portfolio&lt;br /&gt;
&lt;br /&gt;
=== RAL pros ===&lt;br /&gt;
* Very fast decoding&lt;br /&gt;
* Streaming support&lt;br /&gt;
* Tagging support (proprietary)&lt;br /&gt;
&lt;br /&gt;
=== RAL cons ===&lt;br /&gt;
* Closed source&lt;br /&gt;
* No [[multichannel]] and [[high resolution]] audio support&lt;br /&gt;
* Little software support (Real Player)&lt;br /&gt;
* No hardware support&lt;br /&gt;
* Compression efficiency not on par with other lossless codecs&lt;br /&gt;
* No hybrid/lossy mode&lt;br /&gt;
* No pipe support&lt;br /&gt;
* Doesn&#039;t support [[Replay Gain]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Shorten (SHN) ==&lt;br /&gt;
http://www.etree.org/shnutils/shorten/&lt;br /&gt;
&lt;br /&gt;
[[Shorten]] is a very old and featureless lossless codec developed by Tony Robinson at SoftSound.&lt;br /&gt;
&lt;br /&gt;
=== SHN pros ===&lt;br /&gt;
* [[Open source]]&lt;br /&gt;
* Fast decoding&lt;br /&gt;
* Very good software support&lt;br /&gt;
* Supports [[RIFF]] chunks&lt;br /&gt;
* Pipe support&lt;br /&gt;
&lt;br /&gt;
=== SHN cons ===&lt;br /&gt;
* Quite inefficient&lt;br /&gt;
* No [[multichannel]] or [[high resolution]] audio support&lt;br /&gt;
* No hybrid/lossy mode&lt;br /&gt;
* No error robustness&lt;br /&gt;
* Not streamable&lt;br /&gt;
* No hardware support&lt;br /&gt;
* No native tagging&lt;br /&gt;
* Doesn&#039;t support [[Replay Gain]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== True Audio (TTA) ==&lt;br /&gt;
http://www.true-audio.com/&lt;br /&gt;
&lt;br /&gt;
[[TTA]] is a new lossless codec developed by a team of russian programmers.&lt;br /&gt;
&lt;br /&gt;
=== TTA pros ===&lt;br /&gt;
* [[Open source]]&lt;br /&gt;
* Good efficiency&lt;br /&gt;
* Hardware support (obscure DVD player)&lt;br /&gt;
* Supports [[multichannel]] audio and [[high resolution]]s&lt;br /&gt;
* Tagging support ([[ID3]])&lt;br /&gt;
* [[Replay Gain]] compatible&lt;br /&gt;
* Error robustness&lt;br /&gt;
&lt;br /&gt;
=== TTA cons ===&lt;br /&gt;
* No streaming support&lt;br /&gt;
* No hybrid/lossy mode&lt;br /&gt;
* Doesn&#039;t support [[RIFF]] chunks&lt;br /&gt;
* No pipe support&lt;br /&gt;
&lt;br /&gt;
=== TTA Other features ===&lt;br /&gt;
* Fits the [[Matroska]] container&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== WavPack (WV) ==&lt;br /&gt;
http://www.wavpack.com/&lt;br /&gt;
&lt;br /&gt;
[[WavPack]] is a fast and featureful lossless codec developed by David Bryant.&lt;br /&gt;
&lt;br /&gt;
=== WV pros ===&lt;br /&gt;
* [[Open source]]&lt;br /&gt;
* Very fast decoding&lt;br /&gt;
* Very fast encoding&lt;br /&gt;
* Good efficiency&lt;br /&gt;
* Error robustness&lt;br /&gt;
* Streaming support&lt;br /&gt;
* Hardware support ([http://www.rockbox.org/ RockBox])&lt;br /&gt;
* Supports [[multichannel]] audio and [[high resolution]]s&lt;br /&gt;
* Hybrid/lossy mode&lt;br /&gt;
* Tagging support ([[ID3v1]], [[APE tags]])&lt;br /&gt;
* Supports [[RIFF]] chunks&lt;br /&gt;
* Ability to create self extracting files for Win32 platform&lt;br /&gt;
* Pipe support&lt;br /&gt;
* Good software support&lt;br /&gt;
* [[Replay Gain]] compatible&lt;br /&gt;
&lt;br /&gt;
=== WV cons ===&lt;br /&gt;
* Limited hardware player support&lt;br /&gt;
&lt;br /&gt;
=== WV Other features ===&lt;br /&gt;
* Supports 32bit float streams&lt;br /&gt;
* Supports embedded CUE sheets&lt;br /&gt;
* Includes MD5 hashes for quick integrity checking&lt;br /&gt;
* Can encode in both symmetrical and assymmetrical modes.&lt;br /&gt;
* Fits the [[Matroska]] container&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Windows Media Audio Lossless (WMAL) ==&lt;br /&gt;
http://www.microsoft.com/windows/windowsmedia/9series/codecs/audio.aspx&lt;br /&gt;
&lt;br /&gt;
WMA Lossless is the lossless codec developed by Microsoft to be featured in their Windows Media codec portfolio.&lt;br /&gt;
&lt;br /&gt;
=== WMAL pros ===&lt;br /&gt;
* Streaming support&lt;br /&gt;
* Very good software support&lt;br /&gt;
* Hardware support (All Microsoft Zunes though older models may need firmware updates, also supported by some non-Microsoft devices like the [http://en.wikipedia.org/wiki/Gigabeat Gigabeat V and S line from Toshiba].&lt;br /&gt;
* Supports [[multichannel]] audio and [[high resolution]]s.&lt;br /&gt;
* Tagging support (proprietary)&lt;br /&gt;
* Pipe support&lt;br /&gt;
&lt;br /&gt;
=== WMAL cons ===&lt;br /&gt;
* Closed source&lt;br /&gt;
* No hybrid/lossy mode&lt;br /&gt;
* Doesn&#039;t support [[RIFF]] chunks&lt;br /&gt;
* Doesn&#039;t support [[Replay Gain]]&lt;br /&gt;
&lt;br /&gt;
=== WMAL Other features ===&lt;br /&gt;
* Fits the [[ASF]] container&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Oddball Formats ==&lt;br /&gt;
There are several old lossless formats that aren&#039;t being featured in the article above. Reasons are: lack of widespread support, lack of features, bad efficiency and, most importantly, it seems no one is really interested in them.&lt;br /&gt;
&lt;br /&gt;
Most of those would have disappeared by now, but they are being preserved for posterity at [[User:Rjamorim|rjamorim]]&#039;s [http://www.rjamorim.com/rrw/ ReallyRareWares]&lt;br /&gt;
&lt;br /&gt;
=== Advanced Digital Audio (ADA) ===&lt;br /&gt;
* http://www.rjamorim.com/rrw/ada.html&lt;br /&gt;
&lt;br /&gt;
=== Bonk ===&lt;br /&gt;
* http://www.logarithmic.net/pfh/bonk&lt;br /&gt;
&lt;br /&gt;
=== Marian&#039;s a-Pac ===&lt;br /&gt;
* http://www.marian.de/en/downloads#APAC&lt;br /&gt;
* http://www.rjamorim.com/rrw/apac.html&lt;br /&gt;
&lt;br /&gt;
=== AudioZip ===&lt;br /&gt;
* http://www.rjamorim.com/rrw/audiozip.html&lt;br /&gt;
&lt;br /&gt;
=== Dakx WAV ===&lt;br /&gt;
* http://www.dakx.com/&lt;br /&gt;
* http://www.rjamorim.com/rrw/daxwav.html&lt;br /&gt;
&lt;br /&gt;
=== Entis Lab MIO ===&lt;br /&gt;
* http://www.entis.gr.jp/eri/frame.html&lt;br /&gt;
* http://www.rjamorim.com/rrw/mio.html&lt;br /&gt;
&lt;br /&gt;
=== LiteWave ===&lt;br /&gt;
* http://www.clearjump.com/products/LiteWave.html&lt;br /&gt;
* http://www.rjamorim.com/rrw/litewave.html&lt;br /&gt;
&lt;br /&gt;
=== Pegasus SPS ===&lt;br /&gt;
* http://www.krishnasoft.com/sps.htm&lt;br /&gt;
* http://www.rjamorim.com/rrw/pegasussps.html&lt;br /&gt;
&lt;br /&gt;
=== RK Audio (RKAU) ===&lt;br /&gt;
* http://www.rjamorim.com/rrw/split2000.html&lt;br /&gt;
&lt;br /&gt;
=== Sonarc ===&lt;br /&gt;
* http://www.rjamorim.com/rrw/sonarc.html&lt;br /&gt;
&lt;br /&gt;
=== VocPack ===&lt;br /&gt;
* http://www.rjamorim.com/rrw/vocpack.html&lt;br /&gt;
&lt;br /&gt;
=== WavArc ===&lt;br /&gt;
* http://www.rjamorim.com/rrw/wavarc.html&lt;br /&gt;
&lt;br /&gt;
=== WaveZip/MUSICompress ===&lt;br /&gt;
* http://members.aol.com/_ht_a/sndspace/&lt;br /&gt;
* http://www.rjamorim.com/rrw/wavezip.html&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[Lossless]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== External links ==&lt;br /&gt;
=== Other lossless compressions comparisons ===&lt;br /&gt;
&#039;&#039;Sorted based on last &#039;&#039;&#039;update&#039;&#039;&#039; date.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* [http://uclc.info/LossLess.pdf Johan De Bock&#039;s speed oriented comparison] - best choices speedwise are indicated in green, mostly electronic music (last updated 2006-07-22)&lt;br /&gt;
* [http://web.inter.nl.net/users/hvdh/lossless/lossless.htm Hans Heijden&#039;s] -- used as reference to build the table (last updated 2006-07-07)&lt;br /&gt;
* [http://synthetic-soul.co.uk/comparison/lossless/ Synthetic Soul&#039;s comparison] (last update 2007-07-28)&lt;br /&gt;
* [http://synthetic-soul.co.uk/comparison/josef/ Josef Pohm&#039;s comparison, hosted by Synthetic Soul] (last update 2006-05-29)&lt;br /&gt;
* [http://www.bobulous.org.uk/misc/lossless_audio_2006.html Bobulous&#039; lossless audio comparison] — a look at six lossless formats in terms of speed and file size (last updated 2006-05-22)&lt;br /&gt;
* [http://uclc.info/lossless_audio_compression_test.htm Johan De Bock&#039;s size oriented comparison] - aimed only at the maximum compression setting for each codec (based on a somewhat limited set of samples, however) (last updated 2006-05-19)&lt;br /&gt;
* [http://guruboolez.free.fr/lossless/ Guruboolez&#039;] -- comparing only classical music (last updated 2005-02-27)&lt;br /&gt;
* [http://members.home.nl/w.speek/comparison.htm Speek&#039;s] (last updated 2005-02-07)&lt;br /&gt;
&lt;br /&gt;
=== More on lossless compressions ===&lt;br /&gt;
* [http://losslessaudioblog.com/ The Lossless Audio Blog] - by windmiller, is a reliable and complete source of news about lossless compression.&lt;br /&gt;
* Go to the [http://www.hydrogenaudio.org/forums/index.php?showtopic=33226 Hydrogenaudio thread] to discuss this article.&lt;br /&gt;
&lt;br /&gt;
[[Category:Guides]]&lt;/div&gt;</summary>
		<author><name>Saratoga</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=Rockbox&amp;diff=22846</id>
		<title>Rockbox</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=Rockbox&amp;diff=22846"/>
		<updated>2011-07-19T15:46:55Z</updated>

		<summary type="html">&lt;p&gt;Saratoga: Remove badly out of date rockbox device information&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{featured}}&lt;br /&gt;
[[Image:Rockboxlogo.png|right]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Rockbox&#039;&#039;&#039; is a [[GPL]]-compliant [[open source]] operating system for portable digital audio players (DAPs). The Rockbox Project began in 2002 and was first implemented on the [[Archos]] Studio DAP because of owner frustration with severe limitations in the manufacturer-supplied user interface and device operations.&lt;br /&gt;
&lt;br /&gt;
Rockbox can completely replace the host device&#039;s operating system firmware and has matured to become an extensible, flexible platform that provides a plug-in architecture for adding PDA functionality, applications, utilities, and games, and has also managed to retrofit video playback functionality onto DAPs first released in mid-2000. Recently, Rockbox now includes a voice-driven user-interface suitable for operation by blind and visually impaired users.&lt;br /&gt;
&lt;br /&gt;
Although Rockbox&#039;s official title is &amp;quot;Rockbox: Open Source Jukebox Firmware&amp;quot;, in many instances it is not actually installed to (or run from) flash memory. Instead a minimal bootloader is installed in the supported device&#039;s flash which is capable of either loading Rockbox from the hard disk or, alternately, the original factory firmware.&lt;br /&gt;
&lt;br /&gt;
== External links ==&lt;br /&gt;
* [http://www.rockbox.org/ The Rockbox Project]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:green;&amp;quot;&amp;gt;&#039;&#039;~ Text taken from [http://en.wikipedia.org/wiki/Rockbox Wikipedia entry for Rockbox]&#039;&#039;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Firmware]]&lt;/div&gt;</summary>
		<author><name>Saratoga</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=Lossless_comparison&amp;diff=22845</id>
		<title>Lossless comparison</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=Lossless_comparison&amp;diff=22845"/>
		<updated>2011-07-19T15:44:04Z</updated>

		<summary type="html">&lt;p&gt;Saratoga: /* Monkey&amp;#039;s Audio (APE) */  Update APE hardware support, mention that its really hard to decode on ARM devices&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The &#039;&#039;&#039;lossless comparison page&#039;&#039;&#039; aims to gather information about lossless codecs available so users can make an informed decision as to what lossless codec to choose for their needs.&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
Given the enormous amount of [[lossless]] audio compressor choices available, it is a very difficult task to choose the one most suited for each person&#039;s needs.&lt;br /&gt;
&lt;br /&gt;
Several people only take into consideration compression performance when choosing a codec. But as the following table and article shows, there are several other features worth taking into consideration when making that choice.&lt;br /&gt;
&lt;br /&gt;
For example, users wanting good multiplatform compatibility and robustness (E.G, people sharing live recordings) would favour [[WavPack]] or [[FLAC]]. Another user, looking for the very highest compression available, would go with [[OptimFROG]]. Someone wanting portable support would use [[FLAC]] or [[ALAC]], and so on.&lt;br /&gt;
&lt;br /&gt;
En fin, this is not a matter worth getting too worked up about. If you later find out the codec you chose isn&#039;t the best for your needs, you can just transcompress to another format, without risk of losing quality.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; for latest comparison of lossless compression, scroll down to the [[Lossless comparison#External links|Links section of this page]].&lt;br /&gt;
&lt;br /&gt;
== Comparison Table ==&lt;br /&gt;
&amp;lt;!-- Do NOT add links to the table. It&#039;s cluttered and colourful enough as it is. Please add them to the article itself if needed. Thanks --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;2&amp;quot; style=&amp;quot;text-align:center; border:1px solid blue;&amp;quot;&lt;br /&gt;
|width=&amp;quot;120px&amp;quot;|&#039;&#039;&#039;Features&#039;&#039;&#039;&lt;br /&gt;
| width=&amp;quot;95px&amp;quot; style=&amp;quot;background: #00FFFF&amp;quot; | FLAC&lt;br /&gt;
| width=&amp;quot;95px&amp;quot; style=&amp;quot;background: #00FFFF&amp;quot; | WavPack&lt;br /&gt;
| width=&amp;quot;95px&amp;quot; style=&amp;quot;background: #00FFFF&amp;quot; | TAK&lt;br /&gt;
| width=&amp;quot;95px&amp;quot; style=&amp;quot;background: #00FFFF&amp;quot; | Monkey&#039;s&lt;br /&gt;
| width=&amp;quot;95px&amp;quot; style=&amp;quot;background: #00FFFF&amp;quot; | OptimFROG&lt;br /&gt;
| width=&amp;quot;95px&amp;quot; style=&amp;quot;background: #00FFFF&amp;quot; | ALAC&lt;br /&gt;
| width=&amp;quot;95px&amp;quot; style=&amp;quot;background: #00FFFF&amp;quot; | WMA&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot; style=&amp;quot;background: #FFFF99&amp;quot; | Encoding speed&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC&amp;quot; | fast&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | very fast&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | very fast&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC&amp;quot; | fast&lt;br /&gt;
| style=&amp;quot;background: #FF9900&amp;quot; | slow&lt;br /&gt;
| style=&amp;quot;background: #FFFFFF&amp;quot; | average&lt;br /&gt;
| style=&amp;quot;background: #FFFFFF&amp;quot; | average&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot; style=&amp;quot;background: #FFFF99&amp;quot; | Decoding speed&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | very fast&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | very fast&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | very fast&lt;br /&gt;
| style=&amp;quot;background: #FFFFFF&amp;quot; | average&lt;br /&gt;
| style=&amp;quot;background: #FFFFFF&amp;quot; | average&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC&amp;quot; | fast&lt;br /&gt;
| style=&amp;quot;background: #FFFFFF&amp;quot; | average&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot; style=&amp;quot;background: #FFFF99&amp;quot; | Compression*&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC&amp;quot; | 58.70%&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC&amp;quot; | 58.0%&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC&amp;quot; | 57.0%&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | 55.50%&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | 54.70%&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC&amp;quot; | 58.50%&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | 56.30%&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot; style=&amp;quot;background: #FFFF99&amp;quot; | Flexibility**&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | very good&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | very good&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | very good&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | very good&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | very good&lt;br /&gt;
| style=&amp;quot;background: #FF9900&amp;quot; | bad&lt;br /&gt;
| style=&amp;quot;background: #FF9900&amp;quot; | bad&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;background: #FFFFFF&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot; style=&amp;quot;background: #FFFF99&amp;quot; | Error handling&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;background: #FF9900&amp;quot; | no&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;background: #FFFFFF&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | yes&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot; style=&amp;quot;background: #FFFF99&amp;quot; | Seeking&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | yes&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot; style=&amp;quot;background: #FFFF99&amp;quot; | Tagging&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | Vorbis tags&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | ID3/APE&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC&amp;quot; | APEv2 (exp.)&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | ID3/APE&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | ID3/APE&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC&amp;quot; | iTunes&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC&amp;quot; | ASF&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; style=&amp;quot;background: #FFFF99&amp;quot; | Hardware support &lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | very good&lt;br /&gt;
| style=&amp;quot;background: #FF9900&amp;quot; | limited&lt;br /&gt;
| style=&amp;quot;background: #FF9900&amp;quot; | no&lt;br /&gt;
| style=&amp;quot;background: #FF9900&amp;quot; | limited&lt;br /&gt;
| style=&amp;quot;background: #FF9900&amp;quot; | no&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC&amp;quot; | good&lt;br /&gt;
| style=&amp;quot;background: #FF9900&amp;quot; | limited&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; style=&amp;quot;background: #FFFF99&amp;quot; | Software support&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | very good&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC&amp;quot; | good&lt;br /&gt;
| style=&amp;quot;background: #FFFFFF&amp;quot; | average&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC&amp;quot; | good&lt;br /&gt;
| style=&amp;quot;background: #FFFFFF&amp;quot; | average&lt;br /&gt;
| style=&amp;quot;background: #FFFFFF&amp;quot; | average&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC&amp;quot; | good&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; style=&amp;quot;background: #FFFF99&amp;quot; | Hybrid/lossy&lt;br /&gt;
| style=&amp;quot;background: #FF9900&amp;quot; | no&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;background: #FF9900&amp;quot; | no&lt;br /&gt;
| style=&amp;quot;background: #FF9900&amp;quot; | no&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;background: #FF9900&amp;quot; | no&lt;br /&gt;
| style=&amp;quot;background: #FF9900&amp;quot; | no&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; style=&amp;quot;background: #FFFF99&amp;quot; | Replay Gain&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;background: #FF9900&amp;quot; | no&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;background: #FFFFFF&amp;quot; | sort of&lt;br /&gt;
| style=&amp;quot;background: #FF9900&amp;quot; | no&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; style=&amp;quot;background: #FFFF99&amp;quot; | RIFF chunks&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;background: #FFFFFF&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;background: #FFFFFF&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
| style=&amp;quot;background: #FF9900&amp;quot; | no&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; style=&amp;quot;background: #FFFF99&amp;quot; | Streaming&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;background: #FF9900&amp;quot; | no&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | yes&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; style=&amp;quot;background: #FFFF99&amp;quot; | Pipe support&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | yes&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; style=&amp;quot;background: #FFFF99&amp;quot; | Open source&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;background: #FF9900&amp;quot; | no&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;background: #FF9900&amp;quot; | no&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | yes (third-party)&lt;br /&gt;
| style=&amp;quot;background: #FF9900&amp;quot; | no&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; style=&amp;quot;background: #FFFF99&amp;quot; | Multichannel&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;background: #FF9900&amp;quot; | no&lt;br /&gt;
| style=&amp;quot;background: #FF9900&amp;quot; | no&lt;br /&gt;
| style=&amp;quot;background: #FF9900&amp;quot; | no&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | yes&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; style=&amp;quot;background: #FFFF99&amp;quot; | High resolution&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | yes&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; style=&amp;quot;background: #FFFF99&amp;quot; | OS support&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | All&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | All&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC&amp;quot; | Win/Linux Wine&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | All&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | Win/Mac/Linux&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | All&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC&amp;quot; | Win/Mac&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;(table continued below)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{| cellspacing=&amp;quot;2&amp;quot; style=&amp;quot;text-align:center; border:1px solid blue;&amp;quot;&lt;br /&gt;
|width=&amp;quot;120px&amp;quot;|&#039;&#039;&#039;Features&#039;&#039;&#039;&lt;br /&gt;
| width=&amp;quot;95px&amp;quot; style=&amp;quot;background: #00FFFF&amp;quot; | Shorten&lt;br /&gt;
| width=&amp;quot;95px&amp;quot; style=&amp;quot;background: #00FFFF&amp;quot; | LA&lt;br /&gt;
| width=&amp;quot;95px&amp;quot; style=&amp;quot;background: #00FFFF&amp;quot; | TTA&lt;br /&gt;
| width=&amp;quot;95px&amp;quot; style=&amp;quot;background: #00FFFF&amp;quot; | LPAC&lt;br /&gt;
| width=&amp;quot;95px&amp;quot; style=&amp;quot;background: #00FFFF&amp;quot; | MPEG-4 ALS&lt;br /&gt;
| width=&amp;quot;95px&amp;quot; style=&amp;quot;background: #00FFFF&amp;quot; | MPEG-4 SLS&lt;br /&gt;
| width=&amp;quot;95px&amp;quot; style=&amp;quot;background: #00FFFF&amp;quot; | Real Lossless&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; style=&amp;quot;background: #FFFF99&amp;quot; | Encoding speed&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | very fast&lt;br /&gt;
| style=&amp;quot;background: #FF9900&amp;quot; | slow&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | very fast&lt;br /&gt;
| style=&amp;quot;background: #FFFFFF&amp;quot; | average&lt;br /&gt;
| style=&amp;quot;background: #FFFFFF&amp;quot; | average&lt;br /&gt;
| style=&amp;quot;background: #FF9900&amp;quot; | slow&lt;br /&gt;
| style=&amp;quot;background: #FF9900&amp;quot; | slow           &lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; style=&amp;quot;background: #FFFF99&amp;quot; | Decoding speed&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | very fast&lt;br /&gt;
| style=&amp;quot;background: #FF9900&amp;quot; | slow&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC&amp;quot; | fast&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC&amp;quot; | fast&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC&amp;quot; | fast&lt;br /&gt;
| style=&amp;quot;background: #FF9900&amp;quot; | slow&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC&amp;quot; | fast        &lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; style=&amp;quot;background: #FFFF99&amp;quot; | Compression*&lt;br /&gt;
| style=&amp;quot;background: #FF9900&amp;quot; | 63.50%&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | 53.50%&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC&amp;quot; | 57.10%&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC&amp;quot; | 57.20%&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC&amp;quot; | 57.10%&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC&amp;quot; | ?&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC&amp;quot; | 57.0%            &lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; style=&amp;quot;background: #FFFF99&amp;quot; | Flexibility**&lt;br /&gt;
| style=&amp;quot;background: #FF9900&amp;quot; | bad&lt;br /&gt;
| style=&amp;quot;background: #FFFFFF&amp;quot; | average&lt;br /&gt;
| style=&amp;quot;background: #FF9900&amp;quot; | bad&lt;br /&gt;
| style=&amp;quot;background: #FF9900&amp;quot; | bad&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | very good&lt;br /&gt;
| style=&amp;quot;background: #FF9900&amp;quot; | bad&lt;br /&gt;
| style=&amp;quot;background: #FF9900&amp;quot; | bad              &lt;br /&gt;
|-&lt;br /&gt;
|! style=&amp;quot;background: #FFFFFF&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; style=&amp;quot;background: #FFFF99&amp;quot; | Error handling&lt;br /&gt;
| style=&amp;quot;background: #FF9900&amp;quot; | no&lt;br /&gt;
| style=&amp;quot;background: #FF9900&amp;quot; | no&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;background: #FF9900&amp;quot; | no&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;background: #FFFFFF&amp;quot; | &amp;amp;nbsp;            &lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; style=&amp;quot;background: #FFFF99&amp;quot; | Seeking&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;background: #FF9900&amp;quot; | slow&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | yes               &lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; style=&amp;quot;background: #FFFF99&amp;quot; | Tagging&lt;br /&gt;
| style=&amp;quot;background: #FF9900&amp;quot; | no&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC&amp;quot; | ID3v1&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC&amp;quot; | ID3&lt;br /&gt;
| style=&amp;quot;background: #FF9900&amp;quot; | no&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC&amp;quot; | proprietary &lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; style=&amp;quot;background: #FFFF99&amp;quot; | Hardware support&lt;br /&gt;
| style=&amp;quot;background: #FF9900&amp;quot; | limited&lt;br /&gt;
| style=&amp;quot;background: #FF9900&amp;quot; | no              &lt;br /&gt;
| style=&amp;quot;background: #FF9900&amp;quot; | limited&lt;br /&gt;
| style=&amp;quot;background: #FF9900&amp;quot; | no&lt;br /&gt;
| style=&amp;quot;background: #FF9900&amp;quot; | no&lt;br /&gt;
| style=&amp;quot;background: #FF9900&amp;quot; | no&lt;br /&gt;
| style=&amp;quot;background: #FF9900&amp;quot; | no               &lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; style=&amp;quot;background: #FFFF99&amp;quot; | Software support&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | very good&lt;br /&gt;
| style=&amp;quot;background: #FF9900&amp;quot; | bad&lt;br /&gt;
| style=&amp;quot;background: #FFFFFF&amp;quot; | average&lt;br /&gt;
| style=&amp;quot;background: #FFFFFF&amp;quot; | average&lt;br /&gt;
| style=&amp;quot;background: #FF9900&amp;quot; | bad&lt;br /&gt;
| style=&amp;quot;background: #FF9900&amp;quot; | bad&lt;br /&gt;
| style=&amp;quot;background: #FF9900&amp;quot; | bad              &lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; style=&amp;quot;background: #FFFF99&amp;quot; | Hybrid/lossy&lt;br /&gt;
| style=&amp;quot;background: #FF9900&amp;quot; | no&lt;br /&gt;
| style=&amp;quot;background: #FF9900&amp;quot; | no&lt;br /&gt;
| style=&amp;quot;background: #FF9900&amp;quot; | no&lt;br /&gt;
| style=&amp;quot;background: #FF9900&amp;quot; | no&lt;br /&gt;
| style=&amp;quot;background: #FF9900&amp;quot; | no&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;background: #FF9900&amp;quot; | no               &lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; style=&amp;quot;background: #FFFF99&amp;quot; | Replay Gain&lt;br /&gt;
| style=&amp;quot;background: #FF9900&amp;quot; | no&lt;br /&gt;
| style=&amp;quot;background: #FF9900&amp;quot; | no&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;background: #FF9900&amp;quot; | no&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;background: #FF9900&amp;quot; | no               &lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; style=&amp;quot;background: #FFFF99&amp;quot; | RIFF chunks&lt;br /&gt;
| style=&amp;quot;background: #FF9900&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;background: #FF9900&amp;quot; | no&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;background: #FFFFFF&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
| style=&amp;quot;background: #FFFFFF&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
| style=&amp;quot;background: #FFFFFF&amp;quot; | &amp;amp;nbsp;            &lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; style=&amp;quot;background: #FFFF99&amp;quot; | Streaming&lt;br /&gt;
| style=&amp;quot;background: #FF9900&amp;quot; | no&lt;br /&gt;
| style=&amp;quot;background: #FFFFFF&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
| style=&amp;quot;background: #FF9900&amp;quot; | no&lt;br /&gt;
| style=&amp;quot;background: #FF9900&amp;quot; | no&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | yes               &lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; style=&amp;quot;background: #FFFF99&amp;quot; | Pipe support&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;background: #FF9900&amp;quot; | no&lt;br /&gt;
| style=&amp;quot;background: #FFFFFF&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
| style=&amp;quot;background: #FFFFFF&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
| style=&amp;quot;background: #FFFFFF&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
| style=&amp;quot;background: #FF9900&amp;quot; | no               &lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; style=&amp;quot;background: #FFFF99&amp;quot; | Open source&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;background: #FF9900&amp;quot; | no&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;background: #FF9900&amp;quot; | no&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;background: #FF9900&amp;quot; | no               &lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; style=&amp;quot;background: #FFFF99&amp;quot; | Multichannel&lt;br /&gt;
| style=&amp;quot;background: #FF9900&amp;quot; | no&lt;br /&gt;
| style=&amp;quot;background: #FF9900&amp;quot; | no&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;background: #FF9900&amp;quot; | no&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;background: #FF9900&amp;quot; | no               &lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; style=&amp;quot;background: #FFFF99&amp;quot; | High resolution&lt;br /&gt;
| style=&amp;quot;background: #FF9900&amp;quot; | no&lt;br /&gt;
| style=&amp;quot;background: #FF9900&amp;quot; | no&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;background: #FF9900&amp;quot; | no               &lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; style=&amp;quot;background: #FFFF99&amp;quot; | OS support&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | All&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC&amp;quot; | Win/Linux&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | All&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC&amp;quot; | Win/Linux/Sol&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | All&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | All&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | Win/Mac/Linux     &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;*&amp;lt;/nowiki&amp;gt; The Compression ratio is calculated with the division of compressed size by uncompressed size * 100. So, lower is better.&lt;br /&gt;
&lt;br /&gt;
Encoding speed, Decoding speed and Compression ratio are based on each encoder&#039;s default settings.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;**&amp;lt;/nowiki&amp;gt; Flexibility refers to the amount of encoding choices offered to the users (Fast/low compression, Slow/high compression and everything inbetween)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
These are the most popular lossless codecs, in alphabetical order:&lt;br /&gt;
&lt;br /&gt;
== Apple Lossless Audio Codec (ALAC) ==&lt;br /&gt;
http://www.apple.com/itunes/import.html &lt;br /&gt;
&lt;br /&gt;
[[ALAC]] is a codec developed by Apple for usage in [[Apple iPod|iPod]] and AirPort Express.&lt;br /&gt;
&lt;br /&gt;
=== ALAC pros ===&lt;br /&gt;
* Very fast decoding&lt;br /&gt;
* [[Open source]] (encoding and decoding via FFmpeg and [[CueTools|CUETools]], decoding only via [http://craz.net/programs/itunes/alac.html a standalone decoder])&lt;br /&gt;
* Hardware support ([[Apple iPod|iPod]], AirPort Express)&lt;br /&gt;
* Streaming support&lt;br /&gt;
* Tagging support (QT tags)&lt;br /&gt;
* Excellent hardware-software-lossy format integration with [[iTunes]]/iPod.&lt;br /&gt;
* Supports [[multichannel]] audio and [[high resolution]]s&lt;br /&gt;
&lt;br /&gt;
=== ALAC cons ===&lt;br /&gt;
* Limited software support&lt;br /&gt;
* No hybrid/lossy mode&lt;br /&gt;
&lt;br /&gt;
=== ALAC Other features ===&lt;br /&gt;
* Fits in the [[MP4]] container&lt;br /&gt;
* Can be used with the AirPort Express gadget&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Free Lossless Audio Codec (FLAC) ==&lt;br /&gt;
http://flac.sourceforge.net/&lt;br /&gt;
&lt;br /&gt;
[[FLAC]] is a lossless codec developed by Josh Coalson. It&#039;s part of the Xiph multimedia portfolio, along with [[Ogg]], [[Vorbis]], [[Speex]] and [[Theora]].&lt;br /&gt;
&lt;br /&gt;
=== FLAC pros ===&lt;br /&gt;
* [[Open source]]&lt;br /&gt;
* Very fast decoding&lt;br /&gt;
* Fast encoding&lt;br /&gt;
* Hardware support ([[Rio Karma|Karma]], Phatbox, etc.)&lt;br /&gt;
* Very good software support&lt;br /&gt;
* Error robustness&lt;br /&gt;
* Streaming support&lt;br /&gt;
* Supports [[multichannel]] audio and [[high resolution]]s&lt;br /&gt;
* Tagging support (FLAC tags)&lt;br /&gt;
* Supports [[RIFF]] chunks&lt;br /&gt;
* Pipe support&lt;br /&gt;
* [[Replay Gain]] compatible&lt;br /&gt;
&lt;br /&gt;
=== FLAC cons ===&lt;br /&gt;
* No hybrid/lossy mode&lt;br /&gt;
&lt;br /&gt;
=== FLAC Other features ===&lt;br /&gt;
* Supports embedded CUE sheets (with [http://flac.sourceforge.net/faq.html#general__no_cuesheet_tags limitations])&lt;br /&gt;
* Includes MD5 hashes for quick integrity checking&lt;br /&gt;
* Fits the [[Ogg]] and [[Matroska]] containers&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== LosslessAudio (LA) ==&lt;br /&gt;
http://www.lossless-audio.com/&lt;br /&gt;
&lt;br /&gt;
[[LA]] is a lossless codec developed by Michael Bevin.&lt;br /&gt;
&lt;br /&gt;
=== LA pros ===&lt;br /&gt;
* Very high compression&lt;br /&gt;
* Tagging support ([[ID3v1]])&lt;br /&gt;
* Supports [[RIFF]] chunks&lt;br /&gt;
* Pipe support&lt;br /&gt;
&lt;br /&gt;
=== LA cons ===&lt;br /&gt;
* Closed source&lt;br /&gt;
* Very slow encoding and decoding&lt;br /&gt;
* Doesn&#039;t support [[multichannel]] audio and [[high resolution]]s&lt;br /&gt;
* No hardware support&lt;br /&gt;
* No hybrid/lossy mode&lt;br /&gt;
* Bad software support&lt;br /&gt;
* Doesn&#039;t support [[Replay Gain]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;It&#039;s important to mention that the LA foobar plugin is buggy and doesn&#039;t produce lossless streams!&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Lossless Predictive Audio Coder (LPAC) ==&lt;br /&gt;
http://www.nue.tu-berlin.de/wer/liebchen/lpac.html&lt;br /&gt;
&lt;br /&gt;
[[Lossless Predictive Audio Coder]] (LPAC) is a lossless codec developed by Tilman Liebchen. Development of it has been halted in favour of development of [[MPEG-4]] ALS.&lt;br /&gt;
&lt;br /&gt;
=== LPAC pros ===&lt;br /&gt;
* Reasonable compression ratios&lt;br /&gt;
* [[High resolution]] audio support&lt;br /&gt;
* Supports [[RIFF]] chunks&lt;br /&gt;
&lt;br /&gt;
=== LPAC cons ===&lt;br /&gt;
* Closed source&lt;br /&gt;
* No error robustness&lt;br /&gt;
* Slow seeking&lt;br /&gt;
* No tagging&lt;br /&gt;
* No [[multichannel]] support&lt;br /&gt;
* No hybrid/lossy mode&lt;br /&gt;
* No hardware support&lt;br /&gt;
* Doesn&#039;t support [[Replay Gain]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Monkey&#039;s Audio (APE) ==&lt;br /&gt;
http://www.monkeysaudio.com/&lt;br /&gt;
&lt;br /&gt;
[[Monkey&#039;s Audio]] is a very efficient lossless compressor developed by Matt Ashland.&lt;br /&gt;
&lt;br /&gt;
=== APE pros ===&lt;br /&gt;
* [[Open source]]&lt;br /&gt;
* High efficiency&lt;br /&gt;
* Good software support&lt;br /&gt;
* Simple and user friendly. Official GUI provided.&lt;br /&gt;
* Java version (multiplatform)&lt;br /&gt;
* Tagging support ([[ID3v1]], [[APE tags]])&lt;br /&gt;
* [[High resolution]] audio support&lt;br /&gt;
* Supports [[RIFF]] chunks (only in the GUI encoder)&lt;br /&gt;
* Pipe support (only in a [http://www.etree.org/shnutils/shntool/ special] version)&lt;br /&gt;
&lt;br /&gt;
=== APE cons ===&lt;br /&gt;
* No [[multichannel]] support&lt;br /&gt;
* No error robustness&lt;br /&gt;
* No hybrid/lossy mode&lt;br /&gt;
* Limited hardware support (Rockbox, some Cowon players); poor battery life due to complicated decoding&lt;br /&gt;
* Higher compression levels are extremely CPU intensive&lt;br /&gt;
* Doesn&#039;t support [[Replay Gain]]&lt;br /&gt;
&lt;br /&gt;
=== APE Other features ===&lt;br /&gt;
* Includes MD5 hashes for quick integrity checking&lt;br /&gt;
* Supports APL image link files (similar to CUE sheets)&lt;br /&gt;
&lt;br /&gt;
== MPEG-4 SLS ==&lt;br /&gt;
MPEG-4 SLS allows audio encoding from lossless scalable to [[AAC]].&lt;br /&gt;
&lt;br /&gt;
=== SLS pros ===&lt;br /&gt;
* Transcoding to standard AAC or any higher lossy bitrate at the speed of copying a file&lt;br /&gt;
* Scalable decoding from lossless, to any bitrate down to the AAC core track&lt;br /&gt;
* Best lossless compression available when you count the AAC track (~5% gain over any other lossless compression + AAC)&lt;br /&gt;
* [[High resolution]] audio support&lt;br /&gt;
* Multi channel audio support&lt;br /&gt;
* [[Open source]] (MPEG-4 Reference code)&lt;br /&gt;
* Embedded in standard MP4 files, so supports same tagging and Replay Gain features as AAC does.&lt;br /&gt;
&lt;br /&gt;
=== SLS cons ===&lt;br /&gt;
* No usable software available yet&lt;br /&gt;
* Pure lossless compression not the best there is&lt;br /&gt;
* Seems to be slow in encoding and decoding, but we have to wait for released software&lt;br /&gt;
&lt;br /&gt;
=== SLS Other features ===&lt;br /&gt;
* Transform based lossless codec with optional LC AAC core track&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== OptimFROG (OFR) ==&lt;br /&gt;
http://losslessaudiocompression.com/&lt;br /&gt;
&lt;br /&gt;
[[OptimFROG]] is a lossless format developed by Florin Ghido to become the champion in audio compression.&lt;br /&gt;
&lt;br /&gt;
=== OFR pros ===&lt;br /&gt;
* Very high compression&lt;br /&gt;
* Good software support&lt;br /&gt;
* Error robustness&lt;br /&gt;
* Streaming support&lt;br /&gt;
* Supports [[high resolution]]s&lt;br /&gt;
* Hybrid/lossy mode&lt;br /&gt;
* Tagging support ([[ID3]], [[APE tags]])&lt;br /&gt;
* Supports [[RIFF]] chunks&lt;br /&gt;
* [[Replay Gain]] compatible&lt;br /&gt;
&lt;br /&gt;
=== OFR cons ===&lt;br /&gt;
* Closed source&lt;br /&gt;
* No [[multichannel]] audio support&lt;br /&gt;
* No hardware support&lt;br /&gt;
* Quite slow decoding&lt;br /&gt;
&lt;br /&gt;
=== OFR Other features ===&lt;br /&gt;
* Supports 32bit float streams&lt;br /&gt;
* Includes MD5 hashes for quick integrity checking&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== RealAudio Lossless (RAL) ==&lt;br /&gt;
http://www.realnetworks.com/products/codecs/realaudio.html&lt;br /&gt;
&lt;br /&gt;
RealAudio lossless is the lossless codec developed by Real Networks for their multimedia portfolio&lt;br /&gt;
&lt;br /&gt;
=== RAL pros ===&lt;br /&gt;
* Very fast decoding&lt;br /&gt;
* Streaming support&lt;br /&gt;
* Tagging support (proprietary)&lt;br /&gt;
&lt;br /&gt;
=== RAL cons ===&lt;br /&gt;
* Closed source&lt;br /&gt;
* No [[multichannel]] and [[high resolution]] audio support&lt;br /&gt;
* Little software support (Real Player)&lt;br /&gt;
* No hardware support&lt;br /&gt;
* Compression efficiency not on par with other lossless codecs&lt;br /&gt;
* No hybrid/lossy mode&lt;br /&gt;
* No pipe support&lt;br /&gt;
* Doesn&#039;t support [[Replay Gain]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Shorten (SHN) ==&lt;br /&gt;
http://www.etree.org/shnutils/shorten/&lt;br /&gt;
&lt;br /&gt;
[[Shorten]] is a very old and featureless lossless codec developed by Tony Robinson at SoftSound.&lt;br /&gt;
&lt;br /&gt;
=== SHN pros ===&lt;br /&gt;
* [[Open source]]&lt;br /&gt;
* Fast decoding&lt;br /&gt;
* Very good software support&lt;br /&gt;
* Supports [[RIFF]] chunks&lt;br /&gt;
* Pipe support&lt;br /&gt;
&lt;br /&gt;
=== SHN cons ===&lt;br /&gt;
* Quite inefficient&lt;br /&gt;
* No [[multichannel]] or [[high resolution]] audio support&lt;br /&gt;
* No hybrid/lossy mode&lt;br /&gt;
* No error robustness&lt;br /&gt;
* Not streamable&lt;br /&gt;
* No hardware support&lt;br /&gt;
* No native tagging&lt;br /&gt;
* Doesn&#039;t support [[Replay Gain]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== True Audio (TTA) ==&lt;br /&gt;
http://www.true-audio.com/&lt;br /&gt;
&lt;br /&gt;
[[TTA]] is a new lossless codec developed by a team of russian programmers.&lt;br /&gt;
&lt;br /&gt;
=== TTA pros ===&lt;br /&gt;
* [[Open source]]&lt;br /&gt;
* Good efficiency&lt;br /&gt;
* Hardware support (obscure DVD player)&lt;br /&gt;
* Supports [[multichannel]] audio and [[high resolution]]s&lt;br /&gt;
* Tagging support ([[ID3]])&lt;br /&gt;
* [[Replay Gain]] compatible&lt;br /&gt;
* Error robustness&lt;br /&gt;
&lt;br /&gt;
=== TTA cons ===&lt;br /&gt;
* No streaming support&lt;br /&gt;
* No hybrid/lossy mode&lt;br /&gt;
* Doesn&#039;t support [[RIFF]] chunks&lt;br /&gt;
* No pipe support&lt;br /&gt;
&lt;br /&gt;
=== TTA Other features ===&lt;br /&gt;
* Fits the [[Matroska]] container&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== WavPack (WV) ==&lt;br /&gt;
http://www.wavpack.com/&lt;br /&gt;
&lt;br /&gt;
[[WavPack]] is a fast and featureful lossless codec developed by David Bryant.&lt;br /&gt;
&lt;br /&gt;
=== WV pros ===&lt;br /&gt;
* [[Open source]]&lt;br /&gt;
* Very fast decoding&lt;br /&gt;
* Very fast encoding&lt;br /&gt;
* Good efficiency&lt;br /&gt;
* Error robustness&lt;br /&gt;
* Streaming support&lt;br /&gt;
* Hardware support ([http://www.rockbox.org/ RockBox])&lt;br /&gt;
* Supports [[multichannel]] audio and [[high resolution]]s&lt;br /&gt;
* Hybrid/lossy mode&lt;br /&gt;
* Tagging support ([[ID3v1]], [[APE tags]])&lt;br /&gt;
* Supports [[RIFF]] chunks&lt;br /&gt;
* Ability to create self extracting files for Win32 platform&lt;br /&gt;
* Pipe support&lt;br /&gt;
* Good software support&lt;br /&gt;
* [[Replay Gain]] compatible&lt;br /&gt;
&lt;br /&gt;
=== WV cons ===&lt;br /&gt;
* Limited hardware player support&lt;br /&gt;
&lt;br /&gt;
=== WV Other features ===&lt;br /&gt;
* Supports 32bit float streams&lt;br /&gt;
* Supports embedded CUE sheets&lt;br /&gt;
* Includes MD5 hashes for quick integrity checking&lt;br /&gt;
* Can encode in both symmetrical and assymmetrical modes.&lt;br /&gt;
* Fits the [[Matroska]] container&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Windows Media Audio Lossless (WMAL) ==&lt;br /&gt;
http://www.microsoft.com/windows/windowsmedia/9series/codecs/audio.aspx&lt;br /&gt;
&lt;br /&gt;
WMA Lossless is the lossless codec developed by Microsoft to be featured in their Windows Media codec portfolio.&lt;br /&gt;
&lt;br /&gt;
=== WMAL pros ===&lt;br /&gt;
* Streaming support&lt;br /&gt;
* Very good software support&lt;br /&gt;
* Hardware support (All Microsoft Zunes though older models may need firmware updates, also supported by some non-Microsoft devices like the [http://en.wikipedia.org/wiki/Gigabeat Gigabeat V and S line from Toshiba].&lt;br /&gt;
* Supports [[multichannel]] audio and [[high resolution]]s.&lt;br /&gt;
* Tagging support (proprietary)&lt;br /&gt;
* Pipe support&lt;br /&gt;
&lt;br /&gt;
=== WMAL cons ===&lt;br /&gt;
* Closed source&lt;br /&gt;
* No hybrid/lossy mode&lt;br /&gt;
* Doesn&#039;t support [[RIFF]] chunks&lt;br /&gt;
* Doesn&#039;t support [[Replay Gain]]&lt;br /&gt;
&lt;br /&gt;
=== WMAL Other features ===&lt;br /&gt;
* Fits the [[ASF]] container&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Oddball Formats ==&lt;br /&gt;
There are several old lossless formats that aren&#039;t being featured in the article above. Reasons are: lack of widespread support, lack of features, bad efficiency and, most importantly, it seems no one is really interested in them.&lt;br /&gt;
&lt;br /&gt;
Most of those would have disappeared by now, but they are being preserved for posterity at [[User:Rjamorim|rjamorim]]&#039;s [http://www.rjamorim.com/rrw/ ReallyRareWares]&lt;br /&gt;
&lt;br /&gt;
=== Advanced Digital Audio (ADA) ===&lt;br /&gt;
* http://www.rjamorim.com/rrw/ada.html&lt;br /&gt;
&lt;br /&gt;
=== Bonk ===&lt;br /&gt;
* http://www.logarithmic.net/pfh/bonk&lt;br /&gt;
&lt;br /&gt;
=== Marian&#039;s a-Pac ===&lt;br /&gt;
* http://www.marian.de/en/downloads#APAC&lt;br /&gt;
* http://www.rjamorim.com/rrw/apac.html&lt;br /&gt;
&lt;br /&gt;
=== AudioZip ===&lt;br /&gt;
* http://www.rjamorim.com/rrw/audiozip.html&lt;br /&gt;
&lt;br /&gt;
=== Dakx WAV ===&lt;br /&gt;
* http://www.dakx.com/&lt;br /&gt;
* http://www.rjamorim.com/rrw/daxwav.html&lt;br /&gt;
&lt;br /&gt;
=== Entis Lab MIO ===&lt;br /&gt;
* http://www.entis.gr.jp/eri/frame.html&lt;br /&gt;
* http://www.rjamorim.com/rrw/mio.html&lt;br /&gt;
&lt;br /&gt;
=== LiteWave ===&lt;br /&gt;
* http://www.clearjump.com/products/LiteWave.html&lt;br /&gt;
* http://www.rjamorim.com/rrw/litewave.html&lt;br /&gt;
&lt;br /&gt;
=== Pegasus SPS ===&lt;br /&gt;
* http://www.krishnasoft.com/sps.htm&lt;br /&gt;
* http://www.rjamorim.com/rrw/pegasussps.html&lt;br /&gt;
&lt;br /&gt;
=== RK Audio (RKAU) ===&lt;br /&gt;
* http://www.rjamorim.com/rrw/split2000.html&lt;br /&gt;
&lt;br /&gt;
=== Sonarc ===&lt;br /&gt;
* http://www.rjamorim.com/rrw/sonarc.html&lt;br /&gt;
&lt;br /&gt;
=== VocPack ===&lt;br /&gt;
* http://www.rjamorim.com/rrw/vocpack.html&lt;br /&gt;
&lt;br /&gt;
=== WavArc ===&lt;br /&gt;
* http://www.rjamorim.com/rrw/wavarc.html&lt;br /&gt;
&lt;br /&gt;
=== WaveZip/MUSICompress ===&lt;br /&gt;
* http://members.aol.com/_ht_a/sndspace/&lt;br /&gt;
* http://www.rjamorim.com/rrw/wavezip.html&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[Lossless]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== External links ==&lt;br /&gt;
=== Other lossless compressions comparisons ===&lt;br /&gt;
&#039;&#039;Sorted based on last &#039;&#039;&#039;update&#039;&#039;&#039; date.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* [http://uclc.info/LossLess.pdf Johan De Bock&#039;s speed oriented comparison] - best choices speedwise are indicated in green, mostly electronic music (last updated 2006-07-22)&lt;br /&gt;
* [http://web.inter.nl.net/users/hvdh/lossless/lossless.htm Hans Heijden&#039;s] -- used as reference to build the table (last updated 2006-07-07)&lt;br /&gt;
* [http://synthetic-soul.co.uk/comparison/lossless/ Synthetic Soul&#039;s comparison] (last update 2007-07-28)&lt;br /&gt;
* [http://synthetic-soul.co.uk/comparison/josef/ Josef Pohm&#039;s comparison, hosted by Synthetic Soul] (last update 2006-05-29)&lt;br /&gt;
* [http://www.bobulous.org.uk/misc/lossless_audio_2006.html Bobulous&#039; lossless audio comparison] — a look at six lossless formats in terms of speed and file size (last updated 2006-05-22)&lt;br /&gt;
* [http://uclc.info/lossless_audio_compression_test.htm Johan De Bock&#039;s size oriented comparison] - aimed only at the maximum compression setting for each codec (based on a somewhat limited set of samples, however) (last updated 2006-05-19)&lt;br /&gt;
* [http://guruboolez.free.fr/lossless/ Guruboolez&#039;] -- comparing only classical music (last updated 2005-02-27)&lt;br /&gt;
* [http://members.home.nl/w.speek/comparison.htm Speek&#039;s] (last updated 2005-02-07)&lt;br /&gt;
&lt;br /&gt;
=== More on lossless compressions ===&lt;br /&gt;
* [http://losslessaudioblog.com/ The Lossless Audio Blog] - by windmiller, is a reliable and complete source of news about lossless compression.&lt;br /&gt;
* Go to the [http://www.hydrogenaudio.org/forums/index.php?showtopic=33226 Hydrogenaudio thread] to discuss this article.&lt;br /&gt;
&lt;br /&gt;
[[Category:Guides]]&lt;/div&gt;</summary>
		<author><name>Saratoga</name></author>
	</entry>
</feed>