Difference between revisions of "Lossless comparison"

From Hydrogenaudio Knowledgebase
Jump to: navigation, search
(Added LossyWAV compatibility as an option for hybrid/lossy)
(Updated comparison table)
Line 25: Line 25:
 
| width="95px" style="background: #00FFFF" | WMA
 
| width="95px" style="background: #00FFFF" | WMA
 
|-
 
|-
|align="left" style="background: #FFFF99" | Encoding speed
+
|align="left" style="background: #FFFF99" | Encoding speed*
| style="background: #CCFFCC" | fast
+
| style="background: #00FF00" | very fast
 
| style="background: #00FF00" | very fast
 
| style="background: #00FF00" | very fast
 
| style="background: #00FF00" | very fast
 
| style="background: #00FF00" | very fast
Line 32: Line 32:
 
| style="background: #FF9900" | slow
 
| style="background: #FF9900" | slow
 
| style="background: #CCFFCC" | fast
 
| style="background: #CCFFCC" | fast
| style="background: #FFFFFF" | average
+
| style="background: #CCFFCC" | fast
 
|-
 
|-
|align="left" style="background: #FFFF99" | Decoding speed
+
|align="left" style="background: #FFFF99" | Decoding speed*
 
| style="background: #00FF00" | very fast
 
| style="background: #00FF00" | very fast
 
| style="background: #CCFFCC" | fast
 
| style="background: #CCFFCC" | fast
 
| style="background: #00FF00" | very fast
 
| style="background: #00FF00" | very fast
| style="background: #FFFFFF" | average
 
 
| style="background: #FF9900" | slow
 
| style="background: #FF9900" | slow
 +
| style="background: #FF9900" | very slow
 
| style="background: #CCFFCC" | fast
 
| style="background: #CCFFCC" | fast
| style="background: #CCFFCC" | fast
+
| style="background: #FFFFFF" | average
 
|-
 
|-
 
|align="left" style="background: #FFFF99" | Compression*
 
|align="left" style="background: #FFFF99" | Compression*
| style="background: #CCFFCC" | 55.7%
+
| style="background: #CCFFCC" | 57.0%
| style="background: #CCFFCC" | 55.7%
+
| style="background: #00FF00" | 53.9%
+
| style="background: #00FF00" | 53.7%
+
| style="background: #00FF00" | 53.2%
+
| style="background: #CCFFCC" | 56.7%
+
 
| style="background: #CCFFCC" | 57.1%
 
| style="background: #CCFFCC" | 57.1%
 +
| style="background: #00FF00" | 56.0%
 +
| style="background: #00FF00" | 55.1%
 +
| style="background: #00FF00" | 54.6%
 +
| style="background: #CCFFCC" | 57.8%
 +
| style="background: #FF9900" | 58.4%
 
|-
 
|-
 
|align="left" style="background: #FFFF99" | Flexibility**
 
|align="left" style="background: #FFFF99" | Flexibility**
Line 201: Line 201:
 
| width="95px" style="background: #00FFFF" | Real Lossless
 
| width="95px" style="background: #00FFFF" | Real Lossless
 
|-
 
|-
| align="left" style="background: #FFFF99" | Encoding speed
+
| align="left" style="background: #FFFF99" | Encoding speed*
 
| style="background: #00FF00" | very fast
 
| style="background: #00FF00" | very fast
 
| style="background: #FF9900" | very slow
 
| style="background: #FF9900" | very slow
Line 209: Line 209:
 
| style="background: #FF9900" | slow           
 
| style="background: #FF9900" | slow           
 
|-
 
|-
| align="left" style="background: #FFFF99" | Decoding speed
+
| align="left" style="background: #FFFF99" | Decoding speed*
| style="background: #00FF00" | very fast
+
| style="background: #FF9900" | slow
+
 
| style="background: #CCFFCC" | fast
 
| style="background: #CCFFCC" | fast
 +
| style="background: #FF9900" | very slow
 +
| style="background: #FFFFFF" | average
 
| style="background: #CCFFCC" | fast
 
| style="background: #CCFFCC" | fast
 
| style="background: #FF9900" | slow
 
| style="background: #FF9900" | slow
Line 218: Line 218:
 
|-
 
|-
 
| align="left" style="background: #FFFF99" | Compression*
 
| align="left" style="background: #FFFF99" | Compression*
| style="background: #FF9900" | 60.9%
+
| style="background: #FF9900" | 62.3%
| style="background: #00FF00" | 52.1%
+
| style="background: #00FF00" | 53.3%
| style="background: #CCFFCC" | 55.3%
+
| style="background: #CCFFCC" | 56.6%
| style="background: #CCFFCC" | 55.1%
+
| style="background: #CCFFCC" | 56.6%
 
| style="background: #CCFFCC" | ?
 
| style="background: #CCFFCC" | ?
| style="background: #CCFFCC" | 55.4%             
+
| style="background: #CCFFCC" | ~56%             
 
|-
 
|-
 
| align="left" style="background: #FFFF99" | Flexibility**
 
| align="left" style="background: #FFFF99" | Flexibility**
Line 348: Line 348:
 
|}
 
|}
  
<nowiki>*</nowiki> The Compression ratio is calculated with the division of compressed size by uncompressed size * 100. So, lower is better.
+
<nowiki>*</nowiki> The Compression ratio is calculated with the division of compressed size by uncompressed size * 100. So, lower is better. Encoding speed, Decoding speed and Compression ratio are based on each encoder's default settings and are taken from the most recent lossless codec comparison mentioned at the [[Lossless_comparison#Other_lossless_compressions_comparisons|links section of this page]]. Encoding speed is very fast if > 150x, fast if >75x, average if >40x, slow if >20x, very slow if <20x. Decoding speed is similar but thresholds are doubled, i.e., very fast if >300x, fast if >150x etc. Thresholds for compression are at 56% and 58%
 
+
Encoding speed, Decoding speed and Compression ratio are based on each encoder's default settings.
+
  
 
<nowiki>**</nowiki> Flexibility refers to the amount of encoding choices offered to the users (Fast/low compression, Slow/high compression and everything inbetween)
 
<nowiki>**</nowiki> Flexibility refers to the amount of encoding choices offered to the users (Fast/low compression, Slow/high compression and everything inbetween)
Line 690: Line 688:
 
''Sorted based on last '''update''' date.''
 
''Sorted based on last '''update''' date.''
  
* [http://www.icer.nl/losslesstest/ Martijn van Beurden's comparison] - tries to compare all codecs and settings with a balanced pool of music (last updated 2013-03-19)
+
* [http://www.icer.nl/losslesstest/ Martijn van Beurden's comparison] - tries to compare all codecs and settings with a balanced pool of music (last updated 2013-08-10)
 
* [http://synthetic-soul.co.uk/comparison/lossless/ Synthetic Soul's comparison] (last update 2007-07-28)
 
* [http://synthetic-soul.co.uk/comparison/lossless/ Synthetic Soul's comparison] (last update 2007-07-28)
 
* <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)

Revision as of 10:55, 11 August 2013

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.

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.

Several people only take into consideration compression performance when choosing a codec. But as the following table and article shows, there are several other features worth taking into consideration when making that choice.

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 WavPack TAK Monkey's OptimFROG ALAC WMA
Encoding speed* very fast very fast very fast fast slow fast fast
Decoding speed* very fast fast very fast slow very slow fast average
Compression* 57.0% 57.1% 56.0% 55.1% 54.6% 57.8% 58.4%
Flexibility** very good very good very good very good very good bad bad
 
Error handling yes yes yes no yes   yes
Seeking yes yes yes yes yes yes yes
Tagging Vorbis tags ID3/APE APEv2 (exp.) ID3/APE ID3/APE iTunes ASF
Hardware support very good limited no limited no good limited
Software support very good good average good average average good
Hybrid/lossy LossyWAV yes LossyWAV no yes no LossyWAV
ReplayGain yes yes yes no yes sort of no
RIFF chunks yes yes   yes yes   no
Streaming yes yes yes no yes yes yes
Pipe support yes yes yes yes yes yes yes
Open source yes yes no yes no yes no
Multichannel yes yes yes no no yes yes
High resolution yes yes yes yes yes yes yes
OS support All All Win/Linux Wine All Win/Mac/Linux All Win/Mac

(table continued below)

Features Shorten LA TTA MPEG-4 ALS MPEG-4 SLS Real Lossless
Encoding speed* very fast very slow fast average slow slow
Decoding speed* fast very slow average fast slow very fast
Compression* 62.3% 53.3% 56.6% 56.6%  ? ~56%
Flexibility** bad average bad very good bad bad
 
Error handling no no yes yes yes  
Seeking yes yes yes yes yes yes
Tagging no ID3v1 ID3 yes yes proprietary
Hardware support limited no limited no no no
Software support very good bad average bad bad bad
Hybrid/lossy no no no LossyWAV yes no
ReplayGain no no yes yes yes no
RIFF chunks yes yes no      
Streaming no   no yes yes yes
Pipe support yes yes no     no
Open source yes no yes yes yes no
Multichannel no no yes yes yes no
High resolution no no yes yes yes no
OS support All Win/Linux All All All Win/Mac/Linux

* The Compression ratio is calculated with the division of compressed size by uncompressed size * 100. So, lower is better. Encoding speed, Decoding speed and Compression ratio are based on each encoder's default settings and are taken from the most recent lossless codec comparison mentioned at the links section of this page. Encoding speed is very fast if > 150x, fast if >75x, average if >40x, slow if >20x, very slow if <20x. Decoding speed is similar but thresholds are doubled, i.e., very fast if >300x, fast if >150x etc. Thresholds for compression are at 56% and 58%

** Flexibility refers to the amount of encoding choices offered to the users (Fast/low compression, Slow/high compression and everything inbetween)


These are the most popular lossless codecs, in alphabetical order:

Apple Lossless Audio Codec (ALAC)

http://www.apple.com/itunes/import.html

ALAC is a codec developed by Apple for usage in iPod and AirPort Express.

ALAC pros

ALAC cons

  • Limited software support
  • No hybrid/lossy mode

ALAC Other features

  • Fits in the MP4 container
  • Can be used with the AirPort Express gadget


Free Lossless Audio Codec (FLAC)

http://flac.sourceforge.net/

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 pros

FLAC cons

  • No hybrid/lossy mode

FLAC Other features

  • Supports embedded CUE sheets (with limitations)
  • Includes MD5 hashes for quick integrity checking
  • Fits the Ogg and Matroska containers


LosslessAudio (LA)

http://www.lossless-audio.com/

LA is a lossless codec developed by Michael Bevin.

LA pros

  • Very high compression
  • Tagging support (ID3v1)
  • Supports RIFF chunks
  • Pipe support

LA cons

  • Closed source
  • Very slow encoding and decoding
  • Doesn't support multichannel audio and high resolutions
  • No hardware support
  • No hybrid/lossy mode
  • Bad software support
  • Doesn't support ReplayGain

It's important to mention that the LA foobar plugin is buggy and doesn't produce lossless streams!


Lossless Predictive Audio Coder (LPAC)

Lossless Predictive Audio Coder (LPAC) is a lossless codec developed by Tilman Liebchen. Development of it has been halted in favour of development of MPEG-4 ALS.

LPAC pros

LPAC cons

  • Closed source
  • No error robustness
  • Slow seeking
  • No tagging
  • No multichannel support
  • No hybrid/lossy mode
  • No hardware support
  • Doesn't support ReplayGain

Monkey's Audio (APE)

http://www.monkeysaudio.com/

Monkey's Audio is a very efficient lossless compressor developed by Matt Ashland.

APE pros

  • Open source
  • High efficiency
  • Good software support
  • Simple and user friendly. Official GUI provided.
  • Java version (multiplatform)
  • Tagging support (ID3v1, APE tags)
  • High resolution audio support
  • Supports RIFF chunks (only in the GUI encoder)
  • Pipe support (only in a special version)

APE cons

  • No multichannel support
  • No error robustness
  • No hybrid/lossy mode
  • Limited hardware support (Rockbox, some Cowon players); poor battery life due to complicated decoding MP3 player benchmarks
  • Higher compression levels are extremely CPU intensive
  • Doesn't support ReplayGain

APE Other features

  • Includes MD5 hashes for quick integrity checking
  • Supports APL image link files (similar to CUE sheets)

MPEG-4 SLS

MPEG-4 SLS allows audio encoding from lossless scalable to AAC.

SLS pros

  • Transcoding to standard AAC or any higher lossy bitrate at the speed of copying a file
  • Scalable decoding from lossless, to any bitrate down to the AAC core track
  • Best lossless compression available when you count the AAC track (~5% gain over any other lossless compression + AAC)
  • High resolution audio support
  • Multi channel audio support
  • Open source (MPEG-4 Reference code)
  • Embedded in standard MP4 files, so supports same tagging and ReplayGain features as AAC does.

SLS cons

  • No usable software available yet
  • Pure lossless compression not the best there is
  • Seems to be slow in encoding and decoding, but we have to wait for released software

SLS Other features

  • Transform based lossless codec with optional LC AAC core track


OptimFROG (OFR)

http://www.losslessaudio.org/

OptimFROG is a lossless format developed by Florin Ghido to become the champion in audio compression.

OFR pros

OFR cons

  • Closed source
  • No multichannel audio support
  • No hardware support
  • Quite slow decoding

OFR Other features

  • Supports 32bit float streams
  • Includes MD5 hashes for quick integrity checking


RealAudio Lossless (RAL)

http://www.realnetworks.com/products/codecs/realaudio.html

RealAudio lossless is the lossless codec developed by Real Networks for their multimedia portfolio

RAL pros

  • Very fast decoding
  • Streaming support
  • Tagging support (proprietary)

RAL cons

  • Closed source
  • No multichannel and high resolution audio support
  • Little software support (Real Player)
  • No hardware support
  • Compression efficiency not on par with other lossless codecs
  • No hybrid/lossy mode
  • No pipe support
  • Doesn't support ReplayGain


Shorten (SHN)

http://www.etree.org/shnutils/shorten/

Shorten is a very old and featureless lossless codec developed by Tony Robinson at SoftSound.

SHN pros

  • Open source
  • Fast decoding
  • Very good software support
  • Supports RIFF chunks
  • Pipe support

SHN cons

  • Quite inefficient
  • No multichannel or high resolution audio support
  • No hybrid/lossy mode
  • No error robustness
  • Not streamable
  • No hardware support
  • No native tagging
  • Doesn't support ReplayGain


True Audio (TTA)

http://www.true-audio.com/

TTA is a new lossless codec developed by a team of russian programmers.

TTA pros

TTA cons

  • No streaming support
  • No hybrid/lossy mode
  • Doesn't support RIFF chunks
  • No pipe support

TTA Other features


WavPack (WV)

http://www.wavpack.com/

WavPack is a fast and featureful lossless codec developed by David Bryant.

WV pros

  • Open source
  • Very fast decoding
  • Very fast encoding
  • Good efficiency
  • Error robustness
  • Streaming support
  • Hardware support (RockBox)
  • Supports multichannel audio and high resolutions
  • Hybrid/lossy mode
  • Tagging support (ID3v1, APE tags)
  • Supports RIFF chunks
  • Ability to create self extracting files for Win32 platform
  • Pipe support
  • Good software support
  • ReplayGain compatible

WV cons

  • Limited hardware player support

WV Other features

  • Supports 32bit float streams
  • Supports embedded CUE sheets
  • Includes MD5 hashes for quick integrity checking
  • Can encode in both symmetrical and assymmetrical modes.
  • Fits the Matroska container


Windows Media Audio Lossless (WMAL)

http://www.microsoft.com/windows/windowsmedia/9series/codecs/audio.aspx

WMA Lossless is the lossless codec developed by Microsoft to be featured in their Windows Media codec portfolio.

WMAL pros

  • Streaming support
  • Very good software support
  • Hardware support (All Microsoft Zunes though older models may need firmware updates, also supported by some non-Microsoft devices like the Gigabeat V and S line from Toshiba.
  • Supports multichannel audio and high resolutions.
  • Tagging support (proprietary)
  • Pipe support

WMAL cons

  • Closed source
  • No hybrid/lossy mode
  • Doesn't support RIFF chunks
  • Doesn't support ReplayGain

WMAL Other features

  • Fits the ASF container


Oddball Formats

There are several old lossless formats that aren't being featured in the article above. Reasons are: lack of widespread support, lack of features, bad efficiency and, most importantly, it seems no one is really interested in them.

Most of those would have disappeared by now, but they are being preserved for posterity at rjamorim's

Advanced Digital Audio (ADA)  

Bonk  

Marian's a-Pac  

AudioZip  

Dakx WAV  

Entis Lab MIO  

LiteWave  

Pegasus SPS 

RK Audio (RKAU)  

Sonarc  

VocPack  

WavArc  

WaveZip/MUSICompress

See also


External links

Other lossless compressions comparisons

Sorted based on last update date.

  • Martijn van Beurden's comparison - tries to compare all codecs and settings with a balanced pool of music (last updated 2013-08-10)
  • Synthetic Soul's comparison (last update 2007-07-28)
  • Johan De Bock's speed oriented comparison - best choices speedwise are indicated in green, mostly electronic music (last updated 2006-07-22)
  • Hans Heijden's -- used as reference to build the table (last updated 2006-07-07)
  • Josef Pohm's comparison, hosted by Synthetic Soul (last update 2006-05-29)
  • Bobulous' lossless audio comparison — a look at six lossless formats in terms of speed and file size (last updated 2006-05-22)
  • Jhan De Bock's size oriented comparison - aimed only at the maximum compression setting for each codec (based on a somewhat limited set of samples, however) (last updated 2006-05-19)
  • Gruboolez' -- comparing only classical music (last updated 2005-02-27)
  • Speek's (last updated 2005-02-07)

More on lossless compressions

  • The Lossless Audio Blog - by windmiller, is a reliable and complete source of news about lossless compression.
  • Go to the Hydrogenaudio thread to discuss this article.