https://wiki.hydrogenaud.io/api.php?action=feedcontributions&user=84.106.83.172&feedformat=atomHydrogenaudio Knowledgebase - User contributions [en]2024-03-28T12:04:13ZUser contributionsMediaWiki 1.22.7https://wiki.hydrogenaud.io/index.php?title=Lossless_comparisonLossless comparison2015-07-21T19:15:40Z<p>84.106.83.172: /* OptimFROG (OFR) */ Removed con of not having been updated for a long time, as a new version has just arrived</p>
<hr />
<div>The '''lossless comparison page''' 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.<br />
<br />
== Introduction ==<br />
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's needs. Some 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 a choice.<br />
<br />
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. En fin, this is not a matter worth getting too worked up about. If you later find out the codec you chose isn't the best for your needs, you can just transcompress to another format, without risk of losing quality.<br />
<br />
'''Note:''' for latest comparison of lossless compression, scroll down to the [[Lossless comparison#External links|Links section of this page]].<br />
<br />
== Comparison Table ==<br />
<!-- Do NOT add links to the table. It's cluttered and colourful enough as it is. Please add them to the article itself if needed. Thanks --><br />
<br />
{| cellspacing="2" style="text-align:center; border:1px solid blue;"<br />
|width="120px"|'''Features'''<br />
| width="90px" style="background: #00FFFF" | FLAC<br />
| width="90px" style="background: #00FFFF" | ALAC<br />
| width="90px" style="background: #00FFFF" | WavPack<br />
| width="90px" style="background: #00FFFF" | TAK<br />
| width="90px" style="background: #00FFFF" | Monkey's<br />
| width="90px" style="background: #00FFFF" | WMA<br />
| width="90px" style="background: #00FFFF" | OptimFROG<br />
| width="90px" style="background: #00FFFF" | TTA<br />
|- <!-- *** Encoding speed is very fast if > 150x, fast if >75x, average if >40x, slow if >20x, very slow if <20x *** --><br />
|align="left" style="background: #FFFF99" | Encoding speed{{ref label|speed|A|A}}<br />
| style="background: #00FF00" | very fast<br />
| style="background: #CCFFCC" | fast<br />
| style="background: #00FF00" | very fast<br />
| style="background: #00FF00" | very fast<br />
| style="background: #CCFFCC" | fast<br />
| style="background: #CCFFCC" | fast<br />
| style="background: #FFCC66" | slow<br />
| style="background: #00FF00" | very fast<br />
|- <!-- *** For decoding speed thresholds are doubled, i.e., very fast if >300x, fast if >150x etc *** --><br />
|align="left" style="background: #FFFF99" | Decoding speed{{ref label|speed|A|A}}<br />
| style="background: #00FF00" | very fast<br />
| style="background: #CCFFCC" | fast<br />
| style="background: #CCFFCC" | fast<br />
| style="background: #00FF00" | very fast<br />
| style="background: #FFCC66" | slow<br />
| style="background: #FFFFFF" | average<br />
| style="background: #FF9900" | very slow<br />
| style="background: #CCFFCC" | fast<br />
|- <!-- *** Thresholds for compression are at 56% and 58% *** --> <br />
|align="left" style="background: #FFFF99" | Compression{{ref label|speed|A|A}}{{ref label|comp|B|B}}<br />
| style="background: #CCFFCC" | 57.0%<br />
| style="background: #CCFFCC" | 57.8%<br />
| style="background: #CCFFCC" | 57.1%<br />
| style="background: #00FF00" | 56.0%<br />
| style="background: #00FF00" | 55.1%<br />
| style="background: #FF9900" | 58.4%<br />
| style="background: #00FF00" | 54.6%<br />
| style="background: #CCFFCC" | 56.6%<br />
|-<br />
|align="left" style="background: #FFFF99" | # presets<br />
| style="background: #CCFFCC" | 9<br />
| style="background: #CCFFCC" | 2<br />
| style="background: #CCFFCC" | > 10<br />
| style="background: #CCFFCC" | > 10<br />
| style="background: #CCFFCC" | 5<br />
| style="background: #CCFFCC" | 1<br />
| style="background: #CCFFCC" | > 10<br />
| style="background: #CCFFCC" | 1<br />
|-<br />
|align="left" style="background: #FFFF99" | Error handling{{ref label|error|C|C}}<br />
| style="background: #00FF00" | yes<br />
| style="background: #FF9900" | no<br />
| style="background: #00FF00" | yes<br />
| style="background: #00FF00" | yes<br />
| style="background: #CCFFCC" | yes{{ref label|error_ape|D|D}}<br />
| style="background: #00FF00" | yes<br />
| style="background: #00FF00" | yes<br />
| style="background: #00FF00" | yes<br />
|-<br />
|align="left" style="background: #FFFF99" | Tagging<br />
| style="background: #00FF00" | Vorbis tags<br />
| style="background: #00FF00" | iTunes<br />
| style="background: #CCFFCC" | ID3/APEv2<br />
| style="background: #00FF00" | APEv2<br />
| style="background: #00FF00" | APEv2<br />
| style="background: #00FF00" | ASF<br />
| style="background: #CCFFCC" | ID3/APEv2<br />
| style="background: #CCFFCC" | ID3/APEv2<br />
|-<br />
| align="left" style="background: #FFFF99" | Hardware support <br />
| style="background: #00FF00" | very good<br />
| style="background: #CCFFCC" | good<br />
| style="background: #FFCC66" | limited<br />
| style="background: #FF9900" | no<br />
| style="background: #FFCC66" | limited<br />
| style="background: #FFCC66" | limited<br />
| style="background: #FF9900" | no<br />
| style="background: #FFCC66" | limited<br />
|-<br />
| align="left" style="background: #FFFF99" | Software support<br />
| style="background: #00FF00" | very good<br />
| style="background: #CCFFCC" | good<br />
| style="background: #CCFFCC" | good<br />
| style="background: #FFFFFF" | average<br />
| style="background: #CCFFCC" | good<br />
| style="background: #CCFFCC" | good<br />
| style="background: #FFFFFF" | average<br />
| style="background: #CCFFCC" | good<br />
|-<br />
| align="left" style="background: #FFFF99" | Hybrid/lossy<br />
| style="background: #CCFFCC" | LossyWAV<br />
| style="background: #FF9900" | no<br />
| style="background: #00FF00" | yes<br />
| style="background: #CCFFCC" | LossyWAV<br />
| style="background: #FF9900" | no<br />
| style="background: #CCFFCC" | LossyWAV<br />
| style="background: #00FF00" | yes<br />
| style="background: #FF9900" | no<br />
|-<br />
| align="left" style="background: #FFFF99" | RIFF chunks<br />
| style="background: #00FF00" | yes<br />
| style="background: #FFFFFF" | ?<br />
| style="background: #00FF00" | yes<br />
| style="background: #FFFFFF" | ?<br />
| style="background: #00FF00" | yes<br />
| style="background: #FF9900" | no<br />
| style="background: #00FF00" | yes<br />
| style="background: #FF9900" | no<br />
|-<br />
| align="left" style="background: #FFFF99" | Streaming<br />
| style="background: #00FF00" | yes<br />
| style="background: #00FF00" | yes<br />
| style="background: #00FF00" | yes<br />
| style="background: #00FF00" | yes<br />
| style="background: #FF9900" | no<br />
| style="background: #00FF00" | yes<br />
| style="background: #00FF00" | yes<br />
| style="background: #00FF00" | yes<br />
|-<br />
| align="left" style="background: #FFFF99" | Open source<br />
| style="background: #00FF00" | yes<br />
| style="background: #00FF00" | yes<br />
| style="background: #00FF00" | yes<br />
| style="background: #FF9900" | no<br />
| style="background: #00FF00" | yes<br />
| style="background: #FF9900" | no<br />
| style="background: #FF9900" | no<br />
| style="background: #00FF00" | yes<br />
|-<br />
| align="left" style="background: #FFFF99" | Multichannel<br />
| style="background: #00FF00" | yes<br />
| style="background: #00FF00" | yes<br />
| style="background: #00FF00" | yes<br />
| style="background: #00FF00" | yes<br />
| style="background: #FF9900" | no<br />
| style="background: #00FF00" | yes<br />
| style="background: #FF9900" | no<br />
| style="background: #00FF00" | yes<br />
|-<br />
| align="left" style="background: #FFFF99" | OS support<br />
| style="background: #00FF00" | All<br />
| style="background: #00FF00" | All<br />
| style="background: #00FF00" | All<br />
| style="background: #CCFFCC" | Win/Wine<br />
| style="background: #00FF00" | All<br />
| style="background: #CCFFCC" | Win/Mac<br />
| style="background: #00FF00" | Win/Mac/Linux<br />
| style="background: #00FF00" | All<br />
|}<br />
<br />
{|<br />
|-<br />
|{{note label|speed|A|A}} Speed and Compression are based on '''each encoder's default settings''' and are taken from the [http://www.audiograaf.nl/downloads.html this comparison].<br />
|-<br />
|{{note label|comp|B|B}} The Compression ratio is compressed size/uncompressed size * 100. So, lower is better. <br />
|-<br />
|{{note label|error|C|C}} Error handling means that a codec can detect a corruption (flipped bit) in a file and warn the user about it, but still decode the rest of the file.<br />
|-<br />
|{{note label|error_ape|D|D}} The official Monkey's Audio decoder does not support decoding through errors, but this may be achieved with FFmpeg or Winamp, though likely not when the "Insane" preset is used.<br />
<br />
== Codecs ==<br />
<br />
These are the most popular lossless codecs, in alphabetical order:<br />
<br />
=== Apple Lossless Audio Codec (ALAC) ===<br />
http://www.apple.com/itunes/import.html <br />
<br />
[[ALAC]] is a codec developed by Apple for usage in [[Apple iPod|iPod]] and AirPort Express.<br />
<br />
'''ALAC pros'''<br />
* [[Open source]] (encoding and decoding via FFmpeg and [[CueTools|CUETools]], decoding only via [http://craz.net/programs/itunes/alac.html a standalone decoder])<br />
* Fast encoding<br />
* Fast decoding<br />
* Hardware support ([[Apple iPod|iPod]], AirPort Express)<br />
* Software support (iTunes, Quicktime)<br />
* Independent encoder implementation available: ffmpeg<br />
* Streaming support<br />
* Tagging support (QT tags)<br />
* Supports [[multichannel]] audio and [[high resolution]]s<br />
* Used by a few online stores<br />
<br />
''' ALAC cons '''<br />
* Limited software support<br />
* No error detection/robustness<ref>[http://www.hydrogenaud.io/forums/index.php?s=&showtopic=33226&view=findpost&p=862031 HA forum post discussing ALAC robustness]</ref><br />
* No hybrid/lossy mode (and not [[LossyWAV]] compatible)<br />
* Not very efficient<br />
<br />
''' ALAC Other features '''<br />
* Fits in the [[MP4]] container<br />
<br />
=== Free Lossless Audio Codec (FLAC) ===<br />
https://xiph.org/flac/<br />
<br />
[[FLAC]] is a lossless codec developed by Josh Coalson. It's part of the Xiph multimedia portfolio, along with [[Opus]], [[Ogg]], [[Vorbis]], [[Speex]] and [[Theora]].<br />
<br />
''' FLAC pros '''<br />
* [[Open source]]<br />
* Very fast decoding<br />
* Very fast encoding<br />
* Very good hardware support (Android, Marantz, Sonos, [http://xiph.org/flac/links.html many others])<br />
* Very good software support<br />
* Independent encoder implementations available: flake/ffmpeg, FLACCL<br />
* Error robustness<br />
* Streaming support<br />
* Supports [[multichannel]] audio and [[high resolution]]s<br />
* Tagging support (FLAC tags)<br />
* Supports [[RIFF]] chunks<br />
* Pipe support<br />
* Used by a few [http://xiph.org/flac/links.html#music online stores]<br />
<br />
''' FLAC cons '''<br />
* No hybrid/lossy mode (but is [[LossyWAV]] compatible<br />
* Does not handle 32-bit float and there is no encoder that can render to 32-bit integer<br />
<br />
''' FLAC Other features '''<br />
* Supports embedded CUE sheets (with [http://flac.sourceforge.net/faq.html#general__no_cuesheet_tags limitations])<br />
* Includes MD5 hashes for quick integrity checking as standard<br />
* Fits the [[Ogg]] and [[Matroska]] containers<br />
<br />
=== Monkey's Audio (APE) ===<br />
http://www.monkeysaudio.com/<br />
<br />
[[Monkey's Audio]] is a very efficient lossless compressor developed by Matt Ashland.<br />
<br />
''' APE pros '''<br />
* High compression<br />
* Fast encoding<br />
* Good software support<br />
* Simple and user friendly. Official GUI provided.<br />
* Java version (multiplatform)<br />
* Error robustness/decoding up to -c3000 (High compression)<ref>http://www.hydrogenaud.io/forums/index.php?showtopic=98984&st=0&p=821420&#entry821420</ref><br />
* Tagging support ([[ID3v1]], [[APE tags]])<br />
* [[High resolution]] audio support<br />
* Supports [[RIFF]] chunks (only in the GUI encoder)<br />
* Pipe support (only in a [http://www.etree.org/shnutils/shntool/ special] version)<br />
<br />
''' APE cons '''<br />
* Problematic license (source provided, no modification or redistribution rights)<br />
* Slow decoding<br />
* No [[multichannel]] support<br />
* No hybrid/lossy mode (and not [[LossyWAV]] compatible)<br />
* Limited hardware support (Rockbox, some Cowon players); poor battery life due to complicated decoding (see [http://www.rockbox.org/wiki/SoundCodecMonkeysAudio MP3 player benchmarks])<br />
* Higher compression levels are extremely CPU intensive<br />
<br />
''' APE Other features '''<br />
* Includes MD5 hashes for quick integrity checking<br />
* Supports APL image link files (similar to CUE sheets)<br />
<br />
=== OptimFROG (OFR) ===<br />
http://www.losslessaudio.org/<br />
<br />
[[OptimFROG]] is a lossless format developed by Florin Ghido to become the champion in audio compression.<br />
<br />
''' OFR pros '''<br />
* Very high compression<br />
* Good software support<br />
* Error robustness<br />
* Streaming support<br />
* Supports [[high resolution]]s<br />
* Hybrid/lossy mode<br />
* Tagging support ([[ID3]], [[APE tags]])<br />
* Supports [[RIFF]] chunks<br />
<br />
''' OFR cons '''<br />
* Closed source<br />
* No [[multichannel]] audio support<br />
* No hardware support<br />
* Very slow decoding<br />
* Slow encoding<br />
* More than one tagging method allowed (ambiguity possible)<br />
<br />
''' OFR Other features '''<br />
* Supports 32bit float streams<br />
* Includes MD5 hashes for quick integrity checking<br />
<br />
=== Tom's verlustfreier Audiokompressor (TAK) ===<br />
http://www.thbeck.de/Tak/Tak.html<br />
<br />
[[TAK]] is a lossless codec developed by TBeck.<br />
<br />
''' TAK pros '''<br />
* Very fast decoding<br />
* Very fast encoding<br />
* Very high efficiency<br />
* Error robust<br />
* Supports multichannel audio and high resolutions<br />
* Tagging support<br />
* Supports RIFF chunks<br />
* Pipe support <br />
* Streamable<br />
<br />
''' TAK cons '''<br />
* Closed source<br />
* No hybrid/lossy mode (but is [[LossyWAV]] compatible)<br />
* No hardware support<br />
* Average software support<br />
* Doesn't support Unicode (yet)<br />
<br />
''' TAK Other features '''<br />
* Optional MD5 checksum<br />
<br />
=== WavPack (WV) ===<br />
http://www.wavpack.com/<br />
<br />
[[WavPack]] is a fast and featureful lossless codec developed by David Bryant.<br />
<br />
''' WV pros '''<br />
* [[Open source]]<br />
* Fast decoding<br />
* Very fast encoding<br />
* Good efficiency<br />
* Error robustness<br />
* Streaming support<br />
* Supports [[multichannel]] audio and [[high resolution]]s<br />
* Hybrid/lossy mode<br />
* Tagging support ([[ID3v1]], [[APE tags]])<br />
* Supports [[RIFF]] chunks<br />
* Ability to create self extracting files for Win32 platform<br />
* Pipe support<br />
* Good software support<br />
<br />
''' WV cons '''<br />
* Limited hardware player support ([http://www.rockbox.org/ RockBox])<br />
* More than one tagging method allowed (ambiguity possible)<br />
<br />
''' WV Other features '''<br />
* Supports 32bit float streams<br />
* Supports embedded CUE sheets<br />
* Includes MD5 hashes for quick integrity checking<br />
* Can encode in both symmetrical and asymmetrical modes.<br />
* Fits the [[Matroska]] container<br />
<br />
=== True Audio (TTA) ===<br />
http://www.true-audio.com/<br />
<br />
[[TTA]] is a lossless codec developed by a international team of programmers.<br />
<br />
''' TTA pros '''<br />
* [[Open source]]<br />
* Supports [[multichannel]] audio and [[high resolution]]s<br />
* Tagging support ([[ID3]], [[APE tags]])<br />
* Embedded CUE sheets support<br />
* Error robustness<br />
* Pipe support<br />
* Average compression<br />
* Fast encoding/decoding<br />
* Symmetric algorithm<br />
* Password protection<br />
* Ultra low latency<br />
<br />
''' TTA cons '''<br />
* No hybrid/lossy mode<br />
* Doesn't support [[RIFF]] chunks<br />
* Limited hardware support<br />
<br />
''' TTA Other features '''<br />
* Fits the [[Matroska]] container<br />
* Password protection<br />
<br />
=== Windows Media Audio Lossless (WMAL) ===<br />
http://www.microsoft.com/windows/windowsmedia/9series/codecs/audio.aspx<br />
<br />
WMA Lossless is the lossless codec developed by Microsoft to be featured in their Windows Media codec portfolio.<br />
<br />
''' WMAL pros '''<br />
* Streaming support<br />
* Very good software support<br />
* Hardware support (Microsoft Zune, [http://en.wikipedia.org/wiki/Gigabeat Gigabeat V and S line from Toshiba])<br />
* Supports [[multichannel]] audio and [[high resolution]]s.<br />
* Tagging support (proprietary)<br />
* Pipe support<br />
<br />
''' WMAL cons '''<br />
* Rather low efficiency<br />
* Closed source<br />
* No hybrid/lossy mode (but is [[LossyWAV]] compatible)<br />
* Doesn't support [[RIFF]] chunks<br />
<br />
''' WMAL Other features '''<br />
* Fits the [[ASF]] container<br />
<br />
=== Other Formats ===<br />
Aside from the formats mentioned above, there are in fact quite a lot of other lossless formats. To keep the table and list brief and readable, a few formats have not been mentioned.<br />
<br />
====DTS-HD Master Audio====<br />
Similar to the MPEG-4 SLS format, this format has a core track in an older, more widely supported format, DTS. This core lossy track is made lossless by a secondary track with correction data. It is an optional codec in Blu-ray implementations. Its main use is surround sound encoding, and as is the case with MLP, the price of the encoder ensures it is only used in mastering of Blu-ray discs.<br />
<br />
====LA====<br />
LA features an extremely high compression (on par with OptimFrog highest modes, but a bit faster), but it hasn't been updated for more than 10 years. Furthermore, backward compatibility is not guaranteed, so using it for archiving might pose a few problems. It isn't able to cope with file corruption either, software support is very limited and isn't open source.<br />
<br />
====MLP/Dolby TrueHD====<br />
The [[MLP|MLP codec]] (of which the mathematical basis was used in Dolby TrueHD) it the codec used for DVD-Audio. It was mandatory in any HD-DVD implementation and optional for Blu-Ray in it's Dolby TrueHD form. It is known to support the 'wasted bits' scheme used in LossyWAV. As encoders are very expensive, its use outside DVD/Blu-ray mastering environments is non-existent. Its main use is encoding surround sound data.<br />
<br />
====MPEG-4 ALS====<br />
MPEG-4 ALS is the successor to LPAC, which it was based on. It has been as a ISO standard and there is a reference encoder/decoder, but like TTA, it does not have features that make it stand out from other codecs, nor backing by a large organisation, so it hasn't much software and no hardware support.<br />
<br />
====MPEG-4 SLS====<br />
MPEG-4 SLS is a special codec, having a AAC core track and a 'correction track'. Also known as HD-AAC, SLS stands for Scalable to Lossless. However, there is to date still no affordable software to play, encode or decode (the lossless part of) SLS files.<br />
<br />
====Shorten====<br />
Shorten was one of the first widely-used lossless formats, and it still occasionally found on the internet, especially in archives, for example etree.org. It is quite fast in both encoding and decoding, but doesn't compress very much. Furthermore, seeking has a troubled past as well as tagging. It is considered obsolete.<br />
<br />
====Real Lossless====<br />
Part of the Real codec suite, Real Lossless too hasn't any very special features that make it stand out. Just like WMA Lossless and Apple Lossless, it was created to fit in a codec suite, but unlike WMA Lossless and Apple Lossless, there is no hardware support and software support is limited. Compression is on par with most other codecs, but it is rather slow to encode.<br />
<br />
====Oddball formats====<br />
There are a few archaic formats of which encoders and decoders are hard to get by. Most of those would have disappeared by now, but some of them are being preserved for posterity at [[User:Rjamorim|rjamorim]]'s <br />
<br />
* Advanced Digital Audio (ADA) <br />
* Bonk <br />
* Marian's a-Pac <br />
* AudioZip <br />
* Dakx WAV <br />
* Entis Lab MIO <br />
* LiteWave <br />
* LPAC<br />
* Pegasus SPS <br />
* RK Audio (RKAU) <br />
* Ogg Squish<br />
* Sonarc <br />
* VocPack <br />
* WavArc <br />
* WaveZip/MUSICompress<br />
<br />
== See also ==<br />
* [[Lossless]]<br />
<br />
== External links ==<br />
''' Other lossless compressions comparisons '''<br />
''Sorted based on last '''update''' date.''<br />
<br />
* [http://www.audiograaf.nl/downloads.html Martijn van Beurden's comparison] - tries to compare all codecs and settings with a balanced pool of music (last updated 2015-01-05)<br />
* [http://www.squeezechart.com/audio.html Squeezechart audio] - tests as much codecs as possible, but not all their settings and with a limited test corpus (last updated 2013-10-31)<br />
* [http://synthetic-soul.co.uk/comparison/lossless/index.asp Synthetic Soul's comparison] (last update 2007-07-28)<br />
* <s>Johan De Bock's speed oriented comparison</s> - best choices speedwise are indicated in green, mostly electronic music (last updated 2006-07-22)<br />
* <s>Hans Heijden's</s> -- used as reference to build the table (last updated 2006-07-07)<br />
* [http://synthetic-soul.co.uk/comparison/josef/ Josef Pohm's comparison, hosted by Synthetic Soul] (last update 2006-05-29)<br />
* [http://www.bobulous.org.uk/misc/lossless_audio_2006.html Bobulous' lossless audio comparison] — a look at six lossless formats in terms of speed and file size (last updated 2006-05-22)<br />
* <s>Jhan De Bock's size oriented comparison</s> - aimed only at the maximum compression setting for each codec (based on a somewhat limited set of samples, however) (last updated 2006-05-19)<br />
* <s>Gruboolez'</s> -- comparing only classical music (last updated 2005-02-27)<br />
* [http://members.home.nl/w.speek/comparison.htm Speek's] (last updated 2005-02-07)<br />
<br />
''' More on lossless compressions '''<br />
* [http://web.archive.org/web/20080731103800/http://www.losslessaudioblog.com/ The Lossless Audio Blog], retrieved from archive.org - by windmiller, is a reliable and complete source of news about lossless compression.<br />
* Go to the [http://www.hydrogenaudio.org/forums/index.php?showtopic=33226 Hydrogenaudio thread] to discuss this article.<br />
<br />
== References ==<br />
<br />
<references/><br />
[[Category:Guides]]</div>84.106.83.172https://wiki.hydrogenaud.io/index.php?title=Lossless_comparisonLossless comparison2015-01-06T15:50:27Z<p>84.106.83.172: Updated external links</p>
<hr />
<div>The '''lossless comparison page''' 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.<br />
<br />
== Introduction ==<br />
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's needs. Some 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 a choice.<br />
<br />
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. En fin, this is not a matter worth getting too worked up about. If you later find out the codec you chose isn't the best for your needs, you can just transcompress to another format, without risk of losing quality.<br />
<br />
'''Note:''' for latest comparison of lossless compression, scroll down to the [[Lossless comparison#External links|Links section of this page]].<br />
<br />
== Comparison Table ==<br />
<!-- Do NOT add links to the table. It's cluttered and colourful enough as it is. Please add them to the article itself if needed. Thanks --><br />
<br />
{| cellspacing="2" style="text-align:center; border:1px solid blue;"<br />
|width="120px"|'''Features'''<br />
| width="90px" style="background: #00FFFF" | FLAC<br />
| width="90px" style="background: #00FFFF" | ALAC<br />
| width="90px" style="background: #00FFFF" | WavPack<br />
| width="90px" style="background: #00FFFF" | TAK<br />
| width="90px" style="background: #00FFFF" | Monkey's<br />
| width="90px" style="background: #00FFFF" | WMA<br />
| width="90px" style="background: #00FFFF" | OptimFROG<br />
| width="90px" style="background: #00FFFF" | TTA<br />
|- <!-- *** Encoding speed is very fast if > 150x, fast if >75x, average if >40x, slow if >20x, very slow if <20x *** --><br />
|align="left" style="background: #FFFF99" | Encoding speed{{ref label|speed|A|A}}<br />
| style="background: #00FF00" | very fast<br />
| style="background: #CCFFCC" | fast<br />
| style="background: #00FF00" | very fast<br />
| style="background: #00FF00" | very fast<br />
| style="background: #CCFFCC" | fast<br />
| style="background: #CCFFCC" | fast<br />
| style="background: #FFCC66" | slow<br />
| style="background: #00FF00" | very fast<br />
|- <!-- *** For decoding speed thresholds are doubled, i.e., very fast if >300x, fast if >150x etc *** --><br />
|align="left" style="background: #FFFF99" | Decoding speed{{ref label|speed|A|A}}<br />
| style="background: #00FF00" | very fast<br />
| style="background: #CCFFCC" | fast<br />
| style="background: #CCFFCC" | fast<br />
| style="background: #00FF00" | very fast<br />
| style="background: #FFCC66" | slow<br />
| style="background: #FFFFFF" | average<br />
| style="background: #FF9900" | very slow<br />
| style="background: #CCFFCC" | fast<br />
|- <!-- *** Thresholds for compression are at 56% and 58% *** --> <br />
|align="left" style="background: #FFFF99" | Compression{{ref label|speed|A|A}}{{ref label|comp|B|B}}<br />
| style="background: #CCFFCC" | 57.0%<br />
| style="background: #CCFFCC" | 57.8%<br />
| style="background: #CCFFCC" | 57.1%<br />
| style="background: #00FF00" | 56.0%<br />
| style="background: #00FF00" | 55.1%<br />
| style="background: #FF9900" | 58.4%<br />
| style="background: #00FF00" | 54.6%<br />
| style="background: #CCFFCC" | 56.6%<br />
|-<br />
|align="left" style="background: #FFFF99" | # presets<br />
| style="background: #CCFFCC" | 9<br />
| style="background: #CCFFCC" | 2<br />
| style="background: #CCFFCC" | > 10<br />
| style="background: #CCFFCC" | > 10<br />
| style="background: #CCFFCC" | 5<br />
| style="background: #CCFFCC" | 1<br />
| style="background: #CCFFCC" | > 10<br />
| style="background: #CCFFCC" | 1<br />
|-<br />
|align="left" style="background: #FFFF99" | Error handling{{ref label|error|C|C}}<br />
| style="background: #00FF00" | yes<br />
| style="background: #FF9900" | no<br />
| style="background: #00FF00" | yes<br />
| style="background: #00FF00" | yes<br />
| style="background: #FF9900" | no<br />
| style="background: #00FF00" | yes<br />
| style="background: #00FF00" | yes<br />
| style="background: #00FF00" | yes<br />
|-<br />
|align="left" style="background: #FFFF99" | Tagging<br />
| style="background: #00FF00" | Vorbis tags<br />
| style="background: #00FF00" | iTunes<br />
| style="background: #CCFFCC" | ID3/APEv2<br />
| style="background: #00FF00" | APEv2<br />
| style="background: #00FF00" | APEv2<br />
| style="background: #00FF00" | ASF<br />
| style="background: #CCFFCC" | ID3/APEv2<br />
| style="background: #CCFFCC" | ID3/APEv2<br />
|-<br />
| align="left" style="background: #FFFF99" | Hardware support <br />
| style="background: #00FF00" | very good<br />
| style="background: #CCFFCC" | good<br />
| style="background: #FFCC66" | limited<br />
| style="background: #FF9900" | no<br />
| style="background: #FFCC66" | limited<br />
| style="background: #FFCC66" | limited<br />
| style="background: #FF9900" | no<br />
| style="background: #FFCC66" | limited<br />
|-<br />
| align="left" style="background: #FFFF99" | Software support<br />
| style="background: #00FF00" | very good<br />
| style="background: #CCFFCC" | good<br />
| style="background: #CCFFCC" | good<br />
| style="background: #FFFFFF" | average<br />
| style="background: #CCFFCC" | good<br />
| style="background: #CCFFCC" | good<br />
| style="background: #FFFFFF" | average<br />
| style="background: #CCFFCC" | good<br />
|-<br />
| align="left" style="background: #FFFF99" | Hybrid/lossy<br />
| style="background: #CCFFCC" | LossyWAV<br />
| style="background: #FF9900" | no<br />
| style="background: #00FF00" | yes<br />
| style="background: #CCFFCC" | LossyWAV<br />
| style="background: #FF9900" | no<br />
| style="background: #CCFFCC" | LossyWAV<br />
| style="background: #00FF00" | yes<br />
| style="background: #FF9900" | no<br />
|-<br />
| align="left" style="background: #FFFF99" | ReplayGain<br />
| style="background: #00FF00" | yes<br />
| style="background: #CCFFCC" | propriet.<br />
| style="background: #00FF00" | yes<br />
| style="background: #00FF00" | yes<br />
| style="background: #FF9900" | no<br />
| style="background: #FF9900" | no<br />
| style="background: #00FF00" | yes<br />
| style="background: #00FF00" | yes<br />
|-<br />
| align="left" style="background: #FFFF99" | RIFF chunks<br />
| style="background: #00FF00" | yes<br />
| style="background: #FFFFFF" | ?<br />
| style="background: #00FF00" | yes<br />
| style="background: #FFFFFF" | ?<br />
| style="background: #00FF00" | yes<br />
| style="background: #FF9900" | no<br />
| style="background: #00FF00" | yes<br />
| style="background: #FF9900" | no<br />
|-<br />
| align="left" style="background: #FFFF99" | Streaming<br />
| style="background: #00FF00" | yes<br />
| style="background: #00FF00" | yes<br />
| style="background: #00FF00" | yes<br />
| style="background: #00FF00" | yes<br />
| style="background: #FF9900" | no<br />
| style="background: #00FF00" | yes<br />
| style="background: #00FF00" | yes<br />
| style="background: #00FF00" | yes<br />
|-<br />
| align="left" style="background: #FFFF99" | Open source<br />
| style="background: #00FF00" | yes<br />
| style="background: #00FF00" | yes<br />
| style="background: #00FF00" | yes<br />
| style="background: #FF9900" | no<br />
| style="background: #00FF00" | yes<br />
| style="background: #FF9900" | no<br />
| style="background: #FF9900" | no<br />
| style="background: #00FF00" | yes<br />
|-<br />
| align="left" style="background: #FFFF99" | Multichannel<br />
| style="background: #00FF00" | yes<br />
| style="background: #00FF00" | yes<br />
| style="background: #00FF00" | yes<br />
| style="background: #00FF00" | yes<br />
| style="background: #FF9900" | no<br />
| style="background: #00FF00" | yes<br />
| style="background: #FF9900" | no<br />
| style="background: #00FF00" | yes<br />
|-<br />
| align="left" style="background: #FFFF99" | OS support<br />
| style="background: #00FF00" | All<br />
| style="background: #00FF00" | All<br />
| style="background: #00FF00" | All<br />
| style="background: #CCFFCC" | Win/Wine<br />
| style="background: #00FF00" | All<br />
| style="background: #CCFFCC" | Win/Mac<br />
| style="background: #00FF00" | Win/Mac/Linux<br />
| style="background: #00FF00" | All<br />
|}<br />
<br />
{|<br />
|-<br />
|{{note label|speed|A|A}} Speed and Compression are based on '''each encoder's default settings''' and are taken from the [http://www.audiograaf.nl/downloads.html this comparison].<br />
|-<br />
|{{note label|comp|B|B}} The Compression ratio is compressed size/uncompressed size * 100. So, lower is better. <br />
|-<br />
|{{note label|error|C|C}} Error handling means that a codec can detect a corruption (flipped bit) in a file and warn the user about it, but still decode the rest of the file.<br />
<br />
== Codecs ==<br />
<br />
These are the most popular lossless codecs, in alphabetical order:<br />
<br />
=== Apple Lossless Audio Codec (ALAC) ===<br />
http://www.apple.com/itunes/import.html <br />
<br />
[[ALAC]] is a codec developed by Apple for usage in [[Apple iPod|iPod]] and AirPort Express.<br />
<br />
'''ALAC pros'''<br />
* [[Open source]] (encoding and decoding via FFmpeg and [[CueTools|CUETools]], decoding only via [http://craz.net/programs/itunes/alac.html a standalone decoder])<br />
* Fast encoding<br />
* Fast decoding<br />
* Hardware support ([[Apple iPod|iPod]], AirPort Express)<br />
* Software support (iTunes, Quicktime)<br />
* Independent encoder implementation available: ffmpeg<br />
* Streaming support<br />
* Tagging support (QT tags)<br />
* Supports [[multichannel]] audio and [[high resolution]]s<br />
* Used by a few online stores<br />
<br />
''' ALAC cons '''<br />
* Limited software support<br />
* No error detection/robustness<ref>[http://www.hydrogenaud.io/forums/index.php?s=&showtopic=33226&view=findpost&p=862031 HA forum post discussing ALAC robustness]</ref><br />
* No hybrid/lossy mode (and not [[LossyWAV]] compatible)<br />
* Not very efficient<br />
<br />
''' ALAC Other features '''<br />
* Fits in the [[MP4]] container<br />
<br />
=== Free Lossless Audio Codec (FLAC) ===<br />
https://xiph.org/flac/<br />
<br />
[[FLAC]] is a lossless codec developed by Josh Coalson. It's part of the Xiph multimedia portfolio, along with [[Ogg]], [[Vorbis]], [[Speex]] and [[Theora]].<br />
<br />
''' FLAC pros '''<br />
* [[Open source]]<br />
* Very fast decoding<br />
* Very fast encoding<br />
* Very good hardware support (Android, Marantz, Sonos, [http://xiph.org/flac/links.html many others])<br />
* Very good software support<br />
* Independent encoder implementations available: flake/ffmpeg, FLACCL<br />
* Error robustness<br />
* Streaming support<br />
* Supports [[multichannel]] audio and [[high resolution]]s<br />
* Tagging support (FLAC tags)<br />
* Supports [[RIFF]] chunks<br />
* Pipe support<br />
* [[ReplayGain]] compatible<br />
* Used by a few [http://xiph.org/flac/links.html#music online stores]<br />
<br />
''' FLAC cons '''<br />
* No hybrid/lossy mode (but is [[LossyWAV]] compatible)<br />
<br />
''' FLAC Other features '''<br />
* Supports embedded CUE sheets (with [http://flac.sourceforge.net/faq.html#general__no_cuesheet_tags limitations])<br />
* Includes MD5 hashes for quick integrity checking as standard<br />
* Fits the [[Ogg]], [[AVI]]<ref>[http://www.videolan.org/vlc/releases/2.1.0.html VLC 2.1 Rincewind features]</ref> and [[Matroska]] containers<br />
<br />
=== Monkey's Audio (APE) ===<br />
http://www.monkeysaudio.com/<br />
<br />
[[Monkey's Audio]] is a very efficient lossless compressor developed by Matt Ashland.<br />
<br />
''' APE pros '''<br />
* High compression<br />
* Fast encoding<br />
* Good software support<br />
* Simple and user friendly. Official GUI provided.<br />
* Java version (multiplatform)<br />
* Tagging support ([[ID3v1]], [[APE tags]])<br />
* [[High resolution]] audio support<br />
* Supports [[RIFF]] chunks (only in the GUI encoder)<br />
* Pipe support (only in a [http://www.etree.org/shnutils/shntool/ special] version)<br />
<br />
''' APE cons '''<br />
* Problematic license (source provided, no modification or redistribution rights)<br />
* Slow decoding<br />
* No [[multichannel]] support<br />
* No error robustness<br />
* No hybrid/lossy mode (and not [[LossyWAV]] compatible)<br />
* Limited hardware support (Rockbox, some Cowon players); poor battery life due to complicated decoding (see [http://www.rockbox.org/wiki/SoundCodecMonkeysAudio MP3 player benchmarks])<br />
* Higher compression levels are extremely CPU intensive<br />
* Doesn't support [[ReplayGain]]<br />
<br />
''' APE Other features '''<br />
* Includes MD5 hashes for quick integrity checking<br />
* Supports APL image link files (similar to CUE sheets)<br />
<br />
=== OptimFROG (OFR) ===<br />
http://www.losslessaudio.org/<br />
<br />
[[OptimFROG]] is a lossless format developed by Florin Ghido to become the champion in audio compression.<br />
<br />
''' OFR pros '''<br />
* Very high compression<br />
* Good software support<br />
* Error robustness<br />
* Streaming support<br />
* Supports [[high resolution]]s<br />
* Hybrid/lossy mode<br />
* Tagging support ([[ID3]], [[APE tags]])<br />
* Supports [[RIFF]] chunks<br />
* [[ReplayGain]] compatible<br />
<br />
''' OFR cons '''<br />
* Closed source<br />
* No [[multichannel]] audio support<br />
* No hardware support<br />
* Very slow decoding<br />
* Slow encoding<br />
* No updates since 2011 (last non-Windows release in 2006)<br />
* More than one tagging method allowed (ambiguity possible)<br />
<br />
''' OFR Other features '''<br />
* Supports 32bit float streams<br />
* Includes MD5 hashes for quick integrity checking<br />
<br />
=== Tom's verlustfreier Audiokompressor (TAK) ===<br />
http://www.thbeck.de/Tak/Tak.html<br />
<br />
[[TAK]] is a lossless codec developed by TBeck.<br />
<br />
''' TAK pros '''<br />
* Very fast decoding<br />
* Very fast encoding<br />
* Very high efficiency<br />
* Error robust<br />
* Supports multichannel audio and high resolutions<br />
* Tagging support<br />
* ReplayGain compatible<br />
* Supports RIFF chunks<br />
* Pipe support <br />
* Streamable<br />
<br />
''' TAK cons '''<br />
* Closed source<br />
* No hybrid/lossy mode (but is [[LossyWAV]] compatible)<br />
* No hardware support<br />
* Average software support<br />
* Doesn't support Unicode (yet)<br />
<br />
''' TAK Other features '''<br />
* Optional MD5 checksum<br />
<br />
=== WavPack (WV) ===<br />
http://www.wavpack.com/<br />
<br />
[[WavPack]] is a fast and featureful lossless codec developed by David Bryant.<br />
<br />
''' WV pros '''<br />
* [[Open source]]<br />
* Fast decoding<br />
* Very fast encoding<br />
* Good efficiency<br />
* Error robustness<br />
* Streaming support<br />
* Supports [[multichannel]] audio and [[high resolution]]s<br />
* Hybrid/lossy mode<br />
* Tagging support ([[ID3v1]], [[APE tags]])<br />
* Supports [[RIFF]] chunks<br />
* Ability to create self extracting files for Win32 platform<br />
* Pipe support<br />
* Good software support<br />
* [[ReplayGain]] compatible<br />
<br />
''' WV cons '''<br />
* Limited hardware player support ([http://www.rockbox.org/ RockBox])<br />
* More than one tagging method allowed (ambiguity possible)<br />
<br />
''' WV Other features '''<br />
* Supports 32bit float streams<br />
* Supports embedded CUE sheets<br />
* Includes MD5 hashes for quick integrity checking<br />
* Can encode in both symmetrical and asymmetrical modes.<br />
* Fits the [[Matroska]] container<br />
<br />
=== True Audio (TTA) ===<br />
http://www.true-audio.com/<br />
<br />
[[TTA]] is a lossless codec developed by a international team of programmers.<br />
<br />
''' TTA pros '''<br />
* [[Open source]]<br />
* Supports [[multichannel]] audio and [[high resolution]]s<br />
* Tagging support ([[ID3]], [[APE tags]])<br />
* Embedded CUE sheets support<br />
* [[ReplayGain]] compatible<br />
* Error robustness<br />
* Pipe support<br />
* Average compression<br />
* Fast encoding/decoding<br />
* Symmetric algorithm<br />
* Password protection<br />
* High linearity<br />
<br />
''' TTA cons '''<br />
* No hybrid/lossy mode<br />
* Doesn't support [[RIFF]] chunks<br />
* Limited hardware support<br />
<br />
''' TTA Other features '''<br />
* Fits the [[Matroska]] container<br />
* Password protection<br />
<br />
=== Windows Media Audio Lossless (WMAL) ===<br />
http://www.microsoft.com/windows/windowsmedia/9series/codecs/audio.aspx<br />
<br />
WMA Lossless is the lossless codec developed by Microsoft to be featured in their Windows Media codec portfolio.<br />
<br />
''' WMAL pros '''<br />
* Streaming support<br />
* Very good software support<br />
* Hardware support (Microsoft Zune, [http://en.wikipedia.org/wiki/Gigabeat Gigabeat V and S line from Toshiba])<br />
* Supports [[multichannel]] audio and [[high resolution]]s.<br />
* Tagging support (proprietary)<br />
* Pipe support<br />
<br />
''' WMAL cons '''<br />
* Rather low efficiency<br />
* Closed source<br />
* No hybrid/lossy mode (but is [[LossyWAV]] compatible)<br />
* Doesn't support [[RIFF]] chunks<br />
* Doesn't support [[ReplayGain]]<br />
<br />
''' WMAL Other features '''<br />
* Fits the [[ASF]] container<br />
<br />
=== Other Formats ===<br />
Aside from the formats mentioned above, there are in fact quite a lot of other lossless formats. To keep the table and list brief and readable, a few formats have not been mentioned.<br />
<br />
====DTS-HD Master Audio====<br />
Similar to the MPEG-4 SLS format, this format has a core track in an older, more widely supported format, DTS. This core lossy track is made lossless by a secondary track with correction data. It is an optional codec in Blu-ray implementations. Its main use is surround sound encoding, and as is the case with MLP, the price of the encoder ensures it is only used in mastering of Blu-ray discs.<br />
<br />
====LA====<br />
LA features an extremely high compression (on par with OptimFrog highest modes, but a bit faster), but it hasn't been updated for more than 10 years. Furthermore, backward compatibility is not guaranteed, so using it for archiving might pose a few problems. It isn't able to cope with file corruption either, software support is very limited and isn't open source.<br />
<br />
====MLP/Dolby TrueHD====<br />
The [[MLP|MLP codec]] (of which the mathematical basis was used in Dolby TrueHD) it the codec used for DVD-Audio. It was mandatory in any HD-DVD implementation and optional for Blu-Ray in it's Dolby TrueHD form. It is known to support the 'wasted bits' scheme used in LossyWAV. As encoders are very expensive, its use outside DVD/Blu-ray mastering environments is non-existent. Its main use is encoding surround sound data.<br />
<br />
====MPEG-4 ALS====<br />
MPEG-4 ALS is the successor to LPAC, which it was based on. It has been as a ISO standard and there is a reference encoder/decoder, but like TTA, it does not have features that make it stand out from other codecs, nor backing by a large organisation, so it hasn't much software and no hardware support.<br />
<br />
====MPEG-4 SLS====<br />
MPEG-4 SLS is a special codec, having a AAC core track and a 'correction track'. Also known as HD-AAC, SLS stands for Scalable to Lossless. However, there is to date still no affordable software to play, encode or decode (the lossless part of) SLS files.<br />
<br />
====Shorten====<br />
Shorten was one of the first widely-used lossless formats, and it still occasionally found on the internet, especially in archives, for example etree.org. It is quite fast in both encoding and decoding, but doesn't compress very much. Furthermore, seeking has a troubled past as well as tagging. It is considered obsolete.<br />
<br />
====Real Lossless====<br />
Part of the Real codec suite, Real Lossless too hasn't any very special features that make it stand out. Just like WMA Lossless and Apple Lossless, it was created to fit in a codec suite, but unlike WMA Lossless and Apple Lossless, there is no hardware support and software support is limited. Compression is on par with most other codecs, but it is rather slow to encode.<br />
<br />
====Oddball formats====<br />
There are a few archaic formats of which encoders and decoders are hard to get by. Most of those would have disappeared by now, but some of them are being preserved for posterity at [[User:Rjamorim|rjamorim]]'s <br />
<br />
* Advanced Digital Audio (ADA) <br />
* Bonk <br />
* Marian's a-Pac <br />
* AudioZip <br />
* Dakx WAV <br />
* Entis Lab MIO <br />
* LiteWave <br />
* LPAC<br />
* Pegasus SPS <br />
* RK Audio (RKAU) <br />
* Ogg Squish<br />
* Sonarc <br />
* VocPack <br />
* WavArc <br />
* WaveZip/MUSICompress<br />
<br />
== See also ==<br />
* [[Lossless]]<br />
<br />
== External links ==<br />
''' Other lossless compressions comparisons '''<br />
''Sorted based on last '''update''' date.''<br />
<br />
* [http://www.audiograaf.nl/downloads.html Martijn van Beurden's comparison] - tries to compare all codecs and settings with a balanced pool of music (last updated 2015-01-05)<br />
* [http://www.squeezechart.com/audio.html Squeezechart audio] - tests as much codecs as possible, but not all their settings and with a limited test corpus (last updated 2013-10-31)<br />
* [http://synthetic-soul.co.uk/comparison/lossless/ Synthetic Soul's comparison] (last update 2007-07-28)<br />
* <s>Johan De Bock's speed oriented comparison</s> - best choices speedwise are indicated in green, mostly electronic music (last updated 2006-07-22)<br />
* <s>Hans Heijden's</s> -- used as reference to build the table (last updated 2006-07-07)<br />
* [http://synthetic-soul.co.uk/comparison/josef/ Josef Pohm's comparison, hosted by Synthetic Soul] (last update 2006-05-29)<br />
* [http://www.bobulous.org.uk/misc/lossless_audio_2006.html Bobulous' lossless audio comparison] — a look at six lossless formats in terms of speed and file size (last updated 2006-05-22)<br />
* <s>Jhan De Bock's size oriented comparison</s> - aimed only at the maximum compression setting for each codec (based on a somewhat limited set of samples, however) (last updated 2006-05-19)<br />
* <s>Gruboolez'</s> -- comparing only classical music (last updated 2005-02-27)<br />
* [http://members.home.nl/w.speek/comparison.htm Speek's] (last updated 2005-02-07)<br />
<br />
''' More on lossless compressions '''<br />
* [http://web.archive.org/web/20080731103800/http://www.losslessaudioblog.com/ The Lossless Audio Blog], retrieved from archive.org - by windmiller, is a reliable and complete source of news about lossless compression.<br />
* Go to the [http://www.hydrogenaudio.org/forums/index.php?showtopic=33226 Hydrogenaudio thread] to discuss this article.<br />
<br />
== References ==<br />
<br />
<references/><br />
[[Category:Guides]]</div>84.106.83.172https://wiki.hydrogenaud.io/index.php?title=Lossless_comparisonLossless comparison2014-11-29T09:27:50Z<p>84.106.83.172: Unclutter table notes, added an external link</p>
<hr />
<div>The '''lossless comparison page''' 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.<br />
<br />
== Introduction ==<br />
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's needs. Some 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 a choice.<br />
<br />
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. En fin, this is not a matter worth getting too worked up about. If you later find out the codec you chose isn't the best for your needs, you can just transcompress to another format, without risk of losing quality.<br />
<br />
'''Note:''' for latest comparison of lossless compression, scroll down to the [[Lossless comparison#External links|Links section of this page]].<br />
<br />
== Comparison Table ==<br />
<!-- Do NOT add links to the table. It's cluttered and colourful enough as it is. Please add them to the article itself if needed. Thanks --><br />
<br />
{| cellspacing="2" style="text-align:center; border:1px solid blue;"<br />
|width="120px"|'''Features'''<br />
| width="90px" style="background: #00FFFF" | FLAC<br />
| width="90px" style="background: #00FFFF" | ALAC<br />
| width="90px" style="background: #00FFFF" | WavPack<br />
| width="90px" style="background: #00FFFF" | TAK<br />
| width="90px" style="background: #00FFFF" | Monkey's<br />
| width="90px" style="background: #00FFFF" | WMA<br />
| width="90px" style="background: #00FFFF" | OptimFROG<br />
| width="90px" style="background: #00FFFF" | TTA<br />
|- <!-- *** Encoding speed is very fast if > 150x, fast if >75x, average if >40x, slow if >20x, very slow if <20x *** --><br />
|align="left" style="background: #FFFF99" | Encoding speed{{ref label|speed|A|A}}<br />
| style="background: #00FF00" | very fast<br />
| style="background: #CCFFCC" | fast<br />
| style="background: #00FF00" | very fast<br />
| style="background: #00FF00" | very fast<br />
| style="background: #CCFFCC" | fast<br />
| style="background: #CCFFCC" | fast<br />
| style="background: #FFCC66" | slow<br />
| style="background: #00FF00" | very fast<br />
|- <!-- *** For decoding speed thresholds are doubled, i.e., very fast if >300x, fast if >150x etc *** --><br />
|align="left" style="background: #FFFF99" | Decoding speed{{ref label|speed|A|A}}<br />
| style="background: #00FF00" | very fast<br />
| style="background: #CCFFCC" | fast<br />
| style="background: #CCFFCC" | fast<br />
| style="background: #00FF00" | very fast<br />
| style="background: #FFCC66" | slow<br />
| style="background: #FFFFFF" | average<br />
| style="background: #FF9900" | very slow<br />
| style="background: #CCFFCC" | fast<br />
|- <!-- *** Thresholds for compression are at 56% and 58% *** --> <br />
|align="left" style="background: #FFFF99" | Compression{{ref label|speed|A|A}}{{ref label|comp|B|B}}<br />
| style="background: #CCFFCC" | 57.0%<br />
| style="background: #CCFFCC" | 57.8%<br />
| style="background: #CCFFCC" | 57.1%<br />
| style="background: #00FF00" | 56.0%<br />
| style="background: #00FF00" | 55.1%<br />
| style="background: #FF9900" | 58.4%<br />
| style="background: #00FF00" | 54.6%<br />
| style="background: #CCFFCC" | 56.6%<br />
|-<br />
|align="left" style="background: #FFFF99" | # presets<br />
| style="background: #CCFFCC" | 9<br />
| style="background: #CCFFCC" | 2<br />
| style="background: #CCFFCC" | > 10<br />
| style="background: #CCFFCC" | > 10<br />
| style="background: #CCFFCC" | 5<br />
| style="background: #CCFFCC" | 1<br />
| style="background: #CCFFCC" | > 10<br />
| style="background: #CCFFCC" | 1<br />
|-<br />
|align="left" style="background: #FFFF99" | Error handling{{ref label|error|C|C}}<br />
| style="background: #00FF00" | yes<br />
| style="background: #FF9900" | no<br />
| style="background: #00FF00" | yes<br />
| style="background: #00FF00" | yes<br />
| style="background: #FF9900" | no<br />
| style="background: #00FF00" | yes<br />
| style="background: #00FF00" | yes<br />
| style="background: #00FF00" | yes<br />
|-<br />
|align="left" style="background: #FFFF99" | Tagging<br />
| style="background: #00FF00" | Vorbis tags<br />
| style="background: #00FF00" | iTunes<br />
| style="background: #CCFFCC" | ID3/APEv2<br />
| style="background: #00FF00" | APEv2<br />
| style="background: #00FF00" | APEv2<br />
| style="background: #00FF00" | ASF<br />
| style="background: #CCFFCC" | ID3/APEv2<br />
| style="background: #CCFFCC" | ID3/APEv2<br />
|-<br />
| align="left" style="background: #FFFF99" | Hardware support <br />
| style="background: #00FF00" | very good<br />
| style="background: #CCFFCC" | good<br />
| style="background: #FFCC66" | limited<br />
| style="background: #FF9900" | no<br />
| style="background: #FFCC66" | limited<br />
| style="background: #FFCC66" | limited<br />
| style="background: #FF9900" | no<br />
| style="background: #FFCC66" | limited<br />
|-<br />
| align="left" style="background: #FFFF99" | Software support<br />
| style="background: #00FF00" | very good<br />
| style="background: #CCFFCC" | good<br />
| style="background: #CCFFCC" | good<br />
| style="background: #FFFFFF" | average<br />
| style="background: #CCFFCC" | good<br />
| style="background: #CCFFCC" | good<br />
| style="background: #FFFFFF" | average<br />
| style="background: #CCFFCC" | good<br />
|-<br />
| align="left" style="background: #FFFF99" | Hybrid/lossy<br />
| style="background: #CCFFCC" | LossyWAV<br />
| style="background: #FF9900" | no<br />
| style="background: #00FF00" | yes<br />
| style="background: #CCFFCC" | LossyWAV<br />
| style="background: #FF9900" | no<br />
| style="background: #CCFFCC" | LossyWAV<br />
| style="background: #00FF00" | yes<br />
| style="background: #FF9900" | no<br />
|-<br />
| align="left" style="background: #FFFF99" | ReplayGain<br />
| style="background: #00FF00" | yes<br />
| style="background: #CCFFCC" | propriet.<br />
| style="background: #00FF00" | yes<br />
| style="background: #00FF00" | yes<br />
| style="background: #FF9900" | no<br />
| style="background: #FF9900" | no<br />
| style="background: #00FF00" | yes<br />
| style="background: #00FF00" | yes<br />
|-<br />
| align="left" style="background: #FFFF99" | RIFF chunks<br />
| style="background: #00FF00" | yes<br />
| style="background: #FFFFFF" | ?<br />
| style="background: #00FF00" | yes<br />
| style="background: #FFFFFF" | ?<br />
| style="background: #00FF00" | yes<br />
| style="background: #FF9900" | no<br />
| style="background: #00FF00" | yes<br />
| style="background: #FF9900" | no<br />
|-<br />
| align="left" style="background: #FFFF99" | Streaming<br />
| style="background: #00FF00" | yes<br />
| style="background: #00FF00" | yes<br />
| style="background: #00FF00" | yes<br />
| style="background: #00FF00" | yes<br />
| style="background: #FF9900" | no<br />
| style="background: #00FF00" | yes<br />
| style="background: #00FF00" | yes<br />
| style="background: #00FF00" | yes<br />
|-<br />
| align="left" style="background: #FFFF99" | Open source<br />
| style="background: #00FF00" | yes<br />
| style="background: #00FF00" | yes<br />
| style="background: #00FF00" | yes<br />
| style="background: #FF9900" | no<br />
| style="background: #00FF00" | yes<br />
| style="background: #FF9900" | no<br />
| style="background: #FF9900" | no<br />
| style="background: #00FF00" | yes<br />
|-<br />
| align="left" style="background: #FFFF99" | Multichannel<br />
| style="background: #00FF00" | yes<br />
| style="background: #00FF00" | yes<br />
| style="background: #00FF00" | yes<br />
| style="background: #00FF00" | yes<br />
| style="background: #FF9900" | no<br />
| style="background: #00FF00" | yes<br />
| style="background: #FF9900" | no<br />
| style="background: #00FF00" | yes<br />
|-<br />
| align="left" style="background: #FFFF99" | OS support<br />
| style="background: #00FF00" | All<br />
| style="background: #00FF00" | All<br />
| style="background: #00FF00" | All<br />
| style="background: #CCFFCC" | Win/Wine<br />
| style="background: #00FF00" | All<br />
| style="background: #CCFFCC" | Win/Mac<br />
| style="background: #00FF00" | Win/Mac/Linux<br />
| style="background: #00FF00" | All<br />
|}<br />
<br />
{|<br />
|-<br />
|{{note label|speed|A|A}} Speed and Compression are based on '''each encoder's default settings''' and are taken from the [http://www.audiograaf.nl/downloads.html this comparison].<br />
|-<br />
|{{note label|comp|B|B}} The Compression ratio is compressed size/uncompressed size * 100. So, lower is better. <br />
|-<br />
|{{note label|error|C|C}} Error handling means that a codec can detect a corruption (flipped bit) in a file and warn the user about it, but still decode the rest of the file.<br />
<br />
== Codecs ==<br />
<br />
These are the most popular lossless codecs, in alphabetical order:<br />
<br />
=== Apple Lossless Audio Codec (ALAC) ===<br />
http://www.apple.com/itunes/import.html <br />
<br />
[[ALAC]] is a codec developed by Apple for usage in [[Apple iPod|iPod]] and AirPort Express.<br />
<br />
'''ALAC pros'''<br />
* [[Open source]] (encoding and decoding via FFmpeg and [[CueTools|CUETools]], decoding only via [http://craz.net/programs/itunes/alac.html a standalone decoder])<br />
* Fast encoding<br />
* Fast decoding<br />
* Hardware support ([[Apple iPod|iPod]], AirPort Express)<br />
* Software support (iTunes, Quicktime)<br />
* Independent encoder implementation available: ffmpeg<br />
* Streaming support<br />
* Tagging support (QT tags)<br />
* Supports [[multichannel]] audio and [[high resolution]]s<br />
* Used by a few online stores<br />
<br />
''' ALAC cons '''<br />
* Limited software support<br />
* No error detection/robustness<ref>[http://www.hydrogenaud.io/forums/index.php?s=&showtopic=33226&view=findpost&p=862031 HA forum post discussing ALAC robustness]</ref><br />
* No hybrid/lossy mode (and not [[LossyWAV]] compatible)<br />
* Not very efficient<br />
<br />
''' ALAC Other features '''<br />
* Fits in the [[MP4]] container<br />
<br />
=== Free Lossless Audio Codec (FLAC) ===<br />
https://xiph.org/flac/<br />
<br />
[[FLAC]] is a lossless codec developed by Josh Coalson. It's part of the Xiph multimedia portfolio, along with [[Ogg]], [[Vorbis]], [[Speex]] and [[Theora]].<br />
<br />
''' FLAC pros '''<br />
* [[Open source]]<br />
* Very fast decoding<br />
* Very fast encoding<br />
* Very good hardware support (Android, Marantz, Sonos, [http://xiph.org/flac/links.html many others])<br />
* Very good software support<br />
* Independent encoder implementations available: flake/ffmpeg, FLACCL<br />
* Error robustness<br />
* Streaming support<br />
* Supports [[multichannel]] audio and [[high resolution]]s<br />
* Tagging support (FLAC tags)<br />
* Supports [[RIFF]] chunks<br />
* Pipe support<br />
* [[ReplayGain]] compatible<br />
* Used by a few [http://xiph.org/flac/links.html#music online stores]<br />
<br />
''' FLAC cons '''<br />
* No hybrid/lossy mode (but is [[LossyWAV]] compatible)<br />
<br />
''' FLAC Other features '''<br />
* Supports embedded CUE sheets (with [http://flac.sourceforge.net/faq.html#general__no_cuesheet_tags limitations])<br />
* Includes MD5 hashes for quick integrity checking as standard<br />
* Fits the [[Ogg]], [[AVI]]<ref>[http://www.videolan.org/vlc/releases/2.1.0.html VLC 2.1 Rincewind features]</ref> and [[Matroska]] containers<br />
<br />
=== Monkey's Audio (APE) ===<br />
http://www.monkeysaudio.com/<br />
<br />
[[Monkey's Audio]] is a very efficient lossless compressor developed by Matt Ashland.<br />
<br />
''' APE pros '''<br />
* High compression<br />
* Fast encoding<br />
* Good software support<br />
* Simple and user friendly. Official GUI provided.<br />
* Java version (multiplatform)<br />
* Tagging support ([[ID3v1]], [[APE tags]])<br />
* [[High resolution]] audio support<br />
* Supports [[RIFF]] chunks (only in the GUI encoder)<br />
* Pipe support (only in a [http://www.etree.org/shnutils/shntool/ special] version)<br />
<br />
''' APE cons '''<br />
* Problematic license (source provided, no modification or redistribution rights)<br />
* Slow decoding<br />
* No [[multichannel]] support<br />
* No error robustness<br />
* No hybrid/lossy mode (and not [[LossyWAV]] compatible)<br />
* Limited hardware support (Rockbox, some Cowon players); poor battery life due to complicated decoding (see [http://www.rockbox.org/wiki/SoundCodecMonkeysAudio MP3 player benchmarks])<br />
* Higher compression levels are extremely CPU intensive<br />
* Doesn't support [[ReplayGain]]<br />
<br />
''' APE Other features '''<br />
* Includes MD5 hashes for quick integrity checking<br />
* Supports APL image link files (similar to CUE sheets)<br />
<br />
=== OptimFROG (OFR) ===<br />
http://www.losslessaudio.org/<br />
<br />
[[OptimFROG]] is a lossless format developed by Florin Ghido to become the champion in audio compression.<br />
<br />
''' OFR pros '''<br />
* Very high compression<br />
* Good software support<br />
* Error robustness<br />
* Streaming support<br />
* Supports [[high resolution]]s<br />
* Hybrid/lossy mode<br />
* Tagging support ([[ID3]], [[APE tags]])<br />
* Supports [[RIFF]] chunks<br />
* [[ReplayGain]] compatible<br />
<br />
''' OFR cons '''<br />
* Closed source<br />
* No [[multichannel]] audio support<br />
* No hardware support<br />
* Very slow decoding<br />
* Slow encoding<br />
* No updates since 2011 (last non-Windows release in 2006)<br />
* More than one tagging method allowed (ambiguity possible)<br />
<br />
''' OFR Other features '''<br />
* Supports 32bit float streams<br />
* Includes MD5 hashes for quick integrity checking<br />
<br />
=== Tom's verlustfreier Audiokompressor (TAK) ===<br />
http://www.thbeck.de/Tak/Tak.html<br />
<br />
[[TAK]] is a lossless codec developed by TBeck.<br />
<br />
''' TAK pros '''<br />
* Very fast decoding<br />
* Very fast encoding<br />
* Very high efficiency<br />
* Error robust<br />
* Supports multichannel audio and high resolutions<br />
* Tagging support<br />
* ReplayGain compatible<br />
* Supports RIFF chunks<br />
* Pipe support <br />
* Streamable<br />
<br />
''' TAK cons '''<br />
* Closed source<br />
* No hybrid/lossy mode (but is [[LossyWAV]] compatible)<br />
* No hardware support<br />
* Average software support<br />
* Doesn't support Unicode (yet)<br />
<br />
''' TAK Other features '''<br />
* Optional MD5 checksum<br />
<br />
=== WavPack (WV) ===<br />
http://www.wavpack.com/<br />
<br />
[[WavPack]] is a fast and featureful lossless codec developed by David Bryant.<br />
<br />
''' WV pros '''<br />
* [[Open source]]<br />
* Fast decoding<br />
* Very fast encoding<br />
* Good efficiency<br />
* Error robustness<br />
* Streaming support<br />
* Supports [[multichannel]] audio and [[high resolution]]s<br />
* Hybrid/lossy mode<br />
* Tagging support ([[ID3v1]], [[APE tags]])<br />
* Supports [[RIFF]] chunks<br />
* Ability to create self extracting files for Win32 platform<br />
* Pipe support<br />
* Good software support<br />
* [[ReplayGain]] compatible<br />
<br />
''' WV cons '''<br />
* Limited hardware player support ([http://www.rockbox.org/ RockBox])<br />
* More than one tagging method allowed (ambiguity possible)<br />
<br />
''' WV Other features '''<br />
* Supports 32bit float streams<br />
* Supports embedded CUE sheets<br />
* Includes MD5 hashes for quick integrity checking<br />
* Can encode in both symmetrical and asymmetrical modes.<br />
* Fits the [[Matroska]] container<br />
<br />
=== True Audio (TTA) ===<br />
http://www.true-audio.com/<br />
<br />
[[TTA]] is a lossless codec developed by a international team of programmers.<br />
<br />
''' TTA pros '''<br />
* [[Open source]]<br />
* Supports [[multichannel]] audio and [[high resolution]]s<br />
* Tagging support ([[ID3]], [[APE tags]])<br />
* Embedded CUE sheets support<br />
* [[ReplayGain]] compatible<br />
* Error robustness<br />
* Pipe support<br />
* Average compression<br />
* Fast encoding/decoding<br />
* Symmetric algorithm<br />
* Password protection<br />
* High linearity<br />
<br />
''' TTA cons '''<br />
* No hybrid/lossy mode<br />
* Doesn't support [[RIFF]] chunks<br />
* Limited hardware support<br />
<br />
''' TTA Other features '''<br />
* Fits the [[Matroska]] container<br />
* Password protection<br />
<br />
=== Windows Media Audio Lossless (WMAL) ===<br />
http://www.microsoft.com/windows/windowsmedia/9series/codecs/audio.aspx<br />
<br />
WMA Lossless is the lossless codec developed by Microsoft to be featured in their Windows Media codec portfolio.<br />
<br />
''' WMAL pros '''<br />
* Streaming support<br />
* Very good software support<br />
* Hardware support (Microsoft Zune, [http://en.wikipedia.org/wiki/Gigabeat Gigabeat V and S line from Toshiba])<br />
* Supports [[multichannel]] audio and [[high resolution]]s.<br />
* Tagging support (proprietary)<br />
* Pipe support<br />
<br />
''' WMAL cons '''<br />
* Rather low efficiency<br />
* Closed source<br />
* No hybrid/lossy mode (but is [[LossyWAV]] compatible)<br />
* Doesn't support [[RIFF]] chunks<br />
* Doesn't support [[ReplayGain]]<br />
<br />
''' WMAL Other features '''<br />
* Fits the [[ASF]] container<br />
<br />
=== Other Formats ===<br />
Aside from the formats mentioned above, there are in fact quite a lot of other lossless formats. To keep the table and list brief and readable, a few formats have not been mentioned.<br />
<br />
====DTS-HD Master Audio====<br />
Similar to the MPEG-4 SLS format, this format has a core track in an older, more widely supported format, DTS. This core lossy track is made lossless by a secondary track with correction data. It is an optional codec in Blu-ray implementations. Its main use is surround sound encoding, and as is the case with MLP, the price of the encoder ensures it is only used in mastering of Blu-ray discs.<br />
<br />
====LA====<br />
LA features an extremely high compression (on par with OptimFrog highest modes, but a bit faster), but it hasn't been updated for more than 10 years. Furthermore, backward compatibility is not guaranteed, so using it for archiving might pose a few problems. It isn't able to cope with file corruption either, software support is very limited and isn't open source.<br />
<br />
====MLP/Dolby TrueHD====<br />
The [[MLP|MLP codec]] (of which the mathematical basis was used in Dolby TrueHD) it the codec used for DVD-Audio. It was mandatory in any HD-DVD implementation and optional for Blu-Ray in it's Dolby TrueHD form. It is known to support the 'wasted bits' scheme used in LossyWAV. As encoders are very expensive, it's use outside DVD/Blu-ray mastering environments is non-existent. Its main use is encoding surround sound data.<br />
<br />
====MPEG-4 ALS====<br />
MPEG-4 ALS is the successor to LPAC, which it was based on. It has been as a ISO standard and there is a reference encoder/decoder, but like TTA, it does not have features that make it stand out from other codecs, nor backing by a large organisation, so it hasn't much software and no hardware support.<br />
<br />
====MPEG-4 SLS====<br />
MPEG-4 SLS is a special codec, having a AAC core track and a 'correction track'. Also known as HD-AAC, SLS stands for Scalable to Lossless. However, there is to date still no affordable software to play, encode or decode (the lossless part of) SLS files.<br />
<br />
====Shorten====<br />
Shorten was one of the first widely-used lossless formats, and it still occasionally found on the internet, especially in archives, for example etree.org. It is quite fast in both encoding and decoding, but doesn't compress very much. Furthermore, seeking has a troubled past as well as tagging. It is considered obsolete.<br />
<br />
====Real Lossless====<br />
Part of the Real codec suite, Real Lossless too hasn't any very special features that make it stand out. Just like WMA Lossless and Apple Lossless, it was created to fit in a codec suite, but unlike WMA Lossless and Apple Lossless, there is no hardware support and software support is limited. Compression is on par with most other codecs, but it is rather slow to encode.<br />
<br />
====Oddball formats====<br />
There are a few archaic formats of which encoders and decoders are hard to get by. Most of those would have disappeared by now, but some of them are being preserved for posterity at [[User:Rjamorim|rjamorim]]'s <br />
<br />
* Advanced Digital Audio (ADA) <br />
* Bonk <br />
* Marian's a-Pac <br />
* AudioZip <br />
* Dakx WAV <br />
* Entis Lab MIO <br />
* LiteWave <br />
* LPAC<br />
* Pegasus SPS <br />
* RK Audio (RKAU) <br />
* Ogg Squish<br />
* Sonarc <br />
* VocPack <br />
* WavArc <br />
* WaveZip/MUSICompress<br />
<br />
== See also ==<br />
* [[Lossless]]<br />
<br />
== External links ==<br />
''' Other lossless compressions comparisons '''<br />
''Sorted based on last '''update''' date.''<br />
<br />
* [http://www.squeezechart.com/audio.html Squeezechart audio] - tests as much codecs as possible, but not all their settings and with a limited test corpus (last updated 2013-10-31)<br />
* [http://www.audiograaf.nl/downloads.html Martijn van Beurden's comparison] - tries to compare all codecs and settings with a balanced pool of music (last updated 2013-08-10)<br />
* [http://synthetic-soul.co.uk/comparison/lossless/ Synthetic Soul's comparison] (last update 2007-07-28)<br />
* <s>Johan De Bock's speed oriented comparison</s> - best choices speedwise are indicated in green, mostly electronic music (last updated 2006-07-22)<br />
* <s>Hans Heijden's</s> -- used as reference to build the table (last updated 2006-07-07)<br />
* [http://synthetic-soul.co.uk/comparison/josef/ Josef Pohm's comparison, hosted by Synthetic Soul] (last update 2006-05-29)<br />
* [http://www.bobulous.org.uk/misc/lossless_audio_2006.html Bobulous' lossless audio comparison] — a look at six lossless formats in terms of speed and file size (last updated 2006-05-22)<br />
* <s>Jhan De Bock's size oriented comparison</s> - aimed only at the maximum compression setting for each codec (based on a somewhat limited set of samples, however) (last updated 2006-05-19)<br />
* <s>Gruboolez'</s> -- comparing only classical music (last updated 2005-02-27)<br />
* [http://members.home.nl/w.speek/comparison.htm Speek's] (last updated 2005-02-07)<br />
<br />
''' More on lossless compressions '''<br />
* [http://web.archive.org/web/20080731103800/http://www.losslessaudioblog.com/ The Lossless Audio Blog], retrieved from archive.org - by windmiller, is a reliable and complete source of news about lossless compression.<br />
* Go to the [http://www.hydrogenaudio.org/forums/index.php?showtopic=33226 Hydrogenaudio thread] to discuss this article.<br />
<br />
== References ==<br />
<br />
<references/><br />
[[Category:Guides]]</div>84.106.83.172