https://wiki.hydrogenaud.io/api.php?action=feedcontributions&user=Supermariofan67&feedformat=atomHydrogenaudio Knowledgebase - User contributions [en]2024-03-28T12:17:59ZUser contributionsMediaWiki 1.22.7https://wiki.hydrogenaud.io/index.php?title=AccurateRipAccurateRip2021-11-24T09:12:02Z<p>Supermariofan67: /* Software that uses AccurateRip */ cyanrip</p>
<hr />
<div>'''AccurateRip''' is an online ripping accuracy database. Using submissions from people all around the world, a bit-perfect verification of an audio track rip can be assured with a positive match. AccurateRip also allows the offsets of drives to be determined.<br />
<br />
The database is maintained by Illustrate Ltd., the company run by "Spoon", primary developer of [[dBpoweramp]]. All of the data is submitted by the Windows-based ripping programs dBpoweramp and [[Exact Audio Copy]] via a [[wikipedia:Dynamic-link library|DLL]] licensed from Illustrate.<ref>As per [https://hydrogenaud.io/index.php/topic,77600#msg678407 a Jan. 2010 post by Spoon], "Only two programs submit to AR, EAC and dBpoweramp, these two submit through the standard AccurateRip access dll, which ensures that offsets are correct, we are not talking submissions to freedb where one record does not effect the submission of future records if keyed with a wrong offset. You might not like it, but it is the only way to ensure that the quality of the database is not impaired."</ref> Other rippers and tools, such as [[CUETools]] and Mac OS-based rippers, can receive info from the database in order to look up drive offsets or check rip quality, but they cannot submit their own rip results to it.<br />
<br />
==Drive read offsets==<br />
Very few CD drives actually start reading data from audio CDs exactly at the sector requested by DAE software. There are drives that are off by over 1 sector (1/75th of a second), but most are off by much less (<sup>1</sup>/<sub>250</sub> to <sup>1</sup>/<sub>350</sub> second). Most modern CD drives have "Accurate Stream" technology, so there's no "jitter", meaning in this case that the variance is consistent from read to read, and will tend to be the same for all drives of a certain make & model.<br />
<br />
The AccurateRip database allows one to find out the read offset, which is normally constant for given make & model of CD drive. This number can then be used by DAE software to ensure that each track is ripped from its exact start to its exact finish.<br />
<br />
The offset is given in samples. One "sample" on an audio CD is 4 bytes, consisting of a 2-byte left-channel value and a 2-byte right-channel value. There are 2352 bytes, or 588 samples, in each sector of an audio CD, corresponding to 1/75th of a second of sound. Therefore, an AccurateRip offset of +134 means the drive consistently delivers data from 536 bytes ''behind'' (earlier than) where it was asked to read from, so the DAE software needs to look that far ahead (hence the positive offset) in order to get the right data.<br />
<br />
When offsets are taken into account, the DAE software might have to ask the drive to "overread" into the lead-in or lead-out portions of the disc, where there's no audio data. Some drives can't be asked to do it, some drives will try to do it and fail, and some will just return null samples (a stream of "0" bytes, a.k.a. digital silence). If the drive can't overread, then there will be samples missing from the extracted track. The DAE software can correct for this by padding the track with digital silence so it's the correct length.<br />
<br />
===Offset accuracy===<br />
Determining the actual read offset of a drive is difficult. The reference measurements Andre Wiethoff made and which were adopted by Spoon for the AccurateRip database were challenged in late 2006; [https://web.archive.org/web/20120903210117/digital-inn.de/exact-audio-copy-english/28787-andre-wiethoff-who-feels-have-say-offsets.html] to support a claim that the reference is actually off by 30 samples. The offsets are 30 samples too low, or the correction values are 30 samples too high, however you want to look at it. Wiethoff feels that it's too late to change to a different reference now that the database is populated. However, since all submissions are calibrated to the same reference, and the apparent error so small (~680 µs), the reliability of AccurateRip data is not compromised in any way whatsoever.<br />
<br />
==Ripped track checksums==<br />
Once all the samples for a track have been extracted and put into a file such as a WAV, a checksum can be generated to summarize the sample data. Identical data will produce identical checksums. If the data is the slightest bit different, the checksums will usually be very different. The checksums derived from the same tracks from the same pressings of the same CDs, so long as drive offsets have been accounted for, can be compared in order to determine whether the extraction was error-free. That is, if you rip a track and find that your checksum matches what everyone else got, then you can be confident there are no missing or incorrect samples (or that you've all got exactly the same damage, which is nearly impossible). See the [[secure ripping]] article for more on this subject.<br />
<br />
The AccurateRip database contains over 2 million unique discs. DAE software can use this info to decide whether to try re-reading a track that produced a different checksum than was expected.<br />
<br />
===Checksum calculation===<br />
Technical details on checksum calculation can be found here: [https://forum.dbpoweramp.com/showthread.php?20641 AccurateRip-CRC-Calculation]<br />
<br />
A Linux command-line tool to compute AccurateRip checksums can be found here: https://github.com/leo-bogert/accuraterip-checksum<br />
<br />
Each AccurateRip checksum is based on a complete track rip, from the beginning of the track to the end, as determined by the track's entry in the disc's table of contents. This means that any silence or "gap" at the beginning or end of the track, except before the first track, must be included in the rip. If your DAE software is configured to trim silence or to do anything with gaps other than put them at the end of the preceding track (as normally happens when gaps aren't taken into account), then it's unlikely the checksums of your rips will be submitted to or compared against those in the AccurateRip database.<br />
<br />
The checksum algorithm ignores the first 2939 samples<ref name=Steffensen>Not 2940 samples; see http://jonls.dk/2009/10/calculating-accuraterip-checksums/</ref> (just under 5 frames, a little over 0.013s of audio) at the beginning of the first track, and ignores 2940 samples (exactly 5 frames) at the end of the last track. The largest drive offset in the database, as of late 2011, is only 1776 samples, so when an offset-corrected drive "overreads" beyond the boundaries of the audio data, it normally won't affect the checksum. If the overread were to exceed 2940 samples, though, the algorithm assumes the data is padded with digital silence (nothing but zeroes). If your drive isn't capable of overreading and your DAE software doesn't zero-pad the rip to simulate an overread, then it's unlikely the checksums of your rips will be submitted to or compared against those in the AccurateRip database.<br />
<br />
An optimization oversight in the original AccurateRip checksum algorithm results in an unintended loss of accuracy: about 3% of the audio data is not counted in the checksum at all. The left channel's samples are fully included, but in a 65,536-sample cycle, half of the right-channel samples are treated as if they're missing anywhere from 1 bit to all 16 bits. [https://hydrogenaud.io/index.php/topic,61468 Proposals for improving the algorithm, the database, and the database's API were made] and an improved algorithm was implemented for AccurateRip v2 checksums, which are now the default calculated by the rippers which support AccurateRip. How much improvement the v2 checksum has over the original is suspect [http://www.hydrogenaudio.org/forums/index.php?showtopic=66233&st=1350&p=756260&#entry756260 link]. The v2 checksums are treated as separate pressings from the old ones, so there's no risk to the integrity of existing data.<br />
<br />
==Pressings==<br />
Pressings, for AccurateRip's purposes, are where a batch of identical audio CDs is created by the pressing plant, then another batch is created, usually at a later date, with the same data but a different offset. The offset is due to variations in the way the master discs are replicated for the pressing machinery. Apart from this offset, discs across pressings are identical; the audio data on them is exactly the same. AccurateRip, as it was originally written, could only verify results for a specific pressing (same data, same offset), though the program's calibration procedure still made checking against alternate pressings possible. A major update to the program CUETools offered a mathematical solution to quickly cross-check a rip against multiple pressings. AccurateRip v2 would later be released to incorporate cross-checking against alternate pressings as well.<br />
<br />
==AccurateRip data analysis==<br />
It is possible to run statistical analysis on the hundreds of millions of submissions to AccurateRip to determine how accurate a given drive is, with the idea that with enough spread of drive submissions, anomalous results from damaged CDs will be averaged out. The last such calculation can be found here: [https://forum.dbpoweramp.com/showthread.php?23074 CD-DVD-Drive-Accuracy-List-2011]<br />
<br />
There is also a report of drive offsets here: [http://www.accuraterip.com/driveoffsets.htm CD Drive Offsets]<br />
<br />
==Submitting offsets and checksums==<br />
The database is designed to be anonymously accessed by DAE software, via HTTP. Submitting data should only be done through such software.<br />
<br />
==Software that uses AccurateRip==<br />
* [[CUETools]]<br />
* [https://github.com/cyanreg/cyanrip cyanrip]<br />
* [[dBpoweramp]]<br />
* [[Exact Audio Copy]]<br />
* [[foobar2000]]<br />
* [[fre:ac]]<br />
* [[MediaMonkey]]<br />
* [https://github.com/thomasvs/morituri morituri]<br />
* [[Python Audio Tools]]<br />
* [[Rip]]<br />
* [[Songbook]]<br />
* [[Whipper]]<br />
* [[XLD]]<br />
<br />
==History==<br />
AccurateRip was introduced as an add-on for dBpowerAMP Music Converter (dMC) in January 2003.<br />
<!--expand this--><br />
<br />
<br />
==Notes and references==<br />
<references/><br />
<br />
<br />
==External links==<br />
* [http://www.accuraterip.com/ AccurateRip web site]<br />
<br />
[[Category:CD ripping]]</div>Supermariofan67https://wiki.hydrogenaud.io/index.php?title=Monkey%27s_AudioMonkey's Audio2021-06-08T21:15:14Z<p>Supermariofan67: more info about the license and the ffmpeg decoder</p>
<hr />
<div>{{Codec Infobox<br />
| name = Monkey's Audio <br />
| logo = <br />
| type = lossless<br />
| purpose = A fast and powerful lossless audio compressor<br />
| maintainer = Matt Ashland<br />
| released = {{start date and age|2000}}<br />
| recommended_encoder = 6.21 (April 24, 2021)<br />
| website = [https://www.monkeysaudio.com monkeysaudio.com]<br />
}}<br />
'''Monkey's Audio''' (APE) is a freeware [[lossless]] audio compression format with a highly competitive compression algorithm, and is used primarily by Windows users. Although software is available for Linux, Monkey's Audio is not as popular among this operating system's users. Monkey's Audio suffers from slow decompression speeds as compared to other lossless audio codecs.<br />
<br />
Monkey's Audio uses a combination of traditional lossless compression tactics ([[linear prediction]] and [[channel coupling]]) and a simple [[neural network]]. To store the output values of its prediction step it uses [[range coding]], modified to work well with more or less continuous values.<br />
<br />
Its main competitor is [[FLAC]], which has more features than Monkey's Audio (streaming support, for example) and hardware support to its advantage, though its efficiency in compression is not as great.<br />
<br />
Monkey's Audio is proprietary software released under a custom [https://en.wikipedia.org/wiki/Source-available_software "source available"] [https://www.monkeysaudio.com/license.html license] that [https://en.wikipedia.org/wiki/Monkey%27s_Audio#Comparisons does not grant the right] to redistribution of modified versions of the source code and is difficult to integrate with free software. However, a third-party free and open source decoder is included with ffmpeg.<br />
<br />
==See also==<br />
* [[Lossless comparison|Lossless Codec Comparison]]<br />
* [[EAC and Monkey's Audio|Configuring EAC and Monkey's Audio]]<br />
<br />
<br />
==Installing==<br />
<br />
Go to Monkey's audio download page and download the latest installer for your system, double click the installer and run.<br />
<br />
*find a suitable audio recording (.WAV), or record an audio session using [[Audacity]] and save to PCM (.WAV) , now proceed and run Monkey's Audio, select your (.WAV) audio file and compress, you now have an audio file compressed in (.APE).<br />
<br />
<br />
==Decoding==<br />
<br />
Recommend decoding with foobar2000.<br />
*foobar2000 - [https://www.foobar2000.org/components/view/foo_input_monkey foo_input_monkey] component provides decoding support for monkey's audio files (.APE).<br />
<br />
<br />
Alternative decoding with foobar2000 and FFmpeg.<br />
*foobar2000 - [https://www.foobar2000.org/components/view/foo_input_ffmpeg foo_input_ffmpeg] component provides FFmpeg support with '''FFmpeg Decoder Wrapper'''.<br />
<br />
*FFmpeg Decoder Wrapper<br />
*FFmpeg Windows Builds - gyan.dev - https://www.gyan.dev/ffmpeg/builds<br />
<br />
Setting up FFmpeg Decoder Wrapper in foobar2000.<br />
*Download the '''[https://www.foobar2000.org/components/view/foo_input_ffmpeg foo_input_ffmpeg]''' plugin (Double click on the plugin to Install), Next from foobar2000 '''Menu''' select Option >> Configure >> Playback >> Decoding >> FFmpeg Decoder Wrapper > select 'Monkey's Audio' tick box, also within '''FFmpeg Decoder Wrapper''' option screen, you can browse location for FFmpeg.<br />
<br />
<br />
*Assign Path for FFmpeg in Windows 10<br />
Windows 10 users you can also '''Assign''' a '''Path''' for '''FFmpeg''' from the ''''System Properties''' >> '''Enviroment Variables''' ( Use Windows 10 Search, to find '''Enviroment Variables''' )<br />
Select '''Path''' from '''system variables''' >> '''Edit'''' >>'''New''' >> '''Add''' >> '''C:\ffmpeg\Bin''' , assuming you have '''FFmpeg''' extracted at this location.<br />
<br />
<br />
==Players==<br />
<br />
Additional Supported software for playing (.APE) audio files.<br />
*[[foobar2000]] + Plugin ( Windows )<br />
* [https://www.un4seen.com/ Bass audio library] supported players using Bass_ape.dll for decoding. [[MusicBee]], AIMP, Tag scanner ( Windows )<br />
* [https://getwacup.com/ WACUP] (WinAmp Community Update Project)<br />
*Winamp + Monkey's audio installer ( Windows )<br />
*[[VLC]] plays (.APE) YES, seek bar is unresponsive when playing. ( Windows / Linux ? )<br />
*[https://mpv.io/ mpv] (via ffmpeg)<br />
<br />
<br />
<br />
== Encoding Monkey's Audio with foobar2000 ==<br />
<br />
In this guide we are going to show you how to access foobar2000 "Quick Convert" and create a new custom preset,<br />
the new preset will allow you to encode (.WAV) audio files to Monkey's Audio (.APE).<br />
<br />
<br />
Quick Convert:<br />
To gain access to Quick Convert you need to Right Click a selected (.wav) audio file, this action will open the context menu <br />
from the context menu select "Convert > Quick Convert", This action will open Quick Convert > Now click the "Add New" button,<br />
this will open the "Commandline Encoder Settings" > Now click on the encoder menu and select custom.<br />
<br />
You are now ready to edit your preset.<br />
<br />
<br />
Parameters Modes:<br />
<br />
fast -c1000<br />
normal -c2000<br />
high -c3000<br />
extra high -c4000<br />
insane -c5000<br />
<br />
<br />
Example custom preset using normal.<br />
<br />
Encoder file: C:\Program Files\Monkey's Audio x64\MAC.exe<br />
Extension: ape<br />
Parameters: %s %d -c2000<br />
Format is: lossless (or hybrid)<br />
Highest BPS mode supported: 24<br />
Encoder name: APE (Monkey's Audio)<br />
Settings: normal<br />
<br />
<br />
Now to save your preset click OK. You are now ready to convert any audio file with (.wav) extenstion to (.ape)<br />
<br />
<br />
==External links==<br />
* [https://www.monkeysaudio.com Monkey's Audio] - Official website<br />
* {{wikipedia|Monkey's Audio}}</div>Supermariofan67https://wiki.hydrogenaud.io/index.php?title=Open_sourceOpen source2021-06-08T20:59:22Z<p>Supermariofan67: rewrite for accuracy/clarity, include more detail</p>
<hr />
<div>'''Open source''' software is software whose source code is both published and freely available to anyone to use, modify, examine, or redistribute as they wish. Such sources are often distributed using an [https://www.opensource.org/licenses/ Open Source Initiative (OSI)-approved] license, such as the GPL, LGPL, or a variant of the BSD license. Open source software is usually, though not always, '''[https://www.gnu.org/philosophy/free-sw.html free software]'''. [https://www.gnu.org/licenses/license-list.html Free software licenses] grant the user the "four basic freedoms" as defined by the Free Software Foundation, which, while based on a different philosophy, largely overlaps with the open source criteria. Software that meets both philosophies and is licensed to meet both criteria is commonly known as '''free and open source software (FOSS)'''.<br />
<br />
Any programmer can freely modify such sources and release the modifications, with some catches depending on the license chosen by the copyright holder. For example, the GPL, as a [https://en.wikipedia.org/wiki/Copyleft copyleft] license, demands that modifications are released under the same license, and the Qt license forbids people of creating code branches.<br />
<br />
Open source software is differentiated from ''[https://en.wikipedia.org/wiki/Source-available_software source-available software]'', which has published sources allowing users to examine it. However, its licenses, like the one used for [[Monkey's Audio]] sources, forbid the user basic modification and/or redistribution rights granted by Open Source and Free Software licenses, and as a result are still proprietary software. Simply having publicly visible source code is not sufficient for software to be considered open source; there must actually be a reasonable ability for the public to use the source in a useful way.<br />
<br />
In the context of audio formats, benefits of the use of free and open source software and codecs include user freedom, ease of development/integration, less dependence on the willingness of centralized entities to maintain it, and a greater assurance of the ability to use the codec or software in the long-term as hardware and software advances.<br />
<br />
Wikipedia includes more information about [https://en.wikipedia.org/wiki/Open-source_software open source software] and [https://en.wikipedia.org/wiki/Free_software free software].</div>Supermariofan67https://wiki.hydrogenaud.io/index.php?title=Lossless_comparisonLossless comparison2021-06-08T17:50:30Z<p>Supermariofan67: Source available != open source. APE is proprietary and nonfree, but a third-party FOSS decoder (apedec.c) is available as part of ffmpeg</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 number 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 take into consideration only 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 />
{| class="wikitable" cellspacing="2"<br />
!width="120px"|'''Features'''<br />
! width="90px" | [[#Free Lossless Audio Codec (FLAC)|FLAC]]<br />
! width="90px" | [[#Apple Lossless Audio Codec (ALAC)|ALAC]]<br />
! width="90px" | [[#WavPack (WV)|WavPack]]<br />
! width="90px" | [[#Tom's_verlustfreier_Audiokompressor (TAK)|TAK]]<br />
! width="90px" | [[#Monkey's_Audio (APE)|Monkey's]]<br />
! width="90px" | [[#Windows Media Audio Lossless (WMAL)|WMAL]]<br />
! width="90px" | [[#OptimFROG (OFR)|OptimFROG]]<br />
! width="90px" | [[#True Audio (TTA)|TTA]]<br />
|- <!-- *** Encoding speed is very fast if > 150x, fast if >75x, average if >40x, slow if >20x, very slow if <20x *** --><br />
| 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 />
| 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: #FFCC66" | average<br />
| style="background: #FF9900" | very slow<br />
| style="background: #CCFFCC" | fast<br />
|- <!-- *** Thresholds for compression are at 56% and 58% *** --> <br />
| 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: #FFCC66" | 58.4%<br />
| style="background: #00FF00" | 54.6%<br />
| style="background: #CCFFCC" | 56.6%<br />
|-<br />
| # 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 />
| 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 />
| 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: #00FF00" | ID3v1/2 or APEv2<br />
|-<br />
| 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 />
| Software support<br />
| style="background: #00FF00" | very good<br />
| style="background: #CCFFCC" | good<br />
| style="background: #CCFFCC" | good<br />
| style="background: #FFCC66" | average<br />
| style="background: #CCFFCC" | good<br />
| style="background: #CCFFCC" | good<br />
| style="background: #FFCC66" | average<br />
| style="background: #CCFFCC" | good<br />
|-<br />
| 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 />
| RIFF chunks<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 />
| style="background: #FF9900" | no<br />
| style="background: #00FF00" | yes<br />
| style="background: #FF9900" | no<br />
|-<br />
| 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 />
| Open source<br />
| style="background: #00FF00" | yes<br />
| style="background: #00FF00" | yes<br />
| style="background: #00FF00" | yes<br />
| style="background: #FFCC66" | no{{ref label|tak_os|F|F}}<br />
| style="background: #FFCC66" | no{{ref label|tak_os|F|F}}<br />
| style="background: #FF9900" | no<br />
| style="background: #FF9900" | no<br />
| style="background: #00FF00" | yes<br />
|-<br />
| Multichannel<br />
| style="background: #00FF00" | yes<br />
| style="background: #00FF00" | yes<br />
| style="background: #00FF00" | yes<br />
| style="background: #00FF00" | yes<br />
| style="background: #00FF00" | yes{{ref label|multichannel_ape|E|E}}<br />
| style="background: #00FF00" | yes<br />
| style="background: #FF9900" | no<br />
| style="background: #00FF00" | yes<br />
|-<br />
| 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 taken from [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 it will 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 />
|{{note label|multichannel_ape|E|E}} Since version 4.86<br />
|-<br />
|{{note label|tak_os|F|F}} Unofficial (but properly working) open source decoder is available as part of ffmpeg<br />
== Codecs ==<br />
<br />
These are the most popular lossless codecs, in alphabetical order:<br />
<br />
=== Apple Lossless Audio Codec (ALAC) ===<br />
https://alac.macosforge.org/trac<br />
<br />
[[ALAC]] is a codec developed by Apple and used across their hardware and software platforms.<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]]. Limited to 8 channels. Only limited set of channels layouts is supported - https://github.com/nu774/qaac/wiki/Multichannel--handling<br />
* Supports [[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 />
<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 (which is insanely fast, and can beat any other CPU based encoder)<br />
* Error robustness<br />
* Streaming support<br />
* Supports [[multichannel]]. Limited to 8 channels. Channel mask in [https://docs.microsoft.com/ru-ru/windows/win32/api/mmreg/ns-mmreg-waveformatextensible WAVEFORMATEXTENSIBLE] is supported but support is not included in official specification. With reference encoder undocumented option --channel-map=none is needed to encode some non-standard layouts (e.g. 4.1; FL,FR,FC,BC), but no special options are needed with ffmpeg's encoder.<br />
* Supports [[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]], [[Matroska]] and [[MP4]] (experimental) containers<br />
<br />
=== Monkey's Audio (APE) ===<br />
https://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 />
* Supports [[multichannel]] (since version 4.86). Limited to 8 channels. Channel mask in [https://docs.microsoft.com/ru-ru/windows/win32/api/mmreg/ns-mmreg-waveformatextensible WAVEFORMATEXTENSIBLE] is supported<br />
* Supports [[high resolution]]s<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 />
* 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 available, but with no modification or redistribution rights. Encourages violating the GNU GPL license of other programs.)<br />
* Slow decoding<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 Thomas Becker.<br />
<br />
''' TAK pros '''<br />
* Very fast decoding<br />
* Very fast encoding<br />
* Very high efficiency<br />
* Error robust<br />
* Supports [[multichannel]]. Limited to 6 channels. Channel mask in [https://docs.microsoft.com/ru-ru/windows/win32/api/mmreg/ns-mmreg-waveformatextensible WAVEFORMATEXTENSIBLE] is supported<br />
* Supports [[high resolution]]s<br />
* Tagging support<br />
* Supports RIFF chunks<br />
* Pipe support <br />
* Streamable<br />
<br />
''' TAK cons '''<br />
* Closed source (but unofficial open source decoder is available as part of ffmpeg)<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 />
=== True Audio (TTA) ===<br />
http://tta.tausoft.org/<br />
<br />
[[TTA]] is a lossless codec developed by a international team of programmers.<br />
<br />
''' TTA pros '''<br />
* [[Open source]]<br />
* Supports [[multichannel]]. Reference encoder/decoder is limited to 6 channels. ffmpeg's encoder/decoder is limited to 16 channels. Channel mask in [https://docs.microsoft.com/ru-ru/windows/win32/api/mmreg/ns-mmreg-waveformatextensible WAVEFORMATEXTENSIBLE] is '''not''' supported<br />
* Supports [[high resolution]]s<br />
* Tagging support ([[ID3]]v1, ID3v2 or [[APEv2]])<br />
* Embedded CUE sheets support<br />
* Error robustness<br />
* Pipe support<br />
* Average compression<br />
* Fast encoding/decoding<br />
* Symmetric algorithm<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 />
=== 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]]. Limited to 255 channels. Channel mask in [https://docs.microsoft.com/ru-ru/windows/win32/api/mmreg/ns-mmreg-waveformatextensible WAVEFORMATEXTENSIBLE] is supported<br />
* Supports [[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 />
* Works with Android (Through third party software, such as VLC.)<br />
* Independent encoder implementation available. (FFmpeg WavPack)<br />
<br />
''' WV cons '''<br />
* Limited hardware player support ([http://www.rockbox.org/ RockBox])<br />
* More than one tagging method allowed (Ambiguity possible, but unlikely as APEv2 tags have been the preferred method for quite some time.)<br />
<br />
''' WV Other features '''<br />
* Can compress the Direct-Stream Digital (DSD) audio recording format<br />
* Supports 32bit float streams<br />
* Supports embedded CUE sheets<br />
* Accept audio files bigger than 4GB<br />
* Includes MD5 hashes for quick integrity checking<br />
* Can encode in both symmetrical and asymmetrical modes.<br />
* Fits the [[Matroska]] container<br />
<br />
=== Windows Media Audio Lossless (WMAL) ===<br />
https://msdn.microsoft.com/en-us/library/ff819508(v=vs.85).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 />
* Supports [[multichannel]] audio and [[high resolution]]s.<br />
* Tagging support (proprietary)<br />
* Pipe support<br />
<br />
''' WMAL cons '''<br />
* Limited hardware support (Microsoft Zune, Toshiba Gigabeat S and V. Both discontinued and obsolete. Rockbox, for 16-bit stereo files only.)<br />
* Limited software support outside of the Microsoft Windows operating system.<br />
* Extremely 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 />
http://www.lossless-audio.com/<br />
<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) is the codec used for DVD-Audio. It was mandatory in any HD-DVD implementation and optional for Blu-Ray in its 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 />
http://www.etree.org/shncom.html<br />
<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 come 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 />
* [http://www.logarithmic.net/pfh/bonk Bonk] <br />
* AudioZip <br />
* Dakx WAV <br />
* Entis Lab MIO <br />
* LiteWave <br />
* [http://www.nue.tu-berlin.de/menue/mitarbeiter/ehemalige_mitarbeiter/tilman_liebchen/lpac_-_lossless_audio_codec_for_windows_and_linux/ LPAC]<br />
* Marian's a-Pac<br />
* [http://mp3hd-toolkit.soft32.com/ mp3HD (MPEG-1 Audio Layer III HD)]<br />
* Pegasus SPS <br />
* [http://www.free-codecs.com/download/rk_audio_compressor.htm RK Audio (RKAU)] <br />
* Ogg Squish/Tarkin<br />
* Sonarc <br />
* VocPack <br />
* [http://www.firstpr.com.au/audiocomp/lossless/wavarc/ WavArc] <br />
* [http://www.firstpr.com.au/audiocomp/lossless/WaveZip/ 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 />
* <s>[http://synthetic-soul.co.uk/comparison/lossless/index.asp Synthetic Soul's comparison] (last update 2007-07-28)</s><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 />
* <s>Josef Pohm's comparison, hosted by Synthetic Soul</s> (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 />
* <s>Speek's</s> (last updated 2005-02-07)<br />
*[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) <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>Supermariofan67