Difference between revisions of "Lossless comparison"
(Replaygain support depends on tagging capabilities and the player. The row was redundant, ignoring that one of the entries was incorrect.) |
Nuclearist (Talk | contribs) m (→Oddball formats) |
||
(44 intermediate revisions by 14 users not shown) | |||
Line 11: | Line 11: | ||
<!-- 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 --> | <!-- 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 --> | ||
− | {| | + | {| class="wikitable" cellspacing="2" |
− | + | !width="120px"|'''Features''' | |
− | + | ! width="90px" | [[#Free Lossless Audio Codec (FLAC)|FLAC]] | |
− | + | ! width="90px" | [[#Apple Lossless Audio Codec (ALAC)|ALAC]] | |
− | + | ! width="90px" | [[#WavPack (WV)|WavPack]] | |
− | + | ! width="90px" | [[#Tom's_verlustfreier_Audiokompressor (TAK)|TAK]] | |
− | + | ! width="90px" | [[#Monkey's_Audio (APE)|Monkey's]] | |
− | + | ! width="90px" | [[#Windows Media Audio Lossless (WMAL)|WMAL]] | |
− | + | ! width="90px" | [[#OptimFROG (OFR)|OptimFROG]] | |
− | + | ! width="90px" | [[#True Audio (TTA)|TTA]] | |
|- <!-- *** Encoding speed is very fast if > 150x, fast if >75x, average if >40x, slow if >20x, very slow if <20x *** --> | |- <!-- *** Encoding speed is very fast if > 150x, fast if >75x, average if >40x, slow if >20x, very slow if <20x *** --> | ||
− | + | | Encoding speed{{ref label|speed|A|A}} | |
| style="background: #00FF00" | very fast | | style="background: #00FF00" | very fast | ||
| style="background: #CCFFCC" | fast | | style="background: #CCFFCC" | fast | ||
Line 32: | Line 32: | ||
| style="background: #00FF00" | very fast | | style="background: #00FF00" | very fast | ||
|- <!-- *** For decoding speed thresholds are doubled, i.e., very fast if >300x, fast if >150x etc *** --> | |- <!-- *** For decoding speed thresholds are doubled, i.e., very fast if >300x, fast if >150x etc *** --> | ||
− | + | | Decoding speed{{ref label|speed|A|A}} | |
| style="background: #00FF00" | very fast | | style="background: #00FF00" | very fast | ||
| style="background: #CCFFCC" | fast | | style="background: #CCFFCC" | fast | ||
Line 38: | Line 38: | ||
| style="background: #00FF00" | very fast | | style="background: #00FF00" | very fast | ||
| style="background: #FFCC66" | slow | | style="background: #FFCC66" | slow | ||
− | | style="background: # | + | | style="background: #FFCC66" | average |
| style="background: #FF9900" | very slow | | style="background: #FF9900" | very slow | ||
| style="background: #CCFFCC" | fast | | style="background: #CCFFCC" | fast | ||
|- <!-- *** Thresholds for compression are at 56% and 58% *** --> | |- <!-- *** Thresholds for compression are at 56% and 58% *** --> | ||
− | + | | Compression{{ref label|speed|A|A}}{{ref label|comp|B|B}} | |
| style="background: #CCFFCC" | 57.0% | | style="background: #CCFFCC" | 57.0% | ||
| style="background: #CCFFCC" | 57.8% | | style="background: #CCFFCC" | 57.8% | ||
Line 48: | Line 48: | ||
| style="background: #00FF00" | 56.0% | | style="background: #00FF00" | 56.0% | ||
| style="background: #00FF00" | 55.1% | | style="background: #00FF00" | 55.1% | ||
− | | style="background: # | + | | style="background: #FFCC66" | 58.4% |
| style="background: #00FF00" | 54.6% | | style="background: #00FF00" | 54.6% | ||
| style="background: #CCFFCC" | 56.6% | | style="background: #CCFFCC" | 56.6% | ||
|- | |- | ||
− | + | | # presets | |
| style="background: #CCFFCC" | 9 | | style="background: #CCFFCC" | 9 | ||
| style="background: #CCFFCC" | 2 | | style="background: #CCFFCC" | 2 | ||
Line 62: | Line 62: | ||
| style="background: #CCFFCC" | 1 | | style="background: #CCFFCC" | 1 | ||
|- | |- | ||
− | + | | Error handling{{ref label|error|C|C}} | |
| style="background: #00FF00" | yes | | style="background: #00FF00" | yes | ||
| style="background: #FF9900" | no | | style="background: #FF9900" | no | ||
Line 72: | Line 72: | ||
| style="background: #00FF00" | yes | | style="background: #00FF00" | yes | ||
|- | |- | ||
− | + | | Tagging | |
| style="background: #00FF00" | Vorbis tags | | style="background: #00FF00" | Vorbis tags | ||
| style="background: #00FF00" | iTunes | | style="background: #00FF00" | iTunes | ||
Line 80: | Line 80: | ||
| style="background: #00FF00" | ASF | | style="background: #00FF00" | ASF | ||
| style="background: #CCFFCC" | ID3/APEv2 | | style="background: #CCFFCC" | ID3/APEv2 | ||
− | | style="background: # | + | | style="background: #00FF00" | ID3v1/2 or APEv2 |
|- | |- | ||
− | | | + | | Hardware support |
+ | | style="background: #00FF00" | very good | ||
| style="background: #00FF00" | very good | | style="background: #00FF00" | very good | ||
− | |||
| style="background: #FFCC66" | limited | | style="background: #FFCC66" | limited | ||
| style="background: #FF9900" | no | | style="background: #FF9900" | no | ||
Line 92: | Line 92: | ||
| style="background: #FFCC66" | limited | | style="background: #FFCC66" | limited | ||
|- | |- | ||
− | | | + | | Software support |
+ | | style="background: #00FF00" | very good | ||
| style="background: #00FF00" | very good | | style="background: #00FF00" | very good | ||
| style="background: #CCFFCC" | good | | style="background: #CCFFCC" | good | ||
+ | | style="background: #FFCC66" | average | ||
| style="background: #CCFFCC" | good | | style="background: #CCFFCC" | good | ||
− | |||
| style="background: #CCFFCC" | good | | style="background: #CCFFCC" | good | ||
− | | style="background: # | + | | style="background: #FFCC66" | average |
− | + | ||
| style="background: #CCFFCC" | good | | style="background: #CCFFCC" | good | ||
|- | |- | ||
− | + | | Hybrid/lossy | |
| style="background: #CCFFCC" | LossyWAV | | style="background: #CCFFCC" | LossyWAV | ||
| style="background: #FF9900" | no | | style="background: #FF9900" | no | ||
Line 112: | Line 112: | ||
| style="background: #FF9900" | no | | style="background: #FF9900" | no | ||
|- | |- | ||
− | | | + | | RIFF chunks |
+ | | style="background: #00FF00" | yes | ||
+ | | style="background: #FF9900" | no | ||
| style="background: #00FF00" | yes | | style="background: #00FF00" | yes | ||
− | |||
| style="background: #00FF00" | yes | | style="background: #00FF00" | yes | ||
− | |||
| style="background: #00FF00" | yes | | style="background: #00FF00" | yes | ||
| style="background: #FF9900" | no | | style="background: #FF9900" | no | ||
Line 122: | Line 122: | ||
| style="background: #FF9900" | no | | style="background: #FF9900" | no | ||
|- | |- | ||
− | + | | Streaming | |
| style="background: #00FF00" | yes | | style="background: #00FF00" | yes | ||
| style="background: #00FF00" | yes | | style="background: #00FF00" | yes | ||
Line 132: | Line 132: | ||
| style="background: #00FF00" | yes | | style="background: #00FF00" | yes | ||
|- | |- | ||
− | + | | Open source | |
| style="background: #00FF00" | yes | | style="background: #00FF00" | yes | ||
| style="background: #00FF00" | yes | | style="background: #00FF00" | yes | ||
Line 142: | Line 142: | ||
| style="background: #00FF00" | yes | | style="background: #00FF00" | yes | ||
|- | |- | ||
− | + | | Multichannel | |
| style="background: #00FF00" | yes | | style="background: #00FF00" | yes | ||
| style="background: #00FF00" | yes | | style="background: #00FF00" | yes | ||
Line 152: | Line 152: | ||
| style="background: #00FF00" | yes | | style="background: #00FF00" | yes | ||
|- | |- | ||
− | + | | OS support | |
| style="background: #00FF00" | All | | style="background: #00FF00" | All | ||
| style="background: #00FF00" | All | | style="background: #00FF00" | All | ||
Line 165: | Line 165: | ||
{| | {| | ||
|- | |- | ||
− | |{{note label|speed|A|A}} Speed and Compression are based on '''each encoder's default settings''' and | + | |{{note label|speed|A|A}} Speed and Compression are based on '''each encoder's default settings''' and taken from [http://www.audiograaf.nl/downloads.html this comparison]. |
|- | |- | ||
|{{note label|comp|B|B}} The Compression ratio is compressed size/uncompressed size * 100. So, lower is better. | |{{note label|comp|B|B}} The Compression ratio is compressed size/uncompressed size * 100. So, lower is better. | ||
|- | |- | ||
− | |{{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. | + | |{{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 it will still decode the rest of the file. |
|- | |- | ||
− | |{{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. | + | |{{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. |
== Codecs == | == Codecs == | ||
Line 178: | Line 178: | ||
=== Apple Lossless Audio Codec (ALAC) === | === Apple Lossless Audio Codec (ALAC) === | ||
− | + | https://alac.macosforge.org/trac | |
[[ALAC]] is a codec developed by Apple for usage in [[Apple iPod|iPod]] and AirPort Express. | [[ALAC]] is a codec developed by Apple for usage in [[Apple iPod|iPod]] and AirPort Express. | ||
Line 206: | Line 206: | ||
https://xiph.org/flac/ | https://xiph.org/flac/ | ||
− | [[FLAC]] is a lossless codec developed by Josh Coalson. It's part of the Xiph multimedia portfolio, along with [[Ogg]], [[Vorbis]], [[Speex]] and [[Theora]]. | + | [[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]]. |
''' FLAC pros ''' | ''' FLAC pros ''' | ||
Line 221: | Line 221: | ||
* Supports [[RIFF]] chunks | * Supports [[RIFF]] chunks | ||
* Pipe support | * Pipe support | ||
− | |||
* Used by a few [http://xiph.org/flac/links.html#music online stores] | * Used by a few [http://xiph.org/flac/links.html#music online stores] | ||
''' FLAC cons ''' | ''' FLAC cons ''' | ||
* No hybrid/lossy mode (but is [[LossyWAV]] compatible) | * No hybrid/lossy mode (but is [[LossyWAV]] compatible) | ||
+ | * Does not handle 32-bit float and there is no encoder that can render to 32-bit integer | ||
''' FLAC Other features ''' | ''' FLAC Other features ''' | ||
* Supports embedded CUE sheets (with [http://flac.sourceforge.net/faq.html#general__no_cuesheet_tags limitations]) | * Supports embedded CUE sheets (with [http://flac.sourceforge.net/faq.html#general__no_cuesheet_tags limitations]) | ||
* Includes MD5 hashes for quick integrity checking as standard | * Includes MD5 hashes for quick integrity checking as standard | ||
− | * Fits the [[Ogg]] | + | * Fits the [[Ogg]] and [[Matroska]] containers |
=== Monkey's Audio (APE) === | === Monkey's Audio (APE) === | ||
Line 243: | Line 243: | ||
* Simple and user friendly. Official GUI provided. | * Simple and user friendly. Official GUI provided. | ||
* Java version (multiplatform) | * Java version (multiplatform) | ||
+ | * Error robustness/decoding up to -c3000 (High compression)<ref>http://www.hydrogenaud.io/forums/index.php?showtopic=98984&st=0&p=821420&#entry821420</ref> | ||
* Tagging support ([[ID3v1]], [[APE tags]]) | * Tagging support ([[ID3v1]], [[APE tags]]) | ||
* [[High resolution]] audio support | * [[High resolution]] audio support | ||
Line 252: | Line 253: | ||
* Slow decoding | * Slow decoding | ||
* No [[multichannel]] support | * No [[multichannel]] support | ||
− | |||
* No hybrid/lossy mode (and not [[LossyWAV]] compatible) | * No hybrid/lossy mode (and not [[LossyWAV]] compatible) | ||
* Limited hardware support (Rockbox, some Cowon players); poor battery life due to complicated decoding (see [http://www.rockbox.org/wiki/SoundCodecMonkeysAudio MP3 player benchmarks]) | * Limited hardware support (Rockbox, some Cowon players); poor battery life due to complicated decoding (see [http://www.rockbox.org/wiki/SoundCodecMonkeysAudio MP3 player benchmarks]) | ||
* Higher compression levels are extremely CPU intensive | * Higher compression levels are extremely CPU intensive | ||
− | |||
''' APE Other features ''' | ''' APE Other features ''' | ||
Line 276: | Line 275: | ||
* Tagging support ([[ID3]], [[APE tags]]) | * Tagging support ([[ID3]], [[APE tags]]) | ||
* Supports [[RIFF]] chunks | * Supports [[RIFF]] chunks | ||
− | |||
''' OFR cons ''' | ''' OFR cons ''' | ||
Line 284: | Line 282: | ||
* Very slow decoding | * Very slow decoding | ||
* Slow encoding | * Slow encoding | ||
− | |||
* More than one tagging method allowed (ambiguity possible) | * More than one tagging method allowed (ambiguity possible) | ||
Line 294: | Line 291: | ||
http://www.thbeck.de/Tak/Tak.html | http://www.thbeck.de/Tak/Tak.html | ||
− | [[TAK]] is a lossless codec developed by | + | [[TAK]] is a lossless codec developed by Thomas Becker. |
''' TAK pros ''' | ''' TAK pros ''' | ||
Line 303: | Line 300: | ||
* Supports multichannel audio and high resolutions | * Supports multichannel audio and high resolutions | ||
* Tagging support | * Tagging support | ||
− | |||
* Supports RIFF chunks | * Supports RIFF chunks | ||
* Pipe support | * Pipe support | ||
Line 317: | Line 313: | ||
''' TAK Other features ''' | ''' TAK Other features ''' | ||
* Optional MD5 checksum | * Optional MD5 checksum | ||
+ | |||
+ | === True Audio (TTA) === | ||
+ | http://tta.tausoft.org/ | ||
+ | |||
+ | [[TTA]] is a lossless codec developed by a international team of programmers. | ||
+ | |||
+ | ''' TTA pros ''' | ||
+ | * [[Open source]] | ||
+ | * Supports [[multichannel]] audio and [[high resolution]]s | ||
+ | * Tagging support ([[ID3]]v1, ID3v2 or [[APEv2]]) | ||
+ | * Embedded CUE sheets support | ||
+ | * Error robustness | ||
+ | * Pipe support | ||
+ | * Average compression | ||
+ | * Fast encoding/decoding | ||
+ | * Symmetric algorithm | ||
+ | * Password protection | ||
+ | * Ultra low latency | ||
+ | |||
+ | ''' TTA cons ''' | ||
+ | * No hybrid/lossy mode | ||
+ | * Doesn't support [[RIFF]] chunks | ||
+ | * Limited hardware support | ||
+ | |||
+ | ''' TTA Other features ''' | ||
+ | * Fits the [[Matroska]] container | ||
+ | * Password protection | ||
=== WavPack (WV) === | === WavPack (WV) === | ||
Line 337: | Line 360: | ||
* Pipe support | * Pipe support | ||
* Good software support | * Good software support | ||
− | |||
''' WV cons ''' | ''' WV cons ''' | ||
Line 344: | Line 366: | ||
''' WV Other features ''' | ''' WV Other features ''' | ||
+ | * Can compress the Direct-Stream Digital (DSD) audio recording format | ||
* Supports 32bit float streams | * Supports 32bit float streams | ||
* Supports embedded CUE sheets | * Supports embedded CUE sheets | ||
+ | * Accept audio files bigger than 4GB | ||
* Includes MD5 hashes for quick integrity checking | * Includes MD5 hashes for quick integrity checking | ||
* Can encode in both symmetrical and asymmetrical modes. | * Can encode in both symmetrical and asymmetrical modes. | ||
* Fits the [[Matroska]] container | * Fits the [[Matroska]] container | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
=== Windows Media Audio Lossless (WMAL) === | === Windows Media Audio Lossless (WMAL) === | ||
− | + | https://msdn.microsoft.com/en-us/library/ff819508(v=vs.85).aspx | |
WMA Lossless is the lossless codec developed by Microsoft to be featured in their Windows Media codec portfolio. | WMA Lossless is the lossless codec developed by Microsoft to be featured in their Windows Media codec portfolio. | ||
Line 396: | Line 392: | ||
* No hybrid/lossy mode (but is [[LossyWAV]] compatible) | * No hybrid/lossy mode (but is [[LossyWAV]] compatible) | ||
* Doesn't support [[RIFF]] chunks | * Doesn't support [[RIFF]] chunks | ||
− | |||
''' WMAL Other features ''' | ''' WMAL Other features ''' | ||
Line 408: | Line 403: | ||
====LA==== | ====LA==== | ||
+ | http://www.lossless-audio.com/ | ||
+ | |||
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. | 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. | ||
====MLP/Dolby TrueHD==== | ====MLP/Dolby TrueHD==== | ||
− | The [[MLP|MLP codec]] (of which the mathematical basis was used in Dolby TrueHD) | + | The [[MLP|MLP codec]] (of which the mathematical basis was used in Dolby TrueHD) is 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. |
====MPEG-4 ALS==== | ====MPEG-4 ALS==== | ||
Line 420: | Line 417: | ||
====Shorten==== | ====Shorten==== | ||
+ | http://www.etree.org/shncom.html | ||
+ | |||
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. | 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. | ||
Line 429: | Line 428: | ||
* Advanced Digital Audio (ADA) | * Advanced Digital Audio (ADA) | ||
− | * Bonk | + | * [http://www.logarithmic.net/pfh/bonk Bonk] |
* Marian's a-Pac | * Marian's a-Pac | ||
* AudioZip | * AudioZip | ||
Line 435: | Line 434: | ||
* Entis Lab MIO | * Entis Lab MIO | ||
* LiteWave | * LiteWave | ||
− | * LPAC | + | * [http://www.nue.tu-berlin.de/menue/mitarbeiter/ehemalige_mitarbeiter/tilman_liebchen/lpac_-_lossless_audio_codec_for_windows_and_linux/ LPAC] |
* Pegasus SPS | * Pegasus SPS | ||
− | * RK Audio (RKAU) | + | * [http://www.free-codecs.com/download/rk_audio_compressor.htm RK Audio (RKAU)] |
− | * Ogg Squish | + | * Ogg Squish/Tarkin |
* Sonarc | * Sonarc | ||
* VocPack | * VocPack | ||
− | * WavArc | + | * [http://www.firstpr.com.au/audiocomp/lossless/wavarc/ WavArc] |
− | * WaveZip/MUSICompress | + | * [http://www.firstpr.com.au/audiocomp/lossless/WaveZip/ WaveZip]/MUSICompress |
== See also == | == See also == | ||
Line 456: | Line 455: | ||
* <s>Johan De Bock's speed oriented comparison</s> - best choices speedwise are indicated in green, mostly electronic music (last updated 2006-07-22) | * <s>Johan De Bock's speed oriented comparison</s> - best choices speedwise are indicated in green, mostly electronic music (last updated 2006-07-22) | ||
* <s>Hans Heijden's</s> -- used as reference to build the table (last updated 2006-07-07) | * <s>Hans Heijden's</s> -- used as reference to build the table (last updated 2006-07-07) | ||
− | * | + | * <s>Josef Pohm's comparison, hosted by Synthetic Soul</s> (last update 2006-05-29) |
* [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) | * [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) | ||
* <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) | * <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) | ||
* <s>Gruboolez'</s> -- comparing only classical music (last updated 2005-02-27) | * <s>Gruboolez'</s> -- comparing only classical music (last updated 2005-02-27) | ||
− | * [http:// | + | * <s>Speek's</s> (last updated 2005-02-07) |
+ | *[http://www.firstpr.com.au/audiocomp/lossless/ Lossless Compression of Audio] Much information about oddball formats including comparison of them. (last updated 2005-10-21) | ||
''' More on lossless compressions ''' | ''' More on lossless compressions ''' |
Revision as of 19:16, 12 January 2017
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.
Contents
- 1 Introduction
- 2 Comparison Table
- 3 Codecs
- 4 See also
- 5 External links
- 6 References
Introduction
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.
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.
Note: for latest comparison of lossless compression, scroll down to the Links section of this page.
Comparison Table
Features | FLAC | ALAC | WavPack | TAK | Monkey's | WMAL | OptimFROG | TTA |
---|---|---|---|---|---|---|---|---|
Encoding speed[A] | very fast | fast | very fast | very fast | fast | fast | slow | very fast |
Decoding speed[A] | very fast | fast | fast | very fast | slow | average | very slow | fast |
Compression[A][B] | 57.0% | 57.8% | 57.1% | 56.0% | 55.1% | 58.4% | 54.6% | 56.6% |
# presets | 9 | 2 | > 10 | > 10 | 5 | 1 | > 10 | 1 |
Error handling[C] | yes | no | yes | yes | yes[D] | yes | yes | yes |
Tagging | Vorbis tags | iTunes | ID3/APEv2 | APEv2 | APEv2 | ASF | ID3/APEv2 | ID3v1/2 or APEv2 |
Hardware support | very good | very good | limited | no | limited | limited | no | limited |
Software support | very good | very good | good | average | good | good | average | good |
Hybrid/lossy | LossyWAV | no | yes | LossyWAV | no | LossyWAV | yes | no |
RIFF chunks | yes | no | yes | yes | yes | no | yes | no |
Streaming | yes | yes | yes | yes | no | yes | yes | yes |
Open source | yes | yes | yes | no | yes | no | no | yes |
Multichannel | yes | yes | yes | yes | no | yes | no | yes |
OS support | All | All | All | Win/Wine | All | Win/Mac | Win/Mac/Linux | All |
A Speed and Compression are based on each encoder's default settings and taken from this comparison. |
B The Compression ratio is compressed size/uncompressed size * 100. So, lower is better. |
C Error handling means that a codec can detect a corruption (flipped bit) in a file and warn the user about it, but it will still decode the rest of the file. |
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.
CodecsThese are the most popular lossless codecs, in alphabetical order: Apple Lossless Audio Codec (ALAC)https://alac.macosforge.org/trac ALAC is a codec developed by Apple for usage in iPod and AirPort Express. ALAC pros
ALAC cons
ALAC Other features
Free Lossless Audio Codec (FLAC)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. FLAC pros
FLAC cons
FLAC Other features
Monkey's Audio (APE)Monkey's Audio is a very efficient lossless compressor developed by Matt Ashland. APE pros
APE cons
APE Other features
OptimFROG (OFR)OptimFROG is a lossless format developed by Florin Ghido to become the champion in audio compression. OFR pros
OFR cons
OFR Other features
Tom's verlustfreier Audiokompressor (TAK)http://www.thbeck.de/Tak/Tak.html TAK is a lossless codec developed by Thomas Becker. TAK pros
TAK cons
TAK Other features
True Audio (TTA)TTA is a lossless codec developed by a international team of programmers. TTA pros
TTA cons
TTA Other features
WavPack (WV)WavPack is a fast and featureful lossless codec developed by David Bryant. WV pros
WV cons
WV Other features
Windows Media Audio Lossless (WMAL)https://msdn.microsoft.com/en-us/library/ff819508(v=vs.85).aspx WMA Lossless is the lossless codec developed by Microsoft to be featured in their Windows Media codec portfolio. WMAL pros
WMAL cons
WMAL Other features
Other FormatsAside 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. DTS-HD Master AudioSimilar 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. LAhttp://www.lossless-audio.com/ 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. MLP/Dolby TrueHDThe MLP codec (of which the mathematical basis was used in Dolby TrueHD) is 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. MPEG-4 ALSMPEG-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. MPEG-4 SLSMPEG-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. Shortenhttp://www.etree.org/shncom.html 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. Real LosslessPart 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. Oddball formatsThere 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 rjamorim's
See alsoExternal linksOther lossless compressions comparisons Sorted based on last update date.
More on lossless compressions
References |