<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.hydrogenaudio.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Porcuswiki</id>
	<title>Hydrogenaudio Knowledgebase - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.hydrogenaudio.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Porcuswiki"/>
	<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=Special:Contributions/Porcuswiki"/>
	<updated>2026-05-03T02:44:07Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.44.2</generator>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=WavPack&amp;diff=38813</id>
		<title>WavPack</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=WavPack&amp;diff=38813"/>
		<updated>2026-01-23T22:35:40Z</updated>

		<summary type="html">&lt;p&gt;Porcuswiki: A few &amp;quot;and up&amp;quot; on versions (5.7.0 in particular) - with 5.9.0 out there is more reason to avoid the risk of giving the impression that a particular feature is only in particular version&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Software Infobox&lt;br /&gt;
| name = WavPack&lt;br /&gt;
| logo = [[Image:Wavpacklogo.png|280px|Official WavPack logo]]&lt;br /&gt;
| screenshot =&lt;br /&gt;
| caption = Hybrid Lossless Audio Compression&lt;br /&gt;
| maintainer = David Bryant&lt;br /&gt;
| stable_release = 5.9.0 (2026-01-16)&lt;br /&gt;
| operating_system = Windows, macOS, Linux/BSD/Unix, ...&lt;br /&gt;
| use = Encoder/Decoder&lt;br /&gt;
| license = BSD license&lt;br /&gt;
| website = http://www.wavpack.com/&lt;br /&gt;
http://github.com/dbry/WavPack&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;WavPack&#039;&#039;&#039; (pronounced &amp;quot;wave-pack&amp;quot;) is a [[lossless]] audio [[codec]], also offering optionally a[[Hybrid codec| hybrid lossless/lossy]] mode.  It is distributed as a free open-source encoder/decoder with a library and a large number of tools, including a Windows GUI and a range of plugins for both audio players and other software.  Third party implementations are available, including ffmpeg.  WavPack supports and/or can be played back on a large number of platforms/OSes including mobile (Android, iOS), portable ([[Rockbox]]) and even web apps. &lt;br /&gt;
&lt;br /&gt;
WavPack is arguably the most feature-rich lossless compressor, supporting a unique range of audio signals including [https://en.wikipedia.org/wiki/Direct_Stream_Digital Direct-Stream Digital].  Everyday use is supported by a wide range of players and taggers, but &#039;&#039;conversion&#039;&#039; is likely safest done with applications that invoke the official tools (rather than e.g. ffmpeg&#039;s implementation) &amp;amp;ndash; and special features might require the user to apply the WavPack executable directly, for example with drag+drop, see the [[#Using WavPack]] section below.&lt;br /&gt;
&lt;br /&gt;
Performance-wise, WavPack defaults to a fast codec &amp;amp;ndash; less CPU intensive than [[ALAC]], but typically not as fast as [[FLAC]] or [[TAK]], especially in decoding CPU usage.&amp;lt;ref&amp;gt;[http://www.audiograaf.nl/losslesstest Martijn van Beurden: &amp;lt;em&amp;gt;Lossless audio codec comparison archive&amp;lt;/em&amp;gt;], all comparisons in this wiki article consistent with CDDA results up to revision 6, 2023, using WavPack 5.6.0.&amp;lt;/ref&amp;gt; In the age of low-power portable Rockbox-equipped players, WavPack could be seen as a reasonable middle ground between FLAC&#039;s low CPU footprint and long battery life, and the smaller files but more CPU-intensive [[Monkey&#039;s Audio]]&amp;lt;ref&amp;gt;[https://www.rockbox.org/wiki/CodecPerformanceComparison CodecPerformanceComparison] at the Rockbox wiki&amp;lt;/ref&amp;gt; &amp;amp;ndash; invoking WavPacks high mode and extra compression that would compress to smaller sizes than FLAC.&lt;br /&gt;
&lt;br /&gt;
WavPack has inspired other codecs&amp;lt;ref&amp;gt;Monkey&#039;s Audio historical FAQ {{webarchive|http://web.archive.org/web/20001017210206/http://www.monkeysaudio.com/faq.html|2000-10-17}}&amp;lt;/ref&amp;gt; and their features&amp;lt;ref&amp;gt;[http://losslessaudio.org/DualStream.php OptimFROG&#039;s &amp;quot;DualStream&amp;quot;] hybrid encoding &amp;amp;ndash; apparently WavPack coined this phrase&amp;lt;/ref&amp;gt;.  For more on WavPack, including on its history and technology, see the [https://en.wikipedia.org/wiki/WavPack Wikipedia entry].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Features =&lt;br /&gt;
For an end-user considering WavPack as audio format, its feature-richness might be the big selling point.  WavPack supports pretty much all the more common features noted at [[Lossless comparison| HA Wiki&#039;s Lossless Codec Comparison]] as in the following first list, but several users might consider the more unique features listed under the subsequent headline.&lt;br /&gt;
&lt;br /&gt;
* Seekable and streaming playback.&lt;br /&gt;
* Error handling: upon playback, it will detect and report corrupted frames, mute to protect against static/noise output, and continue playback.  Since version 5, WavPack can also check for corruption without decoding, hence quicker than any decoding format.  Optional MD5 audio checksum can also be added upon encoding for file fingerprinting. &lt;br /&gt;
* High-resolution audio support (see next headline).&lt;br /&gt;
* Multichannel support: currently capped at 256 channels, supports [https://docs.microsoft.com/en-us/windows/win32/api/mmreg/ns-mmreg-waveformatextensible WAVEFORMATEXTENSIBLE] channel masks.&lt;br /&gt;
* Piping support for encoding, and support for RAW PCM input/output.&lt;br /&gt;
* Non-audio chunks (RIFF and similar) stored; by default, WavPack will not only encode/decode the audio losslessly, but store the non-audio chunks and restore them into a file bit-identical to the original.&lt;br /&gt;
* Tagging: APEv2. (ID3v1 is possible, but not advisable.) &lt;br /&gt;
* Cuesheet support. In practice, some applications handle &#039;&#039;embedded&#039;&#039; cuesheets better in WavPack than in some other formats.&lt;br /&gt;
* Unicode support.&lt;br /&gt;
* Can be used in the [[Matroska]] container. &lt;br /&gt;
* Windows GUI available.&lt;br /&gt;
* Multithreading (from version 5.7.0); a single-threaded compile is available as well.&lt;br /&gt;
&lt;br /&gt;
WavPack also handles bit depths not divisible by 8, e.g. 20-bit audio (found on some DVDs).  &lt;br /&gt;
&lt;br /&gt;
== Special/unique features ==&lt;br /&gt;
Most of these features are shared with only a few if any notable codecs, or extend to signal types or file types others do not support (comparisons given).&lt;br /&gt;
* DSD support: can losslessly compress Philips DSDIFF and Sony DSF files (see &amp;quot;Using WavPack&amp;quot; below; no other end-user codec compresses DSD.) ID3v2.3/2.4 tags can be imported.  wvunpack can select between DSDIFF and DSF out (i.e. &#039;convert between the two&#039;).  wvunpack can also convert DSD to PCM, but not the other way around. (Lossy, as conversion between PCM and DSD necessarily is.)&lt;br /&gt;
* High-resolution support for bit depth 1-bit to 32-bit integer and sampling rates up to &#039;&#039;giga&#039;&#039;herz range radio frequencies, in integer steps. (2 GHz works although only 1 GHz is officially supported; for more UHF, Monkey&#039;s Audio, OptimFROG and MPEG-4 ALS support the entire WAVE range up to 4 GiHz.) Can also compress &#039;&#039;non-integer sampling rates&#039;&#039; in AIFF/AIFC/CAF (signals the WAVE format cannot contain).   &lt;br /&gt;
* 32-bit &#039;&#039;floating-point&#039;&#039; supported &amp;amp;ndash; also including CoolEdit/Adobe Audition&#039;s own float format (use the &amp;lt;code&amp;gt;-a&amp;lt;/code&amp;gt; option &#039;&#039;only if&#039;&#039; the .wav was generated by CoolEdit/Audition).  (This line like OptimFROG.)&lt;br /&gt;
* As much as 256 channels currently supported (from version 5.5.0 on; [https://github.com/dbry/WavPack/issues/117 can be extended to the thousands] &amp;amp;ndash; more than any codec except MPEG-4 ALS (which is capped at 66536).) &lt;br /&gt;
* Hybrid lossy/lossless mode (can also be used as lossy &amp;amp;ndash; OptimFROG also has such a mode.)&lt;br /&gt;
* Wide selection of supported input/output LPCM formats: WAVE (including the RF64 format extension used for large files and from 5.7.0 also BW64), Wave64 (Sony), AIFF/AIFC (both endiannesses) and CAF (ditto) &amp;amp;ndash; all with full restore of also non-audio parts to bit-by-bit the original file in the original format.  (Monkey&#039;s/OptimFROG/TAK do the same to the input formats they support.)   Also WavPack can handle too large noncompliant &amp;quot;WAVE&amp;quot; files (by default, those will be restored to bit-identical the same as the flawed input file &amp;amp;ndash; optionally one can force output to compliant RF64/W64 files).&lt;br /&gt;
* Recompression: Can recompress .wv files in place, with tag transfer.  (Like the FLAC reference encoder does on .flac files.)&lt;br /&gt;
* Drag and drop support: Dropping a file on to wavpack.exe/wvunpack.exe will encode/decode it to source directory. (Similar to FLAC.)  From 5.5.0, one can also apply options to drag and drop by renaming the executable, and drop several files.&lt;br /&gt;
&lt;br /&gt;
Like FLAC/TAK/OptimFROG, WavPack employs a &amp;quot;wasted bits&amp;quot; strategy to handle cases of &#039;&#039;n &amp;quot;actual bits of signal&amp;quot; zero-padded and stored as N bits&#039;&#039;; such signals can be found in certain DVDs, but also as &amp;quot;fake high resolution&amp;quot; where a 16-bit signal is merely put in a 24-bit file to look impressive.  WavPack handles more &amp;quot;fake high resolution&amp;quot; cases than just zero-padding.  5.7.0 introduces a further improvement to capture similar patterns in 32-bit integer files generated by &amp;quot;naively converting from 32-bit float&amp;quot; – disabled by default and arguably best left to power users. &lt;br /&gt;
&lt;br /&gt;
== Limitations ==&lt;br /&gt;
The following bullet item list is hardly of interest except for special purposes; WavPack supports nearly every input format that any competing codec handles. One exception is the legacy AU/SND, apparently supported only by Monkey&#039;s Audio. &lt;br /&gt;
* DSD: Will reject DST-compressed DSDIFF (which are already compressed heavier than WavPack does) and Wideband Single-bit Data files (apparently, the Tascam and Korg devices which can produce these, can also export to other DSD formats).&amp;lt;br/&amp;gt; Also, DSD files cannot be encoded as hybrid with correction files.&lt;br /&gt;
* 64-bit float is not supported.  (Apparently no other lossless audio compressor can support it either.)&lt;br /&gt;
* wvunpack can &#039;&#039;force output&#039;&#039; to a different format than input, and for AIFF/CAF also select endianness, but it cannot force output to different versions of big-endian AIFF (it will avoid AIFC as long as the signal can be fit in the original AIFF container) nor BW64 &amp;amp;ndash; nor select between WAVE_FORMAT_PCM and WAVE_FORMAT_EXTENSIBLE.  Few other formats do allow for such output selection; reference FLAC can from 1.4.3 offer some wider choices than wvunpack can. &lt;br /&gt;
* Although all non-audio will be &#039;&#039;stored&#039;&#039; and restored, &amp;lt;code&amp;gt;--import-id3&amp;lt;/code&amp;gt; can not &#039;&#039;import&#039;&#039; every type of ID3 tag to APEv2. (From 5.7.0, importing more tag types than previous versions, yet some users might want use use e.g. [[Mp3tag]] to copy over more tags from the original.) Also, unless &amp;lt;code&amp;gt;--allow-huge-tags&amp;lt;/code&amp;gt; is specified, size is limited to 1 MB; older software might not read larger tagsets (but no known &#039;&#039;playback&#039;&#039; incompatibilities are known).&lt;br /&gt;
* Some file formats have features stored in file headers (like loop points, or for AIFF possibly non-integer sampling rates) which will not be &#039;&#039;visible&#039;&#039; to the end-user when trying to play back the .wv file in a typical player. They are nevertheless available to certain audio editing software plugins, and will in any case be restored upon decoding.&lt;br /&gt;
* Some features are unsupported by several applications: in particular, support for correction files is only found in a few players. &lt;br /&gt;
* The most significant third-party implementation (ffmpeg as of version 7.0) has bugs waiting to be fixed. ffmpeg users should upgrade at least to 6.1. &lt;br /&gt;
&lt;br /&gt;
As of 5.5.0 and above, MacOS versions must be built with e.g. HomeBrew. Only the single-core version supports Windows XP. WavPack version 5 discontinues some features, but version 4.80 is still available to convert any version 3.x files that might still exist.&lt;br /&gt;
&lt;br /&gt;
WavPack has traditionally had less hardware support than FLAC ([[Rockbox]] having been the most notable platform, others listed at https://www.wavpack.com/index.html#Hardware ), but with WavPack playback through Android and iOS players, the distinction between &amp;quot;hardware&amp;quot; and &amp;quot;software&amp;quot; is arguably blurred. The Android OS does not &#039;&#039;natively&#039;&#039; support other lossless audio formats than WAVE and FLAC, so there have been issues getting certain Android solutions to recognize other media files including WavPack.&amp;lt;ref&amp;gt;[https://hydrogenaud.io/index.php/topic,122768 HA thread with link to Android bug report by the Monkey&#039;s Audio author]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Information for users of other codecs (and older WavPack) == &lt;br /&gt;
Parts of this section will be less relevant to users who primarily decode and convert through player software, rather than directly invoking the executables.  WavPack is the only &amp;quot;major&amp;quot; lossless encoder with separate executables for encoding (&amp;lt;code&amp;gt;wavpack&amp;lt;/code&amp;gt;) and decoding/info (&amp;lt;code&amp;gt;wvunpack&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
Even for features that are comparable between codecs, they may behave different &amp;amp;ndash; or default to different behaviour &amp;amp;ndash; out of the purpose they were designed to address, their development, or other design choices. &lt;br /&gt;
&lt;br /&gt;
* WavPack is designed as a &#039;&#039;file compressor&#039;&#039; for audio files &amp;amp;ndash; this like Monkey&#039;s, TAK and OptimFROG, but in contrast to FLAC and ALAC which are &#039;&#039;audio compressors&#039;&#039;. The difference is in the ambition to store all non-audio information (and in the correct order).  Using reference FLAC one might &amp;quot;opt in&amp;quot; on non-audio parts by giving options; using WavPack one can &amp;quot;opt out&amp;quot; and discard this information.&lt;br /&gt;
** &#039;&#039;This difference is irrelevant for CD ripping.&#039;&#039; Contrary to a common misconception, CD audio is &#039;&#039;not&#039;&#039; stored as WAVE &amp;amp;ndash; actually not in a &#039;&#039;file&#039;&#039; at all.  Thus, using a file compressor gives no more &amp;quot;true&amp;quot; copy of a CD.  (WavPack&#039;s support for embedded cuesheets might &amp;amp;ndash; depending on player application &amp;amp;ndash; give a better user experience for those who prefer to store one file per CD, but that is not due to how CDs work.)&lt;br /&gt;
* MD5 is opt-in (the &amp;lt;code&amp;gt;-m&amp;lt;/code&amp;gt; switch) &amp;amp;ndash; even if verification is requested and the MD5 is calculated, it is only written to file if specifically requested. TAK and OptimFROG work similarly in that they also require the user to opt-in on MD5. FLAC, ALAC and Monkey&#039;s all work different: FLAC includes MD5 (though some encoders make exceptions under some circumstance), ALAC has nothing such &amp;amp;ndash; and Monkey&#039;s MD5s are not comparable with others, as it hashes the encoded bitstream.  &lt;br /&gt;
** Also, WavPack computes MD5 using the source&#039;s endianness (endianness is like the distinction between &amp;quot;4th of July&amp;quot; and &amp;quot;July 4th&amp;quot;), and so MD5s may differ between WAVE source and AIFF/CAF source for the same audio.  (At least a recent foobar2000 will handle them without giving false warnings.)&lt;br /&gt;
* Like Monkey&#039;s/TAK/OptimFROG &amp;amp;ndash; but unlike FLAC and ALAC-in-MP4 &amp;amp;ndash; tags are at the end of the file.  Consequences for users are that retagging will not trigger full file rewrite, but sometimes applications may spend longer time displaying art and viewing tags.&lt;br /&gt;
* Users of &amp;quot;older WavPack&amp;quot; might take note that version 5 discontinues some features, like &amp;lt;code&amp;gt;-p&amp;lt;/code&amp;gt;, and also the &amp;lt;code&amp;gt;-e&amp;lt;/code&amp;gt; for self-extracting files &amp;amp;ndash; those and other older files can still be converted, but the ancient WavPack 3 with .wav extension requires version 4.80.0 (still available). &lt;br /&gt;
** See the [[#File formats, versions, decoding and transcoding support]] section for more details.&lt;br /&gt;
&lt;br /&gt;
=== Performance &amp;amp;ndash; file size, CPU load === &lt;br /&gt;
Rewind twenty years, to 2004 hardware costs, compression ratios did matter much more &amp;amp;ndash; also, several formats would be too heavy to even &#039;&#039;play&#039;&#039; on portable devices, and the official WavPack site would warn against the &amp;lt;code&amp;gt;-hh&amp;lt;/code&amp;gt; mode for that use even if it were not heavier than the fastest Monkey&#039;s Audio mode. &lt;br /&gt;
Fast forward to now, enthusiasts will still compare performance even if ordinary users may take note that impact on cost is often negligible. Different considerations may apply when a drive is near full.  &lt;br /&gt;
The HA wiki&#039;s [[lossless comparison]] article compares speed and compression ratio on CDDA on the respective codecs&#039; &#039;&#039;default&#039;&#039; setting, taken from van Beurden&#039;s comparison studies.  The test corpus is chosen to be a &amp;quot;wide&amp;quot; selection, and most music collections are biased in one direction or another genre-wise; users who are concerned about compression might look up the individual sources in the study and/or make a test sample from their own collection.  By and large, the following observations can be made:&lt;br /&gt;
* WavPack defaults to a fast codec, between FLAC and Monkey&#039;s; is not so heavy on decoding CPU as to cause actual practical problems, although it officially recommends against &amp;lt;code&amp;gt;-hh&amp;lt;/code&amp;gt; &amp;quot;for use on vintage portable devices&amp;quot; &amp;amp;ndash; it should be fine on anything modern.  Even &amp;lt;code&amp;gt;-hh&amp;lt;/code&amp;gt; seems to decode lighter than Monkey&#039;s fastest mode. &lt;br /&gt;
** The &amp;quot;between FLAC and Monkey&#039;s&amp;quot; hold for &amp;quot;default encoding and all decoding&amp;quot;.  Like most modern codecs, WavPack can be set to exert more encoding effort without affecting decoding load: the &amp;lt;code&amp;gt;-x&amp;lt;/code&amp;gt; switch. Thus, decoding for e.g. ReplayGain tagging will be slower than e.g. FLAC in all modes, but faster than Monkey&#039;s &amp;amp;ndash; and recompressing with a slow &amp;lt;code&amp;gt;-x&amp;lt;/code&amp;gt; setting (which can be done in the background) will not make the files any heavier to process later.   (Indeed, &amp;lt;code&amp;gt;-x&amp;lt;/code&amp;gt; sometimes makes decoding lighter, although unlikely to be noticed except by measuring it.)&lt;br /&gt;
** Playback on Android might be less battery efficient than FLAC, which can take advantage of the OS&#039; native support.  The difference is likely small for power-hungry players (like VLC).&lt;br /&gt;
** On the other hand, &#039;&#039;integrity verification&#039;&#039; can be done lightening-fast, without decoding (presuming WavPack 5 file format and WavPack 5 decoder). &lt;br /&gt;
* Compressing CDDA: WavPack can compress to slightly smaller files than (reference) FLAC; the difference has diminished with the most recent FLAC releases, but &amp;quot;in return&amp;quot;, modern CPU speeds might have made the more expensive WavPack settings more tempting, especially when one can re-encode in the background.&lt;br /&gt;
* Compressing high resolution signals and multi-channel: The &amp;quot;extra&amp;quot; resolution might be a mixed bag of upsampling artefacts, tape hiss, sometimes geniune overtones (and for bat enthusiasts, actual interesting audio).  There are different kinds of samples one might call &amp;quot;fake high resolution&amp;quot;, and different properties of such &amp;amp;ndash; upsampling or bit depth &amp;amp;ndash; are handled different by the codecs.  WavPack is known to handle some properties exceptionally well (&amp;quot;wasted bits&amp;quot; are exploited also by FLAC and TAK, but WavPack and OptimFROG are capable of detecting more &amp;quot;wasteful&amp;quot; patterns; Monkey&#039;s and ALAC cannot exploit wasted bits at all) &amp;amp;ndash; and others lesser.  Several codecs benefit from spending more effort on high resolution signals, and WavPack users might consider to (re-) compress high resolution and multi-channel with as slow setting as &amp;lt;code&amp;gt;-hx4&amp;lt;/code&amp;gt;, presuming it can be done as background recompression where time is not much of an object; decoding load is largely unaffected (sometimes slightly improved) by the high &amp;lt;code&amp;gt;-x&amp;lt;/code&amp;gt;. &lt;br /&gt;
** For 32-bit float, there is not much competition, and WavPack might be the natural choice for compatibility; it does outcompress Monkey&#039;s recently-added float mode.  Those files are not very common in the wild, and users with a sizeable collection of 32-bit files for audio processing will likely choose codec for compatibility with their DAW software.  WavPack special setting for 32-bit integer converted from 32-bit float (5.7.0 and up) might be an option in such situations.&lt;br /&gt;
* Users who compare nearly tied compression levels between codecs, should take into account how metadata storage affect total file size.  WavPack defaults to storing the source&#039;s metadata, which may include big album art; on the other hand, FLAC defaults to leaving some kilobytes padding in the file.  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Using WavPack =&lt;br /&gt;
Short version is to find a well-equipped player and ditto tagging application. No knowledge of WavPack&#039;s special features is needed for everyday decoding and management, as long as the player/platform supports the format. The hybrid lossless format is not as widely supported. &lt;br /&gt;
As long as full file (non-audio!) restore is not needed, a decent player will also convert LPCM to .wv – but rarely convert DSD.    &lt;br /&gt;
&lt;br /&gt;
Certain more advanced uses are not accessible through player software &amp;amp;ndash; not even if they invoke the official tools &amp;amp;ndash; and are best invoked through the WavPack executables directly.  For example, you cannot expect non-audio data (for full file restore) to be preserved when encoding/decoding through &#039;&#039;players&#039;&#039;, as they usually pass on only the audio; this is not particular to WavPack, but must be expected if you want to store non-audio chunks in other formats that support it.  Also, WavPack supports input formats that might exceed the player&#039;s internal decoding; e.g. trying to convert DSD with foobar2000 will yield a warning that it will not be lossless (also, converting DSD to PCM leads to files many times the size, being inherently different formats), and the same will 32-bit &#039;&#039;integer&#039;&#039; PCM in 32-bit foobar2000 (which uses float internally). Other players might not warn.   &lt;br /&gt;
&lt;br /&gt;
== Encoding/decoding by drag and drop (Windows) == &lt;br /&gt;
The simplest encoding/decoding might be &#039;&#039;dragging and dropping&#039;&#039; a (supported) file to wavpack.exe (/wvunpack.exe).  Then the file will be encoded/decoded with the default options.  Dropping a .wv file onto wavpack.exe will recompress it, prompting before overwrite (again, using default settings &amp;amp;ndash; possibly a bad deal if it was encoded with high &amp;lt;code&amp;gt;-x&amp;lt;/code&amp;gt; switches).  Drag and drop also works on a shortcut to the executable. It is not possible to drop a folder, but from version 5.5.0, there is a way to drag and drop &#039;&#039;several&#039;&#039; files.&lt;br /&gt;
&lt;br /&gt;
From version 5.5.0, drag and drop supports &#039;&#039;options&#039;&#039; by renaming the wavpack/wvunpack executable.  The user can rename a copy of the executable according to preferred settings, which will be applied to the process upon drag and drop.  The example given by the developer in [https://hydrogenaud.io/index.php/topic,122626.msg1012159.html#msg1012159 in this HA forum post]&amp;lt;ref&amp;gt;[https://hydrogenaud.io/index.php/topic,122626.msg1012159.html#msg1012159 HA forum post on how to rename executable for drag and drop]&amp;lt;/ref&amp;gt; uses encoding options that many WavPack users will recommend (better compression than default, verification and MD5 fingerprinting), and novice users can choose to copy that filename for the executable.  For fine-tuning performance or for more specialized tasks, more options are described below. &lt;br /&gt;
&lt;br /&gt;
== Basic command line encoding/decoding [[Windows command line tips|(for Windows: command-line hints here)]] == &lt;br /&gt;
The basic &#039;&#039;encoding&#039;&#039; usage is &amp;lt;code&amp;gt;wavpack filename&amp;lt;/code&amp;gt; (which creates &amp;lt;code&amp;gt;filename.wv&amp;lt;/code&amp;gt;) &amp;amp;ndash; this is what drag and drop accomplishes.  Wildcards are supported, e.g. &amp;lt;code&amp;gt;wavpack *.wav&amp;lt;/code&amp;gt; (but not simply &amp;lt;code&amp;gt;wavpack *&amp;lt;/code&amp;gt;).  For a &#039;&#039;single&#039;&#039; input file, one can specify output like e.g. &amp;lt;code&amp;gt;wavpack infilename.wav -o outfilename.wv&amp;lt;/code&amp;gt; (on Windows, the &amp;lt;code&amp;gt;-o&amp;lt;/code&amp;gt; can be omitted); for multiple input files, &amp;lt;code&amp;gt;-o outputdirectory&amp;lt;/code&amp;gt; will send all the output files to the output directory (or full path, but not UNC path). Input file extension &amp;quot;.wav&amp;quot; can be dropped, and output &amp;quot;.wv&amp;quot; extension as well &amp;amp;ndash; but &amp;lt;code&amp;gt;wavpack foo&amp;lt;/code&amp;gt; will only find foo.wav, not e.g. foo.w64 &amp;amp;ndash; and not a &amp;quot;foo&amp;quot; with no file extension.  (Power users may take note that for &amp;lt;code&amp;gt;--raw-pcm&amp;lt;/code&amp;gt; input, the encoder will not look for foo.wav but rather for foo.raw.)&lt;br /&gt;
&lt;br /&gt;
The basic &#039;&#039;decoding&#039;&#039; usage &amp;amp;ndash; as will be accomplished by drag and drop &amp;amp;ndash; is &amp;lt;code&amp;gt;wvunpack filename.wv&amp;lt;/code&amp;gt;.  By default, wvunpack will restore the exact same file (metadata and file structure and all; it will know the original file name extension but not the rest of the file name &amp;amp;ndash; timestamp can be stored by using &amp;lt;code&amp;gt;-t&amp;lt;/code&amp;gt;.) If only audio was encoded (conversion from a &#039;&#039;player&#039;&#039; would usually work this way), output defaults to filename.wav.  Output filename (or path) can be specified, and just like for the wavpack encoder, file extensions can be dropped; e.g., &amp;lt;code&amp;gt;wvunpack foo -o bar&amp;lt;/code&amp;gt; (or on Windows, dropping the &amp;lt;code&amp;gt;-o&amp;lt;/code&amp;gt;) will decode foo.wv to bar.&amp;lt;original file&#039;s extension&amp;gt;.  This is arguably advisable: wvunpack will not &#039;&#039;override output format&#039;&#039; by setting file extension.  E.g. if the input was a CAF file, &amp;lt;code&amp;gt;wvunpack foo -o bar.w64&amp;lt;/code&amp;gt; is still a CAF file, and the user has only managed to mislead themselves.  To force output format, see the [[#Decoding options]] paragraph.  &lt;br /&gt;
&lt;br /&gt;
=== Several input files ===&lt;br /&gt;
To give several filenames as input to wavpack/wvunpack, other than through wildcards, there are (for historical reasons) slight differences between the Windows version and the *n*xes: &lt;br /&gt;
Windows (requires WavPack 5.5.0): use the &amp;lt;code&amp;gt;--drop&amp;lt;/code&amp;gt; option as in the above example given by the developer.  It is intended for drag and drop (hence the name of the option) and will write the output to same directory as source.  However it can also be used with command-line:  &amp;lt;code&amp;gt;wavpack --drop firstfile secondfile&amp;lt;/code&amp;gt; will compress firstfile.wav to firstfile.wv and secondfile.wav to secondfile.wv.  Note that without the &amp;lt;code&amp;gt;--drop&amp;lt;/code&amp;gt;, the command &amp;lt;code&amp;gt;wavpack firstfile secondfile&amp;lt;/code&amp;gt; will compress firstfile.wav to secondfile.wv, as &amp;lt;code&amp;gt;-o&amp;lt;/code&amp;gt; is optional on Windows &amp;amp;ndash; indeed that is why the &amp;lt;code&amp;gt;--drop&amp;lt;/code&amp;gt; had to be introduced.  An arbitrary number of files can be processed, e.g. &amp;lt;code&amp;gt;wvunpack --drop firstfile secondfile thirdfile fourthfile fifthfile&amp;lt;/code&amp;gt; will decode firstfile.wv, ..., fifthfile.wv.&lt;br /&gt;
For *n*x, one can omit the &amp;lt;code&amp;gt;--drop&amp;lt;/code&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
== Applying options ==&lt;br /&gt;
For tuning performance or other settings, one might want to apply command-line options.  Some external applications can apply options without the user having to type &amp;amp;ndash; e.g. encoding with [[foobar2000]], there are two compression sliders, one for the fast-to-extra-high and one for the &amp;lt;code&amp;gt;-x&amp;lt;/code&amp;gt; settings (see below) &amp;amp;ndash; but for command-line one will have to type them, and also in the Windows GUI.  Options can be concatenated for short, like for example writing &amp;lt;code&amp;gt;-hh -x4 -m -v -y&amp;lt;/code&amp;gt; as &amp;lt;code&amp;gt;-hhx4mvy&amp;lt;/code&amp;gt;.  &lt;br /&gt;
&lt;br /&gt;
The user should beware that the wavpack encoder and the wvunpack decoder (and wvtag/wvgain) have to &amp;quot;re-use letters&amp;quot;.  While some do the same in the wvunpack and wavpack (like &amp;lt;code&amp;gt;-d&amp;lt;/code&amp;gt; for delete input file, &amp;lt;code&amp;gt;-y&amp;lt;/code&amp;gt; for &amp;quot;yes to all&amp;quot;, &amp;lt;code&amp;gt;-t&amp;lt;/code&amp;gt; to preserve timestamp, and &amp;lt;code&amp;gt;-l&amp;lt;/code&amp;gt; for (Windows only) &amp;quot;run with low priority&amp;quot;) and others cover the same purpose in both executables (like &amp;lt;code&amp;gt;-m&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;-v&amp;lt;/code&amp;gt;), the user may be warned that certain letters do not.  E.g. &amp;lt;code&amp;gt;-b&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;-c&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;-n&amp;lt;/code&amp;gt; cover completely urelated functions upon decoding vs upon encoding.  &lt;br /&gt;
&lt;br /&gt;
5.7.0 introduces multi-threading options for both encoding and decoding, invoked with &amp;lt;code&amp;gt;--threads=&amp;lt;number 1 to 12&amp;gt;&amp;lt;/code&amp;gt;, or simply &amp;lt;code&amp;gt;--threads&amp;lt;/code&amp;gt; to let WavPack choose.  Multithreading does not reduce overall CPU load, but unless the CPU is already working at max, it will do one or a few files in fewer seconds.  For encoding, it leads to slightly different files, with usually very small size impact.&lt;br /&gt;
&lt;br /&gt;
* 5.7.0 will single-thread by default &amp;amp;ndash; though the CoolEdit plugin multi-threads by default. &lt;br /&gt;
* From 5.8.0, the normal release will multi-thread by deafult, introducing &amp;lt;code&amp;gt;--no-threads&amp;lt;/code&amp;gt; for single-threaded operation.  Available is a separate executable that does not support multi-threading, for applications that do their own threads management and for Windows XP.  &lt;br /&gt;
&lt;br /&gt;
=== Encoding options (lossless) ===&lt;br /&gt;
Encoding using &amp;lt;code&amp;gt;-hxm&amp;lt;/code&amp;gt; seems a sensible trade-off between compression and CPU load.  Some selected options are described as follows; for an exhaustive refence, see the manual (online, or included as wavpack_doc.html in the distribution).&lt;br /&gt;
* Compression.  WavPack has four compression modes that affect compression as well as encoding &#039;&#039;and&#039;&#039; decoding time: fast (&amp;lt;code&amp;gt;-f&amp;lt;/code&amp;gt;), default, high (&amp;lt;code&amp;gt;-h&amp;lt;/code&amp;gt;) and very high (&amp;lt;code&amp;gt;-hh&amp;lt;/code&amp;gt;).  The CPU load of &amp;lt;code&amp;gt;-hh&amp;lt;/code&amp;gt; is measured to around twice that of &amp;lt;code&amp;gt;-f&amp;lt;/code&amp;gt; (and could in the early 2000s be too heavy for portable players, although it does decode faster than any Monkey&#039;s).  On top these modes, the optional extra processing &amp;lt;code&amp;gt;-x1&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;-x6&amp;lt;/code&amp;gt; settings will apply extra compression effort that does not increase &#039;&#039;decoding&#039;&#039; CPU load. &amp;lt;code&amp;gt;-x&amp;lt;/code&amp;gt; without number is synonymous to &amp;lt;code&amp;gt;-x1&amp;lt;/code&amp;gt;, which is often recommended (in all modes, fast/normal/high/extra high).  The official manual calls &amp;lt;code&amp;gt;-x4&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;-x6&amp;lt;/code&amp;gt; &amp;quot;extremely slow&amp;quot;, but the size gains might be significant for high resolution audio in particular (van Beurden&#039;s revision 5, testing &amp;lt;code&amp;gt;-x4&amp;lt;/code&amp;gt;).  &lt;br /&gt;
** 5.5.0 introduces optional switches for the default compression: &amp;lt;code&amp;gt;-g&amp;lt;/code&amp;gt; for normal mode and &amp;lt;code&amp;gt;-x0&amp;lt;/code&amp;gt; for &amp;quot;no &amp;lt;code&amp;gt;-x&amp;lt;/code&amp;gt;&amp;quot;.  These are redundant for basic use, but can be used to switch off options already given (e.g. in renamed executables, or custom builds): &amp;lt;code&amp;gt;-x6 -x0&amp;lt;/code&amp;gt; will switch off the extra processing, and &amp;lt;code&amp;gt;-h -f -g&amp;lt;/code&amp;gt; will encode as normal, whereas previous versions would abort with an error.&lt;br /&gt;
** With DSD files, there are only two compression settings, normal and high; the option &amp;lt;code&amp;gt;-f&amp;lt;/code&amp;gt; will select normal, &amp;lt;code&amp;gt;-h&amp;lt;/code&amp;gt;/&amp;lt;code&amp;gt;-hh&amp;lt;/code&amp;gt; will both select high, and the &amp;lt;code&amp;gt;-x&amp;lt;/code&amp;gt; switches are silently ignored. &lt;br /&gt;
* Guarding against errors upon encoding: The &amp;quot;&amp;lt;code&amp;gt;-m&amp;lt;/code&amp;gt;&amp;quot; switch will compute an audio MD5 sum (like FLAC does by default) and store it for later verification.  The &amp;quot;&amp;lt;code&amp;gt;-v&amp;lt;/code&amp;gt;&amp;quot; switch will verify by decoding the file after it has been written to disk&amp;lt;ref&amp;gt;[https://hydrogenaud.io/index.php?topic=121714.msg1008108#msg1008108 HA forum comment:] verification checks the written file after closing and reopening&amp;lt;/ref&amp;gt;. &amp;lt;code&amp;gt;-vm&amp;lt;/code&amp;gt; will do both &amp;amp;ndash; that is, calculate the MD5s to verify, and store it.  Using the corresponding switches in wvunpack will check without producing output file, however wvunpack also has a faster corruption check for WavPack 5-encoded files: &amp;lt;code&amp;gt;-vv&amp;lt;/code&amp;gt;.&lt;br /&gt;
* &amp;lt;code&amp;gt;--import-id3&amp;lt;/code&amp;gt; will import ID3v2.3/2.4 tags present in the source file &amp;amp;ndash; typically in Sony DSF files &amp;amp;ndash; and convert them to WavPack&#039;s preferred APE tags.  (Not all tags are supported, but the full tags chunk will be kept for restoring the original file.)  By default, importing is limited to 1 MB; for more, use &amp;lt;code&amp;gt;--allow-huge-tags&amp;lt;/code&amp;gt;.  Same option works in wvtag; indeed, one can encode first and then afterwards &amp;quot;import&amp;quot; the tags from the WavPack file using &amp;lt;code&amp;gt;wvtag --import-id3 wavpackfile.wv&amp;lt;/code&amp;gt;; this provided that these data have not been deleted by the following &amp;lt;code&amp;gt;-r&amp;lt;/code&amp;gt; option: &lt;br /&gt;
* &amp;lt;code&amp;gt;-r&amp;lt;/code&amp;gt;: remove non-audio chunks.  By default, WavPack will store these in the .wv file for later bit-by-bit restoration of everything, not only the audio. Use &amp;lt;code&amp;gt;-r&amp;lt;/code&amp;gt; to throw them away and encode audio only &amp;amp;ndash; like encoding through most players appear to do. &lt;br /&gt;
* &amp;lt;code&amp;gt;-t&amp;lt;/code&amp;gt;: copy input file&#039;s time stamp.  (To restore the file with the original time stamp, use &amp;lt;code&amp;gt;-t&amp;lt;/code&amp;gt; both when encoding and when decoding.)&lt;br /&gt;
* &amp;lt;code&amp;gt;--pause&amp;lt;/code&amp;gt;: (Windows only!) waits for keypress at the end.  Useful for reading output before exit when calling wavpack/wvunpack in a separate window (which both drag-and-drop the Windows front-end do).&lt;br /&gt;
* &amp;lt;code&amp;gt;-d&amp;lt;/code&amp;gt;: delete source file upon successful completion.  Use with caution.&lt;br /&gt;
* &amp;lt;code&amp;gt;-y&amp;lt;/code&amp;gt;: &amp;quot;yes&amp;quot; to everything. Use with caution, &#039;&#039;will overwrite&#039;&#039;.  &lt;br /&gt;
* &amp;lt;code&amp;gt;--no-overwrite&amp;lt;/code&amp;gt; (from 5.5.0): will skip existing files instead of asking to overwrite.&lt;br /&gt;
* &amp;lt;code&amp;gt;-l&amp;lt;/code&amp;gt; will force WavPack to run at low priority (Windows only)&lt;br /&gt;
* &amp;lt;code&amp;gt;--optimize-int32&amp;lt;/code&amp;gt;: this is a special switch to improve compression of 32-bit integer PCM that was &amp;quot;naively converted from 32-bit float&amp;quot;. Only 5.7.0 can decode this as lossless; to earlier versions and players they will be presented as lossy without correction file (and will indeed be lossy with differences around -138 dB down).&lt;br /&gt;
* &amp;lt;code&amp;gt;-c&amp;lt;/code&amp;gt;: this is for hybrid lossless, see below.&lt;br /&gt;
&lt;br /&gt;
WavPack can recompress .wv files in place (using a temporary file until done).  For example, &amp;lt;code&amp;gt;wavpack -hx4mvy wavpackfile.wv&amp;lt;/code&amp;gt; will compress wavpackfile.wv in high mode using &amp;lt;code&amp;gt;-x4&amp;lt;/code&amp;gt; extra processing, writing everything (and an audio MD5 checksum) to a temporary file with tags transferred; close and then re-open the temp file to re-read for verification &amp;amp;ndash; and only once verified, replace the old wavpackfile.wv. &amp;lt;code&amp;gt;wavpack -hx4rlmvy wavpackfile.wv&amp;lt;/code&amp;gt; will also run with low priority (assuming the Windows platform), and will discard non-audio chunks &amp;amp;ndash; that is, the ones used to restore the original file&#039;s metadata; the .wv file&#039;s APE tags will still be copied.  Some operations do require recompression even if the user would not demand it; For example, wavpack cannot add MD5 sum to a .wv file without recompressing it. Also, if the user wants to discard the original file&#039;s headers/footers, that can be done upon decompression or recompression &amp;amp;ndash; but not by simply removing them from the .wv file. &lt;br /&gt;
There is no out-of-the-box facility to recompress based on how heavy the original file was compressed, or to keep the smallest file. &lt;br /&gt;
&lt;br /&gt;
=== (Incomplete:) hybrid lossless &amp;amp; lossy encoding ===&lt;br /&gt;
(Needs to be expanded. Notes: DSD can currently not be hybrid-encoded and floating-point files should not be.  The correction file will be omitted by a lot of applications/players, including VLC, mplayer and ffmpeg; thus, using ffmpeg or ffmpeg-based players to convert/play hybrid-encoded WavPack will be lossy. For WavPack in Matroska, there doesn&#039;t seem to be any player that will play both the lossy stream and the correction stream, although mkvmerge/mkvextract will import/extract both streams. foobar2000 can play hybrid lossless .wv+.wvc, but will omit a Matroska-encapsulated correction stream.)&lt;br /&gt;
&lt;br /&gt;
Basic use: the &amp;lt;code&amp;gt;-b&amp;lt;/code&amp;gt; switch &amp;amp;ndash; and for losslessness, use &amp;lt;code&amp;gt;-c&amp;lt;/code&amp;gt; to create a correction file. &lt;br /&gt;
A numerical argument for quality is mandatory: if &amp;lt; 24 it will signify &#039;&#039;bits per sample&#039;&#039; and if &amp;gt; 24 it will signify &#039;&#039;kbit/second&#039;&#039;. Decimal separator is . even if your locale uses the comma. &lt;br /&gt;
For example, &amp;lt;code&amp;gt;wavpack -b12.5 filename&amp;lt;/code&amp;gt; will create filename.wv of bit rate 12.5 bits per sample.  &lt;br /&gt;
For an example that creates filename.wv at at most 234.56 kilobits per second and a correction file filename.wvc, the following commands will work:&lt;br /&gt;
* In all versions, &amp;lt;code&amp;gt;wavpack -b234.56 -c filename&amp;lt;/code&amp;gt;. Or equivalently &amp;lt;code&amp;gt;wavpack -cb234.56 filename&amp;lt;/code&amp;gt;&lt;br /&gt;
* From 5.7.0, also &amp;lt;code&amp;gt;wavpack -c234.56 filename&amp;lt;/code&amp;gt; will do the same.  Thus, a user can avoid the &amp;quot;&amp;lt;code&amp;gt;b&amp;lt;/code&amp;gt;&amp;quot; altogether, eliminating the risk of loss from forgetting the &amp;quot;&amp;lt;code&amp;gt;c&amp;lt;/code&amp;gt;&amp;quot;. &lt;br /&gt;
More options can be added, like &amp;lt;code&amp;gt;wavpack -cb234.56 -mhx filename&amp;lt;/code&amp;gt; to compress in high mode with extra processing and stores the (&#039;&#039;original&#039;&#039; PCM&#039;s) MD5 sum.  &lt;br /&gt;
When filename.wv and filename.wvc are both present, the original file will be restored completely by decoding the usual way by &amp;lt;code&amp;gt;wvunpack filename&amp;lt;/code&amp;gt; (or &amp;lt;code&amp;gt;wvunpack filename.wv&amp;lt;/code&amp;gt;, but not &amp;lt;code&amp;gt;wvunpack filename.wvc&amp;lt;/code&amp;gt;).  Playback of the .wv+.wvc is also lossless provided the player application supports correction files (like foobar2000, but few do). &lt;br /&gt;
&amp;lt;code&amp;gt;filename.wv&amp;lt;/code&amp;gt; can be copied to a different location without compression file and played in the same way as if it was encoded as lossy in the first place; the decoder will only look in the same path and for same file name except with .wvc extension. &lt;br /&gt;
&lt;br /&gt;
If a high enough lossy quality is specified, it is possible that the file can losslessly contain the entire signal.  If so, WavPack will report at the end of the encoding process &amp;amp;ndash; but that information is not stored in the file.  It can be inferred later from the small .wvc file, and if that is lost: if &amp;lt;code&amp;gt;-m&amp;lt;/code&amp;gt; was used upon encoding.&lt;br /&gt;
WavPack will refuse to recompress lossy-generated .wv to &amp;quot;lossless .wv&amp;quot; as that would make a false pretense of being a lossless file.  (That goes even in the &amp;quot;that information is not stored in the file&amp;quot; case just mentioned.)  If a lossless hybrid with correction file is recompressed, the default is to create a single-file lossless .wv; from 5.7.0, the old .wvc file will then be removed (as it does no longer belong to any .wv file), but earlier version would need to use the delete switch.&lt;br /&gt;
&lt;br /&gt;
Advanced use: The encoder has several options to tune lossy quality through e.g. noise shaping. &lt;br /&gt;
&lt;br /&gt;
=== Decoding options ===&lt;br /&gt;
In addition to the basic usage above (drag and drop or &amp;lt;code&amp;gt;wvunpack filename.wv&amp;lt;/code&amp;gt;), the wvunpack executable offers several options.  For use with the Windows front-end or drag and drop, the Windows-only &amp;lt;code&amp;gt;--pause&amp;lt;/code&amp;gt; (waits for keypress at the end, like for wavpack.exe) is essential to read the output report.  Also Windows-only options like &amp;lt;code&amp;gt;--drop&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;-l&amp;lt;/code&amp;gt; work as for wavpack.exe. wvunpack also has &amp;lt;code&amp;gt;-t&amp;lt;/code&amp;gt; , &amp;lt;code&amp;gt;-d&amp;lt;/code&amp;gt; (use with caution!) and &amp;lt;code&amp;gt;-y&amp;lt;/code&amp;gt; (ditto!) and from 5.8.0, &amp;lt;code&amp;gt;--no-overwrite&amp;lt;/code&amp;gt; to skip existing files without asking. &lt;br /&gt;
&lt;br /&gt;
* Output &#039;&#039;filename&#039;&#039; can be set with &amp;lt;code&amp;gt;wvunpack infilename.wv -o outfilename &amp;lt;/code&amp;gt; (the &amp;lt;code&amp;gt;-o&amp;lt;/code&amp;gt; being superfluous on Windows, where &amp;amp;ndash; in the absence of &amp;lt;code&amp;gt;--drop&amp;lt;/code&amp;gt; &amp;amp;ndash; the second filename will be assumed to be output name).  Then wvunpack will affix the file extension of the original file (say, outfilename.wav if the wavpacked file was somefilename.wav).  The wavpack encoder detects the file type from content, and so wvunpack will not &amp;quot;fix misleading extensions&amp;quot; automatically; the user can provide a giving full output filename with extension, but note that this will override the &#039;&#039;name&#039;&#039; only but not the &#039;&#039;type&#039;&#039;.  To make sure that -o out.aif indeed produces an AIFF, separate switches have to be employed. &lt;br /&gt;
* To force output &#039;&#039;file format,&#039;&#039; one needs to apply options to wvunpack.  The following are for PCM output: &amp;lt;code&amp;gt;--raw-pcm&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;--wav&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;--w64&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;--caf-be&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;--caf-le&amp;lt;/code&amp;gt;, and from version 5.6.0 on also &amp;lt;code&amp;gt;--aif&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;--aif-le&amp;lt;/code&amp;gt;.  &lt;br /&gt;
** These will delete non-audio chunks and replace them with a fresh file header: there is no option to &amp;quot;unpack to WAVE and restore the original headers if the original file was WAVE&amp;quot;.   &amp;lt;code&amp;gt;wvunpack --wav&amp;lt;/code&amp;gt; will select RF64 if (and only if) exceeding WAVE&#039;s 4 GB limit, and wvunpack will select old AIFF over AIFF-C if the audio data permit it.&lt;br /&gt;
** For DSD, those format switches will also force a &amp;amp;ndash; necessarily lossy &amp;amp;ndash; conversion to PCM.  To switch losslessly &#039;&#039;between&#039;&#039; DSD formats, there are also &amp;lt;code&amp;gt;--dsf&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;--dff&amp;lt;/code&amp;gt; (the latter being synonymous to &amp;lt;code&amp;gt;--dsdiff&amp;lt;/code&amp;gt;) which again delete non-audio chunks.  Note that WavPack cannot force any (also necessarily lossy) conversion &#039;&#039;to&#039;&#039; DSD, having no DSD encoder.&lt;br /&gt;
** &amp;lt;code&amp;gt;--raw&amp;lt;/code&amp;gt; outputs both PCM and DSD as headerless streams (lossless for both; &amp;lt;code&amp;gt;-r&amp;lt;/code&amp;gt; is synonymous; beware that this is not precisely the same as the same letter switch upon encoding)&lt;br /&gt;
&lt;br /&gt;
In addition to decimating DSD for conversion to PCM, there are other options where power users can utilize certain &#039;&#039;lossy&#039;&#039; operations by wvunpack, e.g. normalizing floating-point files (recommended before conversion to integer), dropping correction files from hybrid encodes &amp;amp;ndash; and &amp;lt;code&amp;gt;--skip&amp;lt;/code&amp;gt; and/or &amp;lt;code&amp;gt;--until&amp;lt;/code&amp;gt; to decode only a segment of the file.  See the documentation.  &lt;br /&gt;
Other options include &amp;lt;code&amp;gt;-b&amp;lt;/code&amp;gt; to &amp;quot;blindly&amp;quot; decode until end disregarding errors and corruption (potentially useful to save as much as possible from a destroyed file).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;wvunpack -m&amp;lt;/code&amp;gt; will decode with MD5 sum calculation.  If the .wv file had an MD5 sum stored, it will also be displayed for comparison. However, &amp;lt;code&amp;gt;-m&amp;lt;/code&amp;gt; will not give an error if they don&#039;t match (and if the .wv is lossy without correction file, they won&#039;t: the MD5 stored is that of the original). &lt;br /&gt;
&lt;br /&gt;
wvunpack is also the utility to display information from .wv files even when it does not involve decoding or file output, see the [[#Other file handling]] subsection.  Inter alia, &amp;lt;code&amp;gt; -s&amp;lt;/code&amp;gt; will correctly report the input file &#039;&#039;type&#039;&#039; even if it had a misleading extension (like a .wav extension disguising an AIFF file). &lt;br /&gt;
&lt;br /&gt;
== &amp;lt;span id=&amp;quot;Other file handling&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Other file handling (incomplete) ==&lt;br /&gt;
The WavPack distribution includes wvunpack, wvtag and wvgain.  &lt;br /&gt;
&lt;br /&gt;
=== File information with wvunpack (without decoding to file) === &lt;br /&gt;
wvunpack can get information about WavPack files without outputting any uncompressed audio file:&lt;br /&gt;
* &amp;lt;code&amp;gt;-vv&amp;lt;/code&amp;gt;: Quick verify without decoding (WavPack 5 files only; from 5.5.0 there is also a more verbose &amp;lt;code&amp;gt;-vvv&amp;lt;/code&amp;gt;).  Quick verify seems to be unavailable outside the official wvunpack; other applications which verify will fall back to the next item, &amp;lt;code&amp;gt;-v&amp;lt;/code&amp;gt;. &lt;br /&gt;
* &amp;lt;code&amp;gt;-vm&amp;lt;/code&amp;gt;: Decode and verify, but not write output file.  The &amp;quot;m&amp;quot; will compute the the MD5 sum of the decoded PCM and output it along with the .wv file&#039;s stored MD5, if such was present.  Note that the user has to check manually that they match.  A user who never uses &amp;lt;code&amp;gt;-m&amp;lt;/code&amp;gt; upon encoding can safely drop the &amp;lt;code&amp;gt;-m&amp;lt;/code&amp;gt; from wvunpack too.  Note that absent the &amp;quot;v&amp;quot;, &amp;lt;code&amp;gt;wvunpack -m&amp;lt;/code&amp;gt; will write output file &amp;amp;ndash; and that &amp;lt;code&amp;gt;wvunpack -mvv&amp;lt;/code&amp;gt; is not allowed, as MD5 calculation requires decoding.&lt;br /&gt;
* &amp;lt;code&amp;gt;-s&amp;lt;/code&amp;gt;/&amp;lt;code&amp;gt;-ss&amp;lt;/code&amp;gt;: &amp;lt;code&amp;gt;-s&amp;lt;/code&amp;gt; displays summary of the file, &amp;lt;code&amp;gt;-ss&amp;lt;/code&amp;gt; a long summary including tags. Also there is &amp;lt;code&amp;gt;-f&amp;lt;/code&amp;gt; for parseable output, see documentation.&lt;br /&gt;
* &amp;lt;code&amp;gt;-x&amp;lt;/code&amp;gt; FIELD: Shows tag, e.g. &amp;lt;code&amp;gt; -x comment &amp;lt;/code&amp;gt; shows the &amp;lt;comment&amp;gt; field.  &amp;lt;code&amp;gt;-c&amp;lt;/code&amp;gt; is synonymous to &amp;lt;code&amp;gt; -x cuesheet&amp;lt;/code&amp;gt;.   Also &amp;lt;code&amp;gt; wvtag -x &amp;lt;/code&amp;gt; resp. &amp;lt;code&amp;gt; wvtag -c &amp;lt;/code&amp;gt; do the same thing.  &amp;lt;code&amp;gt;-xx&amp;lt;/code&amp;gt; (same option for wvtag) can output to file (use &amp;lt;code&amp;gt;-n&amp;lt;/code&amp;gt; to avoid decoding) &amp;amp;ndash; see documentation.&lt;br /&gt;
&lt;br /&gt;
=== (To fill in:) Tagging (wvtag) and replaygain management (wvgain) ===&lt;br /&gt;
(... most of these options are available in HA&#039;s fave taggers/player? Except the following, maybe?) &lt;br /&gt;
&amp;lt;code&amp;gt;wvtag --import-id3 wavpackfile.wv&amp;lt;/code&amp;gt; will read and &amp;quot;import&amp;quot; ID3 tag stored in wavpackfile.wv&#039;s non-audio chunks; this will overwrite existing APEv2. Can also be used with &amp;lt;code&amp;gt;--allow-huge-tags&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== File formats, versions, decoding and transcoding support ==&lt;br /&gt;
WavPack has gone to lengths to maintain compatibility, and its design allows old decoders to perfectly restore files they couldn&#039;t generate, to original files they couldn&#039;t themselves read. A TL;DR is that WavPack 5 is needed to decode DSD, and otherwise the most recent version can decode any .wv file; should an ancient WavPack 3 file surface, then WavPack 4.80 (still available) can decode and convert.   &lt;br /&gt;
&lt;br /&gt;
Over the years, one might have encountered WavPack files in (at least) the following variants: &lt;br /&gt;
&lt;br /&gt;
* .wv (current!) is the file extension used for file formats 4 and 5. Can in most cases be decoded by &amp;quot;anything&amp;quot; (even if the source was e.g. AIFF, which old WavPack cannot read but still restore).  Exceptions:&lt;br /&gt;
** WavPack 4 cannot play or restore compressed DSD files (that is new to WavPack 5).  Although FFmpeg&#039;s wavpack implementation is version 4-based, DSD and DSD-in-WavPack can still be &#039;&#039;played&#039;&#039; with an FFmpeg-based player. (But not restored, as FFmpeg has no DSD pipeline, so this is for playback or lossy conversion.)&lt;br /&gt;
** FFmpeg creates non-compliant files for 17 channels and up.  WavPack 5.7.0 and up can decode and repair (FFmpeg itself cannot!)&lt;br /&gt;
** Mono signals encoded to WavPack 5 might require WavPack version 4.3 (from 2005) or later to play.  It is doubtful that there are hardware players around using older WavPack; should incompatibilities occur, the easiest is likely then to recompress using 4.80.&lt;br /&gt;
** To older WavPack versions than 5.7.0, encodes with the new &amp;lt;code&amp;gt;--optimize-int32&amp;lt;/code&amp;gt; will be viewed as &amp;quot;lossy without correction file&amp;quot;.  They are safe to play (and will apparently only introduce loss from the 24th bit, -138 dB down), but only 5.7.0 can see the lossless version and restore the file completely.&lt;br /&gt;
* .wvc, correction files when hybrid lossless encoding is chosen.  Honoured by official WavPack, but users might note that wvpack/wvunpack should be fed the .wv file and will err out if pointed at merely the .wvc file.&lt;br /&gt;
* .exe (deprecated): WavPack 4 could compress to Windows self-extracting file (like OptimFROG also offers).  This feature is discontinued in WavPack 5.  Newer versions of the decoder can still play and decode them &amp;amp;ndash; indeed, merely renaming them from .exe to .wv will make them play in players that use the official WavPack library (e.g. foobar2000 will, but VLC will not), and they can be tagged.&lt;br /&gt;
** How to recompress with tag transfer: Rename to .wv and run the recompression.&lt;br /&gt;
** Similar goes for the 3rd party hack &amp;quot;.iso.wv&amp;quot; which could also be mentioned, and also if a .wv file is stored (uncompressed!) in a .zip container renamed .zip.wv: like for self-extracting files, the official decoder might look further into a file to find WavPack headers, and could find them if the .wv file is put first in an uncompressed container.  Circa 2010 some developer would use the .iso format to contain single WavPack file, and then auxiliary files like rip logs and artwork; renaming it from .iso to .iso.wv would player applications actually play it. Due to efforts from a few enthusiasts when this hack was introduced, iso.wv is mentioned in several players&#039; official and unofficial feature lists, including Wikipedia pages.  These files can be recompressed like the self-extracting files can &amp;amp;ndash; this will however discard &#039;&#039;everything else&#039;&#039; than the WavPack file.&lt;br /&gt;
* .wav (pre-2004, long deprecated).  WavPack 3 and below used the .wav extension, which explains the error message &amp;quot;this legacy WavPack file is deprecated, use version 4.80.0 to transcode&amp;quot; if a user tries to wv&#039;&#039;un&#039;&#039;pack a WAVE file.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Using WavPack with 3rd party tools (FFmpeg &amp;amp; more) =&lt;br /&gt;
&lt;br /&gt;
Some applications may behave slightly surprising.  FFmpeg has its own WavPack implementation and has a few known peculiarities, some which are expected to be fixed and others of unknown status.  Android users may need to use the player application&#039;s folder to get WavPack files recognized.  The tl;dr are that as long as it plays, it plays &amp;amp;ndash; but to safeguard against loss of information (e.g. upon conversion), use the official tools.  In particular, hybrid lossless correction files are usually not honoured by 3rd party tools. (A player that &#039;&#039;does&#039;&#039;, foobar2000, uses the official WavPack libraries.)&lt;br /&gt;
&lt;br /&gt;
== Splitting WavPack files by cuesheet ==&lt;br /&gt;
WavPack is a format with good support for storing an album as one .wv file with embedded (or external) cuesheets, but splitting into tracks by way of cuesheets is not straightforward without external tools.  Audio players like [[foobar2000]] which support cue sheets can also split upon conversion.  Other external applications that will do this splitting &amp;amp;ndash; also with more variations of the cue sheet format(s) supported &amp;amp;ndash; include&lt;br /&gt;
* [[CUETools]] can if it is CDDA (44.1 kHz 16-bit stereo), and can re-encode back to WavPack.  &lt;br /&gt;
* refalac can decode &amp;amp; split by cuesheets with the appropriate (official) WavPack library DLL file&amp;lt;ref&amp;gt;[https://github.com/nu774/qaac/wiki/refalac-usage refalac usage] includes how to split by cuesheet&amp;lt;/ref&amp;gt;, outputting WAVE (/RF64) or ALAC-in-MP4.&lt;br /&gt;
Both refalac, CUETools and foobar2000 use the official WavPack tools for the decoding(/encoding). &lt;br /&gt;
&lt;br /&gt;
== &amp;lt;span id=&amp;quot;FFmpeg&#039;s WavPack implementation&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;FFmpeg&#039;s WavPack implementation: differences and quirks ==&lt;br /&gt;
FFmpeg can encode/decode to/from WavPack &amp;amp;ndash; which may be seen as attractive from how it also can transfer metadata in one go &amp;amp;ndash; but with some limitations and maybe unfamiliar behaviour.  &amp;lt;br/&amp;gt; FFmpeg has had some bugs which may cause audio corruption.  Although some fixes were applied with FFmpeg release 6.1, users might beware that players and converters that employ FFmpeg as a decoding engine may or may not update that quickly. &lt;br /&gt;
* [Still not fixed as of ffmpeg 6.1] Encoding, multi-channel only: Above 16 channels, when the WavPack 5 format is required, FFmpeg will still attempt encoding to WavPack version 4, but will produce non-compliant files &amp;amp;ndash; that ffmpeg itself might not be able to read.&amp;lt;br/&amp;gt;Official WavPack 5.7.0 can repair those files, at least the &amp;quot;known&amp;quot; defects. &lt;br /&gt;
* [Fixed in ffmpeg 6.1] Encoding, 8-bit PCM only: FFmpeg (up to 6.0) will produce broken files with static noise.  No known attempt at recovering them.&lt;br /&gt;
* [Fixed in ffmpeg 6.1] Decoding, any format but rare: A bug FFmpeg&#039;s WavPack decoder, discovered in August 2022&amp;lt;ref&amp;gt;[https://hydrogenaud.io/index.php/topic,122810 HA forum thread on the ffmpeg bug in .wv decoding]&amp;lt;/ref&amp;gt;, will cause dropouts in certain files. The bug is &#039;&#039;&amp;quot;rare&amp;quot;&#039;&#039; in that no such file was discovered in several years.  &lt;br /&gt;
&lt;br /&gt;
Further limitations in FFmpeg&#039;s implementation:&lt;br /&gt;
* No MD5 sum and no verification &amp;amp;ndash; although it is possible for power users to set up a command-line to compute audio-only checksums of input, decode output to checksum and compare.  FFmpeg will also only write WavPack 4 files, hence no &#039;&#039;fast verification&#039;&#039; of the bitstream.  (FFmpeg can however decode WavPack 5 files, including converting DSD files to PCM.)&lt;br /&gt;
* As a general rule &amp;amp;ndash; not specific to .wv &amp;amp;ndash; FFmpeg will &#039;&#039;not&#039;&#039; honour the input bit depth: for example when outputting WAVE/AIFF, it will default to 16 bits regardless of input bit depth.  This default behaviour is not lossless when input bit depth is &amp;gt; 16 bits, and could even induce clipping (with no warning!) if the source is a 32-bit float.  To force lossless decoding of 24-bit/32-bit files (WavPack/FLAC/ALAC/TAK/uncompressed) to WAVE/AIFF, the user must extract the bit depth information and specify the respective 24-bit/32-bit output format using ffmpeg&#039;s command-line syntax. &amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;For an extreme example: &amp;lt;code&amp;gt;FFmpeg -i DSDfile.dsf outfile.wv&amp;lt;/code&amp;gt; will not store the DSD &amp;amp;ndash; rather it will convert to floating-point PCM which is then compressed, typically making for several times the file size, with no warning that it is lossy.&amp;lt;br/&amp;gt;&lt;br /&gt;
The tl;dr for users who do not have this at their fingertips, is to use other (= official!) decoders when losslessness is desired.&lt;br /&gt;
* Correction files ignored, leading to lossy playback/conversion of hybrid-encoded WavPack files with when ffmpeg or ffmpeg-based players are used. &lt;br /&gt;
* Loss of information that is not directly audio-related: FFmpeg has no ambition of preserving file structure and (R)IFF chunks, so you will not get the non-audio chunks of the files back when using ffmpeg to encode &amp;amp;ndash; however it &#039;&#039;will&#039;&#039; by default transfer metadata it supports. &lt;br /&gt;
* FFmpeg will sometimes &amp;amp;ndash; depending on input format &amp;amp;ndash; output 32-bit WavPack files and lose the information that the source was indeed only 24. Not all players support 32-bit files, and verifying that the operation (or an attempted downconversion to 24) was lossless is not straightforward as even fewer applications are willing to compare a 32-bit and a 24-bit file for differences. &amp;lt;br/&amp;gt;Also for files with bit depth not being 8/16/24/32 is lost; WAVE/AIFF/CAF can handle &amp;quot;17 bit&amp;quot; files by storing 24 and employing a flag to disregard the 7 LSBs, and ffmpeg will lose this flag even when encoding to / decoding from codecs which support it, WavPack and FLAC. &lt;br /&gt;
&lt;br /&gt;
FFmpeg&#039;s compression settings can be set with &amp;lt;code&amp;gt;-compression_level&amp;lt;/code&amp;gt; 0 to 8, which work different than the reference implementation. Like for ALAC compression, FFmpeg has chosen a &#039;&#039;default&#039;&#039; that prioritizes speed over size &amp;lt;ref&amp;gt;[https://hydrogenaud.io/index.php?topic=118278.msg976262#msg976262  HA forum comment comparing the compression presets]&amp;lt;/ref&amp;gt; &amp;amp;ndash; while on the other end, FFmpeg&#039;s WavPack encoder offers settings even slower than &amp;lt;code&amp;gt;-hhx6&amp;lt;/code&amp;gt;. FFmpeg version 7 does some multithreading, although not in the encoding process itself; apparently it offloads the &#039;&#039;input file reading&#039;&#039;, improving speed on single-file encoding.&lt;br /&gt;
&lt;br /&gt;
FFmpeg multithreads decoding, and could be fast.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Software support (&amp;amp; hardware) =&lt;br /&gt;
The following list is unlikely to be complete, and the same goes for the lists https://www.wavpack.com/#Software and https://www.wavpack.com/#Hardware : In the age of Android-powered devices with ffmpeg-based playback, it is not feasible to list all players which can in one way or another play this or that format, nor to distinguish clearly between hardware players and software players.&lt;br /&gt;
&lt;br /&gt;
== Players ==&lt;br /&gt;
* [[foobar2000]] advanced freeware audio player plays/decodes WavPack out of the box on both Windows, MacOS, Android and iOS (Windows: supports encoding if wavpack.exe is installed, and redistributes the official wavpack.exe through its &amp;quot;Free encoder pack&amp;quot; addon for encoding.  With ReplayGain &amp;amp; cuesheets support.) Also [[Boom]] from the same author.&lt;br /&gt;
* [http://www.videolan.org/vlc/download-windows.html VLC] multiplatform media player&lt;br /&gt;
* [http://www.vuplayer.com/vuplayer.php VUPlayer] (official plugin, supports encoding)&lt;br /&gt;
* NullSoft [[Winamp]] (plugin with ReplayGain &amp;amp; Media Library support) and Winamp-compatible players&lt;br /&gt;
* [[Windows Media Player]] and other directshow-based players (MPC, TCMP, RadLight) (with [http://www.hydrogenaudio.org/forums/index.php?showtopic=103693 CoreWavPack] directshow filter)&lt;br /&gt;
* [http://cogosx.sourceforge.net/ Cog] Audio player for MacOS X.&lt;br /&gt;
* [https://wiki.jriver.com/index.php/WavPack JRiver Media Center]&lt;br /&gt;
* [[XMMS]] (with Kuniklo&#039;s plugin)&lt;br /&gt;
* [http://fondriest.frederic.free.fr/realisations/lamip/ LAMIP] (official plugin)&lt;br /&gt;
* [http://mpxplay.sourceforge.net/ MPXplay] for DOS!&lt;br /&gt;
* [http://aqualung.sourceforge.net/ Aqualung] for GNU/Linux&lt;br /&gt;
* Cowon [http://www.jetaudio.com/ JetAudio Player] and CD ripper&lt;br /&gt;
* [http://www.un4seen.com/ XMPlay] Plugin required (WavPack input plugin) and (bass library) to play &#039;.wv&#039; files&lt;br /&gt;
&lt;br /&gt;
== Converters, CD rippers etc. ==&lt;br /&gt;
For conversion (of &#039;&#039;audio&#039;&#039; only), one can use several of the &#039;&#039;players&#039;&#039; listed above, like Cowon JetAudio, foobar2000 and VUplayer &amp;amp;ndash; although some with limitations in the audio pipeline, like for example DSD handling. &amp;lt;br/&amp;gt;&lt;br /&gt;
More software that support conversion to or from WavPack include:&lt;br /&gt;
* Custom [http://www.wavpack.com/WavPack_frontend.zip WavPack frontend] (by Speekenbrink) for Windows.&lt;br /&gt;
* [http://www.dbpoweramp.com/ dBpowerAMP] Music Converter CD ripper/writer / Audio Player / (official addon)&lt;br /&gt;
* [[fre:ac]] multi-platform CD ripper/converter&lt;br /&gt;
* [[Exact Audio Copy]] CD Ripper (guide at this wiki&amp;lt;ref&amp;gt;[[EAC and WavPack| HA Wiki: Configuring EAC and WavPack]]&amp;lt;/ref&amp;gt;)&lt;br /&gt;
* [http://www.nero.com/eng/ Nero]&lt;br /&gt;
* [http://cdexos.sourceforge.net CDex] CD ripper&lt;br /&gt;
* [https://download.cnet.com/Ease-Audio-Converter/3000-2140_4-10390634.html Ease Audio Converter] (Discontinued; shareware / NOT Freeware)&lt;br /&gt;
* [http://media.io/ Media.io Online Audio Converter]&lt;br /&gt;
* [http://www.logipole.com/index.html Konvertor]&lt;br /&gt;
* [http://cuetools.net CUETools] converter and AccurateRip/CTDB checker&lt;br /&gt;
* [https://github.com/nu774/qaac refalac] (user must copy the wavpackdll.dll file to the appropriate directory)&lt;br /&gt;
&lt;br /&gt;
== Taggers and audio info utilities ==&lt;br /&gt;
* [http://www.mp3tag.de/en/index.html Mp3tag] Universal Tag Editor&lt;br /&gt;
* [https://picard.musicbrainz.org/ MusicBrainz Picard] Tagger with audio identification &lt;br /&gt;
* [http://www.jtclipper.eu/thegodfather/ The GodFather] Tagger / Music manager&lt;br /&gt;
* [[Tag.exe|Case&#039;s Tag]] command line tagger&lt;br /&gt;
* [https://mediaarea.net/ MediaInfo]&lt;br /&gt;
* [http://mr-questionman.en.uptodown.com/windows Mr. QuestionMan]&lt;br /&gt;
&lt;br /&gt;
== Audio editors and other tools ==&lt;br /&gt;
* [[Audacity]] has WavPack support (using official libraries) from version 3.2.0 (2022)&amp;lt;ref&amp;gt;[https://github.com/audacity/audacity/releases/tag/Audacity-3.2.0 Audacity 3.2.0 release notes]&amp;lt;/ref&amp;gt;.&lt;br /&gt;
* [[Adobe Audition]] and Cool Edit (filter with 32-bit floats &amp;amp; extra info save support)&lt;br /&gt;
* [https://www.reaper.fm/about.php#technical Reaper] DAW software for Windows / MacOS&lt;br /&gt;
* [https://sourceforge.net/projects/sox/ SoX] can read and write WavPack files.  (Write: limited to &amp;lt;code&amp;gt;-hh&amp;lt;/code&amp;gt; compression, not file format version 5.)&lt;br /&gt;
* [http://www.bunkus.org/videotools/mkvtoolnix/ mkvtoolnix] &amp;amp;ndash; tool to multiplex streams in Matroska container files.&lt;br /&gt;
&#039;&#039;It&#039;s worth mentioning the [[Matroska]] guys decided to concentrate on WavPack as the lossless compressor of choice for their container. Quite an honor... :-)&#039;&#039;&lt;br /&gt;
* [https://support.pkware.com/display/PKSZLU/PKZIP+Toolkit+for+Windows PKWare]&#039;s .zip format compresses audio by WavPack since version 6.3.2 (2007).  Beware that there is no expectation that other decompression software handles these zip files; even if PKWare co-designed the format and PKZip was the original .zip implementation, their subsequent compression methods are outside the ISO/IEC standardized zip format specification. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Links =&lt;br /&gt;
* [http://www.wavpack.com/ Official website]&lt;br /&gt;
* [https://github.com/dbry/WavPack Github repository]&lt;br /&gt;
* [http://www.rarewares.org/lossless.html Unofficial compiles] at RareWares. As of 2023: 5.5.0 for Windows and 4.32 multiplatform&lt;br /&gt;
* [https://en.wikipedia.org/wiki/WavPack WavPack at Wikipedia]&lt;br /&gt;
* [https://wiki.multimedia.cx/index.php/WavPack WavPack at Multimediawiki] (not updated with version 5)&lt;br /&gt;
* [[Lossless comparison| HA Wiki&#039;s Lossless Codec Comparison]] originally by [[User:Rjamorim|Rjamorim]]&lt;br /&gt;
* An older (2005) performance comparison of lossless audio compressors {{webarchive|https://web.archive.org/web/20151027213336/http://members.home.nl/w.speek/comparison.htm|2015-10-27}} by Speek, using WavPack version 4.0 &lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{navbox audio codecs}}&lt;br /&gt;
[[index.php?title=Category:Codecs]]&lt;br /&gt;
[[index.php?title=Category:Lossless]]&lt;/div&gt;</summary>
		<author><name>Porcuswiki</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=TTA&amp;diff=38622</id>
		<title>TTA</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=TTA&amp;diff=38622"/>
		<updated>2025-12-19T10:45:31Z</updated>

		<summary type="html">&lt;p&gt;Porcuswiki: two words&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Codec Infobox&lt;br /&gt;
| purpose = &lt;br /&gt;
| name = The True Audio&lt;br /&gt;
| logo = [[File:TTA-logo.png]]&lt;br /&gt;
| type = lossless&lt;br /&gt;
| maintainer = Aleksander Djuric&amp;lt;br/&amp;gt;Pavel Zhilin&amp;lt;br/&amp;gt;Tamir Barak&amp;lt;br/&amp;gt;Noam Koenigstein&amp;lt;br/&amp;gt;Kazuki Oikawa&lt;br /&gt;
| released = TTA 2.3 (Windows version, 2015-02)&lt;br /&gt;
| website = [http://tausoft.org/wiki/True_Audio_Codec_Overview tausoft.org]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The True Audio&#039;&#039;&#039; (&#039;&#039;&#039;TTA&#039;&#039;&#039;)  is a [[lossless]] audio [[codec]].  It is distributed as a free open-source (GPL/LGPL) encoder/decoder and library for several operating systems, and with DirectShow filters and plugins for several audio players, including [[foobar2000]].  &lt;br /&gt;
&lt;br /&gt;
The project itself might be abandoned, but a 3rd party source code rewrite appeared in 2023&amp;lt;ref&amp;gt;[https://github.com/stseelig/libttaR Github home of the 3rd party rewrite]&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;[https://hydrogenaud.io/index.php/topic,125048.0.html Hydrogenaudio forum post (2023) on codec rewrite]&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;[https://hydrogenaud.io/index.php/topic,125143.0.html Hydrogenaudio forum post (2023) on codec rewrite (library)] &amp;lt;/ref&amp;gt;. The codec sometimes identifies itself as &amp;quot;TTA1&amp;quot;, and an announced development of a &amp;quot;TTA2&amp;quot; format has passed with no known updates since 2010.&amp;lt;ref&amp;gt;[https://web.archive.org/web/20100727022032/http://en.true-audio.com:80/TTA_Lossless_Audio_Codec_-_Format_Description Format description], archived 2010-07-27&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
TTA has a couple of unique properties: encryption with password protection, and that the encoded audio bitstream is uniquely determined by the signal (and if applicable, the password) &amp;amp;ndash; not counting the metadata. That is, &#039;&#039;one single setting&#039;&#039; with no encoding options for heavier / lighter compression / CPU load.  This property, that &amp;quot;to each audio signal there is a unique TTA encode&amp;quot;  has seen some appeal in certain applications, outside which TTA seems to have a limited userbase. &lt;br /&gt;
&lt;br /&gt;
Performance-wise, TTA has been measured around [[WavPack]] between default and &amp;lt;code&amp;gt;-h&amp;lt;/code&amp;gt; on CD audio signals&amp;lt;ref&amp;gt;[http://audiograaf.nl/downloads.html Martijn van Beurden&#039;s comprehensive lossless comparison, version 6, 2023]&amp;lt;/ref&amp;gt; &amp;amp;ndash; putting it on what traditionally has been considered on the &#039;&#039;fast encoder&#039;&#039; side rather than the &#039;&#039;heavy compression&#039;&#039; ([[Monkey&#039;s Audio]]/[[OptimFROG]]) side.  In the most recent edition of the comparison, two codecs ([[TAK]] and, narrowly, [[FLAC]] after its recent performance improvements) could beat TTA simultaneously on all three tested parameters (encoding speed, decoding speed and file size) on the average signal tested. The 3rd party reimplementation claims to be significantly faster&amp;lt;ref&amp;gt;[https://gist.github.com/stseelig/0b9afe795a547b5798587db996694f97 blog post by the author of the rewrite]&amp;lt;/ref&amp;gt;, at the expense of some overflow checks, but does not provide executables.   &lt;br /&gt;
&lt;br /&gt;
FFmpeg offers a third-party implementation which can encode and decode to higher channel count and accepts more input files than the official Windows encoder can do.  Also the foobar2000 component at foobar2000.org implements more features (including higher channel count) than the official version.  This wiki article aims at describing the features and limitations in the available end-user applications, rather than what the TTA &#039;&#039;format&#039;&#039; might accommodate (but nobody has implemented). &lt;br /&gt;
== Features == &lt;br /&gt;
From an end-user perspective, the following features are quite common among lossless codecs, except for password protection.  Some competing formats are lacking certain of these features, and some are free from certain of the limitations listed.  To compare TTA with other lossless codecs, see [[Lossless comparison| HA Wiki&#039;s Lossless Codec Comparison]].&lt;br /&gt;
&lt;br /&gt;
* Seekable and streaming playback.&lt;br /&gt;
* High-resolution audio support: the format supports 24 bits per sample, at any WAVE sampling rate (integers up to 4 GiHz; although the encoders may stop short of the 4 GiHz mark &amp;amp;ndash; ffmpeg at 2 GiHz &amp;amp;ndash; this limitation is hardly relevant for audio).&lt;br /&gt;
* Multichannel support, however with limitations (see below). Currently the reference encoder supports up to six channels, the ffmpeg implementation supports 16, and the unofficially modified foobar2000 component can handle 256 (tested to 24).&lt;br /&gt;
* Piping support.&lt;br /&gt;
* Tagging (APEv2 or ID3v1/2).&lt;br /&gt;
* Embedded CUE sheets support.&lt;br /&gt;
* Unicode support.&lt;br /&gt;
* Can be used in the [[Matroska]] container.&lt;br /&gt;
* Password-protected encryption.&lt;br /&gt;
&lt;br /&gt;
The lack of encoding options may be a limitation or sometimes considered a feature: a given music signal corresponds to precisely one (unencrypted) TTA bit stream &amp;amp;ndash; no matter whether encoded with the reference encoder or ffmpeg.  Metadata sections may of course differ.&lt;br /&gt;
&lt;br /&gt;
=== Limitations ===&lt;br /&gt;
The following list is in part based on issues revealed by tests in the Hydrogenaudio forums, as per 2022 available implementations &amp;amp;ndash; the 2023 independent rewrite not tested and is known to handle more input files.&lt;br /&gt;
* [https://hydrogenaud.io/index.php/topic,122094 Bad error handling.]&amp;lt;ref&amp;gt;[https://hydrogenaud.io/index.php/topic,122094 HA forum discussion (2022) on codecs&#039; error handling]&amp;lt;/ref&amp;gt; Errors will upon playback lead to full-volume static noise played back, at worst for the rest of the file.  Only the most severe errors seem to be detected by the reference decoder.  Testing reveals that ffmpeg can detect errors the reference decoder cannot, and might drop more defective frames, but ffmpeg might still play back static unmuted.  The lack of (MD5) audio checksum is a more severe shortcoming when the capability to detect errors by other means is so limited; there seems to be no reliable way implemented to scan a collection of files for corruption. (The &#039;&#039;format&#039;&#039; provides block checksums, but they don&#039;t seem to be implemented.)&lt;br /&gt;
* The existing implementations have limitations for non-CDDA signals:&lt;br /&gt;
** Bit depth: The format supports 8, 16 or 24 bit files &amp;amp;ndash; and 8-bit signals are only supported in ffmpeg&#039;s implementation, not in the the reference encoder/decoder (nor the official [[foobar2000]] playback component). Note, some old sources refer to 32-bit (floating-point) support; that was apparently dropped circa 2004, and it is not known how to decode such files, should they even exist. &amp;lt;br/&amp;gt;Non-integer byte depths (say 20 valid bits in a 24-bit WAVE container) are not well supported.  Testing with 20-bit WAVE files has provoked the reference encoder into either of the following three: rejecting the file altogether; producing undecodeable files; silently upconverting to 24 bits, losing any information that it was ever 20 bits (ffmpeg appears to &#039;&#039;always&#039;&#039; do this).  In the latter case, TTA will not compress it well, as it is unable to make use of &amp;quot;wasted bits&amp;quot;: other codecs can detect that bits 21 to 24 are zero and compress a 20-bit signal virtually without penalty.  (See van Beurden&#039;s lossless comparison, section 2.3.)&lt;br /&gt;
** Limitations in multichannel support: Although the TTA &#039;&#039;format&#039;&#039; claims support for up to 65536 channels, no implementation seems to encode to more than 16 (ffmpeg); the reference implementation being capped at 6 also for decoding. The foobar2000 component repository includes a component version that can decode more channels (unlike the component provided by the TTA developers), and that component also honours the [https://docs.microsoft.com/en-us/windows/win32/api/mmreg/ns-mmreg-waveformatextensible WAVEFORMATEXTENSIBLE] tag to interpret what channels are encoded.  This is an unofficial feature; the format itself offers no channel assignment (e.g., if a TTA file has three channels there is no rule to tell whether it is 2.1 or 3.0, and likewise there is no rule to tell whether a five-channel file a 5.0 or a 4.1 &amp;amp;ndash; the component implements support through a tag).  Also, in van Beurden&#039;s comparison, TTA fared worse on multichannel material than on stereo.&lt;br /&gt;
** The reference encoder is picky about input &#039;&#039;files,&#039;&#039; only supporting some versions/generations of the WAVE format (and no other format than WAVE) and requiring workarounds at 2 GiB input size.  Also the reference implementation might truncate too large files. These issues can be circumvented by using ffmpeg instead. &lt;br /&gt;
* Metadata: &lt;br /&gt;
** TTA might be the lossless format most likely to suffer from tagging ambiguity.  While there are other formats which can (like MP3) accommotate both ID3 and APEv2 tags, applications seem to have converged to APEv2 for other lossless formats which accept it, and both ffmpeg&#039;s TTA encoder and [[foobar2000]] will try to enforce APEv2 in TTA.  However, a tagger like [https://en.wikipedia.org/wiki/MusicBrainz_Picard MusicBrainz Picard] will treat TTA files as MP3 files, defaulting to ID3v1&amp;amp;ID3v2.3 while &#039;&#039;ignoring&#039;&#039; any APEv2.  Apparently [[Mp3tag]] will write ID3 to an &#039;&#039;untagged&#039;&#039; .tta file, but ignore ID3 when APEv2 is already present.&lt;br /&gt;
** There is no provision for (R)IFF chunks; i.e. TTA cannot store nor recreate &#039;&#039;non-audio&#039;&#039; chunks of the original file. That means that one limitation of ffmpeg &amp;amp;ndash; that it drops RIFF chunks &amp;amp;ndash; is moot for TTA, which could not store them in any case. Note that ffmpeg will transfer tags upon conversion in the usual way (to APEv2 when encoding), but the reference encoder/decoder does not know tags in WAVE.&lt;br /&gt;
* Its unique feature &amp;amp;ndash; password protection &amp;amp;ndash; seems to be unsupported in &#039;&#039;players&#039;&#039;, save for invoking ffplay from a command-line with the password typed in.&lt;br /&gt;
* Just as the lack of options might be useful in specialized applications, other users will find it a limitation.  However, one may argue that by 2023, performance differences are less of an issue even if there is no way to speed up neither encoding nor decoding (which takes even more CPU power than encoding). Power users can compile from the 3rd party rewrite.&lt;br /&gt;
* Like most lossless formats, TTA has no functionality for hybrid lossless/lossy encoding. For TTA, there is also no way (for power users!) to hack a hybrid solution by way of [[LossyWAV]].&lt;br /&gt;
&lt;br /&gt;
Hardware support is limited outside [[Rockbox]].  A few hardware players with TTA support have been around over the years&amp;lt;ref&amp;gt;http://tausoft.org/wiki/True_Audio_Codec_Support&amp;lt;/ref&amp;gt; until Cowon left the hardware player market.  However the distinction between &amp;amp;laquo;hardware&amp;amp;raquo; and &amp;amp;laquo;software&amp;amp;raquo; support is arguably less clear with ffmpeg-based players on smart devices.  &lt;br /&gt;
&lt;br /&gt;
==Using TTA [missing: info about DirectShow] ==&lt;br /&gt;
&#039;&#039;Playback&#039;&#039; should be supported in any ffmpeg-based audio player, and in foobar2000 using foo_input_tta; the version at the foobar2000 website has more features than the TTA developers&#039; decoding component and is also available for 64-bit versions.&lt;br /&gt;
&lt;br /&gt;
Conversion &#039;&#039;from&#039;&#039; TTA losslessly might very well be done with foobar2000: ffmpeg will, upon decoding to WAVE/AIFF, default to 16 bits regardless whether that is a lossy operation. This is not specific to TTA input source, and users should take care before using ffmpeg for lossless conversion of &#039;&#039;anything but&#039;&#039; 16 bits: ffmpeg conversion might require the user to know the bit depth and manually set output accordingly. (As .tta cannot store non-audio chunks from the original uncompressed source, there is no information lost by fb2k/ffmpeg omitting those.)&lt;br /&gt;
&lt;br /&gt;
Conversion &#039;&#039;to&#039;&#039; TTA is arguably best done by ffmpeg: higher channel count and more source formats supported. &lt;br /&gt;
&lt;br /&gt;
For encrypted TTA, ffmpeg will be the tool of choice. Use the &amp;lt;code&amp;gt;-password&amp;lt;/code&amp;gt; switch.&lt;br /&gt;
&lt;br /&gt;
==Links==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
Additional sources:&lt;br /&gt;
* [http://tausoft.org/wiki/True_Audio_Codec_Overview TTA Lossless Audio Codec &amp;amp;ndash; Tau Projects:] Codec overview at the official site.&lt;br /&gt;
* &amp;lt;s&amp;gt;{{wikipedia|TTA (codec)}}&amp;lt;/s&amp;gt; (page deleted)&lt;br /&gt;
* [https://www.foobar2000.org/components/view/foo_input_tta foobar2000 component: Case&#039;s modified foo_input_tta at foobar2000.org]&lt;br /&gt;
* [[Lossless comparison| HA Wiki&#039;s Lossless Codec Comparison]] originally by [[User:Rjamorim|Rjamorim]]&lt;br /&gt;
&lt;br /&gt;
{{navbox audio codecs}}&lt;br /&gt;
&lt;br /&gt;
[[index.php?title=Category:Codecs]]&lt;/div&gt;</summary>
		<author><name>Porcuswiki</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=TTA&amp;diff=38621</id>
		<title>TTA</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=TTA&amp;diff=38621"/>
		<updated>2025-12-19T10:44:39Z</updated>

		<summary type="html">&lt;p&gt;Porcuswiki: Updated info on Case&amp;#039;s foo_input_tta (channel count) and the source code rewrite.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Codec Infobox&lt;br /&gt;
| purpose = &lt;br /&gt;
| name = The True Audio&lt;br /&gt;
| logo = [[File:TTA-logo.png]]&lt;br /&gt;
| type = lossless&lt;br /&gt;
| maintainer = Aleksander Djuric&amp;lt;br/&amp;gt;Pavel Zhilin&amp;lt;br/&amp;gt;Tamir Barak&amp;lt;br/&amp;gt;Noam Koenigstein&amp;lt;br/&amp;gt;Kazuki Oikawa&lt;br /&gt;
| released = TTA 2.3 (Windows version, 2015-02)&lt;br /&gt;
| website = [http://tausoft.org/wiki/True_Audio_Codec_Overview tausoft.org]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The True Audio&#039;&#039;&#039; (&#039;&#039;&#039;TTA&#039;&#039;&#039;)  is a [[lossless]] audio [[codec]].  It is distributed as a free open-source (GPL/LGPL) encoder/decoder and library for several operating systems, and with DirectShow filters and plugins for several audio players, including [[foobar2000]].  &lt;br /&gt;
&lt;br /&gt;
The project itself might be abandoned, but a 3rd party source code rewrite appeared in 2023&amp;lt;ref&amp;gt;[https://github.com/stseelig/libttaR Github home of the 3rd party rewrite]&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;[https://hydrogenaud.io/index.php/topic,125048.0.html Hydrogenaudio forum post (2023) on codec rewrite]&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;[https://hydrogenaud.io/index.php/topic,125143.0.html Hydrogenaudio forum post (2023) on codec rewrite (library)] &amp;lt;/ref&amp;gt;. The codec sometimes identifies itself as &amp;quot;TTA1&amp;quot;, and an announced development of a &amp;quot;TTA2&amp;quot; format has passed with no known updates since 2010.&amp;lt;ref&amp;gt;[https://web.archive.org/web/20100727022032/http://en.true-audio.com:80/TTA_Lossless_Audio_Codec_-_Format_Description Format description], archived 2010-07-27&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
TTA has a couple of unique properties: one is encryption with password protection, and that the encoded audio bitstream is uniquely determined by the signal (and if applicable, the password) &amp;amp;ndash; not counting the metadata. That is, &#039;&#039;one single setting&#039;&#039; with no encoding options for heavier / lighter compression / CPU load.  This property, that &amp;quot;to each audio signal there is a unique TTA encode&amp;quot;  has seen some appeal in certain applications, outside which TTA seems to have a limited userbase. &lt;br /&gt;
&lt;br /&gt;
Performance-wise, TTA has been measured around [[WavPack]] between default and &amp;lt;code&amp;gt;-h&amp;lt;/code&amp;gt; on CD audio signals&amp;lt;ref&amp;gt;[http://audiograaf.nl/downloads.html Martijn van Beurden&#039;s comprehensive lossless comparison, version 6, 2023]&amp;lt;/ref&amp;gt; &amp;amp;ndash; putting it on what traditionally has been considered on the &#039;&#039;fast encoder&#039;&#039; side rather than the &#039;&#039;heavy compression&#039;&#039; ([[Monkey&#039;s Audio]]/[[OptimFROG]]) side.  In the most recent edition of the comparison, two codecs ([[TAK]] and, narrowly, [[FLAC]] after its recent performance improvements) could beat TTA simultaneously on all three tested parameters (encoding speed, decoding speed and file size) on the average signal tested. The 3rd party reimplementation claims to be significantly faster&amp;lt;ref&amp;gt;[https://gist.github.com/stseelig/0b9afe795a547b5798587db996694f97 blog post by the author of the rewrite]&amp;lt;/ref&amp;gt;, at the expense of some overflow checks, but does not provide executables.   &lt;br /&gt;
&lt;br /&gt;
FFmpeg offers a third-party implementation which can encode and decode to higher channel count and accepts more input files than the official Windows encoder can do.  Also the foobar2000 component at foobar2000.org implements more features (including higher channel count) than the official version.  This wiki article aims at describing the features and limitations in the available end-user applications, rather than what the TTA &#039;&#039;format&#039;&#039; might accommodate (but nobody has implemented). &lt;br /&gt;
== Features == &lt;br /&gt;
From an end-user perspective, the following features are quite common among lossless codecs, except for password protection.  Some competing formats are lacking certain of these features, and some are free from certain of the limitations listed.  To compare TTA with other lossless codecs, see [[Lossless comparison| HA Wiki&#039;s Lossless Codec Comparison]].&lt;br /&gt;
&lt;br /&gt;
* Seekable and streaming playback.&lt;br /&gt;
* High-resolution audio support: the format supports 24 bits per sample, at any WAVE sampling rate (integers up to 4 GiHz; although the encoders may stop short of the 4 GiHz mark &amp;amp;ndash; ffmpeg at 2 GiHz &amp;amp;ndash; this limitation is hardly relevant for audio).&lt;br /&gt;
* Multichannel support, however with limitations (see below). Currently the reference encoder supports up to six channels, the ffmpeg implementation supports 16, and the unofficially modified foobar2000 component can handle 256 (tested to 24).&lt;br /&gt;
* Piping support.&lt;br /&gt;
* Tagging (APEv2 or ID3v1/2).&lt;br /&gt;
* Embedded CUE sheets support.&lt;br /&gt;
* Unicode support.&lt;br /&gt;
* Can be used in the [[Matroska]] container.&lt;br /&gt;
* Password-protected encryption.&lt;br /&gt;
&lt;br /&gt;
The lack of encoding options may be a limitation or sometimes considered a feature: a given music signal corresponds to precisely one (unencrypted) TTA bit stream &amp;amp;ndash; no matter whether encoded with the reference encoder or ffmpeg.  Metadata sections may of course differ.&lt;br /&gt;
&lt;br /&gt;
=== Limitations ===&lt;br /&gt;
The following list is in part based on issues revealed by tests in the Hydrogenaudio forums, as per 2022 available implementations &amp;amp;ndash; the 2023 independent rewrite not tested and is known to handle more input files.&lt;br /&gt;
* [https://hydrogenaud.io/index.php/topic,122094 Bad error handling.]&amp;lt;ref&amp;gt;[https://hydrogenaud.io/index.php/topic,122094 HA forum discussion (2022) on codecs&#039; error handling]&amp;lt;/ref&amp;gt; Errors will upon playback lead to full-volume static noise played back, at worst for the rest of the file.  Only the most severe errors seem to be detected by the reference decoder.  Testing reveals that ffmpeg can detect errors the reference decoder cannot, and might drop more defective frames, but ffmpeg might still play back static unmuted.  The lack of (MD5) audio checksum is a more severe shortcoming when the capability to detect errors by other means is so limited; there seems to be no reliable way implemented to scan a collection of files for corruption. (The &#039;&#039;format&#039;&#039; provides block checksums, but they don&#039;t seem to be implemented.)&lt;br /&gt;
* The existing implementations have limitations for non-CDDA signals:&lt;br /&gt;
** Bit depth: The format supports 8, 16 or 24 bit files &amp;amp;ndash; and 8-bit signals are only supported in ffmpeg&#039;s implementation, not in the the reference encoder/decoder (nor the official [[foobar2000]] playback component). Note, some old sources refer to 32-bit (floating-point) support; that was apparently dropped circa 2004, and it is not known how to decode such files, should they even exist. &amp;lt;br/&amp;gt;Non-integer byte depths (say 20 valid bits in a 24-bit WAVE container) are not well supported.  Testing with 20-bit WAVE files has provoked the reference encoder into either of the following three: rejecting the file altogether; producing undecodeable files; silently upconverting to 24 bits, losing any information that it was ever 20 bits (ffmpeg appears to &#039;&#039;always&#039;&#039; do this).  In the latter case, TTA will not compress it well, as it is unable to make use of &amp;quot;wasted bits&amp;quot;: other codecs can detect that bits 21 to 24 are zero and compress a 20-bit signal virtually without penalty.  (See van Beurden&#039;s lossless comparison, section 2.3.)&lt;br /&gt;
** Limitations in multichannel support: Although the TTA &#039;&#039;format&#039;&#039; claims support for up to 65536 channels, no implementation seems to encode to more than 16 (ffmpeg); the reference implementation being capped at 6 also for decoding. The foobar2000 component repository includes a component version that can decode more channels (unlike the component provided by the TTA developers), and that component also honours the [https://docs.microsoft.com/en-us/windows/win32/api/mmreg/ns-mmreg-waveformatextensible WAVEFORMATEXTENSIBLE] tag to interpret what channels are encoded.  This is an unofficial feature; the format itself offers no channel assignment (e.g., if a TTA file has three channels there is no rule to tell whether it is 2.1 or 3.0, and likewise there is no rule to tell whether a five-channel file a 5.0 or a 4.1 &amp;amp;ndash; the component implements support through a tag).  Also, in van Beurden&#039;s comparison, TTA fared worse on multichannel material than on stereo.&lt;br /&gt;
** The reference encoder is picky about input &#039;&#039;files,&#039;&#039; only supporting some versions/generations of the WAVE format (and no other format than WAVE) and requiring workarounds at 2 GiB input size.  Also the reference implementation might truncate too large files. These issues can be circumvented by using ffmpeg instead. &lt;br /&gt;
* Metadata: &lt;br /&gt;
** TTA might be the lossless format most likely to suffer from tagging ambiguity.  While there are other formats which can (like MP3) accommotate both ID3 and APEv2 tags, applications seem to have converged to APEv2 for other lossless formats which accept it, and both ffmpeg&#039;s TTA encoder and [[foobar2000]] will try to enforce APEv2 in TTA.  However, a tagger like [https://en.wikipedia.org/wiki/MusicBrainz_Picard MusicBrainz Picard] will treat TTA files as MP3 files, defaulting to ID3v1&amp;amp;ID3v2.3 while &#039;&#039;ignoring&#039;&#039; any APEv2.  Apparently [[Mp3tag]] will write ID3 to an &#039;&#039;untagged&#039;&#039; .tta file, but ignore ID3 when APEv2 is already present.&lt;br /&gt;
** There is no provision for (R)IFF chunks; i.e. TTA cannot store nor recreate &#039;&#039;non-audio&#039;&#039; chunks of the original file. That means that one limitation of ffmpeg &amp;amp;ndash; that it drops RIFF chunks &amp;amp;ndash; is moot for TTA, which could not store them in any case. Note that ffmpeg will transfer tags upon conversion in the usual way (to APEv2 when encoding), but the reference encoder/decoder does not know tags in WAVE.&lt;br /&gt;
* Its unique feature &amp;amp;ndash; password protection &amp;amp;ndash; seems to be unsupported in &#039;&#039;players&#039;&#039;, save for invoking ffplay from a command-line with the password typed in.&lt;br /&gt;
* Just as the lack of options might be useful in specialized applications, other users will find it a limitation.  However, one may argue that by 2023, performance differences are less of an issue even if there is no way to speed up neither encoding nor decoding (which takes even more CPU power than encoding). Power users can compile from the 3rd party rewrite.&lt;br /&gt;
* Like most lossless formats, TTA has no functionality for hybrid lossless/lossy encoding. For TTA, there is also no way (for power users!) to hack a hybrid solution by way of [[LossyWAV]].&lt;br /&gt;
&lt;br /&gt;
Hardware support is limited outside [[Rockbox]].  A few hardware players with TTA support have been around over the years&amp;lt;ref&amp;gt;http://tausoft.org/wiki/True_Audio_Codec_Support&amp;lt;/ref&amp;gt; until Cowon left the hardware player market.  However the distinction between &amp;amp;laquo;hardware&amp;amp;raquo; and &amp;amp;laquo;software&amp;amp;raquo; support is arguably less clear with ffmpeg-based players on smart devices.  &lt;br /&gt;
&lt;br /&gt;
==Using TTA [missing: info about DirectShow] ==&lt;br /&gt;
&#039;&#039;Playback&#039;&#039; should be supported in any ffmpeg-based audio player, and in foobar2000 using foo_input_tta; the version at the foobar2000 website has more features than the TTA developers&#039; decoding component and is also available for 64-bit versions.&lt;br /&gt;
&lt;br /&gt;
Conversion &#039;&#039;from&#039;&#039; TTA losslessly might very well be done with foobar2000: ffmpeg will, upon decoding to WAVE/AIFF, default to 16 bits regardless whether that is a lossy operation. This is not specific to TTA input source, and users should take care before using ffmpeg for lossless conversion of &#039;&#039;anything but&#039;&#039; 16 bits: ffmpeg conversion might require the user to know the bit depth and manually set output accordingly. (As .tta cannot store non-audio chunks from the original uncompressed source, there is no information lost by fb2k/ffmpeg omitting those.)&lt;br /&gt;
&lt;br /&gt;
Conversion &#039;&#039;to&#039;&#039; TTA is arguably best done by ffmpeg: higher channel count and more source formats supported. &lt;br /&gt;
&lt;br /&gt;
For encrypted TTA, ffmpeg will be the tool of choice. Use the &amp;lt;code&amp;gt;-password&amp;lt;/code&amp;gt; switch.&lt;br /&gt;
&lt;br /&gt;
==Links==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
Additional sources:&lt;br /&gt;
* [http://tausoft.org/wiki/True_Audio_Codec_Overview TTA Lossless Audio Codec &amp;amp;ndash; Tau Projects:] Codec overview at the official site.&lt;br /&gt;
* &amp;lt;s&amp;gt;{{wikipedia|TTA (codec)}}&amp;lt;/s&amp;gt; (page deleted)&lt;br /&gt;
* [https://www.foobar2000.org/components/view/foo_input_tta foobar2000 component: Case&#039;s modified foo_input_tta at foobar2000.org]&lt;br /&gt;
* [[Lossless comparison| HA Wiki&#039;s Lossless Codec Comparison]] originally by [[User:Rjamorim|Rjamorim]]&lt;br /&gt;
&lt;br /&gt;
{{navbox audio codecs}}&lt;br /&gt;
&lt;br /&gt;
[[index.php?title=Category:Codecs]]&lt;/div&gt;</summary>
		<author><name>Porcuswiki</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=WavPack&amp;diff=38611</id>
		<title>WavPack</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=WavPack&amp;diff=38611"/>
		<updated>2025-10-21T16:33:26Z</updated>

		<summary type="html">&lt;p&gt;Porcuswiki: 5.8 update and some corrections.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Software Infobox&lt;br /&gt;
| name = WavPack&lt;br /&gt;
| logo = [[Image:Wavpacklogo.png|280px|Official WavPack logo]]&lt;br /&gt;
| screenshot =&lt;br /&gt;
| caption = Hybrid Lossless Audio Compression&lt;br /&gt;
| maintainer = David Bryant&lt;br /&gt;
| stable_release = 5.8.0/.1 (2025-01-27/28)&lt;br /&gt;
| operating_system = Windows, MacOSX, Linux/BSD/Unix, ...&lt;br /&gt;
| use = Encoder/Decoder&lt;br /&gt;
| license = BSD license&lt;br /&gt;
| website = http://www.wavpack.com/&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;WavPack&#039;&#039;&#039; (pronounced &amp;quot;wave-pack&amp;quot;) is a [[lossless]] audio [[codec]], also offering optionally a [[Hybrid codec| hybrid lossless/lossy]] mode.  It is distributed as a free open-source encoder/decoder with a library and a large number of tools, including a Windows GUI and a range of plugins for both audio players and other software.  Third party implementations are available, including ffmpeg.  WavPack supports and/or can be played back on a large number of platforms/OSes including mobile (Android, iOS), portable ([[Rockbox]]) and even web apps. &lt;br /&gt;
&lt;br /&gt;
WavPack is arguably the most feature-rich lossless compressor, supporting a unique range of audio signals including [https://en.wikipedia.org/wiki/Direct_Stream_Digital Direct-Stream Digital].  Everyday use is supported by a wide range of players and taggers, but &#039;&#039;conversion&#039;&#039; is likely safest done with applications that invoke the official tools (rather than e.g. ffmpeg&#039;s implementation) &amp;amp;ndash; and special features might require the user to apply the WavPack executable directly, for example with drag+drop, see the [[#Using WavPack]] section below.&lt;br /&gt;
&lt;br /&gt;
Performance-wise, WavPack defaults to a fast codec &amp;amp;ndash; less CPU intensive than [[ALAC]], but typically not as fast as [[FLAC]] or [[TAK]], especially in decoding CPU usage.&amp;lt;ref&amp;gt;[http://www.audiograaf.nl/losslesstest Martijn van Beurden: &amp;lt;em&amp;gt;Lossless audio codec comparison archive&amp;lt;/em&amp;gt;], all comparisons in this wiki article consistent with CDDA results up to revision 6, 2023, using WavPack 5.6.0.&amp;lt;/ref&amp;gt; In the age of low-power portable Rockbox-equipped players, WavPack could be seen as a reasonable middle ground between FLAC&#039;s low CPU footprint and long battery life, and the smaller files but more CPU-intensive [[Monkey&#039;s Audio]]&amp;lt;ref&amp;gt;[https://www.rockbox.org/wiki/CodecPerformanceComparison CodecPerformanceComparison] at the Rockbox wiki&amp;lt;/ref&amp;gt; &amp;amp;ndash; invoking WavPacks high mode and extra compression that would compress to smaller sizes than FLAC.&lt;br /&gt;
&lt;br /&gt;
WavPack has inspired other codecs&amp;lt;ref&amp;gt;Monkey&#039;s Audio historical FAQ {{webarchive|http://web.archive.org/web/20001017210206/http://www.monkeysaudio.com/faq.html|2000-10-17}}&amp;lt;/ref&amp;gt; and their features&amp;lt;ref&amp;gt;[http://losslessaudio.org/DualStream.php OptimFROG&#039;s &amp;quot;DualStream&amp;quot;] hybrid encoding &amp;amp;ndash; apparently WavPack coined this phrase&amp;lt;/ref&amp;gt;.  For more on WavPack, including on its history and technology, see the [https://en.wikipedia.org/wiki/WavPack Wikipedia entry].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Features =&lt;br /&gt;
For an end-user considering WavPack as audio format, its feature-richness might be the big selling point.  WavPack supports pretty much all the more common features noted at [[Lossless comparison| HA Wiki&#039;s Lossless Codec Comparison]] as in the following first list, but several users might consider the more unique features listed under the subsequent headline.&lt;br /&gt;
&lt;br /&gt;
* Seekable and streaming playback.&lt;br /&gt;
* Error handling: upon playback, it will detect and report corrupted frames, mute to protect against static/noise output, and continue playback.  Since version 5, WavPack can also check for corruption without decoding, hence quicker than any decoding format.  Optional MD5 audio checksum can also be added upon encoding for file fingerprinting. &lt;br /&gt;
* High-resolution audio support (see next headline).&lt;br /&gt;
* Multichannel support: currently capped at 256 channels, supports [https://docs.microsoft.com/en-us/windows/win32/api/mmreg/ns-mmreg-waveformatextensible WAVEFORMATEXTENSIBLE] channel masks.&lt;br /&gt;
* Piping support for encoding, and support for RAW PCM input/output.&lt;br /&gt;
* Non-audio chunks (RIFF and similar) stored; by default, WavPack will not only encode/decode the audio losslessly, but store the non-audio chunks and restore them into a file bit-identical to the original.&lt;br /&gt;
* Tagging: APEv2. (ID3v1 is possible, but not advisable.) &lt;br /&gt;
* Cuesheet support. In practice, some applications handle &#039;&#039;embedded&#039;&#039; cuesheets better in WavPack than in some other formats.&lt;br /&gt;
* Unicode support.&lt;br /&gt;
* Can be used in the [[Matroska]] container. &lt;br /&gt;
* Windows GUI available.&lt;br /&gt;
* Multithreading (from version 5.7.0); a single-threaded compile is available as well.&lt;br /&gt;
&lt;br /&gt;
WavPack also handles bit depths not divisible by 8, e.g. 20-bit audio (found on some DVDs).  &lt;br /&gt;
&lt;br /&gt;
== Special/unique features ==&lt;br /&gt;
Most of these features are shared with only a few if any notable codecs, or extend to signal types or file types others do not support (comparisons given).&lt;br /&gt;
* DSD support: can losslessly compress Philips DSDIFF and Sony DSF files (see &amp;quot;Using WavPack&amp;quot; below; no other end-user codec compresses DSD.) ID3v2.3/2.4 tags can be imported.  wvunpack can select between DSDIFF and DSF out (i.e. &#039;convert between the two&#039;).  wvunpack can also convert DSD to PCM, but not the other way around. (Lossy, as conversion between PCM and DSD necessarily is.)&lt;br /&gt;
* High-resolution support for bit depth 1-bit to 32-bit integer and sampling rates up to &#039;&#039;giga&#039;&#039;herz range radio frequencies, in integer steps. (2 GHz works although only 1 GHz is officially supported; for more UHF, Monkey&#039;s Audio, OptimFROG and MPEG-4 ALS support the entire WAVE range up to 4 GiHz.) Can also compress &#039;&#039;non-integer sampling rates&#039;&#039; in AIFF/AIFC/CAF (signals the WAVE format cannot contain).   &lt;br /&gt;
* 32-bit &#039;&#039;floating-point&#039;&#039; supported &amp;amp;ndash; also including CoolEdit/Adobe Audition&#039;s own float format (use the &amp;lt;code&amp;gt;-a&amp;lt;/code&amp;gt; option &#039;&#039;only if&#039;&#039; the .wav was generated by CoolEdit/Audition).  (This line like OptimFROG.)&lt;br /&gt;
* As much as 256 channels currently supported (from version 5.5.0 on; [https://github.com/dbry/WavPack/issues/117 can be extended to the thousands] &amp;amp;ndash; more than any codec except MPEG-4 ALS (which is capped at 66536).) &lt;br /&gt;
* Hybrid lossy/lossless mode (can also be used as lossy &amp;amp;ndash; OptimFROG also has such a mode.)&lt;br /&gt;
* Wide selection of supported input/output LPCM formats: WAVE (including the RF64 format extension used for large files and from 5.7.0 also BW64), Wave64 (Sony), AIFF/AIFC (both endiannesses) and CAF (ditto) &amp;amp;ndash; all with full restore of also non-audio parts to bit-by-bit the original file in the original format.  (Monkey&#039;s/OptimFROG/TAK do the same to the input formats they support.)   Also WavPack can handle too large noncompliant &amp;quot;WAVE&amp;quot; files (by default, those will be restored to bit-identical the same as the flawed input file &amp;amp;ndash; optionally one can force output to compliant RF64/W64 files).&lt;br /&gt;
* Recompression: Can recompress .wv files in place, with tag transfer.  (Like the FLAC reference encoder does on .flac files.)&lt;br /&gt;
* Drag and drop support: Dropping a file on to wavpack.exe/wvunpack.exe will encode/decode it to source directory. (Similar to FLAC.)  From 5.5.0, one can also apply options to drag and drop by renaming the executable, and drop several files.&lt;br /&gt;
&lt;br /&gt;
Like FLAC/TAK/OptimFROG, WavPack employs a &amp;quot;wasted bits&amp;quot; strategy to handle cases of &#039;&#039;n &amp;quot;actual bits of signal&amp;quot; zero-padded and stored as N bits&#039;&#039;; such signals can be found in certain DVDs, but also as &amp;quot;fake high resolution&amp;quot; where a 16-bit signal is merely put in a 24-bit file to look impressive.  WavPack handles more &amp;quot;fake high resolution&amp;quot; cases than just zero-padding.  5.7.0 introduces a further improvement to capture similar patterns in 32-bit integer files generated by &amp;quot;naively converting from 32-bit float&amp;quot; – disabled by default and arguably best left to power users. &lt;br /&gt;
&lt;br /&gt;
== Limitations ==&lt;br /&gt;
The following bullet item list is hardly of interest except for special purposes; WavPack supports nearly every input format that any competing codec handles. One exception is the legacy AU/SND, apparently supported only by Monkey&#039;s Audio. &lt;br /&gt;
* DSD: Will reject DST-compressed DSDIFF (which are already compressed heavier than WavPack does) and Wideband Single-bit Data files (apparently, the Tascam and Korg devices which can produce these, can also export to other DSD formats).&amp;lt;br/&amp;gt; Also, DSD files cannot be encoded as hybrid with correction files.&lt;br /&gt;
* 64-bit float is not supported.  (Apparently no other lossless audio compressor can support it either.)&lt;br /&gt;
* wvunpack can &#039;&#039;force output&#039;&#039; to a different format than input, and for AIFF/CAF also select endianness, but it cannot force output to different versions of big-endian AIFF (it will avoid AIFC as long as the signal can be fit in the original AIFF container) nor BW64 &amp;amp;ndash; nor select between WAVE_FORMAT_PCM and WAVE_FORMAT_EXTENSIBLE.  Few other formats do allow for such output selection; reference FLAC can from 1.4.3 offer some wider choices than wvunpack can. &lt;br /&gt;
* Although all non-audio will be &#039;&#039;stored&#039;&#039; and restored, &amp;lt;code&amp;gt;--import-id3&amp;lt;/code&amp;gt; can not &#039;&#039;import&#039;&#039; every type of ID3 tag to APEv2. (5.7.0 and 5.8.0 imports more tag types than previous versions, yet some users might want use use e.g. [[Mp3tag]] to copy over more tags from the original.) Also, unless &amp;lt;code&amp;gt;--allow-huge-tags&amp;lt;/code&amp;gt; is specified, size is limited to 1 MB; older software might not read larger tagsets (but no known &#039;&#039;playback&#039;&#039; incompatibilities are known).&lt;br /&gt;
* Some file formats have features stored in file headers (like loop points, or for AIFF possibly non-integer sampling rates) which will not be &#039;&#039;visible&#039;&#039; to the end-user when trying to play back the .wv file in a typical player. They are nevertheless available to certain audio editing software plugins, and will in any case be restored upon decoding.&lt;br /&gt;
* Some features are unsupported by several applications: in particular, support for correction files is only found in a few players. &lt;br /&gt;
* The most significant third-party implementation (ffmpeg as of version 7.0) has bugs waiting to be fixed. ffmpeg users should upgrade at least to 6.1. &lt;br /&gt;
&lt;br /&gt;
As of 5.5.0 and above, MacOS versions must be built with e.g. HomeBrew. Only the single-core version supports Windows XP. WavPack version 5 discontinues some features, but version 4.80 is still available to convert any version 3.x files that might still exist.&lt;br /&gt;
&lt;br /&gt;
WavPack has traditionally had less hardware support than FLAC ([[Rockbox]] having been the most notable platform, others listed at https://www.wavpack.com/index.html#Hardware ), but with WavPack playback through Android and iOS players, the distinction between &amp;quot;hardware&amp;quot; and &amp;quot;software&amp;quot; is arguably blurred. The Android OS does not &#039;&#039;natively&#039;&#039; support other lossless audio formats than WAVE and FLAC, so there have been issues getting certain Android solutions to recognize other media files including WavPack.&amp;lt;ref&amp;gt;[https://hydrogenaud.io/index.php/topic,122768 HA thread with link to Android bug report by the Monkey&#039;s Audio author]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Information for users of other codecs (and older WavPack) == &lt;br /&gt;
Parts of this section will be less relevant to users who primarily decode and convert through player software, rather than directly invoking the executables.  WavPack is the only &amp;quot;major&amp;quot; lossless encoder with separate executables for encoding (&amp;lt;code&amp;gt;wavpack&amp;lt;/code&amp;gt;) and decoding/info (&amp;lt;code&amp;gt;wvunpack&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
Even for features that are comparable between codecs, they may behave different &amp;amp;ndash; or default to different behaviour &amp;amp;ndash; out of the purpose they were designed to address, their development, or other design choices. &lt;br /&gt;
&lt;br /&gt;
* WavPack is designed as a &#039;&#039;file compressor&#039;&#039; for audio files &amp;amp;ndash; this like Monkey&#039;s, TAK and OptimFROG, but in contrast to FLAC and ALAC which are &#039;&#039;audio compressors&#039;&#039;. The difference is in the ambition to store all non-audio information (and in the correct order).  Using reference FLAC one might &amp;quot;opt in&amp;quot; on non-audio parts by giving options; using WavPack one can &amp;quot;opt out&amp;quot; and discard this information.&lt;br /&gt;
** &#039;&#039;This difference is irrelevant for CD ripping.&#039;&#039; Contrary to a common misconception, CD audio is &#039;&#039;not&#039;&#039; stored as WAVE &amp;amp;ndash; nor in any sort of file.  Thus, using a file compressor gives no more &amp;quot;true&amp;quot; copy of a CD.  (WavPack&#039;s support for embedded cuesheets might &amp;amp;ndash; depending on player application &amp;amp;ndash; give a better user experience for those who prefer to store one file per CD, but that is not due to how CDs work.)&lt;br /&gt;
* MD5 is opt-in (the &amp;lt;code&amp;gt;-m&amp;lt;/code&amp;gt; switch) &amp;amp;ndash; even if verification is requested and the MD5 is calculated, it is only written to file if specifically requested. TAK and OptimFROG work similarly in that they also require the user to opt-in on MD5. FLAC, ALAC and Monkey&#039;s all work different: FLAC includes MD5 (though some encoders make exceptions under some circumstance), ALAC has nothing such &amp;amp;ndash; and Monkey&#039;s MD5s are not comparable with others, as it hashes the encoded bitstream.  &lt;br /&gt;
** Also, WavPack computes MD5 using the source&#039;s endianness (endianness is like the distinction between &amp;quot;4th of July&amp;quot; and &amp;quot;July 4th&amp;quot;), and so MD5s may differ between WAVE source and AIFF/CAF source for the same audio.  (At least a recent foobar2000 will handle them without giving false warnings.)&lt;br /&gt;
* Like Monkey&#039;s/TAK/OptimFROG &amp;amp;ndash; but unlike FLAC and ALAC-in-MP4 &amp;amp;ndash; tags are at the end of the file.  Consequences for users are that retagging will not trigger full file rewrite, but sometimes applications may spend longer time displaying art and viewing tags.&lt;br /&gt;
* Users of &amp;quot;older WavPack&amp;quot; might take note that version 5 discontinues some features, like &amp;lt;code&amp;gt;-p&amp;lt;/code&amp;gt;, and also the &amp;lt;code&amp;gt;-e&amp;lt;/code&amp;gt; for self-extracting files &amp;amp;ndash; those and other older files can still be converted, but the ancient WavPack 3 with .wav extension requires version 4.80.0 (still available). &lt;br /&gt;
** See the [[#File formats, versions, decoding and transcoding support]] section for more details.&lt;br /&gt;
&lt;br /&gt;
=== Performance &amp;amp;ndash; file size, CPU load === &lt;br /&gt;
Rewind twenty years, to 2004 hardware costs, compression ratios did matter much more &amp;amp;ndash; also, several formats would be too heavy to even &#039;&#039;play&#039;&#039; on portable devices, and the official WavPack site would warn against the &amp;lt;code&amp;gt;-hh&amp;lt;/code&amp;gt; mode for that use even if it were not heavier than the fastest Monkey&#039;s Audio mode. &lt;br /&gt;
Fast forward to now, enthusiasts will still compare performance even if ordinary users may take note that impact on cost is often negligible. Different considerations may apply when a drive is near full.  &lt;br /&gt;
The HA wiki&#039;s [[lossless comparison]] article compares speed and compression ratio on CDDA on the respective codecs&#039; &#039;&#039;default&#039;&#039; setting, taken from van Beurden&#039;s comparison studies.  The test corpus is chosen to be a &amp;quot;wide&amp;quot; selection, and most music collections are biased in one direction or another genre-wise; users who are concerned about compression might look up the individual sources in the study and/or make a test sample from their own collection.  By and large, the following observations can be made:&lt;br /&gt;
* WavPack defaults to a fast codec, between FLAC and Monkey&#039;s; is not so heavy on decoding CPU as to cause actual practical problems, although it officially recommends against &amp;lt;code&amp;gt;-hh&amp;lt;/code&amp;gt; &amp;quot;for use on vintage portable devices&amp;quot; &amp;amp;ndash; it should be fine on anything modern.  Even &amp;lt;code&amp;gt;-hh&amp;lt;/code&amp;gt; seems to decode lighter than Monkey&#039;s fastest mode. &lt;br /&gt;
** The &amp;quot;between FLAC and Monkey&#039;s&amp;quot; hold for &amp;quot;default encoding and all decoding&amp;quot;.  Like most modern codecs, WavPack can be set to exert more encoding effort without affecting decoding load: the &amp;lt;code&amp;gt;-x&amp;lt;/code&amp;gt; switch. Thus, decoding for e.g. ReplayGain tagging will be slower than e.g. FLAC in all modes, but faster than Monkey&#039;s &amp;amp;ndash; and recompressing with a slow &amp;lt;code&amp;gt;-x&amp;lt;/code&amp;gt; setting (which can be done in the background) will not make the files any heavier to process later.   (Indeed, &amp;lt;code&amp;gt;-x&amp;lt;/code&amp;gt; sometimes makes decoding lighter, although unlikely to be noticed except by measuring it.)&lt;br /&gt;
** Playback on Android might be less battery efficient than FLAC, which can take advantage of the OS&#039; native support.  The difference is likely small for power-hungry players (like VLC).&lt;br /&gt;
** On the other hand, &#039;&#039;integrity verification&#039;&#039; can be done lightening-fast, without decoding (presuming WavPack 5 file format and WavPack 5 decoder). &lt;br /&gt;
* Compressing CDDA: WavPack can compress to slightly smaller files than (reference) FLAC; the difference has diminished with the most recent FLAC releases, but &amp;quot;in return&amp;quot;, modern CPU speeds might have made the more expensive WavPack settings more tempting, especially when one can re-encode in the background.&lt;br /&gt;
* Compressing high resolution signals and multi-channel: The &amp;quot;extra&amp;quot; resolution might be a mixed bag of upsampling artefacts, tape hiss, sometimes geniune overtones (and for bat enthusiasts, actual interesting audio).  There are different kinds of samples one might call &amp;quot;fake high resolution&amp;quot;, and different properties of such &amp;amp;ndash; upsampling or bit depth &amp;amp;ndash; are handled different by the codecs.  WavPack is known to handle some properties exceptionally well (&amp;quot;wasted bits&amp;quot; are exploited also by FLAC and TAK, but WavPack and OptimFROG are capable of detecting more &amp;quot;wasteful&amp;quot; patterns; Monkey&#039;s and ALAC cannot exploit wasted bits at all) &amp;amp;ndash; and others lesser.  Several codecs benefit from spending more effort on high resolution signals, and WavPack users might consider to (re-) compress high resolution and multi-channel with as slow setting as &amp;lt;code&amp;gt;-hx4&amp;lt;/code&amp;gt;, presuming it can be done as background recompression where time is not much of an object; decoding load is largely unaffected (sometimes slightly improved) by the high &amp;lt;code&amp;gt;-x&amp;lt;/code&amp;gt;. &lt;br /&gt;
** For 32-bit float, there is not much competition, and WavPack might be the natural choice for compatibility; it does outcompress Monkey&#039;s recently-added float mode.  Those files are not very common in the wild, and users with a sizeable collection of 32-bit files for audio processing will likely choose codec for compatibility with their DAW software.  WavPack 5.7.0&#039;s special setting for 32-bit integer converted from 32-bit float might be an option in such situations.  &lt;br /&gt;
* Users who compare nearly tied compression levels between codecs, should take into account how metadata storage affect total file size.  WavPack defaults to storing the source&#039;s metadata, which may include big album art; on the other hand, FLAC defaults to leaving some kilobytes padding in the file.  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Using WavPack =&lt;br /&gt;
Short version is to find a well-equipped player and ditto tagging application. No knowledge of WavPack&#039;s special features is needed for everyday decoding and management, as long as the player/platform supports the format. The hybrid lossless format is not as widely supported. &lt;br /&gt;
As long as full file (non-audio!) restore is not needed, a decent player will also convert LPCM to .wv – but rarely convert DSD.    &lt;br /&gt;
&lt;br /&gt;
Certain more advanced uses are not accessible through player software &amp;amp;ndash; not even if they invoke the official tools &amp;amp;ndash; and are best invoked through the WavPack executables directly.  For example, you cannot expect non-audio data (for full file restore) to be preserved when encoding/decoding through &#039;&#039;players&#039;&#039;, as they usually pass on only the audio; this is not particular to WavPack, but must be expected if you want to store non-audio chunks in other formats that support it.  Also, WavPack supports input formats that might exceed the player&#039;s internal decoding; e.g. trying to convert DSD with foobar2000 will yield a warning that it will not be lossless (also, converting DSD to PCM leads to files many times the size, being inherently different formats), and the same will 32-bit &#039;&#039;integer&#039;&#039; PCM in 32-bit foobar2000 (which uses float internally). Other players might not warn.   &lt;br /&gt;
&lt;br /&gt;
== Encoding/decoding by drag and drop (Windows) == &lt;br /&gt;
The simplest encoding/decoding might be &#039;&#039;dragging and dropping&#039;&#039; a (supported) file to wavpack.exe (/wvunpack.exe).  Then the file will be encoded/decoded with the default options.  Dropping a .wv file onto wavpack.exe will recompress it, prompting before overwrite (again, using default settings &amp;amp;ndash; possibly a bad deal if it was encoded with high &amp;lt;code&amp;gt;-x&amp;lt;/code&amp;gt; switches).  Drag and drop also works on a shortcut to the executable. It is not possible to drop a folder, but from version 5.5.0, there is a way to drag and drop &#039;&#039;several&#039;&#039; files.&lt;br /&gt;
&lt;br /&gt;
From version 5.5.0, drag and drop supports &#039;&#039;options&#039;&#039; by renaming the wavpack/wvunpack executable.  The user can rename a copy of the executable according to preferred settings, which will be applied to the process upon drag and drop.  The example given by the developer in [https://hydrogenaud.io/index.php/topic,122626.msg1012159.html#msg1012159 in this HA forum post]&amp;lt;ref&amp;gt;[https://hydrogenaud.io/index.php/topic,122626.msg1012159.html#msg1012159 HA forum post on how to rename executable for drag and drop]&amp;lt;/ref&amp;gt; uses encoding options that many WavPack users will recommend (better compression than default, verification and MD5 fingerprinting), and novice users can choose to copy that filename for the executable.  For fine-tuning performance or for more specialized tasks, more options are described below. &lt;br /&gt;
&lt;br /&gt;
== Basic command line encoding/decoding [[Windows command line tips|(for Windows: command-line hints here)]] == &lt;br /&gt;
The basic &#039;&#039;encoding&#039;&#039; usage is &amp;lt;code&amp;gt;wavpack filename&amp;lt;/code&amp;gt; (which creates &amp;lt;code&amp;gt;filename.wv&amp;lt;/code&amp;gt;) &amp;amp;ndash; this is what drag and drop accomplishes.  Wildcards are supported, e.g. &amp;lt;code&amp;gt;wavpack *.wav&amp;lt;/code&amp;gt; (but not simply &amp;lt;code&amp;gt;wavpack *&amp;lt;/code&amp;gt;).  For a &#039;&#039;single&#039;&#039; input file, one can specify output like e.g. &amp;lt;code&amp;gt;wavpack infilename.wav -o outfilename.wv&amp;lt;/code&amp;gt; (on Windows, the &amp;lt;code&amp;gt;-o&amp;lt;/code&amp;gt; can be omitted); for multiple input files, &amp;lt;code&amp;gt;-o outputdirectory&amp;lt;/code&amp;gt; will send all the output files to the output directory (or full path, but not UNC path). Input file extension &amp;quot;.wav&amp;quot; can be dropped, and output &amp;quot;.wv&amp;quot; extension as well &amp;amp;ndash; but &amp;lt;code&amp;gt;wavpack foo&amp;lt;/code&amp;gt; will only find foo.wav, not e.g. foo.w64 &amp;amp;ndash; and not a &amp;quot;foo&amp;quot; with no file extension.  (Power users may take note that for &amp;lt;code&amp;gt;--raw-pcm&amp;lt;/code&amp;gt; input, the encoder will not look for foo.wav but rather for foo.raw.)&lt;br /&gt;
&lt;br /&gt;
The basic &#039;&#039;decoding&#039;&#039; usage &amp;amp;ndash; as will be accomplished by drag and drop &amp;amp;ndash; is &amp;lt;code&amp;gt;wvunpack filename.wv&amp;lt;/code&amp;gt;.  By default, wvunpack will restore the exact same file (metadata and file structure and all; it will know the original file name extension but not the rest of the file name &amp;amp;ndash; timestamp can be stored by using &amp;lt;code&amp;gt;-t&amp;lt;/code&amp;gt;.) If only audio was encoded (conversion from a &#039;&#039;player&#039;&#039; would usually work this way), output defaults to filename.wav.  Output filename (or path) can be specified, and just like for the wavpack encoder, file extensions can be dropped; e.g., &amp;lt;code&amp;gt;wvunpack foo -o bar&amp;lt;/code&amp;gt; (or on Windows, dropping the &amp;lt;code&amp;gt;-o&amp;lt;/code&amp;gt;) will decode foo.wv to bar.&amp;lt;original file&#039;s extension&amp;gt;.  This is arguably advisable: wvunpack will not &#039;&#039;override output format&#039;&#039; by setting file extension.  E.g. if the input was a CAF file, &amp;lt;code&amp;gt;wvunpack foo -o bar.w64&amp;lt;/code&amp;gt; is still a CAF file, and the user has only managed to mislead themselves.  To force output format, see the [[#Decoding options]] paragraph.  &lt;br /&gt;
&lt;br /&gt;
=== Several input files ===&lt;br /&gt;
To give several filenames as input to wavpack/wvunpack, other than through wildcards, there are (for historical reasons) slight differences between the Windows version and the *n*xes: &lt;br /&gt;
Windows (requires WavPack 5.5.0): use the &amp;lt;code&amp;gt;--drop&amp;lt;/code&amp;gt; option as in the above example given by the developer.  It is intended for drag and drop (hence the name of the option) and will write the output to same directory as source.  However it can also be used with command-line:  &amp;lt;code&amp;gt;wavpack --drop firstfile secondfile&amp;lt;/code&amp;gt; will compress firstfile.wav to firstfile.wv and secondfile.wav to secondfile.wv.  Note that without the &amp;lt;code&amp;gt;--drop&amp;lt;/code&amp;gt;, the command &amp;lt;code&amp;gt;wavpack firstfile secondfile&amp;lt;/code&amp;gt; will compress firstfile.wav to secondfile.wv, as &amp;lt;code&amp;gt;-o&amp;lt;/code&amp;gt; is optional on Windows &amp;amp;ndash; indeed that is why the &amp;lt;code&amp;gt;--drop&amp;lt;/code&amp;gt; had to be introduced.  An arbitrary number of files can be processed, e.g. &amp;lt;code&amp;gt;wvunpack --drop firstfile secondfile thirdfile fourthfile fifthfile&amp;lt;/code&amp;gt; will decode firstfile.wv, ..., fifthfile.wv.&lt;br /&gt;
For *n*x, one can omit the &amp;lt;code&amp;gt;--drop&amp;lt;/code&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
== Applying options ==&lt;br /&gt;
For tuning performance or other settings, one might want to apply command-line options.  Some external applications can apply options without the user having to type &amp;amp;ndash; e.g. encoding with [[foobar2000]], there are two compression sliders, one for the fast-to-extra-high and one for the &amp;lt;code&amp;gt;-x&amp;lt;/code&amp;gt; settings (see below) &amp;amp;ndash; but for command-line one will have to type them, and also in the Windows GUI.  Options can be concatenated for short, like for example writing &amp;lt;code&amp;gt;-hh -x4 -m -v -y&amp;lt;/code&amp;gt; as &amp;lt;code&amp;gt;-hhx4mvy&amp;lt;/code&amp;gt;.  &lt;br /&gt;
&lt;br /&gt;
The user should beware that the wavpack encoder and the wvunpack decoder (and wvtag/wvgain) have to &amp;quot;re-use letters&amp;quot;.  While some do the same in the wvunpack and wavpack (like &amp;lt;code&amp;gt;-d&amp;lt;/code&amp;gt; for delete input file, &amp;lt;code&amp;gt;-y&amp;lt;/code&amp;gt; for &amp;quot;yes to all&amp;quot;, &amp;lt;code&amp;gt;-t&amp;lt;/code&amp;gt; to preserve timestamp, and &amp;lt;code&amp;gt;-l&amp;lt;/code&amp;gt; for (Windows only) &amp;quot;run with low priority&amp;quot;) and others cover the same purpose in both executables (like &amp;lt;code&amp;gt;-m&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;-v&amp;lt;/code&amp;gt;), the user may be warned that certain letters do not.  E.g. &amp;lt;code&amp;gt;-b&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;-c&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;-n&amp;lt;/code&amp;gt; cover completely urelated functions upon decoding vs upon encoding.  &lt;br /&gt;
&lt;br /&gt;
5.7.0 introduces multi-threading options for both encoding and decoding, invoked with &amp;lt;code&amp;gt;--threads=&amp;lt;number 1 to 12&amp;gt;&amp;lt;/code&amp;gt;, or simply &amp;lt;code&amp;gt;--threads&amp;lt;/code&amp;gt; to let WavPack choose.  Multithreading does not reduce overall CPU load, but unless the CPU is already working at max, it will do one or a few files in fewer seconds.  For encoding, it leads to slightly different files, with usually very small size impact.&lt;br /&gt;
&lt;br /&gt;
* 5.7.0 will single-thread by default &amp;amp;ndash; though the CoolEdit plugin multi-threads by default. &lt;br /&gt;
* From 5.8.0, the normal release will multi-thread by deafult, introducing &amp;lt;code&amp;gt;--no-threads&amp;lt;/code&amp;gt; for single-threaded operation.  Available is a separate executable that does not support multi-threading, for applications that do their own threads management and for Windows XP.  &lt;br /&gt;
&lt;br /&gt;
=== Encoding options (lossless) ===&lt;br /&gt;
Encoding using &amp;lt;code&amp;gt;-hxm&amp;lt;/code&amp;gt; seems a sensible trade-off between compression and CPU load.  Some selected options are described as follows; for an exhaustive refence, see the manual (online, or included as wavpack_doc.html in the distribution).&lt;br /&gt;
* Compression.  WavPack has four compression modes that affect compression as well as encoding &#039;&#039;and&#039;&#039; decoding time: fast (&amp;lt;code&amp;gt;-f&amp;lt;/code&amp;gt;), default, high (&amp;lt;code&amp;gt;-h&amp;lt;/code&amp;gt;) and very high (&amp;lt;code&amp;gt;-hh&amp;lt;/code&amp;gt;).  The CPU load of &amp;lt;code&amp;gt;-hh&amp;lt;/code&amp;gt; is measured to around twice that of &amp;lt;code&amp;gt;-f&amp;lt;/code&amp;gt; (and could in the early 2000s be too heavy for portable players, although it does decode faster than any Monkey&#039;s).  On top these modes, the optional extra processing &amp;lt;code&amp;gt;-x1&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;-x6&amp;lt;/code&amp;gt; settings will apply extra compression effort that does not increase &#039;&#039;decoding&#039;&#039; CPU load. &amp;lt;code&amp;gt;-x&amp;lt;/code&amp;gt; without number is synonymous to &amp;lt;code&amp;gt;-x1&amp;lt;/code&amp;gt;, which is often recommended (in all modes, fast/normal/high/extra high).  The official manual calls &amp;lt;code&amp;gt;-x4&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;-x6&amp;lt;/code&amp;gt; &amp;quot;extremely slow&amp;quot;, but the size gains might be significant for high resolution audio in particular (van Beurden&#039;s revision 5, testing &amp;lt;code&amp;gt;-x4&amp;lt;/code&amp;gt;).  &lt;br /&gt;
** 5.5.0 introduces optional switches for the default compression: &amp;lt;code&amp;gt;-g&amp;lt;/code&amp;gt; for normal mode and &amp;lt;code&amp;gt;-x0&amp;lt;/code&amp;gt; for &amp;quot;no &amp;lt;code&amp;gt;-x&amp;lt;/code&amp;gt;&amp;quot;.  These are redundant for basic use, but can be used to switch off options already given (e.g. in renamed executables, or custom builds): &amp;lt;code&amp;gt;-x6 -x0&amp;lt;/code&amp;gt; will switch off the extra processing, and &amp;lt;code&amp;gt;-h -f -g&amp;lt;/code&amp;gt; will encode as normal, whereas previous versions would abort with an error.&lt;br /&gt;
** With DSD files, there are only two compression settings, normal and high; the option &amp;lt;code&amp;gt;-f&amp;lt;/code&amp;gt; will select normal, &amp;lt;code&amp;gt;-h&amp;lt;/code&amp;gt;/&amp;lt;code&amp;gt;-hh&amp;lt;/code&amp;gt; will both select high, and the &amp;lt;code&amp;gt;-x&amp;lt;/code&amp;gt; switches are silently ignored. &lt;br /&gt;
* Guarding against errors upon encoding: The &amp;quot;&amp;lt;code&amp;gt;-m&amp;lt;/code&amp;gt;&amp;quot; switch will compute an audio MD5 sum (like FLAC does by default) and store it for later verification.  The &amp;quot;&amp;lt;code&amp;gt;-v&amp;lt;/code&amp;gt;&amp;quot; switch will verify by decoding the file after it has been written to disk&amp;lt;ref&amp;gt;[https://hydrogenaud.io/index.php?topic=121714.msg1008108#msg1008108 HA forum comment:] verification checks the written file after closing and reopening&amp;lt;/ref&amp;gt;. &amp;lt;code&amp;gt;-vm&amp;lt;/code&amp;gt; will do both &amp;amp;ndash; that is, calculate the MD5s to verify, and store it.  Using the corresponding switches in wvunpack will check without producing output file, however wvunpack also has a faster corruption check for WavPack 5-encoded files: &amp;lt;code&amp;gt;-vv&amp;lt;/code&amp;gt;.&lt;br /&gt;
* &amp;lt;code&amp;gt;--import-id3&amp;lt;/code&amp;gt; will import ID3v2.3/2.4 tags present in the source file &amp;amp;ndash; typically in Sony DSF files &amp;amp;ndash; and convert them to WavPack&#039;s preferred APE tags.  (Not all tags are supported, but the full tags chunk will be kept for restoring the original file.)  By default, importing is limited to 1 MB; for more, use &amp;lt;code&amp;gt;--allow-huge-tags&amp;lt;/code&amp;gt;.  Same option works in wvtag; indeed, one can encode first and then afterwards &amp;quot;import&amp;quot; the tags from the WavPack file using &amp;lt;code&amp;gt;wvtag --import-id3 wavpackfile.wv&amp;lt;/code&amp;gt;; this provided that these data have not been deleted by the following &amp;lt;code&amp;gt;-r&amp;lt;/code&amp;gt; option: &lt;br /&gt;
* &amp;lt;code&amp;gt;-r&amp;lt;/code&amp;gt;: remove non-audio chunks.  By default, WavPack will store these in the .wv file for later bit-by-bit restoration of everything, not only the audio. Use &amp;lt;code&amp;gt;-r&amp;lt;/code&amp;gt; to throw them away and encode audio only &amp;amp;ndash; like encoding through most players appear to do. &lt;br /&gt;
* &amp;lt;code&amp;gt;-t&amp;lt;/code&amp;gt;: copy input file&#039;s time stamp.  (To restore the file with the original time stamp, use &amp;lt;code&amp;gt;-t&amp;lt;/code&amp;gt; both when encoding and when decoding.)&lt;br /&gt;
* &amp;lt;code&amp;gt;--pause&amp;lt;/code&amp;gt;: (Windows only!) waits for keypress at the end.  Useful for reading output before exit when calling wavpack/wvunpack in a separate window (which both drag-and-drop the Windows front-end do).&lt;br /&gt;
* &amp;lt;code&amp;gt;-d&amp;lt;/code&amp;gt;: delete source file upon successful completion.  Use with caution.&lt;br /&gt;
* &amp;lt;code&amp;gt;-y&amp;lt;/code&amp;gt;: &amp;quot;yes&amp;quot; to everything. Use with caution, &#039;&#039;will overwrite&#039;&#039;.  &lt;br /&gt;
* &amp;lt;code&amp;gt;--no-overwrite&amp;lt;/code&amp;gt; (from 5.5.0): will skip existing files instead of asking to overwrite.&lt;br /&gt;
* &amp;lt;code&amp;gt;-l&amp;lt;/code&amp;gt; will force WavPack to run at low priority (Windows only)&lt;br /&gt;
* &amp;lt;code&amp;gt;--optimize-int32&amp;lt;/code&amp;gt;: this is a special switch to improve compression of 32-bit integer PCM that was &amp;quot;naively converted from 32-bit float&amp;quot;. Only 5.7.0 can decode this as lossless; to earlier versions and players they will be presented as lossy without correction file (and will indeed be lossy with differences around -138 dB down).&lt;br /&gt;
* &amp;lt;code&amp;gt;-c&amp;lt;/code&amp;gt;: this is for hybrid lossless, see below.&lt;br /&gt;
&lt;br /&gt;
WavPack can recompress .wv files in place (using a temporary file until done).  For example, &amp;lt;code&amp;gt;wavpack -hx4mvy wavpackfile.wv&amp;lt;/code&amp;gt; will compress wavpackfile.wv in high mode using &amp;lt;code&amp;gt;-x4&amp;lt;/code&amp;gt; extra processing, writing everything (and an audio MD5 checksum) to a temporary file with tags transferred; close and then re-open the temp file to re-read for verification &amp;amp;ndash; and only once verified, replace the old wavpackfile.wv. &amp;lt;code&amp;gt;wavpack -hx4rlmvy wavpackfile.wv&amp;lt;/code&amp;gt; will also run with low priority (assuming the Windows platform), and will discard non-audio chunks &amp;amp;ndash; that is, the ones used to restore the original file&#039;s metadata; the .wv file&#039;s APE tags will still be copied.  Some operations do require recompression even if the user would not demand it; For example, wavpack cannot add MD5 sum to a .wv file without recompressing it. Also, if the user wants to discard the original file&#039;s headers/footers, that can be done upon decompression or recompression &amp;amp;ndash; but not by simply removing them from the .wv file. &lt;br /&gt;
There is no out-of-the-box facility to recompress based on how heavy the original file was compressed, or to keep the smallest file. &lt;br /&gt;
&lt;br /&gt;
=== (Incomplete:) hybrid lossless &amp;amp; lossy encoding ===&lt;br /&gt;
(Needs to be expanded. Notes: DSD can currently not be hybrid-encoded and floating-point files should not be.  The correction file will be omitted by a lot of applications/players, including VLC, mplayer and ffmpeg; thus, using ffmpeg or ffmpeg-based players to convert/play hybrid-encoded WavPack will be lossy. For WavPack in Matroska, there doesn&#039;t seem to be any player that will play both the lossy stream and the correction stream, although mkvmerge/mkvextract will import/extract both streams. foobar2000 can play hybrid lossless .wv+.wvc, but will omit a Matroska-encapsulated correction stream.)&lt;br /&gt;
&lt;br /&gt;
Basic use: the &amp;lt;code&amp;gt;-b&amp;lt;/code&amp;gt; switch &amp;amp;ndash; and for losslessness, use &amp;lt;code&amp;gt;-c&amp;lt;/code&amp;gt; to create a correction file. &lt;br /&gt;
A numerical argument for quality is mandatory: if &amp;lt; 24 it will signify &#039;&#039;bits per sample&#039;&#039; and if &amp;gt; 24 it will signify &#039;&#039;kbit/second&#039;&#039;. Decimal separator is . even if your locale uses the comma. &lt;br /&gt;
For example, &amp;lt;code&amp;gt;wavpack -b12.5 filename&amp;lt;/code&amp;gt; will create filename.wv of bit rate 12.5 bits per sample.  &lt;br /&gt;
For an example that creates filename.wv at at most 234.56 kilobits per second and a correction file filename.wvc, the following commands will work:&lt;br /&gt;
* In all versions, &amp;lt;code&amp;gt;wavpack -b234.56 -c filename&amp;lt;/code&amp;gt;. Or equivalently &amp;lt;code&amp;gt;wavpack -cb234.56 filename&amp;lt;/code&amp;gt;&lt;br /&gt;
* From 5.7.0, also &amp;lt;code&amp;gt;wavpack -c234.56 filename&amp;lt;/code&amp;gt; will do the same.  Thus, a user can avoid the &amp;quot;&amp;lt;code&amp;gt;b&amp;lt;/code&amp;gt;&amp;quot; altogether, eliminating the risk of loss from forgetting the &amp;quot;&amp;lt;code&amp;gt;c&amp;lt;/code&amp;gt;&amp;quot;. &lt;br /&gt;
More options can be added, like &amp;lt;code&amp;gt;wavpack -cb234.56 -mhx filename&amp;lt;/code&amp;gt; to compress in high mode with extra processing and stores the (&#039;&#039;original&#039;&#039; PCM&#039;s) MD5 sum.  &lt;br /&gt;
When filename.wv and filename.wvc are both present, the original file will be restored completely by decoding the usual way by &amp;lt;code&amp;gt;wvunpack filename&amp;lt;/code&amp;gt; (or &amp;lt;code&amp;gt;wvunpack filename.wv&amp;lt;/code&amp;gt;, but not &amp;lt;code&amp;gt;wvunpack filename.wvc&amp;lt;/code&amp;gt;).  Playback of the .wv+.wvc is also lossless provided the player application supports correction files (like foobar2000, but few do). &lt;br /&gt;
&amp;lt;code&amp;gt;filename.wv&amp;lt;/code&amp;gt; can be copied to a different location without compression file and played in the same way as if it was encoded as lossy in the first place; the decoder will only look in the same path and for same file name except with .wvc extension. &lt;br /&gt;
&lt;br /&gt;
If a high enough lossy quality is specified, it is possible that the file can losslessly contain the entire signal.  If so, WavPack will report at the end of the encoding process &amp;amp;ndash; but that information is not stored in the file.  It can be inferred later from the small .wvc file, and if that is lost: if &amp;lt;code&amp;gt;-m&amp;lt;/code&amp;gt; was used upon encoding.&lt;br /&gt;
WavPack will refuse to recompress lossy-generated .wv to &amp;quot;lossless .wv&amp;quot; as that would make a false pretense of being a lossless file.  (That goes even in the &amp;quot;that information is not stored in the file&amp;quot; case just mentioned.)  If a lossless hybrid with correction file is recompressed, the default is to create a single-file lossless .wv; from 5.7.0, the old .wvc file will then be removed (as it does no longer belong to any .wv file), but earlier version would need to use the delete switch.&lt;br /&gt;
&lt;br /&gt;
Advanced use: The encoder has several options to tune lossy quality through e.g. noise shaping. &lt;br /&gt;
&lt;br /&gt;
=== Decoding options ===&lt;br /&gt;
In addition to the basic usage above (drag and drop or &amp;lt;code&amp;gt;wvunpack filename.wv&amp;lt;/code&amp;gt;), the wvunpack executable offers several options.  For use with the Windows front-end or drag and drop, the Windows-only &amp;lt;code&amp;gt;--pause&amp;lt;/code&amp;gt; (waits for keypress at the end, like for wavpack.exe) is essential to read the output report.  Also Windows-only options like &amp;lt;code&amp;gt;--drop&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;-l&amp;lt;/code&amp;gt; work as for wavpack.exe. wvunpack also has &amp;lt;code&amp;gt;-t&amp;lt;/code&amp;gt; , &amp;lt;code&amp;gt;-d&amp;lt;/code&amp;gt; (use with caution!) and &amp;lt;code&amp;gt;-y&amp;lt;/code&amp;gt; (ditto!) and from 5.8.0, &amp;lt;code&amp;gt;--no-overwrite&amp;lt;/code&amp;gt; to skip existing files without asking. &lt;br /&gt;
&lt;br /&gt;
* Output &#039;&#039;filename&#039;&#039; can be set with &amp;lt;code&amp;gt;wvunpack infilename.wv -o outfilename &amp;lt;/code&amp;gt; (the &amp;lt;code&amp;gt;-o&amp;lt;/code&amp;gt; being superfluous on Windows, where &amp;amp;ndash; in the absence of &amp;lt;code&amp;gt;--drop&amp;lt;/code&amp;gt; &amp;amp;ndash; the second filename will be assumed to be output name).  Then wvunpack will affix the file extension of the original file (say, outfilename.wav if the wavpacked file was somefilename.wav).  The wavpack encoder detects the file type from content, and so wvunpack will not &amp;quot;fix misleading extensions&amp;quot; automatically; the user can provide a giving full output filename with extension, but note that this will override the &#039;&#039;name&#039;&#039; only but not the &#039;&#039;type&#039;&#039;.  To make sure that -o out.aif indeed produces an AIFF, separate switches have to be employed. &lt;br /&gt;
* To force output &#039;&#039;file format,&#039;&#039; one needs to apply options to wvunpack.  The following are for PCM output: &amp;lt;code&amp;gt;--raw-pcm&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;--wav&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;--w64&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;--caf-be&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;--caf-le&amp;lt;/code&amp;gt;, and from version 5.6.0 on also &amp;lt;code&amp;gt;--aif&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;--aif-le&amp;lt;/code&amp;gt;.  &lt;br /&gt;
** These will delete non-audio chunks and replace them with a fresh file header: there is no option to &amp;quot;unpack to WAVE and restore the original headers if the original file was WAVE&amp;quot;.   &amp;lt;code&amp;gt;wvunpack --wav&amp;lt;/code&amp;gt; will select RF64 if (and only if) exceeding WAVE&#039;s 4 GB limit, and wvunpack will select old AIFF over AIFF-C if the audio data permit it.&lt;br /&gt;
** For DSD, those format switches will also force a &amp;amp;ndash; necessarily lossy &amp;amp;ndash; conversion to PCM.  To switch losslessly &#039;&#039;between&#039;&#039; DSD formats, there are also &amp;lt;code&amp;gt;--dsf&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;--dff&amp;lt;/code&amp;gt; (the latter being synonymous to &amp;lt;code&amp;gt;--dsdiff&amp;lt;/code&amp;gt;) which again delete non-audio chunks.  Note that WavPack cannot force any (also necessarily lossy) conversion &#039;&#039;to&#039;&#039; DSD, having no DSD encoder.&lt;br /&gt;
** &amp;lt;code&amp;gt;--raw&amp;lt;/code&amp;gt; outputs both PCM and DSD as headerless streams (lossless for both; &amp;lt;code&amp;gt;-r&amp;lt;/code&amp;gt; is synonymous; beware that this is not precisely the same as the same letter switch upon encoding)&lt;br /&gt;
&lt;br /&gt;
In addition to decimating DSD for conversion to PCM, there are other options where power users can utilize certain &#039;&#039;lossy&#039;&#039; operations by wvunpack, e.g. normalizing floating-point files (recommended before conversion to integer), dropping correction files from hybrid encodes &amp;amp;ndash; and &amp;lt;code&amp;gt;--skip&amp;lt;/code&amp;gt; and/or &amp;lt;code&amp;gt;--until&amp;lt;/code&amp;gt; to decode only a segment of the file.  See the documentation.  &lt;br /&gt;
Other options include &amp;lt;code&amp;gt;-b&amp;lt;/code&amp;gt; to &amp;quot;blindly&amp;quot; decode until end disregarding errors and corruption (potentially useful to save as much as possible from a destroyed file).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;wvunpack -m&amp;lt;/code&amp;gt; will decode with MD5 sum calculation.  If the .wv file had an MD5 sum stored, it will also be displayed for comparison. However, &amp;lt;code&amp;gt;-m&amp;lt;/code&amp;gt; will not give an error if they don&#039;t match (and if the .wv is lossy without correction file, they won&#039;t: the MD5 stored is that of the original). &lt;br /&gt;
&lt;br /&gt;
wvunpack is also the utility to display information from .wv files even when it does not involve decoding or file output, see the [[#Other file handling]] subsection.  Inter alia, &amp;lt;code&amp;gt; -s&amp;lt;/code&amp;gt; will correctly report the input file &#039;&#039;type&#039;&#039; even if it had a misleading extension (like a .wav extension disguising an AIFF file). &lt;br /&gt;
&lt;br /&gt;
== &amp;lt;span id=&amp;quot;Other file handling&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Other file handling (incomplete) ==&lt;br /&gt;
The WavPack distribution includes wvunpack, wvtag and wvgain.  &lt;br /&gt;
&lt;br /&gt;
=== File information with wvunpack (without decoding to file) === &lt;br /&gt;
wvunpack can get information about WavPack files without outputting any uncompressed audio file:&lt;br /&gt;
* &amp;lt;code&amp;gt;-vv&amp;lt;/code&amp;gt;: Quick verify without decoding (WavPack 5 files only; from 5.5.0 there is also a more verbose &amp;lt;code&amp;gt;-vvv&amp;lt;/code&amp;gt;).  Quick verify seems to be unavailable outside the official wvunpack; other applications which verify will fall back to the next item, &amp;lt;code&amp;gt;-v&amp;lt;/code&amp;gt;. &lt;br /&gt;
* &amp;lt;code&amp;gt;-vm&amp;lt;/code&amp;gt;: Decode and verify, but not write output file.  The &amp;quot;m&amp;quot; will compute the the MD5 sum of the decoded PCM and output it along with the .wv file&#039;s stored MD5, if such was present.  Note that the user has to check manually that they match.  A user who never uses &amp;lt;code&amp;gt;-m&amp;lt;/code&amp;gt; upon encoding can safely drop the &amp;lt;code&amp;gt;-m&amp;lt;/code&amp;gt; from wvunpack too.  Note that absent the &amp;quot;v&amp;quot;, &amp;lt;code&amp;gt;wvunpack -m&amp;lt;/code&amp;gt; will write output file &amp;amp;ndash; and that &amp;lt;code&amp;gt;wvunpack -mvv&amp;lt;/code&amp;gt; is not allowed, as MD5 calculation requires decoding.&lt;br /&gt;
* &amp;lt;code&amp;gt;-s&amp;lt;/code&amp;gt;/&amp;lt;code&amp;gt;-ss&amp;lt;/code&amp;gt;: &amp;lt;code&amp;gt;-s&amp;lt;/code&amp;gt; displays summary of the file, &amp;lt;code&amp;gt;-ss&amp;lt;/code&amp;gt; a long summary including tags. Also there is &amp;lt;code&amp;gt;-f&amp;lt;/code&amp;gt; for parseable output, see documentation.&lt;br /&gt;
* &amp;lt;code&amp;gt;-x&amp;lt;/code&amp;gt; FIELD: Shows tag, e.g. &amp;lt;code&amp;gt; -x comment &amp;lt;/code&amp;gt; shows the &amp;lt;comment&amp;gt; field.  &amp;lt;code&amp;gt;-c&amp;lt;/code&amp;gt; is synonymous to &amp;lt;code&amp;gt; -x cuesheet&amp;lt;/code&amp;gt;.   Also &amp;lt;code&amp;gt; wvtag -x &amp;lt;/code&amp;gt; resp. &amp;lt;code&amp;gt; wvtag -c &amp;lt;/code&amp;gt; do the same thing.  &amp;lt;code&amp;gt;-xx&amp;lt;/code&amp;gt; (same option for wvtag) can output to file (use &amp;lt;code&amp;gt;-n&amp;lt;/code&amp;gt; to avoid decoding) &amp;amp;ndash; see documentation.&lt;br /&gt;
&lt;br /&gt;
=== (To fill in:) Tagging (wvtag) and replaygain management (wvgain) ===&lt;br /&gt;
(... most of these options are available in HA&#039;s fave taggers/player? Except the following, maybe?) &lt;br /&gt;
&amp;lt;code&amp;gt;wvtag --import-id3 wavpackfile.wv&amp;lt;/code&amp;gt; will read and &amp;quot;import&amp;quot; ID3 tag stored in wavpackfile.wv&#039;s non-audio chunks; this will overwrite existing APEv2. Can also be used with &amp;lt;code&amp;gt;--allow-huge-tags&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== File formats, versions, decoding and transcoding support ==&lt;br /&gt;
WavPack has gone to lengths to maintain compatibility, and its design allows old decoders to perfectly restore files they couldn&#039;t generate, to original files they couldn&#039;t themselves read. A TL;DR is that WavPack 5 is needed to decode DSD, and otherwise the most recent version can decode any .wv file; should an ancient WavPack 3 file surface, then WavPack 4.80 (still available) can decode and convert.   &lt;br /&gt;
&lt;br /&gt;
Over the years, one might have encountered WavPack files in (at least) the following variants: &lt;br /&gt;
&lt;br /&gt;
* .wv (current!) is the file extension used for file formats 4 and 5. Can in most cases be decoded by &amp;quot;anything&amp;quot; (even if the source was e.g. AIFF, which old WavPack cannot read but still restore).  Exceptions:&lt;br /&gt;
** WavPack 4 cannot play or restore compressed DSD files (that is new to WavPack 5).  Although FFmpeg&#039;s wavpack implementation is version 4-based, DSD and DSD-in-WavPack can still be &#039;&#039;played&#039;&#039; with an FFmpeg-based player. (But not restored, as FFmpeg has no DSD pipeline, so this is for playback or lossy conversion.)&lt;br /&gt;
** FFmpeg creates non-compliant files for 17 channels and up.  WavPack 5.7.0 and up can decode and repair (FFmpeg itself cannot!)&lt;br /&gt;
** Mono signals encoded to WavPack 5 might require WavPack version 4.3 (from 2005) or later to play.  It is doubtful that there are hardware players around using older WavPack; should incompatibilities occur, the easiest is likely then to recompress using 4.80.&lt;br /&gt;
** To older WavPack versions than 5.7.0, encodes with the new &amp;lt;code&amp;gt;--optimize-int32&amp;lt;/code&amp;gt; will be viewed as &amp;quot;lossy without correction file&amp;quot;.  They are safe to play (and will apparently only introduce loss from the 24th bit, -138 dB down), but only 5.7.0 can see the lossless version and restore the file completely.&lt;br /&gt;
* .wvc, correction files when hybrid lossless encoding is chosen.  Honoured by official WavPack, but users might note that wvpack/wvunpack should be fed the .wv file and will err out if pointed at merely the .wvc file.&lt;br /&gt;
* .exe (deprecated): WavPack 4 could compress to Windows self-extracting file (like OptimFROG also offers).  This feature is discontinued in WavPack 5.  Newer versions of the decoder can still play and decode them &amp;amp;ndash; indeed, merely renaming them from .exe to .wv will make them play in players that use the official WavPack library (e.g. foobar2000 will, but VLC will not), and they can be tagged.&lt;br /&gt;
** How to recompress with tag transfer: Rename to .wv and run the recompression.&lt;br /&gt;
** Similar goes for the 3rd party hack &amp;quot;.iso.wv&amp;quot; which could also be mentioned, and also if a .wv file is stored (uncompressed!) in a .zip container renamed .zip.wv: like for self-extracting files, the official decoder might look further into a file to find WavPack headers, and could find them if the .wv file is put first in an uncompressed container.  Circa 2010 some developer would use the .iso format to contain single WavPack file, and then auxiliary files like rip logs and artwork; renaming it from .iso to .iso.wv would player applications actually play it. Due to efforts from a few enthusiasts when this hack was introduced, iso.wv is mentioned in several players&#039; official and unofficial feature lists, including Wikipedia pages.  These files can be recompressed like the self-extracting files can &amp;amp;ndash; this will however discard &#039;&#039;everything else&#039;&#039; than the WavPack file.&lt;br /&gt;
* .wav (pre-2004, long deprecated).  WavPack 3 and below used the .wav extension, which explains the error message &amp;quot;this legacy WavPack file is deprecated, use version 4.80.0 to transcode&amp;quot; if a user tries to wv&#039;&#039;un&#039;&#039;pack a WAVE file.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Using WavPack with 3rd party tools (FFmpeg &amp;amp; more) =&lt;br /&gt;
&lt;br /&gt;
Some applications may behave slightly surprising.  FFmpeg has its own WavPack implementation and has a few known peculiarities, some which are expected to be fixed and others of unknown status.  Android users may need to use the player application&#039;s folder to get WavPack files recognized.  The tl;dr are that as long as it plays, it plays &amp;amp;ndash; but to safeguard against loss of information (e.g. upon conversion), use the official tools.  In particular, hybrid lossless correction files are usually not honoured by 3rd party tools. (A player that &#039;&#039;does&#039;&#039;, foobar2000, uses the official WavPack libraries.)&lt;br /&gt;
&lt;br /&gt;
== Splitting WavPack files by cuesheet ==&lt;br /&gt;
WavPack is a format with good support for storing an album as one .wv file with embedded (or external) cuesheets, but splitting into tracks by way of cuesheets is not straightforward without external tools.  Audio players like [[foobar2000]] which support cue sheets can also split upon conversion.  Other external applications that will do this splitting &amp;amp;ndash; also with more variations of the cue sheet format(s) supported &amp;amp;ndash; include&lt;br /&gt;
* [[CUETools]] can if it is CDDA (44.1 kHz 16-bit stereo), and can re-encode back to WavPack.  &lt;br /&gt;
* refalac can decode &amp;amp; split by cuesheets with the appropriate (official) WavPack library DLL file&amp;lt;ref&amp;gt;[https://github.com/nu774/qaac/wiki/refalac-usage refalac usage] includes how to split by cuesheet&amp;lt;/ref&amp;gt;, outputting WAVE (/RF64) or ALAC-in-MP4.&lt;br /&gt;
Both refalac, CUETools and foobar2000 use the official WavPack tools for the decoding(/encoding). &lt;br /&gt;
&lt;br /&gt;
== &amp;lt;span id=&amp;quot;FFmpeg&#039;s WavPack implementation&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;FFmpeg&#039;s WavPack implementation: differences and quirks ==&lt;br /&gt;
FFmpeg can encode/decode to/from WavPack &amp;amp;ndash; which may be seen as attractive from how it also can transfer metadata in one go &amp;amp;ndash; but with some limitations and maybe unfamiliar behaviour.  &amp;lt;br/&amp;gt; FFmpeg has had some bugs which may cause audio corruption.  Although some fixes were applied with FFmpeg release 6.1, users might beware that players and converters that employ FFmpeg as a decoding engine may or may not update that quickly. &lt;br /&gt;
* [Still not fixed as of ffmpeg 6.1] Encoding, multi-channel only: Above 16 channels, when the WavPack 5 format is required, FFmpeg will still attempt encoding to WavPack version 4, but will produce non-compliant files &amp;amp;ndash; that ffmpeg itself might not be able to read.&amp;lt;br/&amp;gt;Official WavPack 5.7.0 can repair those files, at least the &amp;quot;known&amp;quot; defects. &lt;br /&gt;
* [Fixed in ffmpeg 6.1] Encoding, 8-bit PCM only: FFmpeg (up to 6.0) will produce broken files with static noise.  No known attempt at recovering them.&lt;br /&gt;
* [Fixed in ffmpeg 6.1] Decoding, any format but rare: A bug FFmpeg&#039;s WavPack decoder, discovered in August 2022&amp;lt;ref&amp;gt;[https://hydrogenaud.io/index.php/topic,122810 HA forum thread on the ffmpeg bug in .wv decoding]&amp;lt;/ref&amp;gt;, will cause dropouts in certain files. The bug is &#039;&#039;&amp;quot;rare&amp;quot;&#039;&#039; in that no such file was discovered in several years.  &lt;br /&gt;
&lt;br /&gt;
Further limitations in FFmpeg&#039;s implementation:&lt;br /&gt;
* No MD5 sum and no verification &amp;amp;ndash; although it is possible for power users to set up a command-line to compute audio-only checksums of input, decode output to checksum and compare.  FFmpeg will also only write WavPack 4 files, hence no &#039;&#039;fast verification&#039;&#039; of the bitstream.  (FFmpeg can however decode WavPack 5 files, including converting DSD files to PCM.)&lt;br /&gt;
* As a general rule &amp;amp;ndash; not specific to .wv &amp;amp;ndash; FFmpeg will &#039;&#039;not&#039;&#039; honour the input bit depth: for example when outputting WAVE/AIFF, it will default to 16 bits regardless of input bit depth.  This default behaviour is not lossless when input bit depth is &amp;gt; 16 bits, and could even induce clipping (with no warning!) if the source is a 32-bit float.  To force lossless decoding of 24-bit/32-bit files (WavPack/FLAC/ALAC/TAK/uncompressed) to WAVE/AIFF, the user must extract the bit depth information and specify the respective 24-bit/32-bit output format using ffmpeg&#039;s command-line syntax. &amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;For an extreme example: &amp;lt;code&amp;gt;FFmpeg -i DSDfile.dsf outfile.wv&amp;lt;/code&amp;gt; will not store the DSD &amp;amp;ndash; rather it will convert to floating-point PCM which is then compressed, typically making for several times the file size, with no warning that it is lossy.&amp;lt;br/&amp;gt;&lt;br /&gt;
The tl;dr for users who do not have this at their fingertips, is to use other (= official!) decoders when losslessness is desired.&lt;br /&gt;
* Correction files ignored, leading to lossy playback/conversion of hybrid-encoded WavPack files with when ffmpeg or ffmpeg-based players are used. &lt;br /&gt;
* Loss of information that is not directly audio-related: FFmpeg has no ambition of preserving file structure and (R)IFF chunks, so you will not get the non-audio chunks of the files back when using ffmpeg to encode &amp;amp;ndash; however it &#039;&#039;will&#039;&#039; by default transfer metadata it supports. &lt;br /&gt;
* FFmpeg will sometimes &amp;amp;ndash; depending on input format &amp;amp;ndash; output 32-bit WavPack files and lose the information that the source was indeed only 24. Not all players support 32-bit files, and verifying that the operation (or an attempted downconversion to 24) was lossless is not straightforward as even fewer applications are willing to compare a 32-bit and a 24-bit file for differences. &amp;lt;br/&amp;gt;Also for files with bit depth not being 8/16/24/32 is lost; WAVE/AIFF/CAF can handle &amp;quot;17 bit&amp;quot; files by storing 24 and employing a flag to disregard the 7 LSBs, and ffmpeg will lose this flag even when encoding to / decoding from codecs which support it, WavPack and FLAC. &lt;br /&gt;
&lt;br /&gt;
FFmpeg&#039;s compression settings can be set with &amp;lt;code&amp;gt;-compression_level&amp;lt;/code&amp;gt; 0 to 8, which work different than the reference implementation. Like for ALAC compression, FFmpeg has chosen a &#039;&#039;default&#039;&#039; that prioritizes speed over size &amp;lt;ref&amp;gt;[https://hydrogenaud.io/index.php?topic=118278.msg976262#msg976262  HA forum comment comparing the compression presets]&amp;lt;/ref&amp;gt; &amp;amp;ndash; while on the other end, FFmpeg&#039;s WavPack encoder offers settings even slower than &amp;lt;code&amp;gt;-hhx6&amp;lt;/code&amp;gt;. FFmpeg version 7 does some multithreading, although not in the encoding process itself; apparently it offloads the &#039;&#039;input file reading&#039;&#039;, improving speed on single-file encoding.&lt;br /&gt;
&lt;br /&gt;
FFmpeg multithreads decoding, and could be fast.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Software support (&amp;amp; hardware) =&lt;br /&gt;
The following list is unlikely to be complete, and the same goes for the lists https://www.wavpack.com/#Software and https://www.wavpack.com/#Hardware : In the age of Android-powered devices with ffmpeg-based playback, it is not feasible to list all players which can in one way or another play this or that format, nor to distinguish clearly between hardware players and software players.&lt;br /&gt;
&lt;br /&gt;
== Players ==&lt;br /&gt;
* [[foobar2000]] advanced freeware audio player plays/decodes WavPack out of the box on both Windows, MacOS, Android and iOS (Windows: supports encoding if wavpack.exe is installed, and redistributes the official wavpack.exe through its &amp;quot;Free encoder pack&amp;quot; addon for encoding.  With ReplayGain &amp;amp; cuesheets support.) Also [[Boom]] from the same author.&lt;br /&gt;
* [http://www.videolan.org/vlc/download-windows.html VLC] multiplatform media player&lt;br /&gt;
* [http://www.vuplayer.com/vuplayer.php VUPlayer] (official plugin, supports encoding)&lt;br /&gt;
* NullSoft [[Winamp]] (plugin with ReplayGain &amp;amp; Media Library support) and Winamp-compatible players&lt;br /&gt;
* [[Windows Media Player]] and other directshow-based players (MPC, TCMP, RadLight) (with [http://www.hydrogenaudio.org/forums/index.php?showtopic=103693 CoreWavPack] directshow filter)&lt;br /&gt;
* [http://cogosx.sourceforge.net/ Cog] Audio player for MacOS X.&lt;br /&gt;
* [https://wiki.jriver.com/index.php/WavPack JRiver Media Center]&lt;br /&gt;
* [[XMMS]] (with Kuniklo&#039;s plugin)&lt;br /&gt;
* [http://fondriest.frederic.free.fr/realisations/lamip/ LAMIP] (official plugin)&lt;br /&gt;
* [http://mpxplay.sourceforge.net/ MPXplay] for DOS!&lt;br /&gt;
* [http://aqualung.sourceforge.net/ Aqualung] for GNU/Linux&lt;br /&gt;
* Cowon [http://www.jetaudio.com/ JetAudio Player] and CD ripper&lt;br /&gt;
* [http://www.un4seen.com/ XMPlay] Plugin required (WavPack input plugin) and (bass library) to play &#039;.wv&#039; files&lt;br /&gt;
&lt;br /&gt;
== Converters, CD rippers etc. ==&lt;br /&gt;
For conversion (of &#039;&#039;audio&#039;&#039; only), one can use several of the &#039;&#039;players&#039;&#039; listed above, like Cowon JetAudio, foobar2000 and VUplayer &amp;amp;ndash; although some with limitations in the audio pipeline, like for example DSD handling. &amp;lt;br/&amp;gt;&lt;br /&gt;
More software that support conversion to or from WavPack include:&lt;br /&gt;
* Custom [http://www.wavpack.com/WavPack_frontend.zip WavPack frontend] (by Speekenbrink) for Windows.&lt;br /&gt;
* [http://www.dbpoweramp.com/ dBpowerAMP] Music Converter CD ripper/writer / Audio Player / (official addon)&lt;br /&gt;
* [[fre:ac]] multi-platform CD ripper/converter&lt;br /&gt;
* [[Exact Audio Copy]] CD Ripper (guide at this wiki&amp;lt;ref&amp;gt;[[EAC and WavPack| HA Wiki: Configuring EAC and WavPack]]&amp;lt;/ref&amp;gt;)&lt;br /&gt;
* [http://www.nero.com/eng/ Nero]&lt;br /&gt;
* [http://cdexos.sourceforge.net CDex] CD ripper&lt;br /&gt;
* [https://download.cnet.com/Ease-Audio-Converter/3000-2140_4-10390634.html Ease Audio Converter] (Discontinued; shareware / NOT Freeware)&lt;br /&gt;
* [http://media.io/ Media.io Online Audio Converter]&lt;br /&gt;
* [http://www.logipole.com/index.html Konvertor]&lt;br /&gt;
* [http://cuetools.net CUETools] converter and AccurateRip/CTDB checker&lt;br /&gt;
* [https://github.com/nu774/qaac refalac] (user must copy the wavpackdll.dll file to the appropriate directory)&lt;br /&gt;
&lt;br /&gt;
== Taggers and audio info utilities ==&lt;br /&gt;
* [http://www.mp3tag.de/en/index.html Mp3tag] Universal Tag Editor&lt;br /&gt;
* [https://picard.musicbrainz.org/ MusicBrainz Picard] Tagger with audio identification &lt;br /&gt;
* [http://www.jtclipper.eu/thegodfather/ The GodFather] Tagger / Music manager&lt;br /&gt;
* [[Tag.exe|Case&#039;s Tag]] command line tagger&lt;br /&gt;
* [https://mediaarea.net/ MediaInfo]&lt;br /&gt;
* [http://mr-questionman.en.uptodown.com/windows Mr. QuestionMan]&lt;br /&gt;
&lt;br /&gt;
== Audio editors and other tools ==&lt;br /&gt;
* [[Audacity]] has WavPack support (using official libraries) from version 3.2.0 (2022)&amp;lt;ref&amp;gt;[https://github.com/audacity/audacity/releases/tag/Audacity-3.2.0 Audacity 3.2.0 release notes]&amp;lt;/ref&amp;gt;.&lt;br /&gt;
* [[Adobe Audition]] and Cool Edit (filter with 32-bit floats &amp;amp; extra info save support)&lt;br /&gt;
* [https://www.reaper.fm/about.php#technical Reaper] DAW software for Windows / MacOS&lt;br /&gt;
* [https://sourceforge.net/projects/sox/ SoX] can read and write WavPack files.  (Write: limited to &amp;lt;code&amp;gt;-hh&amp;lt;/code&amp;gt; compression, not file format version 5.)&lt;br /&gt;
* [http://www.bunkus.org/videotools/mkvtoolnix/ mkvtoolnix] &amp;amp;ndash; tool to multiplex streams in Matroska container files.&lt;br /&gt;
&#039;&#039;It&#039;s worth mentioning the [[Matroska]] guys decided to concentrate on WavPack as the lossless compressor of choice for their container. Quite an honor... :-)&#039;&#039;&lt;br /&gt;
* [https://support.pkware.com/display/PKSZLU/PKZIP+Toolkit+for+Windows PKWare]&#039;s .zip format compresses audio by WavPack since version 6.3.2 (2007).  Beware that there is no expectation that other decompression software handles these zip files; even if PKWare co-designed the format and PKZip was the original .zip implementation, their subsequent compression methods are outside the ISO/IEC standardized zip format specification. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Links =&lt;br /&gt;
* [http://www.wavpack.com/ Official website]&lt;br /&gt;
* [https://github.com/dbry/WavPack Github repository]&lt;br /&gt;
* [http://www.rarewares.org/lossless.html Unofficial compiles] at RareWares. As of 2023: 5.5.0 for Windows and 4.32 multiplatform&lt;br /&gt;
* [https://en.wikipedia.org/wiki/WavPack WavPack at Wikipedia]&lt;br /&gt;
* [https://wiki.multimedia.cx/index.php/WavPack WavPack at Multimediawiki] (not updated with version 5)&lt;br /&gt;
* [[Lossless comparison| HA Wiki&#039;s Lossless Codec Comparison]] originally by [[User:Rjamorim|Rjamorim]]&lt;br /&gt;
* An older (2005) performance comparison of lossless audio compressors {{webarchive|https://web.archive.org/web/20151027213336/http://members.home.nl/w.speek/comparison.htm|2015-10-27}} by Speek, using WavPack version 4.0 &lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{navbox audio codecs}}&lt;br /&gt;
[[index.php?title=Category:Codecs]]&lt;br /&gt;
[[index.php?title=Category:Lossless]]&lt;/div&gt;</summary>
		<author><name>Porcuswiki</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=FLAC_decoder_testbench&amp;diff=38525</id>
		<title>FLAC decoder testbench</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=FLAC_decoder_testbench&amp;diff=38525"/>
		<updated>2025-08-24T13:54:26Z</updated>

		<summary type="html">&lt;p&gt;Porcuswiki: Newer Quod Libet and with version 7&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;To further the use and development of [[Free Lossless Audio Codec|FLAC]], a testbench containing files with different parameters was constructed. The testbench consists of 64 FLAC files, each one having a different combination of characteristics (like samplerate, bitdepth and number of channels) and FLAC features (like blocksize, maximum partition order, maximum predictor order, maximum predictor precision etc.) However, all combinations fall within the so called subset: a limited set of FLAC parameters that fit in the frame header and are supposed to be &#039;streamable&#039;. Please be aware that certain tested features (such as blocksize 16 or a samplerate of 38457Hz) are pretty much useless in day-to-day usage, and that failure to properly decode such a file is mostly of interest to developers than to users.&lt;br /&gt;
&lt;br /&gt;
The testbench can be [https://drive.google.com/file/d/1ECjkAyqV56xd9IZV-6zccG1Y-iE_hDMj/view?usp=sharing downloaded here (revision 7)] and [https://github.com/ietf-wg-cellar/flac-test-files is maintained here].  It is licensed under [https://creativecommons.org/publicdomain/zero/1.0/ CC0 1.0].&lt;br /&gt;
&lt;br /&gt;
Revision 6 adds four new files (60 to 63); files 1 through 59 are the same as in revision 5. For more information on which file tests what characteristics and features, please refer to the [https://github.com/ietf-wg-cellar/flac-test-files/blob/main/subset/README.txt readme.txt file]. Revision 7 replaces file 63 (which was faulty in revision 6) and adds file 64.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; cellspacing=&amp;quot;2&amp;quot;&lt;br /&gt;
!&lt;br /&gt;
! colspan=&amp;quot;5&amp;quot; | CDDA (44.1kHz/16-bit and less)&lt;br /&gt;
! colspan=&amp;quot;5&amp;quot; | High-res (96kHz/24-bit and more)&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | Multichannel&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; | Metadata&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; | Various&lt;br /&gt;
!&lt;br /&gt;
|-&lt;br /&gt;
!&#039;&#039;&#039;Decoder&#039;&#039;&#039;&lt;br /&gt;
! Block&amp;amp;shy;sizes&lt;br /&gt;
! Features&lt;br /&gt;
! Sample&amp;amp;shy;rates&lt;br /&gt;
! Bit&amp;amp;shy;depths&lt;br /&gt;
! {{tooltip|Var. bl.size|Variable blocksize}}&lt;br /&gt;
! General&lt;br /&gt;
! Block&amp;amp;shy;size&lt;br /&gt;
! Features&lt;br /&gt;
! Sample&amp;amp;shy;rates&lt;br /&gt;
! Bit&amp;amp;shy;depths&lt;br /&gt;
! General&lt;br /&gt;
! Features&lt;br /&gt;
! Missing&lt;br /&gt;
! Extreme&lt;br /&gt;
! MIME&lt;br /&gt;
! Mono&lt;br /&gt;
! Overfl.&lt;br /&gt;
! Zero esc.&lt;br /&gt;
! Remarks&lt;br /&gt;
|-&lt;br /&gt;
! Files in test set&lt;br /&gt;
| 1-10&lt;br /&gt;
| 11-18&lt;br /&gt;
| 19-21&lt;br /&gt;
| 22-23&lt;br /&gt;
| 24-27&lt;br /&gt;
| 28&lt;br /&gt;
| 29-30&lt;br /&gt;
| 31-32,&amp;amp;nbsp;34&lt;br /&gt;
| 33-36&lt;br /&gt;
| 37&lt;br /&gt;
| 38-43&lt;br /&gt;
| 44&lt;br /&gt;
| 45-47&lt;br /&gt;
| 48-55&lt;br /&gt;
| 56-59&lt;br /&gt;
| 60&lt;br /&gt;
| 61-63&lt;br /&gt;
| 64&lt;br /&gt;
|-&lt;br /&gt;
! Albrecht DR 460 C&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|Slightly distorts 34567Hz file (sizzling sound)}}&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|Very low volume on 12 bps file}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; colspan=&amp;quot;5&amp;quot; | {{tooltip|Skips|Skips all high-res files}}&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|Skips 3, 4, 5 channel files, plays back 6, 7 and 8 channel files at high speed (chipmunk audio)}}&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | Skips&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|Skips extremely large seektable, plays silence on other large metadata blocks, plays large cuesheet and repeating vorbiscomment fine}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Skips|Skips with delay of about 10 seconds}}&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Fails|Skips all three files, with a delay of about 10 seconds for the 16-bit file}}&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Skips|Skips with delay of about 10 seconds}}&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
! Android 13&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|Heavy stuttering on blocksize 16}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Skips|Skips all variable blocksize files}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|No sound on 20 bit file}}&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Skips|Skips 3.0, 4.0, 5.0 and 6.1}}&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Skips|File skipped}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|No sound on 20 bit file}}&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|Short bursts of static}}&lt;br /&gt;
| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; | Android 13 with Google Play updates of 1st of Febuary 2023 on Samsung XCover 5&lt;br /&gt;
|-&lt;br /&gt;
! Android 15&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|Heavy stuttering on blocksize 16}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Skips|Skips 12 bit file}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Skips|Skips 384 kHz}}&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Skips|Skips 20 bit file}}&lt;br /&gt;
| style=&amp;quot;background: ;&amp;quot; | {{tooltip|Wrong channel|6.1 misallocates BS SL SR}}&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|Stutters}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Skips|Skips 20 bit file}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; | Android 15 of 2025-08-01 with Google Play system update 2025-07-01, Motorola phone&lt;br /&gt;
|-&lt;br /&gt;
! Chromecast&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|Heavy stutter with blocksize 16}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|Mangles non-standard samplerates}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|Never starts playing on old format blocksize}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|Mangles non-standard samplerates}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Skips|Skips file with avif embedded picture}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Skips|Skips file with 24-bit overflow check}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; | Tested with system firmware 275994 and cast firmware 1.56.275994, testbench revision 7&lt;br /&gt;
|-&lt;br /&gt;
! Citroën DS5&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|Extreme distortion on playback of 8-bit file, 12-bit file is played back too soft}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|20-bit file is played back too soft}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot;    | {{tooltip|Fails|File with large application metadata block results playback of part of another file before playing the proper audio}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot; | {{tooltip|Plays|20-bit file is played back too soft like file 37, but is otherwise OK}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; | Tested with system firmware 7.1.5-r1, model year 2018, testbench revision 7&lt;br /&gt;
|-&lt;br /&gt;
! Cowon iAudio 7&lt;br /&gt;
| style=&amp;quot;background: red;&amp;quot;    | {{tooltip|Freezes|Freezes on blocksizes 254 and 725; skips file with blocksize 1937}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|35467Hz and 39kHz are speeded up; 22050 plays at correct speed}}&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Rejects|All files with bitdepth other than 16 are skipped}}&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Rejects|All files with variable block size are skipped}}&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | Rejects&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | Rejects&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | Rejects&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | Rejects&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | Rejects&lt;br /&gt;
| style=&amp;quot;background: red;&amp;quot;    | {{tooltip|Freezes|3.0 plays as silence, others 16/44 multichannel files make freeze}}&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Rejects|File is skipped}}&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Rejects|File 61 plays normally. Files 62 and 63 are skipped because device doesn&#039;t support FLAC with bitdepth other than 16 at all.}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; | Device doesn&#039;t support FLAC with bitdepth other than 16 and samplerate higher than 44.1 kHz. So actual features of files 45-54 and 62-63 cannot be tested. File 55 plays, but takes long time to start.&lt;br /&gt;
|-&lt;br /&gt;
! Ford SYNC&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Skips|Skips 12 bit per sample file}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Skips|Skips 20 bit per sample file}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | {{tooltip|Plays|Only plays left and right channels, does not downmix}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot;    | {{tooltip|Skips|Files with large seektable are skipped (after long delay) and file with combined extreme metadata causes player to hang, requiring removal of USB stick}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; |  Tested with revision 5, SYNC version 3.3, build 18201_PRODUCT&lt;br /&gt;
|-&lt;br /&gt;
! JVC KD-R871BT&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | Fails&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | Fails&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | Rejects&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: red;&amp;quot;    | Freezes&lt;br /&gt;
| style=&amp;quot;background: red;&amp;quot;    | Reboots&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | Fails&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | Rejects&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; colspan=&amp;quot;2&amp;quot; | Rejects&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | Rejects&lt;br /&gt;
| style=&amp;quot;background: red;&amp;quot;    | Reboots&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | Rejects&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; | Heavy stutter with blocksize 16. Stretches non-standard samplerates. Samplerates above 96kHz, variable blocksize files and multichannel files &#039;not supported&#039;. Freezes on blocksize 16384 and 13456. 192kHz is played back very slow. Skips all multichannel, files with cover image, extreme metadata. Reboot loop on extreme large VORBISCOMMENT&lt;br /&gt;
|-&lt;br /&gt;
! Kenwood KMM-BT304&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | Fails&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | Rejects&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot; | Plays&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | Rejects&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot; | Plays&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | Rejects&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | Rejects&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | Rejects&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot; | Plays&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | Rejects&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | Rejects&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot; | Plays&lt;br /&gt;
| style=&amp;quot;background: red;&amp;quot;    | Reboots&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot; | Plays&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; | File 03 plays extremely noisily, barely recognizable. File 51 produces a &amp;quot;NO DEVICE&amp;quot; error and a reboot. File 54 produces a reboot with no message. These files produce a &amp;quot;NA FILE&amp;quot; error and the player skips to the next: 19 21 24 25 26 27 29 30 31 34 35 36 38 39 40 41 42 43 44 45 46 48 55. (firmware: te1706k.krm from 2020-03-05)&lt;br /&gt;
|-&lt;br /&gt;
! Lenco Xemio-240&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: red;&amp;quot;    | {{tooltip|Freezes|Freezes on non-standard sample rates (34567Hz and 39kHz)}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot;  colspan=&amp;quot;8&amp;quot; | {{tooltip|Rejects|Returns message &#039;File format not supported!&#039;}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | {{tooltip|Plays|Player is unresponsive during loading, which takes a while}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|20 bit and 24 bit files are played back with shorts bursts of loud static}}&lt;br /&gt;
| -&lt;br /&gt;
| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; | Tested with revision 6, firmware version V5.15, dated 2020-04-24&lt;br /&gt;
|-&lt;br /&gt;
! Mazda Connect&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | {{tooltip|Plays|After playing file 27, the unit does not automatically continue playback of the next track}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; | Tested with revision 7, CX-90 MY2024&lt;br /&gt;
|-&lt;br /&gt;
! Onkyo TX-NR686&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|Heavy stutter with blocksize 16}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Rejects|Non-standard sample rates (34567Hz and 39kHz) are skipped}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Rejects|Does not play current format variable blocksize files but does play &#039;pre-2007 format&#039; variable blocksize files}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Rejects|Non-standard sample rates (134560Hz and 384kHz) are skipped}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; colspan=&amp;quot;2&amp;quot; | {{tooltip|Rejects|Does not play 4.0, 5.1 and 7.1 files but does play 5.0 and 6.1 as stereo and 3.0 as 3.1}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: red;&amp;quot;    | {{tooltip|Unresp.|Becomes unresponsive on file with 1000x repeating VORBISCOMMENT}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; | Tested with revision 6, firmware version 1071-4000-1070-0011.&lt;br /&gt;
|-&lt;br /&gt;
! Panasonic TX-60CX750E&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|Non-standard sample rates (34567Hz and 39kHz) are stretched i.e. played at wrong speed}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|Non-standard sample rates (134560Hz and 384kHz) are stretched i.e. played at wrong speed}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | {{tooltip|Plays|Multichannel condensed into 2 channels}}&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|Does not start playing}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|Does not start playing on extremely large vorbiscomment}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| -&lt;br /&gt;
| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; | Based on libFLAC 1.2.1, according to copyright notice. Firmware version 3.228, testbench revision 6&lt;br /&gt;
|-&lt;br /&gt;
! Pioneer BDP-150&lt;br /&gt;
| style=&amp;quot;background: red;&amp;quot;    | {{tooltip|Freezes|Freezes on non-standard blocksizes (16, 254, 725, 1000 and 1937)}}&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|Garbled audio when playing file with LPC with qlp precision of 2}}&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|Stretches non-standard samplerates to 44.1kHz}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: red;&amp;quot;    | {{tooltip|Freezes|Freezes on variable blocksize files with non-standard blocksizes, stutters on variable blocksize files with standard blocksizes}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: red;&amp;quot;    | {{tooltip|Freezes|Freezes on non-standard blocksize (13456)}}&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|Incorrect decoding (clicks) of RICE2 partitions with escape codes}}&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|Stretches non-standard samplerates to 44.1kHz. Stutters on 192kHz with 32th order predictors}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: red;&amp;quot; colspan=&amp;quot;2&amp;quot; | {{tooltip|Freezes|Freezes on files with more than 6 channels}}&lt;br /&gt;
| style=&amp;quot;background: red;&amp;quot;    | {{tooltip|Freezes|Freezes on files with an unknown number of total samples}}&lt;br /&gt;
| style=&amp;quot;background: red;&amp;quot;    | {{tooltip|Freezes|Freezes on files with 1000x repeated vorbiscomments, rejects files with too many seekpoints}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|Plays but skips parts of 24-bit file}}&lt;br /&gt;
| -&lt;br /&gt;
| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; | Firmware v1.08, testbench revision 6&lt;br /&gt;
|-&lt;br /&gt;
! Pioneer DEH-1900UB &lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Skips|Skips non-standard blocksizes (16, 254, 725, 1000 and 1937)}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays &lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Skips|Skips non-standard samplerates}}&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | Skips&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Skips|Skips file 24 and 25}}&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; colspan=&amp;quot;7&amp;quot; | Skips&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Other|Plays, but takes about a minute time to start playing. During this wait, track can be skipped, unit does not become unresponsive}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; | Testbench revision 5&lt;br /&gt;
|-&lt;br /&gt;
! Rockbox&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;  | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;  | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;  | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;  | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;  | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;  | Plays&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot;| {{tooltip|Skips|Skips blocksizes 16384 and 13456}}&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot;| {{tooltip|Skips|Skips file with only 32nd order predictors}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;  | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;  | Plays&lt;br /&gt;
| style=&amp;quot;background: red;&amp;quot; colspan=&amp;quot;2&amp;quot; | {{tooltip|Freezes|Freezes on files with more than 6 channels}}&lt;br /&gt;
| style=&amp;quot;background: red;&amp;quot;   | {{tooltip|Freezes|Crashes on filewith no total number of samples set}}&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot;| {{tooltip|Fails|Plays extremely slowly on file with APPLICATION metadata block}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;  | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|Plays 20-bit and 24-bit file but with loud bursts of static}}&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|PLays, but with short ticks}}&lt;br /&gt;
| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; |  Tested with Rockbox 3.15 (latest stable) on Sansa Fuze with testbench revision 7&lt;br /&gt;
|-&lt;br /&gt;
! Samsung F5100WWB&lt;br /&gt;
| style=&amp;quot;background: red;&amp;quot;    | {{tooltip|Crashes|Freezes on blocksizes 254, 725 and 1000, crashes on blocksize 1937, skips blocksize 16}}&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|Garbled audio when playing file with LPC with qlp precision of 2}}&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|Stretches non-standard samplerates to 44.1kHz}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: red;&amp;quot;    | {{tooltip|Freezes|Freezes on variable blocksize files with non-standard blocksizes, stutters on variable blocksize files with standard blocksizes, rejects CUETools and old format variable blocksize file}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: red;&amp;quot;    | {{tooltip|Skips|Skips non-standard blocksize (13456)}}&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|Mangles file with RICE2 partitions with escape codes}}&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|Stretches non-standard samplerates to 44.1kHz. Mangles 192kHz with 32th order predictors}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: red;&amp;quot; colspan=&amp;quot;2&amp;quot; | {{tooltip|Freezes|Freezes on files with more than 6 channels}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Freezes|Becomes unresponsive on file with 1000x repeating vorbis comment}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|Plays but skips parts of 24-bit file}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; | Testbench revision 7&lt;br /&gt;
|-&lt;br /&gt;
! Sony BDP-1700&lt;br /&gt;
| style=&amp;quot;background: red;&amp;quot;    | {{tooltip|Freezes|Freezes on non-standard blocksizes (254, 725, 1000 and 1937)}}&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|Garbled audio when playing file with LPC with qlp precision of 2}}&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|Stretches non-standard samplerates to 44.1kHz}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: red;&amp;quot;    | {{tooltip|Freezes|Freezes on variable blocksize files with non-standard blocksizes, stutters on variable blocksize files with standard blocksizes}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: red;&amp;quot;    | {{tooltip|Freezes|Freezes on non-standard blocksize (13456)}}&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|Incorrect decoding (clicks) of RICE2 partitions with escape codes}}&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|Stretches non-standard samplerates to 44.1kHz. Stutters on 192kHz with 32th order predictors}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: red;&amp;quot; colspan=&amp;quot;2&amp;quot; | {{tooltip|Freezes|Freezes on files with more than 6 channels}}&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Skips|Skips file with an unknown number of total samples}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|Plays but skips parts of 24-bit file}}&lt;br /&gt;
| -&lt;br /&gt;
| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; | Firmware m30.R.0527, testbench revision 6&lt;br /&gt;
|-&lt;br /&gt;
! Toyota Entune 3.0&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Skips|Skips files with a non-standard samplerate, plays 22050Hz}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Skips|Skips files with a non-standard samplerate (here 134560 and 384000)}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Skips|Skips 6.1 and 7.1}}&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | Skips&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Skips|Skips unknown minimum/maximum framesize}}&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Skips|Skips 51 and 54 with abnormal VORBISCOMMENT}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; | Testbench revision 7&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;20&amp;quot; | Software players&lt;br /&gt;
|-&lt;br /&gt;
! AIMP 5.03 build 2398 (Windows)&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|Stuttering playback}}&lt;br /&gt;
| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; | Testbench revision 7.&lt;br /&gt;
|-&lt;br /&gt;
! Album Player 2.114 (Windows)&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|Gives out error on 12 bit. Only noise on 8 bit.}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Rejects|Gives out error on 20 bit}}&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Rejects|Gives out error on 6.1 and 7.1}}&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Rejects|Gives out error}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Rejects|Gives out error on 20 bit}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; | Testbench revision 7.&lt;br /&gt;
|-&lt;br /&gt;
! Amarok (Windows)&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot;   | {{tooltip|Fails|Plays silence on blocksizes 16, 254, 725, 1000, 1937, 2304. (Could be provoked to play a split second of one.)}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: red;&amp;quot;   | {{tooltip|Crashes|Crashes on 8 bits. And plays silence on 12 bits}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot;   | {{tooltip|Fails|Silence on blocksize 13456}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot;   | {{tooltip|Skips|Skips 384 kHz}}&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot;   | {{tooltip|Fails|Silence on 20 bits}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot;   | {{tooltip|Fails|Silence on 20 bits, like on number 37}}&lt;br /&gt;
| -&lt;br /&gt;
| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; | Amarok version 2.8.0 with testbench revision 5 and 60-63&lt;br /&gt;
|-&lt;br /&gt;
! Cog&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | {{tooltip|Plays|Versions before 1630 will reject the 12 bit file, because they did not properly handle files with bit depths that aren&#039;t a multiple of 8.}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | {{tooltip|Plays|Versions before 1630 will reject this 20 bit file, because they did not properly handle files with bit depths that aren&#039;t a multiple of 8.}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | {{tooltip|Plays|Versions before 1647 will downmix 8 channel files such as test 43 incorrectly, but they will decode properly, and play back properly if the sound output device supports 8 channels directly.}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | {{tooltip|Plays|Versions before 1647 will downmix 8 channel files such as this test incorrectly, but they will decode properly, and play back properly if the sound output device supports 8 channels directly.}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   |{{tooltip|Plays|Versions before 1630 will reject the 20 bit file, because they did not properly handle files with bit depths that aren&#039;t a multiple of 8.}}&lt;br /&gt;
| -&lt;br /&gt;
| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; | version 2169 (2169-gbf54c452) with testbench revision 6&lt;br /&gt;
|-&lt;br /&gt;
! DeaDBeeF 1.9.3 (Windows)&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
|    colspan=&amp;quot;2&amp;quot; | {{tooltip|(not tested - )|Could not test multichannel}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; | deadbeef 1.9.3 [static] [portable].  Testbench revision 7&lt;br /&gt;
|-&lt;br /&gt;
! Exaile (Windows)&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot;    | {{tooltip|Fails|Version 4.1.2 beta1: File 25 Flake smaller blocksize is played back noisy. File 27 old format mutes after a split second. Version 4.1.1: Skips all variable blocksize files, except: stops upon the old format flake 0.11 (but can resume playback on different file)}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| -&lt;br /&gt;
| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; | First tested version 4.1.1  (GStreamer: 1.18.4) with testbench revision 5. Then updated with 4.1.2-beta1 (GStreamer: 1.18.5) for variable blocksize and 60-63&lt;br /&gt;
|-&lt;br /&gt;
! ffplay&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot;   | {{tooltip|Fails|Wrong speed on blocksize 16}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | {{tooltip|Plays|But output channel layout for 6.1 is incorrect: FL,FR,FC,LFE,BL,BR,BC instead of FL,FR,FC,LFE,BC,SL,SR}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | {{tooltip|Plays|Takes about 30 seconds before starts to play file 55}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; | Testbench revision 7. File 03: playback broken in every Windows build tried - from N-108161-gaaf6d85283-20220916 and up to 8.0-full_build-www.gyan.dev &lt;br /&gt;
|-&lt;br /&gt;
! foobar2000 1.6.14 and 2.0 beta 7 [x86]&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | {{tooltip|Plays|Since version 1.6.8}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot; | Plays&lt;br /&gt;
| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; | Testbench revision 7&lt;br /&gt;
|-&lt;br /&gt;
! GoneMAD (Android)&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: red;&amp;quot;    | Crashes&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: red;&amp;quot;    | {{tooltip|Hangs|Hangs on 55. Also unresponsible UI on 51, but plays.}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; | testbench revision 5&lt;br /&gt;
|-&lt;br /&gt;
! JRiver Media Center (Windows 64; portable)&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | {{tooltip|Plays|lowers volume on 12 bit and 8 bit}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | {{tooltip|Plays|lowers volume on 20 bit}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | {{tooltip|Plays|lowers volume on 20 bit}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; | Windows version 31.0.84 64-bit with testbench version 7.1. (Version 28.0.88 would reject number 54.)&lt;br /&gt;
|-&lt;br /&gt;
! Mediamonkey 5&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot;    | {{tooltip|Skips|5.0.4 skips 12-bit file. (Old 5.0.1 crashed.)}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Silence|Plays silence on 20-bit file.}}&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|Only plays first 2 seconds of all spoken multichannel files}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | {{tooltip|Plays|Fixed in 5.0.4. Version 5.0.1 got unresponsive when (and after) playing files with 1000x repeating vorbiscomments}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|Only plays first 2 seconds}}&lt;br /&gt;
| style=&amp;quot;background: red;&amp;quot;    | {{tooltip|Freezes|File 62 most often skipped, but freeze (to be killed with Task Manager) was provoked. Files 61/63 play first 2 seconds)}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; | Updated with version 5.0.4.2690 testing files 60-64 and the ones 5.0.1.2433 failed (22) / froze (54-55) upon testing revision 5.&lt;br /&gt;
|-&lt;br /&gt;
! MacOS&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Skips|Skips blocksize 16 file}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Skips|Skips 8-bit and 12-bit file}}&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Skips|Skips all variable blocksize files}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; | Testbench revision 7, tested with Quicktime and Safari on MacOS 13&lt;br /&gt;
|-&lt;br /&gt;
! Mplayer (Windows)&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|Stuck at beginning of 384 kHz file, but one can skip with arrow button to play last part}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: red;&amp;quot;    | {{tooltip|Unresp.|Took over a minute before starting to playing the &#039;55 - file 48-53 combined.flac&#039;}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|Stutters on 24-bit predictor overflow check}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; | SMPlayer-bundled version Redxii-SVN-r37955-6.2.0 (x86_64) (using ffmpeg N-87137-g6ccd32c367) with testbench revision 5 &amp;amp; files 60-64&lt;br /&gt;
|-&lt;br /&gt;
! mpv&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; | Tested both mpv v0.38.0-633-ge509ec0a for Windows and v0.38.0-432-g112fa549be, testbench revision 7&lt;br /&gt;
|-&lt;br /&gt;
! MusicBee 3.4.8033 (Windows; portable)&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot; | Plays&lt;br /&gt;
| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; | Testbench revision 7. Only tested on headphones, does left/right correctly on multichannel.&lt;br /&gt;
|-&lt;br /&gt;
! Quod Libet (Windows)&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot;    | {{tooltip|Fails|Silence indefinitely on old-format 0.11, and then volume stays off for rest of playlist (but, &amp;quot;restartable&amp;quot;).  Older Quod Libet: chirp sounds.}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot;   | {{tooltip|Skips|Skips 384 kHz}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; | version 4.4.0 (portable version) with testbench revision 5 and 4.5.0 (portable) with revision 6.&lt;br /&gt;
|-&lt;br /&gt;
! Resoniq 0.9.3 (portable, Windows)&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot;   |  {{tooltip|Fails?|Suspicious channel allocation on 6.1 and 7.1. Tested only on stereo set, but side-right not spoken even when side-left is.}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot; | Plays&lt;br /&gt;
| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; | Apparently uses FLAC 1.3.2. Testbench revision 7. &lt;br /&gt;
|-&lt;br /&gt;
! Spotify (Windows)&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Skips|Skips 12 bits per sample}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot;   | {{tooltip|Skips|Skips 384 kHz}}&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot;   | {{tooltip|Skips|Skips 20 bits}}&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot;   | {{tooltip|Skips (?)|Skips all multi-channel}}&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot;   | {{tooltip|Skips (?)|Skips all multi-channel}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot;    | {{tooltip|Rejects|Does not index any of the &#039;extremely large&#039; 48-52 &amp;amp; 55}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| -&lt;br /&gt;
| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; | Spotify for Windows version 1.1.72.439.gc253025e, testbench revision 5; files 60-63 with version 1.1.83.956.gbe7ea9a7. Note, tested a stereo soundcard only (hence the question mark on multichannel).&lt;br /&gt;
|-&lt;br /&gt;
! VLC&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|Unable to play old-style variable blocksize}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: red;&amp;quot;    | {{tooltip|Crashes|Crashes occasionally on files with extremely large VORBISCOMMENT}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; | VLC 3.0.16 on testbench revision 5 &amp;lt;br&amp;gt;VLC 3.0.17.4 on files 60 to 63.&amp;lt;br&amp;gt;VLC 3.0.16 on file 64&lt;br /&gt;
|-&lt;br /&gt;
! VUPlayer 4.15&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; | Testbench revision 7.&lt;br /&gt;
|-&lt;br /&gt;
! Winamp 5.8&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: red;&amp;quot;    | {{tooltip|Freezes|Freezes on 12 bit file}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: red;&amp;quot;    | {{tooltip|Freezes|Freezes on 384kHz}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: red;&amp;quot; colspan=&amp;quot;2&amp;quot; | {{tooltip|Freezes|Freezes on 3.0, 5.0, 6.1 and 7.1 files}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; | Winamp 5.8 build 3660, testbench revision 5&lt;br /&gt;
|-&lt;br /&gt;
! Windows Media Player&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Rejects|Rejects 12 bit file}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Rejects|Rejects 20 bit file}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Rejects|Rejects all}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; | Tested version 12.0.19041.1288 on testbench revision 5&lt;br /&gt;
|-&lt;br /&gt;
! XMPlay&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; | XMPlay 3.8.5.42 with FLAC decoder revision 14 tested with testbench revision 7.&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;20&amp;quot; | Digital Audio Workstations (DAW)&lt;br /&gt;
|-&lt;br /&gt;
! Adobe Audition&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Rejects|Rejects 12 bit file}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Rejects|Rejects 20 bit file}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|Imports silence on file with no total number of samples set}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Rejects|Rejects 20 bit file}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; | Adobe Audition 1.5 with http://www.vuplayer.com/audition.php plugin, tested with testbench revision 7.&lt;br /&gt;
&lt;br /&gt;
|-}&lt;br /&gt;
|-}&lt;br /&gt;
&lt;br /&gt;
|}{| class=&amp;quot;wikitable&amp;quot; cellspacing=&amp;quot;2&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | Table legend&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays   || all files in this category are played as intended, without glitches, changes etc.; changed volume tolerated (but indicated)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | Rejects || One or more files are rejected by the player, either by skipping the file or mentioning a message like: &amp;quot;file not supported&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | Fails   || One or more files are not played back as intended, for example by stuttering, garbling or playing at incorrect speed, or by never starting playing (though not skipping, freezing or rebooting)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: red;&amp;quot;    | Freezes || On one or more files, the player crashes on decoding, leaving the unit inoperable until reboot, or the unit reboots by itself&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | The order of precedence is from bottom to top, so if one file freezes the player, one file is rejected and the other play fine, the table reads &#039;Freezes&#039; for that category.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | For the metadata tests, the (absence of) rendering of the metadata is not a criterium, simply whether its presence is an obstacle to playing&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Porcuswiki</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=FLAC_decoder_testbench&amp;diff=38524</id>
		<title>FLAC decoder testbench</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=FLAC_decoder_testbench&amp;diff=38524"/>
		<updated>2025-08-24T13:31:56Z</updated>

		<summary type="html">&lt;p&gt;Porcuswiki: ffplay still not fixed with ffmpeg 8.0&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;To further the use and development of [[Free Lossless Audio Codec|FLAC]], a testbench containing files with different parameters was constructed. The testbench consists of 64 FLAC files, each one having a different combination of characteristics (like samplerate, bitdepth and number of channels) and FLAC features (like blocksize, maximum partition order, maximum predictor order, maximum predictor precision etc.) However, all combinations fall within the so called subset: a limited set of FLAC parameters that fit in the frame header and are supposed to be &#039;streamable&#039;. Please be aware that certain tested features (such as blocksize 16 or a samplerate of 38457Hz) are pretty much useless in day-to-day usage, and that failure to properly decode such a file is mostly of interest to developers than to users.&lt;br /&gt;
&lt;br /&gt;
The testbench can be [https://drive.google.com/file/d/1ECjkAyqV56xd9IZV-6zccG1Y-iE_hDMj/view?usp=sharing downloaded here (revision 7)] and [https://github.com/ietf-wg-cellar/flac-test-files is maintained here].  It is licensed under [https://creativecommons.org/publicdomain/zero/1.0/ CC0 1.0].&lt;br /&gt;
&lt;br /&gt;
Revision 6 adds four new files (60 to 63); files 1 through 59 are the same as in revision 5. For more information on which file tests what characteristics and features, please refer to the [https://github.com/ietf-wg-cellar/flac-test-files/blob/main/subset/README.txt readme.txt file]. Revision 7 replaces file 63 (which was faulty in revision 6) and adds file 64.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; cellspacing=&amp;quot;2&amp;quot;&lt;br /&gt;
!&lt;br /&gt;
! colspan=&amp;quot;5&amp;quot; | CDDA (44.1kHz/16-bit and less)&lt;br /&gt;
! colspan=&amp;quot;5&amp;quot; | High-res (96kHz/24-bit and more)&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | Multichannel&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; | Metadata&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; | Various&lt;br /&gt;
!&lt;br /&gt;
|-&lt;br /&gt;
!&#039;&#039;&#039;Decoder&#039;&#039;&#039;&lt;br /&gt;
! Block&amp;amp;shy;sizes&lt;br /&gt;
! Features&lt;br /&gt;
! Sample&amp;amp;shy;rates&lt;br /&gt;
! Bit&amp;amp;shy;depths&lt;br /&gt;
! {{tooltip|Var. bl.size|Variable blocksize}}&lt;br /&gt;
! General&lt;br /&gt;
! Block&amp;amp;shy;size&lt;br /&gt;
! Features&lt;br /&gt;
! Sample&amp;amp;shy;rates&lt;br /&gt;
! Bit&amp;amp;shy;depths&lt;br /&gt;
! General&lt;br /&gt;
! Features&lt;br /&gt;
! Missing&lt;br /&gt;
! Extreme&lt;br /&gt;
! MIME&lt;br /&gt;
! Mono&lt;br /&gt;
! Overfl.&lt;br /&gt;
! Zero esc.&lt;br /&gt;
! Remarks&lt;br /&gt;
|-&lt;br /&gt;
! Files in test set&lt;br /&gt;
| 1-10&lt;br /&gt;
| 11-18&lt;br /&gt;
| 19-21&lt;br /&gt;
| 22-23&lt;br /&gt;
| 24-27&lt;br /&gt;
| 28&lt;br /&gt;
| 29-30&lt;br /&gt;
| 31-32,&amp;amp;nbsp;34&lt;br /&gt;
| 33-36&lt;br /&gt;
| 37&lt;br /&gt;
| 38-43&lt;br /&gt;
| 44&lt;br /&gt;
| 45-47&lt;br /&gt;
| 48-55&lt;br /&gt;
| 56-59&lt;br /&gt;
| 60&lt;br /&gt;
| 61-63&lt;br /&gt;
| 64&lt;br /&gt;
|-&lt;br /&gt;
! Albrecht DR 460 C&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|Slightly distorts 34567Hz file (sizzling sound)}}&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|Very low volume on 12 bps file}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; colspan=&amp;quot;5&amp;quot; | {{tooltip|Skips|Skips all high-res files}}&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|Skips 3, 4, 5 channel files, plays back 6, 7 and 8 channel files at high speed (chipmunk audio)}}&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | Skips&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|Skips extremely large seektable, plays silence on other large metadata blocks, plays large cuesheet and repeating vorbiscomment fine}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Skips|Skips with delay of about 10 seconds}}&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Fails|Skips all three files, with a delay of about 10 seconds for the 16-bit file}}&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Skips|Skips with delay of about 10 seconds}}&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
! Android 13&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|Heavy stuttering on blocksize 16}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Skips|Skips all variable blocksize files}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|No sound on 20 bit file}}&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Skips|Skips 3.0, 4.0, 5.0 and 6.1}}&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Skips|File skipped}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|No sound on 20 bit file}}&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|Short bursts of static}}&lt;br /&gt;
| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; | Android 13 with Google Play updates of 1st of Febuary 2023 on Samsung XCover 5&lt;br /&gt;
|-&lt;br /&gt;
! Android 15&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|Heavy stuttering on blocksize 16}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Skips|Skips 12 bit file}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Skips|Skips 384 kHz}}&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Skips|Skips 20 bit file}}&lt;br /&gt;
| style=&amp;quot;background: ;&amp;quot; | {{tooltip|Wrong channel|6.1 misallocates BS SL SR}}&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|Stutters}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Skips|Skips 20 bit file}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; | Android 15 of 2025-08-01 with Google Play system update 2025-07-01, Motorola phone&lt;br /&gt;
|-&lt;br /&gt;
! Chromecast&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|Heavy stutter with blocksize 16}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|Mangles non-standard samplerates}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|Never starts playing on old format blocksize}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|Mangles non-standard samplerates}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Skips|Skips file with avif embedded picture}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Skips|Skips file with 24-bit overflow check}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; | Tested with system firmware 275994 and cast firmware 1.56.275994, testbench revision 7&lt;br /&gt;
|-&lt;br /&gt;
! Citroën DS5&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|Extreme distortion on playback of 8-bit file, 12-bit file is played back too soft}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|20-bit file is played back too soft}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot;    | {{tooltip|Fails|File with large application metadata block results playback of part of another file before playing the proper audio}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot; | {{tooltip|Plays|20-bit file is played back too soft like file 37, but is otherwise OK}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; | Tested with system firmware 7.1.5-r1, model year 2018, testbench revision 7&lt;br /&gt;
|-&lt;br /&gt;
! Cowon iAudio 7&lt;br /&gt;
| style=&amp;quot;background: red;&amp;quot;    | {{tooltip|Freezes|Freezes on blocksizes 254 and 725; skips file with blocksize 1937}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|35467Hz and 39kHz are speeded up; 22050 plays at correct speed}}&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Rejects|All files with bitdepth other than 16 are skipped}}&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Rejects|All files with variable block size are skipped}}&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | Rejects&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | Rejects&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | Rejects&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | Rejects&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | Rejects&lt;br /&gt;
| style=&amp;quot;background: red;&amp;quot;    | {{tooltip|Freezes|3.0 plays as silence, others 16/44 multichannel files make freeze}}&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Rejects|File is skipped}}&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Rejects|File 61 plays normally. Files 62 and 63 are skipped because device doesn&#039;t support FLAC with bitdepth other than 16 at all.}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; | Device doesn&#039;t support FLAC with bitdepth other than 16 and samplerate higher than 44.1 kHz. So actual features of files 45-54 and 62-63 cannot be tested. File 55 plays, but takes long time to start.&lt;br /&gt;
|-&lt;br /&gt;
! Ford SYNC&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Skips|Skips 12 bit per sample file}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Skips|Skips 20 bit per sample file}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | {{tooltip|Plays|Only plays left and right channels, does not downmix}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot;    | {{tooltip|Skips|Files with large seektable are skipped (after long delay) and file with combined extreme metadata causes player to hang, requiring removal of USB stick}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; |  Tested with revision 5, SYNC version 3.3, build 18201_PRODUCT&lt;br /&gt;
|-&lt;br /&gt;
! JVC KD-R871BT&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | Fails&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | Fails&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | Rejects&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: red;&amp;quot;    | Freezes&lt;br /&gt;
| style=&amp;quot;background: red;&amp;quot;    | Reboots&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | Fails&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | Rejects&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; colspan=&amp;quot;2&amp;quot; | Rejects&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | Rejects&lt;br /&gt;
| style=&amp;quot;background: red;&amp;quot;    | Reboots&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | Rejects&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; | Heavy stutter with blocksize 16. Stretches non-standard samplerates. Samplerates above 96kHz, variable blocksize files and multichannel files &#039;not supported&#039;. Freezes on blocksize 16384 and 13456. 192kHz is played back very slow. Skips all multichannel, files with cover image, extreme metadata. Reboot loop on extreme large VORBISCOMMENT&lt;br /&gt;
|-&lt;br /&gt;
! Kenwood KMM-BT304&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | Fails&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | Rejects&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot; | Plays&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | Rejects&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot; | Plays&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | Rejects&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | Rejects&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | Rejects&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot; | Plays&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | Rejects&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | Rejects&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot; | Plays&lt;br /&gt;
| style=&amp;quot;background: red;&amp;quot;    | Reboots&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot; | Plays&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; | File 03 plays extremely noisily, barely recognizable. File 51 produces a &amp;quot;NO DEVICE&amp;quot; error and a reboot. File 54 produces a reboot with no message. These files produce a &amp;quot;NA FILE&amp;quot; error and the player skips to the next: 19 21 24 25 26 27 29 30 31 34 35 36 38 39 40 41 42 43 44 45 46 48 55. (firmware: te1706k.krm from 2020-03-05)&lt;br /&gt;
|-&lt;br /&gt;
! Lenco Xemio-240&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: red;&amp;quot;    | {{tooltip|Freezes|Freezes on non-standard sample rates (34567Hz and 39kHz)}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot;  colspan=&amp;quot;8&amp;quot; | {{tooltip|Rejects|Returns message &#039;File format not supported!&#039;}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | {{tooltip|Plays|Player is unresponsive during loading, which takes a while}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|20 bit and 24 bit files are played back with shorts bursts of loud static}}&lt;br /&gt;
| -&lt;br /&gt;
| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; | Tested with revision 6, firmware version V5.15, dated 2020-04-24&lt;br /&gt;
|-&lt;br /&gt;
! Mazda Connect&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | {{tooltip|Plays|After playing file 27, the unit does not automatically continue playback of the next track}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; | Tested with revision 7, CX-90 MY2024&lt;br /&gt;
|-&lt;br /&gt;
! Onkyo TX-NR686&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|Heavy stutter with blocksize 16}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Rejects|Non-standard sample rates (34567Hz and 39kHz) are skipped}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Rejects|Does not play current format variable blocksize files but does play &#039;pre-2007 format&#039; variable blocksize files}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Rejects|Non-standard sample rates (134560Hz and 384kHz) are skipped}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; colspan=&amp;quot;2&amp;quot; | {{tooltip|Rejects|Does not play 4.0, 5.1 and 7.1 files but does play 5.0 and 6.1 as stereo and 3.0 as 3.1}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: red;&amp;quot;    | {{tooltip|Unresp.|Becomes unresponsive on file with 1000x repeating VORBISCOMMENT}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; | Tested with revision 6, firmware version 1071-4000-1070-0011.&lt;br /&gt;
|-&lt;br /&gt;
! Panasonic TX-60CX750E&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|Non-standard sample rates (34567Hz and 39kHz) are stretched i.e. played at wrong speed}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|Non-standard sample rates (134560Hz and 384kHz) are stretched i.e. played at wrong speed}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | {{tooltip|Plays|Multichannel condensed into 2 channels}}&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|Does not start playing}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|Does not start playing on extremely large vorbiscomment}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| -&lt;br /&gt;
| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; | Based on libFLAC 1.2.1, according to copyright notice. Firmware version 3.228, testbench revision 6&lt;br /&gt;
|-&lt;br /&gt;
! Pioneer BDP-150&lt;br /&gt;
| style=&amp;quot;background: red;&amp;quot;    | {{tooltip|Freezes|Freezes on non-standard blocksizes (16, 254, 725, 1000 and 1937)}}&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|Garbled audio when playing file with LPC with qlp precision of 2}}&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|Stretches non-standard samplerates to 44.1kHz}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: red;&amp;quot;    | {{tooltip|Freezes|Freezes on variable blocksize files with non-standard blocksizes, stutters on variable blocksize files with standard blocksizes}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: red;&amp;quot;    | {{tooltip|Freezes|Freezes on non-standard blocksize (13456)}}&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|Incorrect decoding (clicks) of RICE2 partitions with escape codes}}&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|Stretches non-standard samplerates to 44.1kHz. Stutters on 192kHz with 32th order predictors}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: red;&amp;quot; colspan=&amp;quot;2&amp;quot; | {{tooltip|Freezes|Freezes on files with more than 6 channels}}&lt;br /&gt;
| style=&amp;quot;background: red;&amp;quot;    | {{tooltip|Freezes|Freezes on files with an unknown number of total samples}}&lt;br /&gt;
| style=&amp;quot;background: red;&amp;quot;    | {{tooltip|Freezes|Freezes on files with 1000x repeated vorbiscomments, rejects files with too many seekpoints}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|Plays but skips parts of 24-bit file}}&lt;br /&gt;
| -&lt;br /&gt;
| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; | Firmware v1.08, testbench revision 6&lt;br /&gt;
|-&lt;br /&gt;
! Pioneer DEH-1900UB &lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Skips|Skips non-standard blocksizes (16, 254, 725, 1000 and 1937)}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays &lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Skips|Skips non-standard samplerates}}&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | Skips&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Skips|Skips file 24 and 25}}&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; colspan=&amp;quot;7&amp;quot; | Skips&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Other|Plays, but takes about a minute time to start playing. During this wait, track can be skipped, unit does not become unresponsive}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; | Testbench revision 5&lt;br /&gt;
|-&lt;br /&gt;
! Rockbox&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;  | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;  | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;  | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;  | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;  | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;  | Plays&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot;| {{tooltip|Skips|Skips blocksizes 16384 and 13456}}&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot;| {{tooltip|Skips|Skips file with only 32nd order predictors}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;  | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;  | Plays&lt;br /&gt;
| style=&amp;quot;background: red;&amp;quot; colspan=&amp;quot;2&amp;quot; | {{tooltip|Freezes|Freezes on files with more than 6 channels}}&lt;br /&gt;
| style=&amp;quot;background: red;&amp;quot;   | {{tooltip|Freezes|Crashes on filewith no total number of samples set}}&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot;| {{tooltip|Fails|Plays extremely slowly on file with APPLICATION metadata block}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;  | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|Plays 20-bit and 24-bit file but with loud bursts of static}}&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|PLays, but with short ticks}}&lt;br /&gt;
| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; |  Tested with Rockbox 3.15 (latest stable) on Sansa Fuze with testbench revision 7&lt;br /&gt;
|-&lt;br /&gt;
! Samsung F5100WWB&lt;br /&gt;
| style=&amp;quot;background: red;&amp;quot;    | {{tooltip|Crashes|Freezes on blocksizes 254, 725 and 1000, crashes on blocksize 1937, skips blocksize 16}}&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|Garbled audio when playing file with LPC with qlp precision of 2}}&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|Stretches non-standard samplerates to 44.1kHz}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: red;&amp;quot;    | {{tooltip|Freezes|Freezes on variable blocksize files with non-standard blocksizes, stutters on variable blocksize files with standard blocksizes, rejects CUETools and old format variable blocksize file}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: red;&amp;quot;    | {{tooltip|Skips|Skips non-standard blocksize (13456)}}&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|Mangles file with RICE2 partitions with escape codes}}&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|Stretches non-standard samplerates to 44.1kHz. Mangles 192kHz with 32th order predictors}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: red;&amp;quot; colspan=&amp;quot;2&amp;quot; | {{tooltip|Freezes|Freezes on files with more than 6 channels}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Freezes|Becomes unresponsive on file with 1000x repeating vorbis comment}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|Plays but skips parts of 24-bit file}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; | Testbench revision 7&lt;br /&gt;
|-&lt;br /&gt;
! Sony BDP-1700&lt;br /&gt;
| style=&amp;quot;background: red;&amp;quot;    | {{tooltip|Freezes|Freezes on non-standard blocksizes (254, 725, 1000 and 1937)}}&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|Garbled audio when playing file with LPC with qlp precision of 2}}&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|Stretches non-standard samplerates to 44.1kHz}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: red;&amp;quot;    | {{tooltip|Freezes|Freezes on variable blocksize files with non-standard blocksizes, stutters on variable blocksize files with standard blocksizes}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: red;&amp;quot;    | {{tooltip|Freezes|Freezes on non-standard blocksize (13456)}}&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|Incorrect decoding (clicks) of RICE2 partitions with escape codes}}&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|Stretches non-standard samplerates to 44.1kHz. Stutters on 192kHz with 32th order predictors}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: red;&amp;quot; colspan=&amp;quot;2&amp;quot; | {{tooltip|Freezes|Freezes on files with more than 6 channels}}&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Skips|Skips file with an unknown number of total samples}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|Plays but skips parts of 24-bit file}}&lt;br /&gt;
| -&lt;br /&gt;
| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; | Firmware m30.R.0527, testbench revision 6&lt;br /&gt;
|-&lt;br /&gt;
! Toyota Entune 3.0&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Skips|Skips files with a non-standard samplerate, plays 22050Hz}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Skips|Skips files with a non-standard samplerate (here 134560 and 384000)}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Skips|Skips 6.1 and 7.1}}&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | Skips&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Skips|Skips unknown minimum/maximum framesize}}&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Skips|Skips 51 and 54 with abnormal VORBISCOMMENT}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; | Testbench revision 7&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;20&amp;quot; | Software players&lt;br /&gt;
|-&lt;br /&gt;
! AIMP 5.03 build 2398 (Windows)&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|Stuttering playback}}&lt;br /&gt;
| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; | Testbench revision 7.&lt;br /&gt;
|-&lt;br /&gt;
! Album Player 2.114 (Windows)&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|Gives out error on 12 bit. Only noise on 8 bit.}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Rejects|Gives out error on 20 bit}}&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Rejects|Gives out error on 6.1 and 7.1}}&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Rejects|Gives out error}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Rejects|Gives out error on 20 bit}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; | Testbench revision 7.&lt;br /&gt;
|-&lt;br /&gt;
! Amarok (Windows)&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot;   | {{tooltip|Fails|Plays silence on blocksizes 16, 254, 725, 1000, 1937, 2304. (Could be provoked to play a split second of one.)}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: red;&amp;quot;   | {{tooltip|Crashes|Crashes on 8 bits. And plays silence on 12 bits}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot;   | {{tooltip|Fails|Silence on blocksize 13456}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot;   | {{tooltip|Skips|Skips 384 kHz}}&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot;   | {{tooltip|Fails|Silence on 20 bits}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot;   | {{tooltip|Fails|Silence on 20 bits, like on number 37}}&lt;br /&gt;
| -&lt;br /&gt;
| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; | Amarok version 2.8.0 with testbench revision 5 and 60-63&lt;br /&gt;
|-&lt;br /&gt;
! Cog&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | {{tooltip|Plays|Versions before 1630 will reject the 12 bit file, because they did not properly handle files with bit depths that aren&#039;t a multiple of 8.}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | {{tooltip|Plays|Versions before 1630 will reject this 20 bit file, because they did not properly handle files with bit depths that aren&#039;t a multiple of 8.}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | {{tooltip|Plays|Versions before 1647 will downmix 8 channel files such as test 43 incorrectly, but they will decode properly, and play back properly if the sound output device supports 8 channels directly.}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | {{tooltip|Plays|Versions before 1647 will downmix 8 channel files such as this test incorrectly, but they will decode properly, and play back properly if the sound output device supports 8 channels directly.}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   |{{tooltip|Plays|Versions before 1630 will reject the 20 bit file, because they did not properly handle files with bit depths that aren&#039;t a multiple of 8.}}&lt;br /&gt;
| -&lt;br /&gt;
| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; | version 2169 (2169-gbf54c452) with testbench revision 6&lt;br /&gt;
|-&lt;br /&gt;
! DeaDBeeF 1.9.3 (Windows)&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
|    colspan=&amp;quot;2&amp;quot; | {{tooltip|(not tested - )|Could not test multichannel}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; | deadbeef 1.9.3 [static] [portable].  Testbench revision 7&lt;br /&gt;
|-&lt;br /&gt;
! Exaile (Windows)&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot;    | {{tooltip|Fails|Version 4.1.2 beta1: File 25 Flake smaller blocksize is played back noisy. File 27 old format mutes after a split second. Version 4.1.1: Skips all variable blocksize files, except: stops upon the old format flake 0.11 (but can resume playback on different file)}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| -&lt;br /&gt;
| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; | First tested version 4.1.1  (GStreamer: 1.18.4) with testbench revision 5. Then updated with 4.1.2-beta1 (GStreamer: 1.18.5) for variable blocksize and 60-63&lt;br /&gt;
|-&lt;br /&gt;
! ffplay&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot;   | {{tooltip|Fails|Wrong speed on blocksize 16}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | {{tooltip|Plays|But output channel layout for 6.1 is incorrect: FL,FR,FC,LFE,BL,BR,BC instead of FL,FR,FC,LFE,BC,SL,SR}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | {{tooltip|Plays|Takes about 30 seconds before starts to play file 55}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; | Testbench revision 7. File 03: playback broken in every Windows build tried - from N-108161-gaaf6d85283-20220916 and up to 8.0-full_build-www.gyan.dev &lt;br /&gt;
|-&lt;br /&gt;
! foobar2000 1.6.14 and 2.0 beta 7 [x86]&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | {{tooltip|Plays|Since version 1.6.8}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot; | Plays&lt;br /&gt;
| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; | Testbench revision 7&lt;br /&gt;
|-&lt;br /&gt;
! GoneMAD (Android)&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: red;&amp;quot;    | Crashes&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: red;&amp;quot;    | {{tooltip|Hangs|Hangs on 55. Also unresponsible UI on 51, but plays.}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; | testbench revision 5&lt;br /&gt;
|-&lt;br /&gt;
! JRiver Media Center (Windows 64; portable)&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | {{tooltip|Plays|lowers volume on 12 bit and 8 bit}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | {{tooltip|Plays|lowers volume on 20 bit}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | {{tooltip|Plays|lowers volume on 20 bit}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; | Windows version 31.0.84 64-bit with testbench version 7.1. (Version 28.0.88 would reject number 54.)&lt;br /&gt;
|-&lt;br /&gt;
! Mediamonkey 5&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot;    | {{tooltip|Skips|5.0.4 skips 12-bit file. (Old 5.0.1 crashed.)}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Silence|Plays silence on 20-bit file.}}&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|Only plays first 2 seconds of all spoken multichannel files}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | {{tooltip|Plays|Fixed in 5.0.4. Version 5.0.1 got unresponsive when (and after) playing files with 1000x repeating vorbiscomments}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|Only plays first 2 seconds}}&lt;br /&gt;
| style=&amp;quot;background: red;&amp;quot;    | {{tooltip|Freezes|File 62 most often skipped, but freeze (to be killed with Task Manager) was provoked. Files 61/63 play first 2 seconds)}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; | Updated with version 5.0.4.2690 testing files 60-64 and the ones 5.0.1.2433 failed (22) / froze (54-55) upon testing revision 5.&lt;br /&gt;
|-&lt;br /&gt;
! MacOS&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Skips|Skips blocksize 16 file}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Skips|Skips 8-bit and 12-bit file}}&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Skips|Skips all variable blocksize files}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; | Testbench revision 7, tested with Quicktime and Safari on MacOS 13&lt;br /&gt;
|-&lt;br /&gt;
! Mplayer (Windows)&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|Stuck at beginning of 384 kHz file, but one can skip with arrow button to play last part}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: red;&amp;quot;    | {{tooltip|Unresp.|Took over a minute before starting to playing the &#039;55 - file 48-53 combined.flac&#039;}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|Stutters on 24-bit predictor overflow check}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; | SMPlayer-bundled version Redxii-SVN-r37955-6.2.0 (x86_64) (using ffmpeg N-87137-g6ccd32c367) with testbench revision 5 &amp;amp; files 60-64&lt;br /&gt;
|-&lt;br /&gt;
! mpv&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; | Tested both mpv v0.38.0-633-ge509ec0a for Windows and v0.38.0-432-g112fa549be, testbench revision 7&lt;br /&gt;
|-&lt;br /&gt;
! MusicBee 3.4.8033 (Windows; portable)&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot; | Plays&lt;br /&gt;
| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; | Testbench revision 7. Only tested on headphones, does left/right correctly on multichannel.&lt;br /&gt;
|-&lt;br /&gt;
! Quod Libet (Windows)&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot;    | {{tooltip|Fails|Chirp sounds on old-format 0.11.  Other variable blocksize files makes player skip subsequent file(s) in the playlist.}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot;   | {{tooltip|Skips|Skips 384 kHz}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| -&lt;br /&gt;
| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; | version 4.4.0 (portable version) with testbench revision 5 and 4.5.0 (portable) with revision 6.&lt;br /&gt;
|-&lt;br /&gt;
! Resoniq 0.9.3 (portable, Windows)&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot;   |  {{tooltip|Fails?|Suspicious channel allocation on 6.1 and 7.1. Tested only on stereo set, but side-right not spoken even when side-left is.}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot; | Plays&lt;br /&gt;
| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; | Apparently uses FLAC 1.3.2. Testbench revision 7. &lt;br /&gt;
|-&lt;br /&gt;
! Spotify (Windows)&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Skips|Skips 12 bits per sample}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot;   | {{tooltip|Skips|Skips 384 kHz}}&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot;   | {{tooltip|Skips|Skips 20 bits}}&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot;   | {{tooltip|Skips (?)|Skips all multi-channel}}&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot;   | {{tooltip|Skips (?)|Skips all multi-channel}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot;    | {{tooltip|Rejects|Does not index any of the &#039;extremely large&#039; 48-52 &amp;amp; 55}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| -&lt;br /&gt;
| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; | Spotify for Windows version 1.1.72.439.gc253025e, testbench revision 5; files 60-63 with version 1.1.83.956.gbe7ea9a7. Note, tested a stereo soundcard only (hence the question mark on multichannel).&lt;br /&gt;
|-&lt;br /&gt;
! VLC&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|Unable to play old-style variable blocksize}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: red;&amp;quot;    | {{tooltip|Crashes|Crashes occasionally on files with extremely large VORBISCOMMENT}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; | VLC 3.0.16 on testbench revision 5 &amp;lt;br&amp;gt;VLC 3.0.17.4 on files 60 to 63.&amp;lt;br&amp;gt;VLC 3.0.16 on file 64&lt;br /&gt;
|-&lt;br /&gt;
! VUPlayer 4.15&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; | Testbench revision 7.&lt;br /&gt;
|-&lt;br /&gt;
! Winamp 5.8&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: red;&amp;quot;    | {{tooltip|Freezes|Freezes on 12 bit file}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: red;&amp;quot;    | {{tooltip|Freezes|Freezes on 384kHz}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: red;&amp;quot; colspan=&amp;quot;2&amp;quot; | {{tooltip|Freezes|Freezes on 3.0, 5.0, 6.1 and 7.1 files}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; | Winamp 5.8 build 3660, testbench revision 5&lt;br /&gt;
|-&lt;br /&gt;
! Windows Media Player&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Rejects|Rejects 12 bit file}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Rejects|Rejects 20 bit file}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Rejects|Rejects all}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; | Tested version 12.0.19041.1288 on testbench revision 5&lt;br /&gt;
|-&lt;br /&gt;
! XMPlay&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; | XMPlay 3.8.5.42 with FLAC decoder revision 14 tested with testbench revision 7.&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;20&amp;quot; | Digital Audio Workstations (DAW)&lt;br /&gt;
|-&lt;br /&gt;
! Adobe Audition&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Rejects|Rejects 12 bit file}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Rejects|Rejects 20 bit file}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|Imports silence on file with no total number of samples set}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Rejects|Rejects 20 bit file}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; | Adobe Audition 1.5 with http://www.vuplayer.com/audition.php plugin, tested with testbench revision 7.&lt;br /&gt;
&lt;br /&gt;
|-}&lt;br /&gt;
|-}&lt;br /&gt;
&lt;br /&gt;
|}{| class=&amp;quot;wikitable&amp;quot; cellspacing=&amp;quot;2&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | Table legend&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays   || all files in this category are played as intended, without glitches, changes etc.; changed volume tolerated (but indicated)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | Rejects || One or more files are rejected by the player, either by skipping the file or mentioning a message like: &amp;quot;file not supported&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | Fails   || One or more files are not played back as intended, for example by stuttering, garbling or playing at incorrect speed, or by never starting playing (though not skipping, freezing or rebooting)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: red;&amp;quot;    | Freezes || On one or more files, the player crashes on decoding, leaving the unit inoperable until reboot, or the unit reboots by itself&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | The order of precedence is from bottom to top, so if one file freezes the player, one file is rejected and the other play fine, the table reads &#039;Freezes&#039; for that category.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | For the metadata tests, the (absence of) rendering of the metadata is not a criterium, simply whether its presence is an obstacle to playing&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Porcuswiki</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=FLAC_decoder_testbench&amp;diff=38523</id>
		<title>FLAC decoder testbench</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=FLAC_decoder_testbench&amp;diff=38523"/>
		<updated>2025-08-17T20:41:07Z</updated>

		<summary type="html">&lt;p&gt;Porcuswiki: Android 15&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;To further the use and development of [[Free Lossless Audio Codec|FLAC]], a testbench containing files with different parameters was constructed. The testbench consists of 64 FLAC files, each one having a different combination of characteristics (like samplerate, bitdepth and number of channels) and FLAC features (like blocksize, maximum partition order, maximum predictor order, maximum predictor precision etc.) However, all combinations fall within the so called subset: a limited set of FLAC parameters that fit in the frame header and are supposed to be &#039;streamable&#039;. Please be aware that certain tested features (such as blocksize 16 or a samplerate of 38457Hz) are pretty much useless in day-to-day usage, and that failure to properly decode such a file is mostly of interest to developers than to users.&lt;br /&gt;
&lt;br /&gt;
The testbench can be [https://drive.google.com/file/d/1ECjkAyqV56xd9IZV-6zccG1Y-iE_hDMj/view?usp=sharing downloaded here (revision 7)] and [https://github.com/ietf-wg-cellar/flac-test-files is maintained here].  It is licensed under [https://creativecommons.org/publicdomain/zero/1.0/ CC0 1.0].&lt;br /&gt;
&lt;br /&gt;
Revision 6 adds four new files (60 to 63); files 1 through 59 are the same as in revision 5. For more information on which file tests what characteristics and features, please refer to the [https://github.com/ietf-wg-cellar/flac-test-files/blob/main/subset/README.txt readme.txt file]. Revision 7 replaces file 63 (which was faulty in revision 6) and adds file 64.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; cellspacing=&amp;quot;2&amp;quot;&lt;br /&gt;
!&lt;br /&gt;
! colspan=&amp;quot;5&amp;quot; | CDDA (44.1kHz/16-bit and less)&lt;br /&gt;
! colspan=&amp;quot;5&amp;quot; | High-res (96kHz/24-bit and more)&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | Multichannel&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; | Metadata&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; | Various&lt;br /&gt;
!&lt;br /&gt;
|-&lt;br /&gt;
!&#039;&#039;&#039;Decoder&#039;&#039;&#039;&lt;br /&gt;
! Block&amp;amp;shy;sizes&lt;br /&gt;
! Features&lt;br /&gt;
! Sample&amp;amp;shy;rates&lt;br /&gt;
! Bit&amp;amp;shy;depths&lt;br /&gt;
! {{tooltip|Var. bl.size|Variable blocksize}}&lt;br /&gt;
! General&lt;br /&gt;
! Block&amp;amp;shy;size&lt;br /&gt;
! Features&lt;br /&gt;
! Sample&amp;amp;shy;rates&lt;br /&gt;
! Bit&amp;amp;shy;depths&lt;br /&gt;
! General&lt;br /&gt;
! Features&lt;br /&gt;
! Missing&lt;br /&gt;
! Extreme&lt;br /&gt;
! MIME&lt;br /&gt;
! Mono&lt;br /&gt;
! Overfl.&lt;br /&gt;
! Zero esc.&lt;br /&gt;
! Remarks&lt;br /&gt;
|-&lt;br /&gt;
! Files in test set&lt;br /&gt;
| 1-10&lt;br /&gt;
| 11-18&lt;br /&gt;
| 19-21&lt;br /&gt;
| 22-23&lt;br /&gt;
| 24-27&lt;br /&gt;
| 28&lt;br /&gt;
| 29-30&lt;br /&gt;
| 31-32,&amp;amp;nbsp;34&lt;br /&gt;
| 33-36&lt;br /&gt;
| 37&lt;br /&gt;
| 38-43&lt;br /&gt;
| 44&lt;br /&gt;
| 45-47&lt;br /&gt;
| 48-55&lt;br /&gt;
| 56-59&lt;br /&gt;
| 60&lt;br /&gt;
| 61-63&lt;br /&gt;
| 64&lt;br /&gt;
|-&lt;br /&gt;
! Albrecht DR 460 C&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|Slightly distorts 34567Hz file (sizzling sound)}}&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|Very low volume on 12 bps file}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; colspan=&amp;quot;5&amp;quot; | {{tooltip|Skips|Skips all high-res files}}&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|Skips 3, 4, 5 channel files, plays back 6, 7 and 8 channel files at high speed (chipmunk audio)}}&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | Skips&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|Skips extremely large seektable, plays silence on other large metadata blocks, plays large cuesheet and repeating vorbiscomment fine}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Skips|Skips with delay of about 10 seconds}}&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Fails|Skips all three files, with a delay of about 10 seconds for the 16-bit file}}&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Skips|Skips with delay of about 10 seconds}}&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
! Android 13&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|Heavy stuttering on blocksize 16}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Skips|Skips all variable blocksize files}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|No sound on 20 bit file}}&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Skips|Skips 3.0, 4.0, 5.0 and 6.1}}&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Skips|File skipped}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|No sound on 20 bit file}}&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|Short bursts of static}}&lt;br /&gt;
| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; | Android 13 with Google Play updates of 1st of Febuary 2023 on Samsung XCover 5&lt;br /&gt;
|-&lt;br /&gt;
! Android 15&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|Heavy stuttering on blocksize 16}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Skips|Skips 12 bit file}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Skips|Skips 384 kHz}}&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Skips|Skips 20 bit file}}&lt;br /&gt;
| style=&amp;quot;background: ;&amp;quot; | {{tooltip|Wrong channel|6.1 misallocates BS SL SR}}&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|Stutters}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Skips|Skips 20 bit file}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; | Android 15 of 2025-08-01 with Google Play system update 2025-07-01, Motorola phone&lt;br /&gt;
|-&lt;br /&gt;
! Chromecast&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|Heavy stutter with blocksize 16}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|Mangles non-standard samplerates}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|Never starts playing on old format blocksize}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|Mangles non-standard samplerates}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Skips|Skips file with avif embedded picture}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Skips|Skips file with 24-bit overflow check}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; | Tested with system firmware 275994 and cast firmware 1.56.275994, testbench revision 7&lt;br /&gt;
|-&lt;br /&gt;
! Citroën DS5&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|Extreme distortion on playback of 8-bit file, 12-bit file is played back too soft}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|20-bit file is played back too soft}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot;    | {{tooltip|Fails|File with large application metadata block results playback of part of another file before playing the proper audio}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot; | {{tooltip|Plays|20-bit file is played back too soft like file 37, but is otherwise OK}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; | Tested with system firmware 7.1.5-r1, model year 2018, testbench revision 7&lt;br /&gt;
|-&lt;br /&gt;
! Cowon iAudio 7&lt;br /&gt;
| style=&amp;quot;background: red;&amp;quot;    | {{tooltip|Freezes|Freezes on blocksizes 254 and 725; skips file with blocksize 1937}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|35467Hz and 39kHz are speeded up; 22050 plays at correct speed}}&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Rejects|All files with bitdepth other than 16 are skipped}}&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Rejects|All files with variable block size are skipped}}&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | Rejects&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | Rejects&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | Rejects&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | Rejects&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | Rejects&lt;br /&gt;
| style=&amp;quot;background: red;&amp;quot;    | {{tooltip|Freezes|3.0 plays as silence, others 16/44 multichannel files make freeze}}&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Rejects|File is skipped}}&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Rejects|File 61 plays normally. Files 62 and 63 are skipped because device doesn&#039;t support FLAC with bitdepth other than 16 at all.}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; | Device doesn&#039;t support FLAC with bitdepth other than 16 and samplerate higher than 44.1 kHz. So actual features of files 45-54 and 62-63 cannot be tested. File 55 plays, but takes long time to start.&lt;br /&gt;
|-&lt;br /&gt;
! Ford SYNC&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Skips|Skips 12 bit per sample file}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Skips|Skips 20 bit per sample file}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | {{tooltip|Plays|Only plays left and right channels, does not downmix}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot;    | {{tooltip|Skips|Files with large seektable are skipped (after long delay) and file with combined extreme metadata causes player to hang, requiring removal of USB stick}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; |  Tested with revision 5, SYNC version 3.3, build 18201_PRODUCT&lt;br /&gt;
|-&lt;br /&gt;
! JVC KD-R871BT&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | Fails&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | Fails&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | Rejects&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: red;&amp;quot;    | Freezes&lt;br /&gt;
| style=&amp;quot;background: red;&amp;quot;    | Reboots&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | Fails&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | Rejects&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; colspan=&amp;quot;2&amp;quot; | Rejects&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | Rejects&lt;br /&gt;
| style=&amp;quot;background: red;&amp;quot;    | Reboots&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | Rejects&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; | Heavy stutter with blocksize 16. Stretches non-standard samplerates. Samplerates above 96kHz, variable blocksize files and multichannel files &#039;not supported&#039;. Freezes on blocksize 16384 and 13456. 192kHz is played back very slow. Skips all multichannel, files with cover image, extreme metadata. Reboot loop on extreme large VORBISCOMMENT&lt;br /&gt;
|-&lt;br /&gt;
! Kenwood KMM-BT304&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | Fails&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | Rejects&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot; | Plays&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | Rejects&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot; | Plays&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | Rejects&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | Rejects&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | Rejects&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot; | Plays&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | Rejects&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | Rejects&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot; | Plays&lt;br /&gt;
| style=&amp;quot;background: red;&amp;quot;    | Reboots&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot; | Plays&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; | File 03 plays extremely noisily, barely recognizable. File 51 produces a &amp;quot;NO DEVICE&amp;quot; error and a reboot. File 54 produces a reboot with no message. These files produce a &amp;quot;NA FILE&amp;quot; error and the player skips to the next: 19 21 24 25 26 27 29 30 31 34 35 36 38 39 40 41 42 43 44 45 46 48 55. (firmware: te1706k.krm from 2020-03-05)&lt;br /&gt;
|-&lt;br /&gt;
! Lenco Xemio-240&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: red;&amp;quot;    | {{tooltip|Freezes|Freezes on non-standard sample rates (34567Hz and 39kHz)}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot;  colspan=&amp;quot;8&amp;quot; | {{tooltip|Rejects|Returns message &#039;File format not supported!&#039;}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | {{tooltip|Plays|Player is unresponsive during loading, which takes a while}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|20 bit and 24 bit files are played back with shorts bursts of loud static}}&lt;br /&gt;
| -&lt;br /&gt;
| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; | Tested with revision 6, firmware version V5.15, dated 2020-04-24&lt;br /&gt;
|-&lt;br /&gt;
! Mazda Connect&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | {{tooltip|Plays|After playing file 27, the unit does not automatically continue playback of the next track}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; | Tested with revision 7, CX-90 MY2024&lt;br /&gt;
|-&lt;br /&gt;
! Onkyo TX-NR686&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|Heavy stutter with blocksize 16}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Rejects|Non-standard sample rates (34567Hz and 39kHz) are skipped}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Rejects|Does not play current format variable blocksize files but does play &#039;pre-2007 format&#039; variable blocksize files}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Rejects|Non-standard sample rates (134560Hz and 384kHz) are skipped}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; colspan=&amp;quot;2&amp;quot; | {{tooltip|Rejects|Does not play 4.0, 5.1 and 7.1 files but does play 5.0 and 6.1 as stereo and 3.0 as 3.1}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: red;&amp;quot;    | {{tooltip|Unresp.|Becomes unresponsive on file with 1000x repeating VORBISCOMMENT}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; | Tested with revision 6, firmware version 1071-4000-1070-0011.&lt;br /&gt;
|-&lt;br /&gt;
! Panasonic TX-60CX750E&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|Non-standard sample rates (34567Hz and 39kHz) are stretched i.e. played at wrong speed}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|Non-standard sample rates (134560Hz and 384kHz) are stretched i.e. played at wrong speed}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | {{tooltip|Plays|Multichannel condensed into 2 channels}}&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|Does not start playing}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|Does not start playing on extremely large vorbiscomment}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| -&lt;br /&gt;
| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; | Based on libFLAC 1.2.1, according to copyright notice. Firmware version 3.228, testbench revision 6&lt;br /&gt;
|-&lt;br /&gt;
! Pioneer BDP-150&lt;br /&gt;
| style=&amp;quot;background: red;&amp;quot;    | {{tooltip|Freezes|Freezes on non-standard blocksizes (16, 254, 725, 1000 and 1937)}}&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|Garbled audio when playing file with LPC with qlp precision of 2}}&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|Stretches non-standard samplerates to 44.1kHz}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: red;&amp;quot;    | {{tooltip|Freezes|Freezes on variable blocksize files with non-standard blocksizes, stutters on variable blocksize files with standard blocksizes}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: red;&amp;quot;    | {{tooltip|Freezes|Freezes on non-standard blocksize (13456)}}&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|Incorrect decoding (clicks) of RICE2 partitions with escape codes}}&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|Stretches non-standard samplerates to 44.1kHz. Stutters on 192kHz with 32th order predictors}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: red;&amp;quot; colspan=&amp;quot;2&amp;quot; | {{tooltip|Freezes|Freezes on files with more than 6 channels}}&lt;br /&gt;
| style=&amp;quot;background: red;&amp;quot;    | {{tooltip|Freezes|Freezes on files with an unknown number of total samples}}&lt;br /&gt;
| style=&amp;quot;background: red;&amp;quot;    | {{tooltip|Freezes|Freezes on files with 1000x repeated vorbiscomments, rejects files with too many seekpoints}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|Plays but skips parts of 24-bit file}}&lt;br /&gt;
| -&lt;br /&gt;
| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; | Firmware v1.08, testbench revision 6&lt;br /&gt;
|-&lt;br /&gt;
! Pioneer DEH-1900UB &lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Skips|Skips non-standard blocksizes (16, 254, 725, 1000 and 1937)}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays &lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Skips|Skips non-standard samplerates}}&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | Skips&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Skips|Skips file 24 and 25}}&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; colspan=&amp;quot;7&amp;quot; | Skips&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Other|Plays, but takes about a minute time to start playing. During this wait, track can be skipped, unit does not become unresponsive}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; | Testbench revision 5&lt;br /&gt;
|-&lt;br /&gt;
! Rockbox&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;  | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;  | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;  | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;  | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;  | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;  | Plays&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot;| {{tooltip|Skips|Skips blocksizes 16384 and 13456}}&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot;| {{tooltip|Skips|Skips file with only 32nd order predictors}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;  | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;  | Plays&lt;br /&gt;
| style=&amp;quot;background: red;&amp;quot; colspan=&amp;quot;2&amp;quot; | {{tooltip|Freezes|Freezes on files with more than 6 channels}}&lt;br /&gt;
| style=&amp;quot;background: red;&amp;quot;   | {{tooltip|Freezes|Crashes on filewith no total number of samples set}}&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot;| {{tooltip|Fails|Plays extremely slowly on file with APPLICATION metadata block}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;  | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|Plays 20-bit and 24-bit file but with loud bursts of static}}&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|PLays, but with short ticks}}&lt;br /&gt;
| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; |  Tested with Rockbox 3.15 (latest stable) on Sansa Fuze with testbench revision 7&lt;br /&gt;
|-&lt;br /&gt;
! Samsung F5100WWB&lt;br /&gt;
| style=&amp;quot;background: red;&amp;quot;    | {{tooltip|Crashes|Freezes on blocksizes 254, 725 and 1000, crashes on blocksize 1937, skips blocksize 16}}&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|Garbled audio when playing file with LPC with qlp precision of 2}}&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|Stretches non-standard samplerates to 44.1kHz}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: red;&amp;quot;    | {{tooltip|Freezes|Freezes on variable blocksize files with non-standard blocksizes, stutters on variable blocksize files with standard blocksizes, rejects CUETools and old format variable blocksize file}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: red;&amp;quot;    | {{tooltip|Skips|Skips non-standard blocksize (13456)}}&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|Mangles file with RICE2 partitions with escape codes}}&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|Stretches non-standard samplerates to 44.1kHz. Mangles 192kHz with 32th order predictors}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: red;&amp;quot; colspan=&amp;quot;2&amp;quot; | {{tooltip|Freezes|Freezes on files with more than 6 channels}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Freezes|Becomes unresponsive on file with 1000x repeating vorbis comment}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|Plays but skips parts of 24-bit file}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; | Testbench revision 7&lt;br /&gt;
|-&lt;br /&gt;
! Sony BDP-1700&lt;br /&gt;
| style=&amp;quot;background: red;&amp;quot;    | {{tooltip|Freezes|Freezes on non-standard blocksizes (254, 725, 1000 and 1937)}}&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|Garbled audio when playing file with LPC with qlp precision of 2}}&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|Stretches non-standard samplerates to 44.1kHz}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: red;&amp;quot;    | {{tooltip|Freezes|Freezes on variable blocksize files with non-standard blocksizes, stutters on variable blocksize files with standard blocksizes}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: red;&amp;quot;    | {{tooltip|Freezes|Freezes on non-standard blocksize (13456)}}&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|Incorrect decoding (clicks) of RICE2 partitions with escape codes}}&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|Stretches non-standard samplerates to 44.1kHz. Stutters on 192kHz with 32th order predictors}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: red;&amp;quot; colspan=&amp;quot;2&amp;quot; | {{tooltip|Freezes|Freezes on files with more than 6 channels}}&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Skips|Skips file with an unknown number of total samples}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|Plays but skips parts of 24-bit file}}&lt;br /&gt;
| -&lt;br /&gt;
| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; | Firmware m30.R.0527, testbench revision 6&lt;br /&gt;
|-&lt;br /&gt;
! Toyota Entune 3.0&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Skips|Skips files with a non-standard samplerate, plays 22050Hz}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Skips|Skips files with a non-standard samplerate (here 134560 and 384000)}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Skips|Skips 6.1 and 7.1}}&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | Skips&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Skips|Skips unknown minimum/maximum framesize}}&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Skips|Skips 51 and 54 with abnormal VORBISCOMMENT}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; | Testbench revision 7&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;20&amp;quot; | Software players&lt;br /&gt;
|-&lt;br /&gt;
! AIMP 5.03 build 2398 (Windows)&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|Stuttering playback}}&lt;br /&gt;
| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; | Testbench revision 7.&lt;br /&gt;
|-&lt;br /&gt;
! Album Player 2.114 (Windows)&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|Gives out error on 12 bit. Only noise on 8 bit.}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Rejects|Gives out error on 20 bit}}&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Rejects|Gives out error on 6.1 and 7.1}}&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Rejects|Gives out error}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Rejects|Gives out error on 20 bit}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; | Testbench revision 7.&lt;br /&gt;
|-&lt;br /&gt;
! Amarok (Windows)&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot;   | {{tooltip|Fails|Plays silence on blocksizes 16, 254, 725, 1000, 1937, 2304. (Could be provoked to play a split second of one.)}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: red;&amp;quot;   | {{tooltip|Crashes|Crashes on 8 bits. And plays silence on 12 bits}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot;   | {{tooltip|Fails|Silence on blocksize 13456}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot;   | {{tooltip|Skips|Skips 384 kHz}}&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot;   | {{tooltip|Fails|Silence on 20 bits}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot;   | {{tooltip|Fails|Silence on 20 bits, like on number 37}}&lt;br /&gt;
| -&lt;br /&gt;
| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; | Amarok version 2.8.0 with testbench revision 5 and 60-63&lt;br /&gt;
|-&lt;br /&gt;
! Cog&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | {{tooltip|Plays|Versions before 1630 will reject the 12 bit file, because they did not properly handle files with bit depths that aren&#039;t a multiple of 8.}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | {{tooltip|Plays|Versions before 1630 will reject this 20 bit file, because they did not properly handle files with bit depths that aren&#039;t a multiple of 8.}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | {{tooltip|Plays|Versions before 1647 will downmix 8 channel files such as test 43 incorrectly, but they will decode properly, and play back properly if the sound output device supports 8 channels directly.}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | {{tooltip|Plays|Versions before 1647 will downmix 8 channel files such as this test incorrectly, but they will decode properly, and play back properly if the sound output device supports 8 channels directly.}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   |{{tooltip|Plays|Versions before 1630 will reject the 20 bit file, because they did not properly handle files with bit depths that aren&#039;t a multiple of 8.}}&lt;br /&gt;
| -&lt;br /&gt;
| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; | version 2169 (2169-gbf54c452) with testbench revision 6&lt;br /&gt;
|-&lt;br /&gt;
! DeaDBeeF 1.9.3 (Windows)&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
|    colspan=&amp;quot;2&amp;quot; | {{tooltip|(not tested - )|Could not test multichannel}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; | deadbeef 1.9.3 [static] [portable].  Testbench revision 7&lt;br /&gt;
|-&lt;br /&gt;
! Exaile (Windows)&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot;    | {{tooltip|Fails|Version 4.1.2 beta1: File 25 Flake smaller blocksize is played back noisy. File 27 old format mutes after a split second. Version 4.1.1: Skips all variable blocksize files, except: stops upon the old format flake 0.11 (but can resume playback on different file)}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| -&lt;br /&gt;
| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; | First tested version 4.1.1  (GStreamer: 1.18.4) with testbench revision 5. Then updated with 4.1.2-beta1 (GStreamer: 1.18.5) for variable blocksize and 60-63&lt;br /&gt;
|-&lt;br /&gt;
! ffplay N-108161-gaaf6d85283-20220916 (Windows)&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot;   | {{tooltip|Fails|Wrong speed on blocksize 16}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | {{tooltip|Plays|But output channel layout for 6.1 is incorrect: FL,FR,FC,LFE,BL,BR,BC instead of FL,FR,FC,LFE,BC,SL,SR}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | {{tooltip|Plays|Takes about 30 seconds before starts to play file 55}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; | Testbench revision 7. File 03 still broken in versions N-109368-gcc11afe502-20221206, 6.1-essentials_build-www.gyan.dev and 7.0-essentials_build-www.gyan.dev&lt;br /&gt;
|-&lt;br /&gt;
! foobar2000 1.6.14 and 2.0 beta 7 [x86]&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | {{tooltip|Plays|Since version 1.6.8}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot; | Plays&lt;br /&gt;
| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; | Testbench revision 7&lt;br /&gt;
|-&lt;br /&gt;
! GoneMAD (Android)&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: red;&amp;quot;    | Crashes&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: red;&amp;quot;    | {{tooltip|Hangs|Hangs on 55. Also unresponsible UI on 51, but plays.}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; | testbench revision 5&lt;br /&gt;
|-&lt;br /&gt;
! JRiver Media Center (Windows 64; portable)&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | {{tooltip|Plays|lowers volume on 12 bit and 8 bit}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | {{tooltip|Plays|lowers volume on 20 bit}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | {{tooltip|Plays|lowers volume on 20 bit}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; | Windows version 31.0.84 64-bit with testbench version 7.1. (Version 28.0.88 would reject number 54.)&lt;br /&gt;
|-&lt;br /&gt;
! Mediamonkey 5&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot;    | {{tooltip|Skips|5.0.4 skips 12-bit file. (Old 5.0.1 crashed.)}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Silence|Plays silence on 20-bit file.}}&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|Only plays first 2 seconds of all spoken multichannel files}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | {{tooltip|Plays|Fixed in 5.0.4. Version 5.0.1 got unresponsive when (and after) playing files with 1000x repeating vorbiscomments}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|Only plays first 2 seconds}}&lt;br /&gt;
| style=&amp;quot;background: red;&amp;quot;    | {{tooltip|Freezes|File 62 most often skipped, but freeze (to be killed with Task Manager) was provoked. Files 61/63 play first 2 seconds)}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; | Updated with version 5.0.4.2690 testing files 60-64 and the ones 5.0.1.2433 failed (22) / froze (54-55) upon testing revision 5.&lt;br /&gt;
|-&lt;br /&gt;
! MacOS&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Skips|Skips blocksize 16 file}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Skips|Skips 8-bit and 12-bit file}}&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Skips|Skips all variable blocksize files}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; | Testbench revision 7, tested with Quicktime and Safari on MacOS 13&lt;br /&gt;
|-&lt;br /&gt;
! Mplayer (Windows)&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|Stuck at beginning of 384 kHz file, but one can skip with arrow button to play last part}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: red;&amp;quot;    | {{tooltip|Unresp.|Took over a minute before starting to playing the &#039;55 - file 48-53 combined.flac&#039;}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|Stutters on 24-bit predictor overflow check}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; | SMPlayer-bundled version Redxii-SVN-r37955-6.2.0 (x86_64) (using ffmpeg N-87137-g6ccd32c367) with testbench revision 5 &amp;amp; files 60-64&lt;br /&gt;
|-&lt;br /&gt;
! mpv&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; | Tested both mpv v0.38.0-633-ge509ec0a for Windows and v0.38.0-432-g112fa549be, testbench revision 7&lt;br /&gt;
|-&lt;br /&gt;
! MusicBee 3.4.8033 (Windows; portable)&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot; | Plays&lt;br /&gt;
| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; | Testbench revision 7. Only tested on headphones, does left/right correctly on multichannel.&lt;br /&gt;
|-&lt;br /&gt;
! Quod Libet (Windows)&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot;    | {{tooltip|Fails|Chirp sounds on old-format 0.11.  Other variable blocksize files makes player skip subsequent file(s) in the playlist.}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot;   | {{tooltip|Skips|Skips 384 kHz}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| -&lt;br /&gt;
| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; | version 4.4.0 (portable version) with testbench revision 5 and 4.5.0 (portable) with revision 6.&lt;br /&gt;
|-&lt;br /&gt;
! Resoniq 0.9.3 (portable, Windows)&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot;   |  {{tooltip|Fails?|Suspicious channel allocation on 6.1 and 7.1. Tested only on stereo set, but side-right not spoken even when side-left is.}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot; | Plays&lt;br /&gt;
| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; | Apparently uses FLAC 1.3.2. Testbench revision 7. &lt;br /&gt;
|-&lt;br /&gt;
! Spotify (Windows)&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Skips|Skips 12 bits per sample}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot;   | {{tooltip|Skips|Skips 384 kHz}}&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot;   | {{tooltip|Skips|Skips 20 bits}}&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot;   | {{tooltip|Skips (?)|Skips all multi-channel}}&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot;   | {{tooltip|Skips (?)|Skips all multi-channel}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot;    | {{tooltip|Rejects|Does not index any of the &#039;extremely large&#039; 48-52 &amp;amp; 55}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| -&lt;br /&gt;
| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; | Spotify for Windows version 1.1.72.439.gc253025e, testbench revision 5; files 60-63 with version 1.1.83.956.gbe7ea9a7. Note, tested a stereo soundcard only (hence the question mark on multichannel).&lt;br /&gt;
|-&lt;br /&gt;
! VLC&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|Unable to play old-style variable blocksize}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: red;&amp;quot;    | {{tooltip|Crashes|Crashes occasionally on files with extremely large VORBISCOMMENT}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; | VLC 3.0.16 on testbench revision 5 &amp;lt;br&amp;gt;VLC 3.0.17.4 on files 60 to 63.&amp;lt;br&amp;gt;VLC 3.0.16 on file 64&lt;br /&gt;
|-&lt;br /&gt;
! VUPlayer 4.15&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; | Testbench revision 7.&lt;br /&gt;
|-&lt;br /&gt;
! Winamp 5.8&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: red;&amp;quot;    | {{tooltip|Freezes|Freezes on 12 bit file}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: red;&amp;quot;    | {{tooltip|Freezes|Freezes on 384kHz}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: red;&amp;quot; colspan=&amp;quot;2&amp;quot; | {{tooltip|Freezes|Freezes on 3.0, 5.0, 6.1 and 7.1 files}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; | Winamp 5.8 build 3660, testbench revision 5&lt;br /&gt;
|-&lt;br /&gt;
! Windows Media Player&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Rejects|Rejects 12 bit file}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Rejects|Rejects 20 bit file}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Rejects|Rejects all}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; | Tested version 12.0.19041.1288 on testbench revision 5&lt;br /&gt;
|-&lt;br /&gt;
! XMPlay&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; | XMPlay 3.8.5.42 with FLAC decoder revision 14 tested with testbench revision 7.&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;20&amp;quot; | Digital Audio Workstations (DAW)&lt;br /&gt;
|-&lt;br /&gt;
! Adobe Audition&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Rejects|Rejects 12 bit file}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Rejects|Rejects 20 bit file}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|Imports silence on file with no total number of samples set}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Rejects|Rejects 20 bit file}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; | Adobe Audition 1.5 with http://www.vuplayer.com/audition.php plugin, tested with testbench revision 7.&lt;br /&gt;
&lt;br /&gt;
|-}&lt;br /&gt;
|-}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; cellspacing=&amp;quot;2&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | Table legend&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays   || all files in this category are played as intended, without glitches, changes etc.; changed volume tolerated (but indicated)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | Rejects || One or more files are rejected by the player, either by skipping the file or mentioning a message like: &amp;quot;file not supported&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | Fails   || One or more files are not played back as intended, for example by stuttering, garbling or playing at incorrect speed, or by never starting playing (though not skipping, freezing or rebooting)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: red;&amp;quot;    | Freezes || On one or more files, the player crashes on decoding, leaving the unit inoperable until reboot, or the unit reboots by itself&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | The order of precedence is from bottom to top, so if one file freezes the player, one file is rejected and the other play fine, the table reads &#039;Freezes&#039; for that category.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | For the metadata tests, the (absence of) rendering of the metadata is not a criterium, simply whether its presence is an obstacle to playing&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Porcuswiki</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=Monkey%27s_Audio&amp;diff=38302</id>
		<title>Monkey&#039;s Audio</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=Monkey%27s_Audio&amp;diff=38302"/>
		<updated>2025-04-12T06:52:46Z</updated>

		<summary type="html">&lt;p&gt;Porcuswiki: Multi-threading feature and a few other minor updates&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Codec Infobox&lt;br /&gt;
| name = Monkey&#039;s Audio &lt;br /&gt;
| logo = &lt;br /&gt;
| type = lossless&lt;br /&gt;
| purpose = &amp;quot;A fast and powerful lossless audio compressor&amp;quot;&lt;br /&gt;
| maintainer = Matt Ashland&lt;br /&gt;
| released = {{start date and age|2000}}&lt;br /&gt;
| website = [https://www.monkeysaudio.com monkeysaudio.com]&lt;br /&gt;
}}&lt;br /&gt;
&#039;&#039;&#039;Monkey&#039;s Audio&#039;&#039;&#039; (APE) is a [[lossless]] audio [[codec]] with its own file format (.ape). It is distributed as a free open-source (since August 2023) encoder/decoder with a Windows GUI &amp;amp; CLI for conversion, and a development kit to facilitate support in audio players and other software.  Stereo decoding is supported by ffmpeg, offering playback for a larger number of platforms, and is also found in [[Rockbox]]-equipped portable players.  An older version for *n*x platforms does exist, and apparently also current versions can be compiled.&amp;lt;ref&amp;gt;[https://www.monkeysaudio.com/versionhistory.html Version History], note on 10.60 compiling on Gentoo&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Recent (official) Monkey&#039;s Audio supports multi-channel and high resolution audio and several input formats.  A player which incorporates a recent official version can play back all these, while older software and ffmpeg-based players might be restricted to mono/stereo at 24-bit resolution or less. Tagging is widely supported. &lt;br /&gt;
&lt;br /&gt;
Performance-wise, Monkey&#039;s would in the early 2000s be the to-go codec to save storage, achieving better compression ratios than most competitors, at a then-significant CPU cost both for encoding and decoding, possibly taxing (now legacy!) portable players so much that users would have to select a lighter mode.&amp;lt;ref&amp;gt;[https://www.rockbox.org/wiki/SoundCodecs.html Rockbox codec overview]&amp;lt;/ref&amp;gt; As of 2024, no open-source end-user codec achieves similar ratios (at normal resolution). Monkey&#039;s Audio&#039;s compression performance was a major inspiration and yardstick in the development of [[TAK]].&amp;lt;ref&amp;gt;http://thbeck.de/Tak/Tak.html#Entwicklung Thomas Becker explains the TAK development (in German)&amp;lt;/ref&amp;gt;  Monkey&#039;s in turn, was inspired by early [[WavPack]];&amp;lt;ref&amp;gt;Monkey&#039;s Audio historical FAQ {{webarchive|http://web.archive.org/web/20001017210206/http://www.monkeysaudio.com/faq.html|2000-10-17}}&amp;lt;/ref&amp;gt; both WavPack and TAK have adopted Monkey&#039;s tagging scheme, called [[APEv2]], and so has the even heavier-compressing [[OptimFROG]].&lt;br /&gt;
&lt;br /&gt;
The Monkey&#039;s developer is also developing the  [https://en.wikipedia.org/wiki/JRiver_Media_Center JRiver Media Center] player.&amp;lt;ref&amp;gt;[https://jriver.com/management.html JRiver key personell]&amp;lt;/ref&amp;gt; The naming similarity to the [[MediaMonkey]] player is an apparent coincidence which did cause some confusion at the time, especially since it could play APE files before changing name from Songs-DB to MediaMonkey in 2003, about at the same time as MediaJukebox changed name to JRiver Media Center.&lt;br /&gt;
&lt;br /&gt;
= Features =&lt;br /&gt;
Historically, Monkey&#039;s Audio users have largely based their choice on CDDA compression ratios.  Several of the features listed above have been added over time; the  &lt;br /&gt;
[[Lossless comparison| HA Wiki&#039;s Lossless Codec Comparison]] gives a rough overview, but not all software supports the features that the codec and file format might offer.  As a rule of thumb, features that in the following list are indicated with versions 4 or above, might require (a player that uses) a recent official tool. &amp;quot;All&amp;quot; versions refer to 3.99 (2004) or above, as apparently that is what the third-party implementations are based on. &lt;br /&gt;
&lt;br /&gt;
* Seekable playback (but not streamability). A player like VLC may disable its seekbar, but that is not a limitation of the format itself. &lt;br /&gt;
* High resolution audio support: 24-bits in all versions, 32-bit integer since version 5 (2019), 32-bit float since version 10 (2023).  &lt;br /&gt;
* Multichannel support starting version 4.86 (2019). &lt;br /&gt;
* Supports linear PCM in as good as every relevant input format: WAVE/AIFF/W64/RF64/BW64/CAF/AU and can handle &amp;gt; 4 GiB input (2022/2024, use version 10.65 or above).&lt;br /&gt;
* Non-audio chunks (RIFF and similar) stored; Monkey&#039;s will not only encode/decode the audio losslessly, but also store the non-audio chunks and restore them into a file bit-identical to the original.&lt;br /&gt;
* Piping support (since 7.26 in 2022, also earlier available in a special patch provided by shntool).&lt;br /&gt;
* Tagging: APEv2 tags, also used in a few other lossless formats.  Also ID3, while usually not advisable, is provided as an option for players which do not support other tag formats.&amp;lt;ref&amp;gt;[https://www.monkeysaudio.com/versionhistory.html Version History], note on 10.19 about the developer&#039;s in-car unit demanding ID3v1&amp;lt;/ref&amp;gt; &lt;br /&gt;
* Cuesheet support.&lt;br /&gt;
* Unicode support.&lt;br /&gt;
* Fast-verification or full verification both available.&lt;br /&gt;
* Multithreading. The GUI has long supported parallel processing with one thread per file, but from version version 11 (2025) the CLI can also multi-thread a single file. &lt;br /&gt;
&lt;br /&gt;
The official command-line tool can perform all the above, and also re-encode Monkey&#039;s to Monkey&#039;s with tags transfer.&lt;br /&gt;
&lt;br /&gt;
The Windows GUI offers further functionality: &lt;br /&gt;
* Convert from other lossless codecs (included in the distribution; FLAC, ALAC, WavPack, TAK, Shorten as per version 11), with transfer of APEv2 tags; FLAC tag transfer recently added and might still be developed.&lt;br /&gt;
* Bulk file handling in parallel, spawning one CPU thread per file up to user-defined maximum.&lt;br /&gt;
&lt;br /&gt;
== For users of other codecs: peculiarities, design solutions, limitations, ... ==&lt;br /&gt;
Monkey&#039;s Audio has had several special design solutions. One is not at all unique anymore, having seen wider adoption: the custom APE tags, which after a redesign into APEv2 by [[Musepack]] developer Frank Klemm, was taken into not only the Monkey&#039;s Audio format, but also WavPack, OptimFROG and TAK, and has (though limited) use in MP3 files as well. APEv2 tags are at the end of the file; that means retagging will not trigger the full file rewrite sometimes necessary in front-tagged formats (FLAC and ALAC), but sometimes applications may spend longer time scanning for artwork and other tags.&lt;br /&gt;
&lt;br /&gt;
Several of the Monkey&#039;s design choices still sets it apart from other codecs and their implementations: &lt;br /&gt;
* There is a &amp;quot;cuesheet alternative&amp;quot; in Ape Link files (APL) &amp;amp;ndash; optional, and users who find it unfamiliar can ignore. &lt;br /&gt;
* The format is not streamable.  Users should note that streamability is not needed in a playback solution that has access to the entire file; an end-user can simply check if a player solution does support Monkey&#039;s.&lt;br /&gt;
* Error resilience is not implemented in the official version: Should a file be corrupted, if only by a single bit flipped, the official decoder will halt upon encountering it, dropping the rest of the file. One can seek past an error as long as one points it to a subsequent block, and ffmpeg can also decode on further (assuming it is stereo, for ffmpeg to support it at all). &lt;br /&gt;
** Even when salvaging audio that way, dropouts might be severly long for the higher modes, due to the large block size. (&amp;quot;All&amp;quot; lossless compressed formats will have a sample calculated from past samples until a block boundary, but most others are a fraction of a second.)&lt;br /&gt;
* Monkey&#039;s offers error &#039;&#039;detection&#039;&#039;, including through its MD5 checksum &amp;amp;ndash; but unlike formats where the MD5 identifies the (unencoded) audio signal, Monkey&#039;s will checksum the encoded stream.  Enabling MD5 upon encoding a CD rip in FLAC (on by default), WavPack, TAK and OptimFROG will all store the same MD5 and can be used to identify the audio; Monkey&#039;s MD5s are different, and also differ between modes (&amp;quot;Normal&amp;quot;, &amp;quot;High&amp;quot;, ...)&lt;br /&gt;
* For the most common audio formats, the bitstream has largely been frozen permanently; a file encoded with 3.99 in &amp;quot;High&amp;quot; mode compresses to the same file as one encoded with the most recent version. That is, not only do they represent the same audio and non-audio, the encoded files are bit-identical. This property is in stark contrast to the exceptions: &lt;br /&gt;
* On several occasions, new features &amp;amp;ndash; including new signal support &amp;amp;ndash; have been altered soon after introduction in a compatibility-breaking way,&amp;lt;ref&amp;gt;[https://www.rockbox.org/wiki/SoundCodecMonkeysAudio Rockbox&#039; page on Monkey&#039;s Audio]&amp;lt;/ref&amp;gt; and the official website does not offer older versions to be downloaded. The third party site Videohelp.com offers several older versions for download&amp;lt;ref&amp;gt;[https://www.videohelp.com/software/Monkeys-Audio/old-versions Several old Monkey&#039;s versions at videohelp.com]&amp;lt;/ref&amp;gt;, but the files themselves rarely indicate what version was used to encode them.  &lt;br /&gt;
** Also, third-party decoding is usually limited to two channels and at most 24 bits. &lt;br /&gt;
* Non-audio metadata is not only included, there is no (documented) way to discard them without piping.&lt;br /&gt;
** The user might take note that the Monkey&#039;s help file&#039;s proposal for encoding from pipe &amp;amp;ndash; namely, using ffmpeg &amp;amp;ndash; is not lossless for &amp;gt; 16 bits.  This is not a Monkey&#039;s limitation, it is a design choice in ffmpeg.  It is possible for power users to read off audio format properties and extract audio for piping in a lossless manner, but it does require command-line skills. Likely one would rather use a player with conversion support; below is a guide on how to do it with foobar2000. &lt;br /&gt;
** Users might note that full file preservation is irrelevant for CD rips. Contrary to a common misconception, CD audio is &#039;&#039;not&#039;&#039; stored as WAVE &amp;amp;ndash; nor in any sort of file.  Thus, using a &amp;quot;full file compressor&amp;quot; gives no more &amp;quot;true&amp;quot; copy of a CD. &lt;br /&gt;
&lt;br /&gt;
Monkey&#039;s has traditionally had less hardware support than FLAC, but with some available choices available, including in-car units. As of 2025, at least FiiO hardware DAPs offer Monkey&#039;s playback. The distinction between &amp;quot;hardware&amp;quot; players and &amp;quot;software&amp;quot; players is arguably blurred with embedded Linux-based hardware and with ffmpeg-based playback through Android and iOS players, which have brought both Monkey&#039;s playback and several other formats to more devices. Android users might note that this OS does not &#039;&#039;natively&#039;&#039; support other lossless audio formats than WAVE and FLAC, so there have been issues getting certain Android solutions to recognize other media files including Monkey&#039;s;&amp;lt;ref&amp;gt;[https://hydrogenaud.io/index.php/topic,122768 HA thread with link to Android bug report by the Monkey&#039;s Audio author]&amp;lt;/ref&amp;gt; apparently, using SD card solves it.&lt;br /&gt;
&lt;br /&gt;
=== The license controversy ===&lt;br /&gt;
From version 10.18 (August 2023), Monkey&#039;s has been released under the free and open-source 3-clause BSD license, which is the same as WavPack and and the official FLAC &#039;&#039;libraries&#039;&#039;.  &lt;br /&gt;
&lt;br /&gt;
Earlier on it was released under its own unorthodox license, which made source &#039;&#039;available&#039;&#039; on terms deemed non-free.&amp;lt;ref&amp;gt;[https://lists.debian.org/debian-legal/2007/09/msg00079.html Debian mailing list discussion on the old Monkey&#039;s licensing terms]&amp;lt;/ref&amp;gt; Controversy arose both because these terms were perceived to encourage using the software to violate a major FOSS license, and also because several users forked it to FOSS repositories, checking off one of the site&#039;s approved licenses, hence violating the Monkey&#039;s license.  The remains of one *n*x fork at Github is available at Github and a Java port (see the Software support subsection below). &lt;br /&gt;
&lt;br /&gt;
A legacy license issue might be insignificant to end-users, but as of May 2024 there seems not (yet?) to be any recent version ported to and maintained for non-Windows platforms. Stereo standard-resolution is still playable on 3.99-based solutions, and ffmpeg also supports 24 bits files.&lt;br /&gt;
&lt;br /&gt;
== Performance &amp;amp;ndash; file size, CPU load == &lt;br /&gt;
Rewind twenty years to 2004 and Monkey&#039;s version 3.99 (the basis of the third-party implementations), Monkey&#039;s was the to-go codec for many users who gave priority to file size and were willing to wait for encoding (and decoding, including for conversion). Fast forward to now, enthusiasts will still compare performance even if ordinary users may take note that impact on cost is often negligible. Different considerations may apply when a drive is near full.  &lt;br /&gt;
The HA wiki&#039;s [[lossless comparison]] article compares speed and compression ratio on CDDA on the respective codecs&#039; &#039;&#039;default&#039;&#039; setting (interpreting Monkey&#039;s &amp;quot;Normal&amp;quot; as the default), all taken from Martijn van Beurden&#039;s comparison studies.&amp;lt;ref&amp;gt;[http://www.audiograaf.nl/losslesstest Martijn van Beurden: &amp;lt;em&amp;gt;Lossless audio codec comparison archive&amp;lt;/em&amp;gt;], all comparisons in this wiki article consistent with results reported in revision 6, 2023, using Monkey&#039;s Audio 10.17.&amp;lt;/ref&amp;gt;   The test corpus is chosen to be a &amp;quot;wide&amp;quot; selection, and most music collections are biased in one direction or another genre-wise; users who are sufficiently concerned about compression might look up the individual sources in the study and/or make a test sample from their own collection.  By and large, the following observations can be made:&lt;br /&gt;
* CDDA: By and large, Monkey&#039;s spends more time (both encoding and decoding) and achieves smaller files than any other format still alive and maintained, except OptimFROG: Stepping up from OptimFROG&#039;s default, it can outcompress any Monkey&#039;s, but at higher computational effort, especially in encoding.  &lt;br /&gt;
** Exception: TAK can compress like Monkey&#039;s &amp;quot;High&amp;quot; and in this study also catches &amp;quot;Extra high&amp;quot;, and faster (and spend only a fraction of the decoding computing effort). &lt;br /&gt;
** Exception: Monkey&#039;s &amp;quot;Fast&amp;quot; is arguably not competitive; flac -7 would compress slightly better and slightly faster, and decode much lighter. But &amp;quot;Fast&amp;quot; isn&#039;t Monkey&#039;s main selling point, and for &amp;quot;Normal&amp;quot; and up, any end-user compressor able to reach Monkey&#039;s file sizes on CDDA, would be closed-source. &lt;br /&gt;
* Multichannel: largely as CDDA, except: &lt;br /&gt;
** TAK soundly outperforms any competition on 5.1 (it is capped at 6 channels), and Monkey&#039;s was also out-compressed by the little-used MPEG-4 ALS codec. &lt;br /&gt;
** On 5.1, WavPack could with considerable &#039;&#039;en&#039;&#039;coding effort catch Monkey&#039;s &amp;quot;Normal&amp;quot; and maybe &amp;quot;High&amp;quot;, but not &amp;quot;Extra high&amp;quot;. &lt;br /&gt;
* High resolution: Inconsistent results, sometimes as CDDA and sometimes losing out to both FLAC, WavPack and TAK. &lt;br /&gt;
** Part of this inconsistency has a well-known explanation, which one may call &amp;quot;fake&amp;quot; high resolution: if a 16-bit signal is padded up with zeroes and stored in a 24-bit WAVE file, then other codecs can notice and exploit it.  The Monkey&#039;s format has no such provision to deal with it (and neither has ALAC), and apparently such a revision would break compatibility.&lt;br /&gt;
** What is not known, is what fraction of high-bit depth signals are actually of this kind. A particular user&#039;s collection may have a lot or very little; &#039;&#039;YMMV,&#039;&#039; and by a lot.&lt;br /&gt;
* Floating-point signals (from version 10) do not obtain competitive compression ratios compared to WavPack. Apparently the purpose was to ensure that Monkey&#039;s can actually handle these signals when they emerge from certain editing software. &lt;br /&gt;
* Monkey&#039;s &amp;quot;Insane&amp;quot; setting is hardly worth it &amp;amp;ndash; the official help file says the same about &amp;quot;Extra High&amp;quot; and the developer has reported to use &amp;quot;High&amp;quot;. &amp;quot;Insane&amp;quot; might at some signal types creating larger files than &amp;quot;Extra High&amp;quot;; also there are some few signals where &amp;quot;Extra High&amp;quot; could be tricked into worse compression ratio.&lt;br /&gt;
&lt;br /&gt;
These results are based on version 10, which rectifies some slowdown from older versions. &lt;br /&gt;
&lt;br /&gt;
=== Verification speed === &lt;br /&gt;
Like WavPack (from version 5) and OptimFROG, Monkey&#039;s offers two integrity verification modes:  &lt;br /&gt;
* Verification by decoding. Takes the time that decoding takes (slightly more than encoding does). External applications like the [[foobar2000]] player will do this when asked to verify. &lt;br /&gt;
* Fast verification, that tests whether the encoded bitstream is valid.  Since it does not decode, it works much faster than even FLAC verification, but not at all as fast as WavPack&#039;s (due to the latter&#039;s faster block checksum algorithm; formats like FLAC and TAK do employ block checksums, but as of writing, no fast verification has been implemented.) &lt;br /&gt;
&lt;br /&gt;
For checking an entire hard drive, the time difference is potentially huge. Beware however that if a drive cannot be trusted, it should better be backed up first &amp;amp;ndash; any verification will read all the encoded audio from drive. &lt;br /&gt;
= Using Monkey&#039;s Audio (for Windows) = &lt;br /&gt;
Monkey&#039;s Audio comes with an installer (32-bit or 64-bit), which will install as a normal Windows application. &lt;br /&gt;
&lt;br /&gt;
== The graphical user interface ==&lt;br /&gt;
The GUI has several self-explanatory features, explained at [https://monkeysaudio.com/help.html the official help page.] Opening it, the top-left button will allow you to select action (encode/decode/...), and with that in place, drag and drop files.  Delete any that ended up in the window by mistake.  If the task is encoding (or .ape to .ape reencoding), you may want to select compression setting.  Press the button. &lt;br /&gt;
&lt;br /&gt;
There is an options page, where you can for example set the number of files to run concurrently (each will spawn a new thread), setting process priority, and whether to use full verification (that decodes) or fast verification (that only checks the encoded bitstream). &lt;br /&gt;
&lt;br /&gt;
== The command-line utility [[Windows command line tips|(for Windows: command-line hints here)]] and the .bat file ==&lt;br /&gt;
Most users will be satisfied with the GUI, which is a graphical front-end for the Monkey&#039;s Audio Console, called MAC.exe on Windows.  Sometimes one may want to avoid the GUI. To that end, one can find the console in the installation directory, normally &amp;lt;code&amp;gt; C:\Program Files\Monkey&#039;s Audio x64\  &amp;lt;/code&amp;gt;  or  &amp;lt;code&amp;gt;  C:\Program Files (x86)\Monkey&#039;s Audio\  &amp;lt;/code&amp;gt;.  There is also a &amp;lt;code&amp;gt;.bat&amp;lt;/code&amp;gt; file there to support encoding by drag and drop. &lt;br /&gt;
&lt;br /&gt;
MAC.exe can be copied stand-alone, after which users who do not want to have the full application installed, can uninstall it.  It can also be extracted from the installation executable by opening it as an archive.  The .bat can be copied/extracted as well, to the same directory as where the MAC.exe resides. &lt;br /&gt;
&lt;br /&gt;
The following are the basic commands for the console:&lt;br /&gt;
&lt;br /&gt;
* The help text: &amp;lt;code&amp;gt; MAC -h&amp;lt;/code&amp;gt;&lt;br /&gt;
* For encoding, decoding and conversion from .ape to .ape, the basic command-line is &amp;lt;code&amp;gt;MAC infile outfile [option]&amp;lt;/code&amp;gt; where the [option] could be as follows: &lt;br /&gt;
** For decoding, when infile is .ape and outfile is e.g. WAVE, &amp;lt;code&amp;gt;-d&amp;lt;/code&amp;gt; &lt;br /&gt;
** For encoding to .ape, &amp;lt;code&amp;gt;-c1000&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;-c2000&amp;lt;/code&amp;gt; or ... &amp;lt;code&amp;gt;-c5000&amp;lt;/code&amp;gt; for &amp;quot;Fast&amp;quot;, &amp;quot;Normal&amp;quot;, &amp;quot;High&amp;quot;, &amp;quot;Extra High&amp;quot; and &amp;quot;Insane&amp;quot; mode. According to the help file, the developer himself uses &amp;quot;High&amp;quot;. &lt;br /&gt;
** For transcoding .ape to .ape: Replace the &amp;quot;c&amp;quot; by &amp;quot;n&amp;quot;, giving option &amp;lt;code&amp;gt;-n1000&amp;lt;/code&amp;gt; to  &amp;lt;code&amp;gt;-n5000&amp;lt;/code&amp;gt;&lt;br /&gt;
** Also there are tagging options. See the manual. &lt;br /&gt;
* For verification: &amp;lt;code&amp;gt;MAC apefile -v&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;MAC apefile -V&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;-threads&amp;lt;/code&amp;gt; for multi-threaded operation; say, &amp;lt;code&amp;gt;-threads=12&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Also tags can be added, although end-users will likely resort to a more user-friendly application.&lt;br /&gt;
&lt;br /&gt;
== With players and other applications ==&lt;br /&gt;
&lt;br /&gt;
=== Decoding and playback ===&lt;br /&gt;
Several players support Monkey&#039;s Audio out-of-the-box.  The developer is affiliated with JRiver Media Center, which integrates Monkey&#039;s Audio support.  The foobar2000 player supports Monkey&#039;s decoding out-of-the-box in version 2.x, so that the [https://www.foobar2000.org/components/view/foo_input_monkey foo_input_monkey] is not anymore needed.  1.6 users will still have to install it. &lt;br /&gt;
&lt;br /&gt;
=== Encoding with ExactAudioCopy ===&lt;br /&gt;
The Wiki has a guide for [[EAC and Monkey&#039;s Audio|Configuring EAC and Monkey&#039;s Audio]], for CD ripping.&lt;br /&gt;
&lt;br /&gt;
=== Encoding with [[foobar2000]] ===&lt;br /&gt;
To encode to Monkey&#039;s Audio with foobar2000, one needs to set it up as a custom encoder. Follow  [[Foobar2000:Converter| the wiki&#039;s guideline on conversion]] and select a custom encoder.  You will get a panel like displayed in [[Foobar2000:Preferences:converter:custom presets| the custom presets article]].  The entries could look like the following:&lt;br /&gt;
       Encoder: C:\Program Files\Monkey&#039;s Audio x64\MAC.exe&lt;br /&gt;
       Extension: ape&lt;br /&gt;
       Parameters: %s %d -c3000&lt;br /&gt;
       Format is: lossless (or hybrid)&lt;br /&gt;
       Highest BPS mode supported: 32&lt;br /&gt;
       Encoder name: APE (Monkey&#039;s Audio)&lt;br /&gt;
       Bitrate: (ignore this, it is for lossy)&lt;br /&gt;
       Settings: high&lt;br /&gt;
The first line should match your actual path to MAC.exe; if you installed elsewhere (for example the 32-bit to C:\Program Files (x86), you have to modify accordingly.  &lt;br /&gt;
In the third line, the &amp;quot;-c3000&amp;quot; indicates &amp;quot;High&amp;quot; mode. Use  -c1000/-c2000/-c3000/-c4000/-c5000 according to preference, as explained above. The &amp;quot;Highest BPS mode supported:&amp;quot; is here set to 32.  That means it will allow 32 bits per sample files to be encoded to Monkey&#039;s; if you want to use them on an ffmpeg-based player, you could set it to 24 bits to avoid creating files that ffmpeg&#039;s decoder will reject. The remaining lines are free text that will show up for your information; if you write wrong there, the encoder will ignore it. &lt;br /&gt;
&lt;br /&gt;
==Software support==&lt;br /&gt;
3rd party ports and implementations:&lt;br /&gt;
* [https://ffmpeg.org FFmpeg] - decoding, stereo only, up to 24 bits. &lt;br /&gt;
* [https://jmac.sourceforge.net/ JMAC] - Java implementation of version 3.99&lt;br /&gt;
* [https://github.com/fernandotcl/monkeys-audio *n*x port] - based on 3.99 with pipe support from shntool&lt;br /&gt;
* [http://shnutils.freeshell.org/shntool/ Shntool] - conversion which also supports legacy formats sometimes found in live show trading communities&lt;br /&gt;
Other converters that support Monkey&#039;s, include [[CUETools]] (CDDA only).&lt;br /&gt;
&lt;br /&gt;
Players: &lt;br /&gt;
Players like JRiver and foobar2000 employ the official Monkey&#039;s Audio SDK for support.  VLC and several players based on ffmpeg and the [https://www.un4seen.com/ Bass audio library] do have some support, which may be limited to stereo and 24 bits; a user who wants to play .ape files with higher resolution or channels might have to simply try, as detailed information is often not stated. &lt;br /&gt;
For macOS, there is [https://cog.losno.co/ Cog].&lt;br /&gt;
&lt;br /&gt;
Tagging and audio info:&lt;br /&gt;
Several &#039;&#039;players&#039;&#039; support tagging, and the APEv2 tag scheme is also widely supported among stand-alone taggers. Not all of the following have been tested with all possible Monkey&#039;s files (like, high channel count float from .au source).&lt;br /&gt;
* [http://www.mp3tag.de/en/index.html Mp3tag] Universal Tag Editor&lt;br /&gt;
* [https://picard.musicbrainz.org/ MusicBrainz Picard] Tagger with audio identification &lt;br /&gt;
* [http://www.jtclipper.eu/thegodfather/ The GodFather] Tagger / Music manager&lt;br /&gt;
* [[Tag.exe|Case&#039;s Tag]] command line tagger. Note that MAC.exe also offers command-line tagging.&lt;br /&gt;
* [https://mediaarea.net/ MediaInfo] - does not explicitly mention Monkey&#039;s Audio, but supports APEv2.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Further reading =&lt;br /&gt;
* [https://www.monkeysaudio.com Monkey&#039;s Audio] - Official website&lt;br /&gt;
* {{wikipedia|Monkey&#039;s Audio}}&lt;br /&gt;
* [https://wiki.multimedia.cx/index.php/Monkey%27s_Audio Monkey&#039;s Audio at Multimediawiki] &lt;br /&gt;
* [[Lossless comparison| HA Wiki&#039;s Lossless Codec Comparison]] originally by [[User:Rjamorim|Rjamorim]]&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{navbox audio codecs}}&lt;br /&gt;
&lt;br /&gt;
[[index.php?title=Category:Codecs]]&lt;/div&gt;</summary>
		<author><name>Porcuswiki</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=ALAC&amp;diff=38290</id>
		<title>ALAC</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=ALAC&amp;diff=38290"/>
		<updated>2025-01-21T19:48:01Z</updated>

		<summary type="html">&lt;p&gt;Porcuswiki: Some unclear language&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{infobox file format&lt;br /&gt;
| name                   = Apple Lossless Audio Codec&lt;br /&gt;
| extension              = {{code|.m4a}}, {{code|.caf}}&lt;br /&gt;
| mime                   = &lt;br /&gt;
| developer              = Apple Inc.&lt;br /&gt;
| released               = 2004 &amp;lt;!-- {{start date and age|YYYY|mm|dd}} --&amp;gt;&lt;br /&gt;
| latest_release_version = &lt;br /&gt;
| latest_release_date    = &amp;lt;!-- {{start date and age|YYYY|mm|dd}} --&amp;gt;&lt;br /&gt;
| format_type            = Lossless audio codec&lt;br /&gt;
| container_for          = &lt;br /&gt;
| contained_by           = [[MPEG-4]] Part 14&lt;br /&gt;
| extended_from          = &lt;br /&gt;
| extended_to            = &lt;br /&gt;
| free                   = Yes &amp;lt;!-- Yes or No --&amp;gt;&lt;br /&gt;
| url                    = &lt;br /&gt;
}}&lt;br /&gt;
The &#039;&#039;&#039;Apple Lossless Audio Codec (ALAC)&#039;&#039;&#039;, sometimes also known as &amp;quot;Apple Lossless Encoder&amp;quot; or simply &amp;quot;Apple Lossless&amp;quot;, is a [[lossless]] audio [[codec]]. First introduced in 2004, Apple has since 2011 provided a free open-source encoder/decoder.  ALAC is supported natively in Apple&#039;s own operating systems and Windows 10/11, and is ported to other platforms like [[Rockbox]]-endabled portable players, and through FFmpeg&#039;s encoding and decoding support. Other third-party implementations are available. &lt;br /&gt;
&lt;br /&gt;
Being pushed in the Apple ecosystem, lossless music in ALAC format is sold by several music vendors, making it second only to FLAC (and [[Meridian Lossless Packing|MLP]] if files on silver discs are counted) in popularity among lossless compressed audio formats.  ALAC in itself does not provide a file format, but is commonly delivered in an MPEG-4 container with .m4a file extension; this has led to a common misconception that ALAC itself is related to [[AAC]] (also offered by Apple through iTunes). &lt;br /&gt;
&lt;br /&gt;
The [https://en.wikipedia.org/wiki/Apple_Lossless_Audio_Codec Wikipedia entry] offers some information not covered in this article. &lt;br /&gt;
&lt;br /&gt;
= Features =&lt;br /&gt;
Arguably, it is the integration with the Apple ecosystem that might be ALAC&#039;s selling point, and not the features; while the codec enjoys several of the more common properties noted at [[Lossless comparison| HA Wiki&#039;s Lossless Codec Comparison]], it falls short on others. Maybe the closest it gets to any &#039;&#039;unique&#039;&#039; feature could be for applications tied to the MP4 container, since [[FLAC]] in MP4 might be less supported in practice.   &lt;br /&gt;
&lt;br /&gt;
This section is largely based on what is available for ALAC in an MP4 container, which will provide for seekable and streamable playback, and tags. ALAC can also be fit in the Matroska container and Apple&#039;s CAF container, and the MP4 container&#039;s predecesor format QTFF(.qt/.mov). &lt;br /&gt;
&lt;br /&gt;
ALAC can handle 16/20/24/32 bits signals in 1 to 8 channels. Officially, sampling rates up to 384 kHz are supported, but &amp;quot;any WAVE&amp;quot; sampling rate (4 GiHz &amp;amp;ndash; yes &#039;&#039;giga&#039;&#039;hertz, &amp;gt; sixteen octaves above audible) could well work, if the decoder isn&#039;t capped lower. This does in principle make ALAC the &amp;quot;biggest market player that can handle radio frequencies&amp;quot;, if that is a desired use. &lt;br /&gt;
&lt;br /&gt;
&amp;quot;Large&amp;quot; data are supported &amp;amp;ndash; i.e., exceeding WAVE/AIFF&#039;s limits of 4 GiB uncompressed &amp;amp;ndash; and handled well in e.g. the refalac implementation, which will automatically invoke the RF64 extension of WAVE when needed.&lt;br /&gt;
&lt;br /&gt;
Although it was speculated that ALAC could accommodate DRM though the MP4 container, nothing such has surfaced. Whether that would be a &amp;quot;feature&amp;quot; is certainly up to opinion.&lt;br /&gt;
&lt;br /&gt;
== Limitations ==&lt;br /&gt;
* Only a limited channel configurations are supported.  For example, 3 channel ALAC is assumed to be 3.0 and not 2.1.&amp;lt;ref&amp;gt;[https://github.com/macosforge/alac github.com/macosforge/alac] with supported audio formats&amp;lt;/ref&amp;gt; There is no support for  WAVEFORMATEXTENSIBLE channel mask information (which is mandatory in WavPack and has long been supported in FLAC) for alternative configurations.&lt;br /&gt;
* Bad error handling,&amp;lt;ref&amp;gt;[https://hydrogenaud.io/index.php/topic,33226.msg862031.html#msg862031  HA post (2014) reporting on ALAC&#039;s lack of error resilience]&amp;lt;/ref&amp;gt; could be the worst among lossless formats except the more obscure [[TTA]].&amp;lt;ref&amp;gt;[https://hydrogenaud.io/index.php/topic,122094  HA post (2022) on error handling] (TTA is arguably worse)&amp;lt;/ref&amp;gt;  The ALAC codec provides for no detection (and thus no protection) against corruption, although it is possible to create detectable corruption in a frame header, or by corrupting bits essential to the MP4 container &amp;amp;ndash; potentially rendering the file completely unplayable.&lt;br /&gt;
** Furthermore, unlike most other lossless formats, there is no provision for an audio checksum. The user will have to resort to 3rd-party hacks to store an audio checksum as an ordinary tag. &lt;br /&gt;
* 8-bit audio is not supported, and embedding it in 16 bits by padding up with zeroes, will compress very bad. &lt;br /&gt;
* 32-bit integer is supported, but (like FLAC) not 32-bit float. See below subsection on 32-bit signals.&lt;br /&gt;
* ALAC is an &amp;quot;audio-only&amp;quot; compressor, it has no ambition to store non-audio chunks from the source files.  Storing such chunks might be essential to serve e.g. audio editing software (which might use them for metadata), and formats like [[WavPack]], [[TAK]], [[OptimFROG]] and [[Monkey&#039;s Audio]] provide for full file restore (the latter even mandates it), while [[FLAC]] can be set to store such chunks in the reference implementation. Users might note that such a property is &#039;&#039;irrelevant&#039;&#039; for CD rips: Contrary to a common misconception, CD audio is &#039;&#039;not&#039;&#039; stored as WAVE &amp;amp;ndash; nor in any sort of file.  Thus, using a &amp;quot;full file compressor&amp;quot; gives no more &amp;quot;true&amp;quot; copy of a CD, than storing the audio in e.g. ALAC.&lt;br /&gt;
&lt;br /&gt;
ALAC might not enjoy the same hardware player support as e.g. FLAC. It is of course supported by players running iOS (also Rockbox or ffmpeg-based code), but for for example in-car units one should be cautious about trusting a statement claiming &amp;quot;.m4a&amp;quot; support, as that might be restricted to the AAC codec. Compare to how players claiming &amp;quot;[[WMA| .wma]]&amp;quot; support would rarely play WMA Lossless.&lt;br /&gt;
&lt;br /&gt;
== Performance &amp;amp;ndash; file size, CPU load (tested on Windows) ==&lt;br /&gt;
When ALAC was launched in 2004, both storage and computing power were more expensive, and so compression ratios and CPU load were more of an issue than today.  By 2024, one might not be as concerned that ALAC isn&#039;t quite up to par performance-wise: In Martijn van Beurden&#039;s comparison studies,&amp;lt;ref&amp;gt;[http://www.audiograaf.nl/losslesstest Martijn van Beurden: &amp;lt;em&amp;gt;Lossless audio codec comparison archive&amp;lt;/em&amp;gt;], all comparisons in this wiki article consistent with revision 6, 2023, using refalac 1.80&amp;lt;/ref&amp;gt; FLAC and [[TAK]] would in their defaults beat ALAC at both size &#039;&#039;and&#039;&#039; encoding time &#039;&#039;and&#039;&#039; decoding CPU load.  It would spend twice as much time encoding as the the lightest WavPack modes to be on par at compression and decoding load. The &amp;quot;fast&amp;quot; ALAC mode saves only encoding time &amp;amp;ndash; decoding is slower in &amp;quot;fast mode&amp;quot; &amp;amp;ndash; but still loses to WavPack&#039;s default on all three parameters, producing five percent bigger files. &lt;br /&gt;
&lt;br /&gt;
Said study used the &#039;&#039;refalac&#039;&#039; port of Apple&#039;s reference code, but other encoders are available. FFmpeg has an encoder which prioritizes speed over file size, and in its default mode creates bigger files faster.&amp;lt;ref&amp;gt;[https://hydrogenaud.io/index.php/topic,123511.0.html HA forum test with different ALAC encoders]&amp;lt;/ref&amp;gt; On the other side,  CUETools offers an ALAC encoder which may compress slightly better at slightly more time.  &lt;br /&gt;
&lt;br /&gt;
Performance tests on Apple platforms are not available at the time of writing, but if ALAC is chosen for integration in the Apple ecosystem, performance issues are likely a secondary concern if any at all.  Due to the compression method, ALAC is unlikely to be as CPU-efficient at decoding as a properly implemented FLAC decoder. It is unknown how that would translate to battery life on iOS; on Rockbox it was tested to be 4 to 5 times as CPU intensive as FLAC&amp;lt;ref&amp;gt;[https://www.rockbox.org/wiki/CodecPerformanceComparison Rockbox: Codec Performance Comparison]&amp;lt;/ref&amp;gt; and battery consumption on Android might depend on encoder used.&amp;lt;ref&amp;gt;[https://hydrogenaud.io/index.php/topic,124857.0.html HA forum post testing battery life on Android]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Using ALAC =&lt;br /&gt;
Likely, the answer to &amp;quot;how to use ALAC?&amp;quot; is &amp;quot;just play it, and fix tags when you need&amp;quot; &amp;amp;ndash; ALAC in MP4 can likely be played back by most modern player applications, and tagged by even more. &lt;br /&gt;
&lt;br /&gt;
For someone who wants to use a Windows computer to migrate to ALAC encodes (say for later use in Appleware), it could be accomplished in various ways: &lt;br /&gt;
* By a player.  E.g. in [[foobar2000]] with its Free Encoder Pack, that includes refalac.  Said player can also convert back and forth between one file per track, and single file + cuesheet.&lt;br /&gt;
* CUETools can also do such conversion, but is restricted to CDDA.  CUETools can invoke its own ALAC encoder, which may improve compression (potentially spending a lot of time doing so).&lt;br /&gt;
* refalac can actually decode FLAC/WavPack/TAK for conversion if the user provides the respective dll (copying it into the refalac folder). refalac supports drag and drop: drag the source file onto the refalac.exe icon and drop it there.    &lt;br /&gt;
* ffmpeg will transfer tags.  For command-line use, you need to specify ALAC as codec in the command-line like &amp;lt;code&amp;gt;ffmpeg -i infile -acodec alac outfile.m4a&amp;lt;/code&amp;gt;. BEWARE that ffmpeg conversion &#039;&#039;to&#039;&#039; WAVE/AIFF requires an audio stream-specific workaround to be lossless when source is &amp;gt; 16 bits:  &amp;lt;code&amp;gt;ffmpeg -i infile outfile.wav&amp;lt;/code&amp;gt; will decimate a 20/24/32 bit source file to 16 bits, without any warning. &lt;br /&gt;
&lt;br /&gt;
Conversion &#039;&#039;from&#039;&#039; ALAC could be equally straightforward, as long as to a codec that the application need not set up specifically.  Monkey&#039;s Audio supports all signals one could possibly fit in ALAC; WavPack realistically so, though it might object to certain radio frequencies fifteen octaves above the audible; and in real-world music files, there has been released one publicity stunt at a sampling frequency where FLAC requires its &amp;lt;code&amp;gt;--lax&amp;lt;/code&amp;gt; switch.&amp;lt;ref&amp;gt;[https://hydrogenaud.io/index.php/topic,122179.msg1011789.html#msg1011789 HA post linking to a free 768/24 track]&amp;lt;/ref&amp;gt; &lt;br /&gt;
&lt;br /&gt;
== Particular notes on 32-bit signals ==&lt;br /&gt;
32-bit signals are not too commonly found in the wild, and the format is arguably not the best suited for delivering music to end-users.  There are stores that supply such a format as a kind of PR stunt (or the usual audiophoolery, pretending it to be audibly better) &amp;amp;ndash; but it also does happen that some artist exports a file straight out of their digital audio workstation. A platform like Soundcloud will offer a 128 kbit/s MP3 for streaming, but may also at artist&#039;s discretion make the original file downloadable, and an artist offering a file straight from their DAW for free is hardly in any obligation to make it more user-friendly when the streaming platform offers a reasonably-sized lossy.&lt;br /&gt;
&lt;br /&gt;
There are two common 32-bit PCM formats. ALAC (like FLAC) supports the integer variant, which is like CDDA but spending 4 bytes rather than 2.&lt;br /&gt;
&lt;br /&gt;
* ffmpeg cannot encode to 32-bit ALAC; given 32 bit input, it will perform a lossy conversion to 24-bit. It does &#039;&#039;decode&#039;&#039; 32-bit ALAC. &lt;br /&gt;
* The lack of 32-bit float support is not any sort of bug or mistake:[[Pulse Code Modulation#Integer vs floating-point LPCM| floating-point is a different animal]] altogether, and compressing it would take different techniques (WavPack is recommended). However the user must be cautious when converting from float to an integer-only format, as conversion between 32-bit float and 32-bit integer is lossy &amp;amp;ndash; both ways &amp;amp;ndash; and sometimes badly so, due to clipping: &lt;br /&gt;
** Upon conversion from float to integer, some applications might clip, possibly without warning &amp;amp;ndash; ffmpeg being the most prominent. It might be safer and more recommendable to use a different target format like ALAC/FLAC. WavPack can handle float losslessly, but even a lossy format that works in float and avoids clipping &amp;amp;ndash; like AAC/MP3 &amp;amp;ndash; might sound better when the source exceeds digital full scale.&lt;br /&gt;
** Also 32-bit integer could cause some compatibility issues in applications that work in 32-bit internally, as they usually process audio as 32-bit float (because floating-point math is the natural choice for a volume control, and essential for formats like MP3). &#039;&#039;Playback&#039;&#039; should be safe if it plays at all &amp;amp;ndash; there is no DAC that can convert the lower bits to analog in any case.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Further reading = &lt;br /&gt;
* [https://github.com/macosforge macOSforge at Github]&lt;br /&gt;
* [https://github.com/nu774/qaac qaac (with refalac) at Github], has refalac usage wiki&lt;br /&gt;
* [https://en.wikipedia.org/wiki/ALAC ALAC at Wikipedia]&lt;br /&gt;
* [https://wiki.multimedia.cx/index.php/Apple_Lossless_Audio_Coding ALAC at Multimediawiki]&lt;br /&gt;
* [[Lossless comparison| HA Wiki&#039;s Lossless Codec Comparison]] originally by [[User:Rjamorim|Rjamorim]]&lt;br /&gt;
* [http://cue.tools CUETools] includes an ALAC encoder&lt;br /&gt;
* [https://web.archive.org/web/20120620124229/http://craz.net/programs/itunes/alac.html the first reverse-engineered decoder] at the Wayback Machine&lt;br /&gt;
* [https://www.rarewares.org/lossless.php Rarewares] has Windows and macOS compiles of said reverse-engineered decoder&lt;br /&gt;
* An older (2005) performance comparison of lossless audio compressors {{webarchive|https://web.archive.org/web/20151027213336/http://members.home.nl/w.speek/comparison.htm|2015-10-27}} by Speek, using the iTunes 4.7 encoder &lt;br /&gt;
&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{navbox audio codecs}}&lt;br /&gt;
[[index.php?title=Category:Codecs]]&lt;br /&gt;
[[index.php?title=Category:Lossless]]&lt;/div&gt;</summary>
		<author><name>Porcuswiki</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=Windows_Media_Audio&amp;diff=38288</id>
		<title>Windows Media Audio</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=Windows_Media_Audio&amp;diff=38288"/>
		<updated>2025-01-13T18:21:11Z</updated>

		<summary type="html">&lt;p&gt;Porcuswiki: Added: &amp;quot;WMAL&amp;quot; abbreviation (for search hitword), links to the CLI executables, and highlighted the potential lossiness.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Windows Media Audio&#039;&#039;&#039; (&#039;&#039;&#039;WMA&#039;&#039;&#039;) are Microsoft&#039;s compressed audio formats; &amp;quot;WMA&amp;quot; is a generic name for several [[codec|codecs]].  .wma &#039;&#039;files&#039;&#039; (and .wmv files) are [[ASF]] container files with a suffix indicating content, much like would later be done by renaming audio-only mp4 files into &amp;quot;.m4a&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
Use of these codecs largely depend on Windows components, and support has waned over the years to the point where they might be considered abandonware: by 2011, Microsoft&#039;s own music store abandoned WMA lossy completely in favour of MP3&amp;lt;ref&amp;gt;https://support.microsoft.com/en-us/topic/support-for-rights-managed-purchases-in-zune-69161d07-acae-1fdf-f98f-e0916758e49b&amp;lt;/ref&amp;gt;, and certain Windows versions have been shipped with broken WMA decoding, most notably: breaking losslessness of WMAL.&amp;lt;ref&amp;gt;https://hydrogenaud.io/index.php?topic=121732&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;https://forum.dbpoweramp.com/showthread.php?39459-WMA-Lossless-Encoder-is-BROKEN&amp;lt;/ref&amp;gt;. As of 2024, there is only one major music store offering WMA downloads&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Comparison_of_digital_music_stores&amp;lt;/ref&amp;gt; (Qobuz, offering both lossy and lossless WMA&amp;lt;ref&amp;gt;https://help.qobuz.com/en/articles/10167-what-are-the-different-audio-formats-available-for-download&amp;lt;/ref&amp;gt;). &lt;br /&gt;
&lt;br /&gt;
Hardware WMA-enabled players are still around &amp;amp;ndash; including in-car units; anectodally, several hardware &amp;quot;WMA&amp;quot; players fail to support WMA Lossless, and support for the &amp;quot;Pro&amp;quot; variant is unknown.   FFmpeg offers decoding of all the format variants described on this page, and so ffmpeg-based players should be able to handle them. &lt;br /&gt;
&lt;br /&gt;
== Windows Media Audio (Standard)  ==&lt;br /&gt;
The original WMA codec, later referred to as WMA Standard or WMA Std, was created by Microsoft to compete against [[MP3]], the market leading format for lossy compression.  It was released in 1999, and an upgrade later the same year; those are sometimes referred to as WMA 1 and WMA 2.&lt;br /&gt;
&lt;br /&gt;
Upon release, WMA was aggressively pushed by Microsoft with promises of MP3 quality at half the bitrate, a claim debunked by independent listening tests&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Codec_listening_test#Results&amp;lt;/ref&amp;gt;.  WMA did become widespread; at one point in time it was the second-most widespread lossy format for end-users.&lt;br /&gt;
&lt;br /&gt;
== Windows Media Audio Professional ==&lt;br /&gt;
Windows Media Audio Professional (WMA Pro) was an early 2000s further development to address limitations in WMA Standard. It supports [[multichannel]] encoding and high resolutions (24bit, high [[sampling rate]]s).  Improving over WMA standard, WMA Pro scored as statistically tied with top encoders in independent listening tests at the time (without lending credibility to Microsoft&#039;s claim of MP3 quality at half bitrate).  Supporting multichannel, it was at some time seen as a potential competition to [[DTS]].&lt;br /&gt;
&lt;br /&gt;
Like WMA Standard, WMA Pro also came in revised versions: WMA Pro 10 offers an additional layer atop the original WMA Pro 9, information that will be lost on a &amp;quot;WMA 9&amp;quot; player. &lt;br /&gt;
&lt;br /&gt;
== Windows Media Audio Lossless ==&lt;br /&gt;
Windows Media Audio Lossless (WMAL) is the [[lossless]] codec in the Windows Media family, first released in 2003 (and like WMA Standard and WMA Pro, the format has later been extended). CAVEAT EMPTOR: [https://hydrogenaud.io/index.php?topic=117275.0 Several releases of Windows 10 had faulty decoders built-in] to the extent that [https://hydrogenaud.io/index.php?topic=121732 decoding is not always lossless]. Lacking a specification, few independent implementations exist, although FFmpeg&#039;s decoder apparently delivers output consistent with most versions of Microsoft&#039;s decoder. The codec is not particularly efficient compression wise, see this wiki&#039;s [[Lossless comparison]].&lt;br /&gt;
&lt;br /&gt;
== Windows Media Audio Voice ==&lt;br /&gt;
This codec, introduced with Windows Media 9, was used in the Microsoft telephones. It was considered to deliver very acceptable voice quality at bitrates around 4 and 20 kbps.  It would allow switching over to the WMA Standard algorithm for signals with both voice and music, and Microsoft&#039;s encoder could detect music and switch over automatically.&lt;br /&gt;
&lt;br /&gt;
== Additional Reading ==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
* [https://learn.microsoft.com/en-us/windows/win32/medfound/windows-media-codecs Description of Windows Media codecs] (including Windows Media Video codecs) at Microsoft&lt;br /&gt;
* [[Lossless_comparison|HA Wiki&#039;s Lossless Codec Comparison]]&lt;br /&gt;
* WMA(L) command-line applications (not independent implementations, but executables using Windows&#039; internal decoder and encoder): [http://forum.doom9.org/showthread.php?t=140273 A doom9 formum post with a decoder], and [https://hydrogenaud.io/index.php/topic,90519.0.html HA user lvqcl&#039;s forum post with an encoder].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{navbox audio codecs}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Codecs]]&lt;/div&gt;</summary>
		<author><name>Porcuswiki</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=High_Definition_Compatible_Digital&amp;diff=38191</id>
		<title>High Definition Compatible Digital</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=High_Definition_Compatible_Digital&amp;diff=38191"/>
		<updated>2024-08-31T04:30:57Z</updated>

		<summary type="html">&lt;p&gt;Porcuswiki: Wayback Machine link&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{|class=&amp;quot;wikitable&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
! &amp;lt;big&amp;gt;TL;DR version:&amp;lt;/big&amp;gt;&lt;br /&gt;
| [[#HDCD was (mostly) a scam|HDCD was (mostly) a scam]], but thousands of popular CDs released from 1995-present have this encoding. ([[List of HDCD-encoded Compact Discs]])&lt;br /&gt;
&#039;&#039;&#039;Do not batch-convert your lossless audio to 24-bit.&#039;&#039;&#039; Leave your lossless CD rips 16-bit and use an audio player capable of decoding HDCD, like [[Foobar2000]].&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;High Definition Compatible Digital&#039;&#039;&#039;, or &#039;&#039;&#039;HDCD&#039;&#039;&#039; is a Microsoft proprietary audio encode-decode process that claims to provide increased dynamic range over that of standard Redbook audio CDs, while retaining backward compatibility with existing Compact disc players. —[https://en.wikipedia.org/wiki/High_Definition_Compatible_Digital HDCD article at Wikipedia]&lt;br /&gt;
&lt;br /&gt;
Decoding the extra information required an HDCD-compatible player or Windows Media Player. There was no public documentation for the process, but it was eventually reverse engineered. Many HDCD-encoded CDs were released from the mid 1990s but started to disappear around 2008. Some CD&#039;s with HDCD codes are still appearing, because they were mastered using HDCD equipment, but do not use the core features of HDCD. Microsoft no longer advertises nor supports HDCD.&lt;br /&gt;
&lt;br /&gt;
A lossless copy of CD audio will include the HDCD data. See [[List of HDCD-encoded Compact Discs]], or the more complete, but less detailed [http://www.head-fi.org/t/65414/hdcd-list list of known HDCD compact discs] at Head-Fi.org&lt;br /&gt;
&lt;br /&gt;
== Function and features ==&lt;br /&gt;
HDCD encodes a virtual 20 bits of range in a 16-bit stream. Peak extend is worth about one bit of additional range, while Low level gain adjustment is worth about three bits of additional range. HDCD encoding amplifies the audio stream by 6dB to start.&lt;br /&gt;
&lt;br /&gt;
;Peak extend (PE): The base 6dB amplification makes the lower levels louder, but the top 9dB is soft-limited, or &amp;quot;squashed&amp;quot;, into the top 3dB in the 16-bit stream. When HDCD is being decoded, the top 9dB is reconstructed.&lt;br /&gt;
;Low-level gain adjustment (LLE): The base 6dB amplification can be corrected down during quieter parts via HDCD control codes to restore the original low level. See [[#Regarding the Low-level Gain Adjustment feature|§Regarding the Low-level Gain Adjustment feature]].&lt;br /&gt;
;Filters:There were to be two selectable playback filters, but the idea was already patented and so it couldn&#039;t be used in Pacific Microsonics or other licensed hardware decoders. Software decoders can detect the feature, but none use it.&lt;br /&gt;
&lt;br /&gt;
When playing the HDCD-CD in a regular CD player, a listener may hear the uncorrected distortion at the peaks, and the low-level remains uncorrected from the base 6dB amplification.&lt;br /&gt;
&lt;br /&gt;
* See a full technical examination by Jim Lesurf: [http://www.audiomisc.co.uk/HFN/HDCD/Enigma.html Page 1] [http://www.audiomisc.co.uk/HFN/HDCD/Examined.html Page 2]&lt;br /&gt;
&lt;br /&gt;
== Audio Formats ==&lt;br /&gt;
The Model Two supported all CD-Audio and DVD-Audio formats. Sample rates of 44100, 88200, 176400, 48000, 96000, or 192000 Hz, and bit depths of 16, 20, or 24 bits. HDCD packets may appear in any PCM that passed through a Model Two.&lt;br /&gt;
&lt;br /&gt;
== Decoding software ==&lt;br /&gt;
As HDCD is a proprietary extension owned by Microsoft, Windows Media Player was the only software to support it for a long time. A simple closed-source Windows-only decoding tool, called hdcd.exe, appeared in 2007 on the Doom9 Forum, a product of reverse-engineering Windows Media Player. [http://forum.doom9.org/showthread.php?t=129136] Since that time, an open source implementation has come to exist based on this work. It supports the peak extend and gain HDCD features, while the transient filter feature is detected but not implemented.&lt;br /&gt;
&lt;br /&gt;
All of the open source decoding is based of the work of Christopher J. Key (original reverse-engineering), Chris Moeller (open implementation), and Gumboot (C-optimization). Benjamin Steffes simplified the code, by using some pre-computed tables, etc., for inclusion in FFmpeg. There may be slight variations in the output of the different tools.&lt;br /&gt;
&lt;br /&gt;
=== Audio players ===&lt;br /&gt;
* Windows Media Player, but there is a bug where HDCD will not be enabled if the HDCD control signal is not detected near the beginning of a song&lt;br /&gt;
* [[Foobar2000]] can decode HDCD to 20-bit PCM via [[Foobar2000:Components/HDCD Decoder (foo dsp hdcd)|foo_dsp_hdcd]] ([https://github.com/kode54/foo_hdcd/blob/master/hdcd_decode.c source])&lt;br /&gt;
* [[dBpoweramp]] will decode HDCD to 24-bit PCM (uses the hdcd.exe tool for processing)&lt;br /&gt;
* [[CUETools]]&lt;br /&gt;
* [https://www.jriver.com/index.html JRiver Media Center]&lt;br /&gt;
&lt;br /&gt;
=== hdcd.exe ===&lt;br /&gt;
The original Windows-only closed source tool posted on the Doom9 forums in 2007, by C.J. Key. It only works on wav.&lt;br /&gt;
 hdcd.exe -o OUT24.wav HDCD16.wav&lt;br /&gt;
&lt;br /&gt;
=== libhdcd ===&lt;br /&gt;
An open-source HDCD decoder library exists as [https://github.com/bp0/libhdcd libhdcd]. It is based on the foo_hdcd and ffmpeg/af_hdcd work by Christopher Key, Chris Moeller (kode54), Gumboot, Burt P. and others.&lt;br /&gt;
&lt;br /&gt;
It comes with a detection/decoder tool:&lt;br /&gt;
 hdcd-detect -o OUT24.wav HDCD16.wav&lt;br /&gt;
If an output file is not specified, only HDCD detection information is printed.&lt;br /&gt;
&lt;br /&gt;
=== FFmpeg ===&lt;br /&gt;
FFmpeg version 3.1&#039;s libavfilter supports a HDCD filter that will convert HDCD-encoded audio to PCM at up to 20-bit precision. The filter is based on the Foobar2000 component source code.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Notice:&#039;&#039;&#039; There was a bug in FFmpeg (version 3.1.1 and earlier) that prevented low-level gain adjustment from working. It was fixed in [http://git.videolan.org/?p=ffmpeg.git;a=commit;h=ba69a81019a2642969b108c39e3bea7d2f8ffbfa this commit].&lt;br /&gt;
&lt;br /&gt;
;Example:FLAC with HDCD encoded in 16-bit (perhaps ripped from a CD)&lt;br /&gt;
 ffmpeg -i input16.flac -af hdcd output24.flac&lt;br /&gt;
;Example 2:Notice the output from the filter is truncated down to 16-bit because the wav muxer defaults to pcm_s16le...&lt;br /&gt;
 ffmpeg -i input16.wav -af hdcd output16.wav&lt;br /&gt;
;Example 3:... if you want to use another format (like pcm_s24le), you have to specify it with the acodec option&lt;br /&gt;
 ffmpeg -i input16.wav -af hdcd -acodec pcm_s24le output24.wav&lt;br /&gt;
&lt;br /&gt;
* See [https://ffmpeg.org/ffmpeg-filters.html#hdcd FFmpeg &amp;amp;rarr; filters &amp;amp;rarr; hdcd]&lt;br /&gt;
==== Conversion to AAC ====&lt;br /&gt;
If using the FFmpeg to convert HDCD-encoded lossless to AAC, it is important to note that the [[Fraunhofer FDK AAC|Fraunhofer FDK AAC (libfdk-aac) encoder]] only allows 16-bit PCM input, so FFmpeg will convert the 32-bit PCM output of the filter back to 16-bit before encoding AAC. The [[Libavcodec AAC|FFmpeg 3.0+ AAC encoder]] uses floating-point input, so the 32-bit PCM output of the filter will be converted to floating point PCM before encoding AAC. In this case, the native AAC encoder is preferable to FDK AAC, but only if using CBR, and at a high enough bitrate to overcome the other deficiencies of the libavcodec AAC encoder. &lt;br /&gt;
&lt;br /&gt;
==== Analyze mode ====&lt;br /&gt;
[[File:Ffmpeg-hdcd-analyze.png|right|200px|An example of analyze_mode.]]&lt;br /&gt;
&lt;br /&gt;
FFmpeg&#039;s HDCD filter has a mode, selected by filter option, to aid in analysis of HDCD encoded audio.&lt;br /&gt;
In this mode the audio is replaced by a solid tone and the amplitude is adjusted to signal some specified aspect of the process.&lt;br /&gt;
The output file can be loaded in an audio editor alongside the original, where the user can see where different features or states are present.&lt;br /&gt;
&lt;br /&gt;
An example track, Neil Young - Red Sun, from Silver &amp;amp; Gold. The different outputs loaded together in Audacity shown to the right are explained below.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Track&lt;br /&gt;
! Option setting&lt;br /&gt;
! hdcd-detect option&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| 1 || analyze_mode=off || -z off || HDCD decoded&lt;br /&gt;
|-&lt;br /&gt;
| 2 || analyze_mode=lle || -z lle || LLE gain adjust levels in each sample&lt;br /&gt;
|-&lt;br /&gt;
| 3 || analyze_mode=pe  || -z pe  || Samples where PE occurs&lt;br /&gt;
|-&lt;br /&gt;
| 4 || analyze_mode=pe:force_pe=true || -z pel || Original sample was in the -3dBFS range (should match above when PE is permanent, but maybe not when it isn&#039;t)&lt;br /&gt;
|-&lt;br /&gt;
| 5 || analyze_mode=tgm || -z tgm || Samples where the target_gain was ignored because it didn&#039;t match in both channels&lt;br /&gt;
|-&lt;br /&gt;
| Not shown || analyze_mode=cdt || -z cdt || Samples where HDCD decoding was active (whole track in this case)&lt;br /&gt;
|-&lt;br /&gt;
| Not shown || analyze_mode=lle:process_stereo=false || -z ltgm || Similar to tgm, but shows the level at each sample in each channel&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Scanning a FLAC archive for HDCD using FFmpeg ====&lt;br /&gt;
&lt;br /&gt;
HDCD stats reporting was added after release 3.1.1. So, as of 30 July 2016, this script requires building ffmpeg from git. (&amp;lt;nowiki&amp;gt;git clone git://source.ffmpeg.org/ffmpeg&amp;lt;/nowiki&amp;gt;) or using something like a [https://ffmpeg.zeranoe.com/builds/ Zeranoe FFmpeg build for Windows].&lt;br /&gt;
&lt;br /&gt;
;hdcdscan.sh:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
# A bash script for scanning for files with HDCD encoding.&lt;br /&gt;
# Burt P.&lt;br /&gt;
#&lt;br /&gt;
# Usage:&lt;br /&gt;
#   ./hdcdscan.sh *.flac&lt;br /&gt;
# or&lt;br /&gt;
#   find /some/archive/path/ -name &#039;*.flac&#039; -exec ./hdcdscan.sh {} \;&lt;br /&gt;
# or &lt;br /&gt;
#   find /some/archive/path/ -name &#039;*.flac&#039; -print0 |xargs -0 -P 4 -n 1 ./hdcdscan.sh&lt;br /&gt;
# or (prolly best)&lt;br /&gt;
#   find /some/archive/path/ -name &#039;*.flac&#039; -print0 |xargs -0 -P 1 -n 50 ./hdcdscan.sh&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
#FFMPEG=&amp;quot;/home/you/gits/ffmpeg/ffmpeg&amp;quot; # if using ffmpeg from git&lt;br /&gt;
&lt;br /&gt;
TDER=&amp;quot;/run/shm&amp;quot; # temp directory&lt;br /&gt;
TLIMIT=30       # scan the first N seconds, empty for no limit&lt;br /&gt;
SIMPLE=&amp;quot;y&amp;quot;      # show only summary, empty for no&lt;br /&gt;
ONLY_HDCD=&amp;quot;y&amp;quot;   # show only files with hdcd detected, empty for no&lt;br /&gt;
CHECK_MODES=&amp;quot;&amp;quot;  # use both modes and see if md5 matches&lt;br /&gt;
&lt;br /&gt;
#----&lt;br /&gt;
CPU_COUNT=$(grep -c ^processor /proc/cpuinfo)&lt;br /&gt;
#CPU_COUNT=4    # manual&lt;br /&gt;
&lt;br /&gt;
if [ -z &amp;quot;$FFMPEG&amp;quot; ]; then&lt;br /&gt;
    FFMPEG=$(which ffmpeg)&lt;br /&gt;
fi&lt;br /&gt;
FILTERCHK=$(&amp;quot;$FFMPEG&amp;quot; -filters 2&amp;gt;&amp;amp;1 | grep hdcd)&lt;br /&gt;
if [ -z &amp;quot;$FILTERCHK&amp;quot; ]; then&lt;br /&gt;
    echo &amp;quot;$FFMPEG is not built with hdcd filter support&amp;quot;&lt;br /&gt;
    exit 1&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
#FORMATSTR=&amp;quot;-acodec pcm_s24le -f wav&amp;quot;  # if using wav temp file&lt;br /&gt;
FORMATSTR=&amp;quot;-f s24le&amp;quot;                   # if using /dev/null&lt;br /&gt;
&lt;br /&gt;
scan_file() {&lt;br /&gt;
    local SF&lt;br /&gt;
    local TAG&lt;br /&gt;
    local P_TLIMIT&lt;br /&gt;
    TAG=&amp;quot;$$_$1&amp;quot;&lt;br /&gt;
    SF=&amp;quot;$2&amp;quot;&lt;br /&gt;
    P_TLIMIT=&amp;quot;&amp;quot;&lt;br /&gt;
    if [ -n &amp;quot;$TLIMIT&amp;quot; ]; then P_TLIMIT=&amp;quot;-t $TLIMIT&amp;quot;; fi&lt;br /&gt;
&lt;br /&gt;
    if [ -f &amp;quot;$f&amp;quot; ]; then&lt;br /&gt;
        #TF=&amp;quot;$TDER/hdcdout_$TAG.wav&amp;quot;&lt;br /&gt;
        TF=&amp;quot;/dev/null&amp;quot;&lt;br /&gt;
        TFO=&amp;quot;$TDER/hdcdout_$TAG.ffmpeg-out&amp;quot;&lt;br /&gt;
&lt;br /&gt;
        echo &amp;quot;$f ...&amp;quot; &amp;gt;&amp;quot;$TFO&amp;quot;&lt;br /&gt;
&lt;br /&gt;
        &amp;quot;$FFMPEG&amp;quot; -hide_banner -nostats -y -v verbose -i &amp;quot;$f&amp;quot; $P_TLIMIT -vn -af hdcd $FORMATSTR &amp;quot;$TF&amp;quot; 2&amp;gt;&amp;amp;1 | grep &amp;quot;_hdcd_&amp;quot; &amp;gt;&amp;gt;&amp;quot;$TFO&amp;quot;&lt;br /&gt;
        DETECTED=$(grep &amp;quot;HDCD detected: yes&amp;quot; &amp;quot;$TFO&amp;quot;)&lt;br /&gt;
        if [ -n &amp;quot;$ONLY_HDCD&amp;quot; ]; then&lt;br /&gt;
            if [ -z &amp;quot;$DETECTED&amp;quot; ]; then echo -n &amp;quot;&amp;quot; &amp;gt;&amp;quot;$TFO&amp;quot;; fi&lt;br /&gt;
        fi&lt;br /&gt;
        if [ -n &amp;quot;$DETECTED&amp;quot; ]; then&lt;br /&gt;
            if [ -n &amp;quot;$CHECK_MODES&amp;quot; ]; then&lt;br /&gt;
                SUM1=$(&amp;quot;$FFMPEG&amp;quot; -y -v verbose -i &amp;quot;$f&amp;quot; $P_TLIMIT -vn -af hdcd=process_stereo=0 $FORMATSTR md5: 2&amp;gt;/dev/null)&lt;br /&gt;
                SUM2=$(&amp;quot;$FFMPEG&amp;quot; -y -v verbose -i &amp;quot;$f&amp;quot; $P_TLIMIT -vn -af hdcd=process_stereo=1 $FORMATSTR md5: 2&amp;gt;/dev/null)&lt;br /&gt;
                if [ &amp;quot;$SUM1&amp;quot; == &amp;quot;$SUM2&amp;quot; ]; then&lt;br /&gt;
                    echo &amp;quot;md5 sums match: $SUM1&amp;quot; &amp;gt;&amp;gt;&amp;quot;$TFO&amp;quot;&lt;br /&gt;
                else&lt;br /&gt;
                    echo &amp;quot;md5 sums differ: ps0: $SUM1, ps1: $SUM2&amp;quot; &amp;gt;&amp;gt;&amp;quot;$TFO&amp;quot;&lt;br /&gt;
                fi&lt;br /&gt;
            fi&lt;br /&gt;
        fi&lt;br /&gt;
        sed -i -e &amp;quot;s#^\[Parsed_hdcd_[0-9]\+ @ [0-9a-fx]\+\] ##&amp;quot; &amp;quot;$TFO&amp;quot;&lt;br /&gt;
        sed -i -e &amp;quot;s#^#[$TAG] #&amp;quot; &amp;quot;$TFO&amp;quot;&lt;br /&gt;
        if [ -n &amp;quot;$SIMPLE&amp;quot; ]; then&lt;br /&gt;
            head -n 1 &amp;quot;$TFO&amp;quot;&lt;br /&gt;
            if [ -n &amp;quot;$CHECK_MODES&amp;quot; ]; then grep &amp;quot;md5 sums &amp;quot; &amp;quot;$TFO&amp;quot;; fi&lt;br /&gt;
            grep &amp;quot;HDCD detected:&amp;quot; &amp;quot;$TFO&amp;quot;&lt;br /&gt;
        else&lt;br /&gt;
            cat &amp;quot;$TFO&amp;quot;&lt;br /&gt;
        fi&lt;br /&gt;
&lt;br /&gt;
        if [ -f &amp;quot;$TFO&amp;quot; ]; then rm &amp;quot;$TFO&amp;quot;; fi&lt;br /&gt;
        if [ -f &amp;quot;$TF&amp;quot; ]; then rm &amp;quot;$TF&amp;quot;; fi&lt;br /&gt;
    fi&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
NN=0&lt;br /&gt;
for f in &amp;quot;$@&amp;quot;&lt;br /&gt;
do&lt;br /&gt;
    scan_file &amp;quot;$NN&amp;quot; &amp;quot;$f&amp;quot; &amp;amp;&lt;br /&gt;
    while [ $(jobs -r| wc -l) -ge &amp;quot;$CPU_COUNT&amp;quot; ] ; do sleep 0.2 ; done&lt;br /&gt;
    ((NN++))&lt;br /&gt;
done&lt;br /&gt;
wait&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== HDCD never caught on ==&lt;br /&gt;
&lt;br /&gt;
For casual readers, here is what you need to know about the existence of HDCD.&lt;br /&gt;
&lt;br /&gt;
* HDCD was invented by a company call Pacific Microsonic (PM) that made audio equipment designed for use in studios.&lt;br /&gt;
* Only PM equipment could encode HDCD, and only PM-licensed consumer equipment could decode it.&lt;br /&gt;
* It was claimed that it was compatible with standard CD audio, which was only true in the encoding/decoding sense, and not so much in the audible sense.&lt;br /&gt;
* The information about how it worked was mostly kept secret to keep others from using it, and the information that was made public was intentionally vague.&lt;br /&gt;
* Many studios used PM equipment even if they didn&#039;t know it, or their engineers didn&#039;t know how to use it.&lt;br /&gt;
* Because of this, thousands of releases have HDCD encoding. See [[List of HDCD-encoded Compact Discs]]. &lt;br /&gt;
* Much of the time, the engineers turned all HDCD features off, but the HDCD control packets were still inserted into the discs anyway. For these discs, there is absolutely no benefit in decoding HDCD.&lt;br /&gt;
* Many times, mastering engineers who didn&#039;t know how to use the HDCD features caused absurd HDCD discs to be released, like &amp;quot;For the Masses&amp;quot; (1998), and unintentional &amp;quot;Special Mode&amp;quot; discs.&lt;br /&gt;
* Of the three &amp;quot;features&amp;quot; of HDCD, in the vast majority of cases only one is useful or even worth decoding: PE.&lt;br /&gt;
* Microsoft bought PM for the IP part of the business, that is, to collect royalties from HDCD without developing it or contributing to it in any way.&lt;br /&gt;
* HDCD is now dead, except for all the existing PM studio equipment that is still producing zombie HDCD discs (or tracks), even with all the features turned off.&lt;br /&gt;
&lt;br /&gt;
== Technical notes ==&lt;br /&gt;
&lt;br /&gt;
=== Packet formats ===&lt;br /&gt;
pe = peak extend (PE), tg = target gain (LLE), tf = transient filter&lt;br /&gt;
&lt;br /&gt;
;Packet format &#039;&#039;A&#039;&#039;: 8-bit code, tg is a 3-bit value (-7.0dB to 0.0dB steps of 1dB). This {{discogs|3192807|HDCD Sampler (1992)}} is an example of a disc with this packet type.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| 7 || 6 || 5  || 4  || 3 || 2 || 1 || 0&lt;br /&gt;
|-&lt;br /&gt;
| 0 || 0 || tf || pe || 0 ||colspan=3|tg&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
;Packet format &#039;&#039;B&#039;&#039;: 16-bit (8-bit code, 8-bit XOR of code), tg is a 4-bit value used as a 3.1 fixed-point number (-7.5dB to 0.0dB steps of 0.5dB). Most discs after 1995 use this packet type.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| 15 || 14 || 13 || 12  || 11 || 10 || 9 || 8 || || 7 || 6 || 5   || 4   || 3 || 2 || 1 || 0&lt;br /&gt;
|-&lt;br /&gt;
| 0  || 0  || tf || pe  ||colspan=4|tg        || ||colspan=8| XOR check&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;A&#039;&#039; and &#039;&#039;B&#039;&#039; are unofficial names of the different formats based on counters in the FFmpeg HDCD filter source code. If using -v verbose with the filter, Counter A, B, C will be reported. A is the number of 8-bit format packets, B is the number of 16-bit format packets validated, C is total packets. almost_A is the number of packets that were supposed to be an A format, but one of the expected zeros was a one. checkfail_B is the number of packets that failed the XOR check for B format. In a perfect HDCD encoding A+B=C, likely as A+0=C or 0+B=C.&lt;br /&gt;
&lt;br /&gt;
== Interesting Notes ==&lt;br /&gt;
&lt;br /&gt;
===Regarding HDCD detection===&lt;br /&gt;
The arrival of a valid packet for a channel resets a code detect timer for that channel. If both&lt;br /&gt;
channels have active timers, then code is deemed to be present and the filter select data is&lt;br /&gt;
considered valid immediately. However, any command data which would effect the level of the&lt;br /&gt;
signal must match between the two channels in order to take effect. The primary reason for this is&lt;br /&gt;
to handle the case where an error on one channel destroys the code. In such a case, the decoder&lt;br /&gt;
will mistrack for a short time until the next command comes along, which is much less audible&lt;br /&gt;
than a change in gain on only one channel, causing a shift in balance and lateral image&lt;br /&gt;
movement. If either of the code detect timers times out, then code is deemed not to be present,&lt;br /&gt;
and all commands are canceled, returning the decode system to its default state. If the conditions&lt;br /&gt;
on the encoder side are not changing, then command packets are inserted on a regular basis to&lt;br /&gt;
keep the code detect timers in the decoder active and to update the decoder if one starts playing a&lt;br /&gt;
selection in the middle of a continuous recording. &lt;br /&gt;
:&amp;amp;mdash; &amp;quot;extract from the AES paper presented by Keith Johnson&amp;quot; [https://hydrogenaud.io/index.php/topic,79427.msg900371.html#msg900371] paper:[https://web.archive.org/web/20150520174117/https://www.goodwinshighend.com/music/hdcd/aes_paper.pdf] &lt;br /&gt;
&lt;br /&gt;
===Regarding the Low-level Gain Adjustment feature===&lt;br /&gt;
There are two modes of Low Level Extension, “Normal” and “Special”. Normal mode begins&lt;br /&gt;
to affect the input signal 45 dB below peak level, gradually raising the gain 4 dB as the&lt;br /&gt;
level drops over an 18 dB range. Special mode begins to affect the input signal 39 dB&lt;br /&gt;
below peak level, and gradually raises the gain 7.5 dB over a 26 dB range. Normal mode is&lt;br /&gt;
optimized to provide the best combination of decoded dynamic range and resolution and&lt;br /&gt;
undecoded compatibility. Special mode is designed to provide the best possible decoded&lt;br /&gt;
dynamic range and resolution at some potential expense of undecoded compatibility. To&lt;br /&gt;
access Special mode, from the Operating Menu select (SETUP/OUTPUT/HDCD_16/LOWLVL/&lt;br /&gt;
SPECIAL). Typically, Special mode is used only for HDCD 16-bit master tracking with the&lt;br /&gt;
assumption that the recording will be decoded by the Model Two to a 24-bit or 20-bit word&lt;br /&gt;
length for digital post production before being re-encoded to HDCD 16-bit using Normal&lt;br /&gt;
mode to produce a release master.&lt;br /&gt;
:&amp;amp;mdash; &amp;quot;from PM operator&#039;s manual&amp;quot; &lt;br /&gt;
If you see a level of greater than 4.0 of gain adjustment, there was an error made in the disc where the mastering engineer mistakenly used &amp;quot;Special Mode&amp;quot;. This is not only wrong, but there is no consumer equipment that can even decode this level of gain adjustment! Only by playing this back through the PM Model One (44 and 48 kHz only) or the PM Model Two (added dual- and quad-rate sampling rates) could this file be properly decoded&lt;br /&gt;
:&amp;amp;mdash; Charles Hansen [http://www.head-fi.org/t/65414/hdcd-list/570#post_12725140]&lt;br /&gt;
&lt;br /&gt;
===Regarding the Playback Filters feature===&lt;br /&gt;
[T]he PM Model One and Model Two professional units, which were combination A/D and D/A converters) that had two different playback (reconstruction) filters for HDCD. While the PM A/D used two different anti-aliasing filters while performing A/D conversion (depending on the level of high-frequency content), they were precluded from using two different playback filters as Ed Meitner had already patented that idea for Museatex (now out of business).&lt;br /&gt;
:&amp;amp;mdash; CHansen [http://www.head-fi.org/t/65414/hdcd-list/570#post_12725140]&lt;br /&gt;
:&amp;amp;mdash; US Patent Number 5,388,221: [https://patents.google.com/patent/US5388221A]&lt;br /&gt;
&lt;br /&gt;
===HA Forum posts of interest===&lt;br /&gt;
* [https://hydrogenaud.io/index.php/topic,30999.msg513734.html#msg513734 Christopher Key - 31 August, 2007, 04:52:24 PM]&lt;br /&gt;
* [https://hydrogenaud.io/index.php/topic,30999.msg778594.html#msg778594 Gumboot - 11 December, 2011, 05:41:43 PM], re: gain change ramp&lt;br /&gt;
* [https://hydrogenaud.io/index.php/topic,30999.msg778685.html#msg778685 Gumboot - 12 December, 2011, 12:21:01 PM], re: nearly stateless&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
* [[foobar2000:HDCD decoder (foo_hdcd)|HDCD decoder (foo_hdcd)]], a foobar2000 component&lt;br /&gt;
&lt;br /&gt;
==External links==&lt;br /&gt;
* [https://web.archive.org/web/20150520174117/https://www.goodwinshighend.com/music/hdcd/aes_paper.pdf Compatible Resolution Enhancement in Digital Audio Systems], a paper presented to AES Convention 1996 by Keith Johnson&lt;br /&gt;
* {{ha|https://hydrogenaud.io/index.php/topic,79427.msg737725.html#msg737725|Charles Hansen describes HDCD}}&lt;/div&gt;</summary>
		<author><name>Porcuswiki</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=OptimFROG&amp;diff=38008</id>
		<title>OptimFROG</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=OptimFROG&amp;diff=38008"/>
		<updated>2024-05-30T20:53:32Z</updated>

		<summary type="html">&lt;p&gt;Porcuswiki: Some fixes for new MediaWiki, updated some info.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Codec Infobox&lt;br /&gt;
| name                = OptimFROG&lt;br /&gt;
| logo                = [[File:Frog.gif]]&lt;br /&gt;
| type                = lossless&lt;br /&gt;
| purpose             = &amp;quot;reduce at maximum the size of audio files&amp;quot;&lt;br /&gt;
| maintainer          = Florin Ghido&lt;br /&gt;
| released = OptimFROG 5.100 (2016-09-02)&lt;br /&gt;
| website             = [http://losslessaudio.org/ losslessaudio.org]&lt;br /&gt;
}}&lt;br /&gt;
&#039;&#039;&#039;OptimFROG&#039;&#039;&#039; is a [[lossless]] audio [[codec]] with optional [[Hybrid codec|hybrid lossless/lossy]] encoding.  It comes with a freeware (closed-source) command-line encoder/decoder and plugins for several players and processing front-ends, and an SDK to use in other applications.  It is available for Windows, Linux, FreeBSD and MacOSX, all in both 32-bit and 64-bit versions.  Encoders/decoders for its hybrid &amp;quot;DualStream&amp;quot; format, and for floating-point audio, are included in the distributions in separate executables.&lt;br /&gt;
&lt;br /&gt;
OptimFROG is a codec that gives priority to compression size, sacrificing speed.  Its default preset performs not far from [[Monkey&#039;s Audio]] “Extra High”, possibly at Monkey&#039;s “Insane” speed, and the highest compression settings might take 10x heavier CPU load, but generally achieving smaller files than any other end-user codec&amp;lt;ref&amp;gt;[http://audiograaf.nl/downloads.html Martijn van Beurden&#039;s lossless performance tests.] Performance comparisons taken from version 6, testing OptimFrog version 5.100; The unmaintained legacy [[Lossless_Audio_(La) | La]] does rival it on some (CDDA only) material.&amp;lt;/ref&amp;gt;  Positioning itself at, arguably, one extreme of the size/CPU load trade-off, it has a fairly small userbase &amp;amp;ndash; and unlike most notable codecs, there is apparently no 3rd party decoder available and no sign of ffmpeg reverse-engineering the format (like was done with [[TAK]]).&lt;br /&gt;
&lt;br /&gt;
== Features ==&lt;br /&gt;
For an end-user considering OptimFROG as an audio format &amp;amp;ndash; likely due to its compression ratios, possibly also its hybrid mode &amp;amp;ndash; some of the following features are quite common among lossless codecs, while some are more scarce (in particular, the end of this list). To compare OFR with other lossless codecs, see [[Lossless_comparison| the HA Wiki&#039;s Lossless Codec Comparison]].&lt;br /&gt;
&lt;br /&gt;
* Seekable and streaming playback.&lt;br /&gt;
* Error handling.  Audio checksum optional (use the &amp;lt;code&amp;gt;--md5&amp;lt;/code&amp;gt; option upon encoding, &amp;lt;code&amp;gt;--check&amp;lt;/code&amp;gt; to verify it), but OFR can also check corruption without decoding (&amp;lt;code&amp;gt;--verify&amp;lt;/code&amp;gt;), hence quicker than any decoding format.  Decoder can continue through errors. &lt;br /&gt;
* High-resolution audio support: apparently, any sampling rate that the WAVE format supports (4 GiHz), up to 32 bits per channel.  Like [[WavPack]] but unlike most other formats, it also supports floating-point format (through a different executable included in the distribution).  &lt;br /&gt;
* Piping support for encoding, and support for RAW PCM input. &lt;br /&gt;
* Tagging. (APEv2, or ID3 &amp;amp;ndash; see below.)&lt;br /&gt;
* RIFF chunks supported for recreating also non-audio chunks of the original .wav files; by default, OptimFROG will restore to a .wav file bit-identical to the original. &lt;br /&gt;
* Can read certain malformed .wav files; in particular, some hacks employed to fit more than the 4 GB size limitation into .wav files.  (It is unclear what malformed .wav files will be recreated bit-identical.) &lt;br /&gt;
* Can create Windows self-extracting archives, a unique feature after WavPack discontinued it in version 5. &lt;br /&gt;
* Hybrid lossy/lossless encoding supported.  Like WavPack, but unlike other end-user codecs, OptimFROG can decode both lossy and lossless streams together, to be maintained in the same library. A separate encoder is included in the distribution. &lt;br /&gt;
&lt;br /&gt;
=== Limitations ===&lt;br /&gt;
* Currently there is no hardware supporting the format and software support is limited.  The official encoder/decoder is closed-source (but a an official library can be used in third-party applications).  Also the format has no official specification, and little is known about it.&amp;lt;ref&amp;gt;[https://wiki.multimedia.cx/index.php/OptimFROG Multimediawiki&#039;s OptimFROG entry.] It is known that the format has been through a change; but, the decoder &#039;&#039;does support&#039;&#039; old OptimFROG files.&amp;lt;/ref&amp;gt;&lt;br /&gt;
* No multichannel support. &lt;br /&gt;
* CPU intensive (slow) encoding and decoding, especially in the higher modes.  Given that portable low-power devices are out of consideration as they cannot play the files anyway, speed might not be that much of a limitation with the power of modern computers.  Still, users who consider playing OptimFrog files from a battery-powered laptop or tablet, might want to test battery life impact, especially since it varies over the settings. &lt;br /&gt;
* Encoder has no provision of adding tags.  &lt;br /&gt;
&lt;br /&gt;
Because OptimFROG &amp;amp;ndash; like MP3 &amp;amp;ndash; can accommodate both APE tags and ID3, tagging ambiguity could be an issue: one application might not read another&#039;s tags.  A user would likely want to stick to one tag format.  Mp3tag, MusicBrainz Picard and foobar2000 will write APEv2 tags (at least by default). According to the website, EAC will write ID3v1.1 tags to .ofr files &amp;amp;ndash; and apparently there is no way for it to write APEv2 as the encoder has no switches for it (contrast to [[EAC and WavPack|EAC with WavPack]]).&lt;br /&gt;
&lt;br /&gt;
===Software support===&lt;br /&gt;
Some of the software cited at http://losslessaudio.org/Compatible.php has disappeared.  One may still obtain the [https://web.archive.org/web/20151030085929/http://members.home.nl/w.speek/kermit.htm Kermit front-end from Archive.org]. Most of the following should work:&lt;br /&gt;
&lt;br /&gt;
* [[foobar2000]] (through plugin available at the OptimFROG website or [https://github.com/marc2k3/foo_input_ofr/releases a version  updated for fb2k v2x64 by HA user marc2k3])&lt;br /&gt;
* [[Winamp]] (through plugin available at the OptimFROG website)&lt;br /&gt;
* [[XMPlay]] for Windows, BASS_OFR addon available at player&#039;s website. &lt;br /&gt;
* [[XMMS]] (?)&lt;br /&gt;
* [[dBpoweramp]] music converter&lt;br /&gt;
* [[Mp3tag]] for tagging.&lt;br /&gt;
* [https://picard.musicbrainz.org/ MusicBrainz Picard] for tagging (no audio fingerprinting).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* [http://losslessaudio.org/ Official OptimFROG website]&lt;br /&gt;
* [[Lossless_comparison| HA Wiki&#039;s Lossless Codec Comparison]] originally by [[User:Rjamorim|Rjamorim]] &lt;br /&gt;
=== References ===&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
{{navbox audio codecs}}&lt;br /&gt;
[[Category:Codecs]]&lt;/div&gt;</summary>
		<author><name>Porcuswiki</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=WavPack&amp;diff=38007</id>
		<title>WavPack</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=WavPack&amp;diff=38007"/>
		<updated>2024-05-30T15:28:01Z</updated>

		<summary type="html">&lt;p&gt;Porcuswiki: New Mediawiki wasn&amp;#039;t as forgiving about tags unclosed, fixed. Added some wording about playing.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Software Infobox&lt;br /&gt;
| name = WavPack&lt;br /&gt;
| logo = [[Image:Wavpacklogo.png|280px|Official WavPack logo]]&lt;br /&gt;
| screenshot =&lt;br /&gt;
| caption = Hybrid Lossless Audio Compression&lt;br /&gt;
| maintainer = David Bryant&lt;br /&gt;
| stable_release = 5.7.0 (2024-02-29)&lt;br /&gt;
| operating_system = Windows, MacOSX, Linux/BSD/Unix, ...&lt;br /&gt;
| use = Encoder/Decoder&lt;br /&gt;
| license = BSD license&lt;br /&gt;
| website = http://www.wavpack.com/&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;WavPack&#039;&#039;&#039; (pronounced &amp;quot;wave-pack&amp;quot;) is a [[lossless]] audio [[codec]], also offering optionally a [[hybrid codec| hybrid lossless/lossy]] mode.  It is distributed as a free open-source encoder/decoder with a library and a large number of tools, including a Windows GUI and a range of plugins for both audio players and other software.  Third party implementations are available, including ffmpeg.  WavPack supports and/or can be played back on a large number of platforms/OSes including mobile (Android, iOS), portable ([[Rockbox]]) and even web apps. &lt;br /&gt;
&lt;br /&gt;
WavPack is arguably the most feature-rich lossless compressor, supporting a unique range of audio signals including [https://en.wikipedia.org/wiki/Direct_Stream_Digital Direct-Stream Digital].  Everyday use is supported by a wide range of players and taggers, but &#039;&#039;conversion&#039;&#039; is likely safest done with applications that invoke the official tools (rather than e.g. ffmpeg&#039;s implementation) &amp;amp;ndash; and special features might require the user to apply the WavPack executable directly, for example with drag+drop, see the [[#Using WavPack]] section below.&lt;br /&gt;
&lt;br /&gt;
Performance-wise, WavPack defaults to a fast codec &amp;amp;ndash; less CPU intensive than [[ALAC]], but typically not as fast as [[FLAC]] or [[TAK]], especially in decoding CPU usage.&amp;lt;ref&amp;gt;[http://www.audiograaf.nl/losslesstest Martijn van Beurden: &amp;lt;em&amp;gt;Lossless audio codec comparison archive&amp;lt;/em&amp;gt;], all comparisons in this wiki article consistent with CDDA results up to revision 6, 2023, using WavPack 5.6.0.&amp;lt;/ref&amp;gt; In the age of low-power portable Rockbox-equipped players, WavPack could be seen as a reasonable middle ground between FLAC&#039;s low CPU footprint and long battery life, and the smaller files but more CPU-intensive [[Monkey&#039;s Audio]]&amp;lt;ref&amp;gt;[https://www.rockbox.org/wiki/CodecPerformanceComparison CodecPerformanceComparison] at the Rockbox wiki&amp;lt;/ref&amp;gt; &amp;amp;ndash; invoking WavPacks high mode and extra compression that would compress to smaller sizes than FLAC.&lt;br /&gt;
&lt;br /&gt;
WavPack has inspired other codecs&amp;lt;ref&amp;gt;Monkey&#039;s Audio historical FAQ {{webarchive|http://web.archive.org/web/20001017210206/http://www.monkeysaudio.com/faq.html|2000-10-17}}&amp;lt;/ref&amp;gt; and their features&amp;lt;ref&amp;gt;[http://losslessaudio.org/DualStream.php OptimFROG&#039;s &amp;quot;DualStream&amp;quot;] hybrid encoding &amp;amp;ndash; apparently WavPack coined this phrase&amp;lt;/ref&amp;gt;.  For more on WavPack, including on its history and technology, see the [https://en.wikipedia.org/wiki/WavPack Wikipedia entry].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Features =&lt;br /&gt;
For an end-user considering WavPack as audio format, its feature-richness might be the big selling point.  WavPack supports pretty much all the more common features noted at [[Lossless_comparison| HA Wiki&#039;s Lossless Codec Comparison]] as in the following first list, but several users might consider the more unique features listed under the subsequent headline.&lt;br /&gt;
&lt;br /&gt;
* Seekable and streaming playback.&lt;br /&gt;
* Error handling: upon playback, it will detect and report corrupted frames, mute to protect against static/noise output, and continue playback.  Since version 5, WavPack can also check for corruption without decoding, hence quicker than any decoding format.  Optional MD5 audio checksum can also be added upon encoding for file fingerprinting. &lt;br /&gt;
* High-resolution audio support (see next headline).&lt;br /&gt;
* Multichannel support: currently capped at 256 channels, supports [https://docs.microsoft.com/en-us/windows/win32/api/mmreg/ns-mmreg-waveformatextensible WAVEFORMATEXTENSIBLE] channel masks.&lt;br /&gt;
* Piping support for encoding, and support for RAW PCM input/output.&lt;br /&gt;
* Non-audio chunks (RIFF and similar) stored; by default, WavPack will not only encode/decode the audio losslessly, but store the non-audio chunks and restore them into a file bit-identical to the original.&lt;br /&gt;
* Tagging: APEv2. (ID3v1 is possible, but not advisable.) &lt;br /&gt;
* Cuesheet support. In practice, some applications handle &#039;&#039;embedded&#039;&#039; cuesheets better in WavPack than in some other formats.&lt;br /&gt;
* Unicode support.&lt;br /&gt;
* Can be used in the [[Matroska]] container. &lt;br /&gt;
* Windows GUI available.&lt;br /&gt;
* Multithreading (from version 5.7.0).&lt;br /&gt;
&lt;br /&gt;
WavPack also handles bit depths not divisible by 8, e.g. 20-bit audio (found on some DVDs).  &lt;br /&gt;
&lt;br /&gt;
== Special/unique features ==&lt;br /&gt;
Most of these features are shared with only a few if any notable codecs, or extend to signal types or file types others do not support (comparisons given).&lt;br /&gt;
* DSD support: can losslessly compress Philips DSDIFF and Sony DSF files (see &amp;quot;Using WavPack&amp;quot; below; no other end-user codec compresses DSD.) ID3v2.3/2.4 tags can be imported.  wvunpack can select between DSDIFF and DSF out (i.e. &#039;convert between the two&#039;).  wvunpack can also convert DSD to PCM, but not the other way around. (Lossy, as conversion between PCM and DSD necessarily is.)&lt;br /&gt;
* High-resolution support for bit depth 1-bit to 32-bit integer and sampling rates up to &#039;&#039;giga&#039;&#039;herz range radio frequencies, in integer steps. (2 GHz works although only 1 GHz is officially supported; for more UHF, Monkey&#039;s Audio, OptimFROG and MPEG-4 ALS support the entire WAVE range up to 4 GiHz.) Can also compress &#039;&#039;non-integer sampling rates&#039;&#039; in AIFF/AIFC/CAF (signals the WAVE format cannot contain).   &lt;br /&gt;
* 32-bit &#039;&#039;floating-point&#039;&#039; supported &amp;amp;ndash; also including CoolEdit/Adobe Audition&#039;s own float format (use the &amp;lt;code&amp;gt;-a&amp;lt;/code&amp;gt; option &#039;&#039;only if&#039;&#039; the .wav was generated by CoolEdit/Audition).  (This line like OptimFROG.)&lt;br /&gt;
* As much as 256 channels currently supported (from version 5.5.0 on; [https://github.com/dbry/WavPack/issues/117 can be extended to the thousands] &amp;amp;ndash; more than any codec except MPEG-4 ALS (which is capped at 66536).) &lt;br /&gt;
* Hybrid lossy/lossless mode (can also be used as lossy &amp;amp;ndash; OptimFROG also has such a mode.)&lt;br /&gt;
* For LPCM it can read and output to WAVE (including the RF64 format extension used for large files and from 5.70 also BW64), to Sony&#039;s Wave64, AIFF/AIFC (both endiannesses) and CAF (ditto) &amp;amp;ndash; with full restore of also non-audio parts to bit-by-bit the original file in the original format.  (Monkey&#039;s/OptimFROG/TAK do the same to the input formats they support.)  Also WavPack can handle too large noncompliant &amp;quot;WAVE&amp;quot; files (by default, those will be restored to bit-identical the same as the flawed input file &amp;amp;ndash; optionally one can force output to compliant RF64/W64 files). &lt;br /&gt;
* Recompression: Can recompress .wv files in place, with tag transfer.  (Like FLAC on .flac files.)&lt;br /&gt;
* Drag and drop support: Dropping a file on to wavpack.exe/wvunpack.exe will encode/decode it to source directory. (Similar to FLAC.)  From 5.5.0, one can also apply options to drag and drop by renaming the executable, and drop several files.&lt;br /&gt;
&lt;br /&gt;
Like FLAC/TAK/OptimFROG, WavPack employs a &amp;quot;wasted bits&amp;quot; strategy to handle cases of &#039;&#039;n &amp;quot;actual bits of signal&amp;quot; zero-padded and stored as N bits&#039;&#039;; such signals can be found in certain DVDs, but also as &amp;quot;fake high resolution&amp;quot; where a 16-bit signal is merely put in a 24-bit file to look impressive.  WavPack handles more &amp;quot;fake high resolution&amp;quot; cases than just zero-padding.  5.7.0 introduces an further improvement to capture similar patterns in 32-bit integer files generated by &amp;quot;naively converting from 32-bit float&amp;quot;.  That particular mode is disabled by default and is arguably best left to power users (invoking it with &amp;lt;code&amp;gt;--optimize-int32&amp;lt;/code&amp;gt;) as only 5.7.0 can decode as lossless; to earlier versions and players they will be presented as lossy without correction file (and will indeed be lossy with differences around -138 dB down). &lt;br /&gt;
&lt;br /&gt;
== Limitations ==&lt;br /&gt;
The following bullet item list is hardly of interest except for special purposes; WavPack supports nearly every input format that any competing codec handles. One exception is the legacy AU/SND, apparently supported only by Monkey&#039;s Audio. &lt;br /&gt;
* DSD: Will reject DST-compressed DSDIFF (which are already compressed heavier than WavPack does) and Wideband Single-bit Data files (apparently, the Tascam and Korg devices which can produce these, can also export to other DSD formats).&amp;lt;br/&amp;gt; Also, DSD files cannot be encoded as hybrid with correction files.&lt;br /&gt;
* 64-bit float is not supported.  (Apparently no other lossless audio compressor can support it either.)&lt;br /&gt;
* wvunpack can &#039;&#039;force output&#039;&#039; to a different format than input, and for AIFF/CAF also select endianness, but it cannot force output to different versions of big-endian AIFF (it will avoid AIFC as long as the signal can be fit in the original AIFF container) nor BW64 &amp;amp;ndash; nor select between WAVE_FORMAT_PCM and WAVE_FORMAT_EXTENSIBLE.  Few other formats do allow for such output selection; reference FLAC can from 1.4.3 offer some wider choices than wvunpack can. &lt;br /&gt;
* Although all non-audio will be stored, &amp;lt;code&amp;gt;--import-id3&amp;lt;/code&amp;gt; can not &#039;&#039;import&#039;&#039; every type of ID3 tag to APEv2. (5.70 imports more tag types than previous versions, yet some users might want use use e.g. [[Mp3tag]] to copy over more tags from the original.) Also, unless &amp;lt;code&amp;gt;--allow-huge-tags&amp;lt;/code&amp;gt; is specified, size is limited to 1 MB; older software might not read larger tagsets (but no known &#039;&#039;playback&#039;&#039; incompatibilities are known).&lt;br /&gt;
* Some file formats have features stored in file headers (like loop points, or for AIFF possibly non-integer sampling rates) which will not be &#039;&#039;visible&#039;&#039; to the end-user when trying to play back the .wv file in a typical player. They are nevertheless available to certain audio editing software plugins, and will in any case be restored upon decoding.&lt;br /&gt;
* Some features are unsupported by several applications: in particular, support for correction files is only found in a few players. &lt;br /&gt;
* The most significant third-party implementation (ffmpeg as of version 7.0) has bugs waiting to be fixed. &lt;br /&gt;
&lt;br /&gt;
As of 5.5.0 and above, MacOS versions must be built with e.g. HomeBrew, and Windows XP is only supported through a special executable (available in version 5.6.0 at wavpack.com, upgrade from previous unofficial build posted at HA is strongly advised).  WavPack version 5 discontinues some features, but version 4.80 is still available to convert any version 3.x files that might still exist.&lt;br /&gt;
&lt;br /&gt;
WavPack has traditionally had less hardware support than FLAC ([[Rockbox]] having been the most notable platform, others listed at https://www.wavpack.com/index.html#Hardware ), but with WavPack playback through Android and iOS players, the distinction between &amp;quot;hardware&amp;quot; and &amp;quot;software&amp;quot; is arguably blurred. The Android OS does not &#039;&#039;natively&#039;&#039; support other lossless audio formats than WAVE and FLAC, so there have been issues getting certain Android solutions to recognize other media files including WavPack.&amp;lt;ref&amp;gt;[https://hydrogenaud.io/index.php/topic,122768 HA thread with link to Android bug report by the Monkey&#039;s Audio author]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Information for users of other codecs (and older WavPack) == &lt;br /&gt;
Parts of this section will be less relevant to users who primarily decode and convert through player software, rather than directly invoking the executables.  WavPack is the only &amp;quot;major&amp;quot; lossless encoder with separate executables for encoding (&amp;lt;code&amp;gt;wavpack&amp;lt;/code&amp;gt;) and decoding/info (&amp;lt;code&amp;gt;wvunpack&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
Even for features that are comparable between codecs, they may behave different &amp;amp;ndash; or default to different behaviour &amp;amp;ndash; out of the purpose they were designed to address, their development, or other design choices. &lt;br /&gt;
&lt;br /&gt;
* WavPack is designed as a &#039;&#039;file compressor&#039;&#039; for audio files &amp;amp;ndash; this like Monkey&#039;s, TAK and OptimFROG, but in contrast to FLAC and ALAC which are &#039;&#039;audio compressors&#039;&#039;. The difference is in the ambition to store all non-audio information (and in the correct order).  Using reference FLAC one might &amp;quot;opt in&amp;quot; on non-audio parts by giving options; using WavPack one can &amp;quot;opt out&amp;quot; and discard this information.  &lt;br /&gt;
** &#039;&#039;Note: This difference is irrelevant for CD ripping.&#039;&#039; Contrary to a common misconception, CD audio is &#039;&#039;not&#039;&#039; stored as WAVE &amp;amp;ndash; nor in any sort of file.  Thus, using a file compressor gives no more &amp;quot;true&amp;quot; copy of a CD.  (WavPack&#039;s support for embedded cuesheets might &amp;amp;ndash; depending on player application &amp;amp;ndash; give a better user experience for those who prefer to store one file per CD, but that is not due to how CDs work.)&lt;br /&gt;
* MD5 is opt-in (the &amp;lt;code&amp;gt;-m&amp;lt;/code&amp;gt; switch) &amp;amp;ndash; even if verification is requested and the MD5 is calculated, it is only written to file if specifically requested. TAK and OptimFROG work similarly in that they also require the user to opt-in on MD5. FLAC, ALAC and Monkey&#039;s all work different: FLAC includes MD5 (though some encoders make exceptions under some circumstance), ALAC has nothing such &amp;amp;ndash; and Monkey&#039;s MD5s are not comparable with others, as it hashes the encoded bitstream.  &lt;br /&gt;
** Also, WavPack computes MD5 using the source&#039;s endianness (endianness is like the distinction between &amp;quot;4th of July&amp;quot; and &amp;quot;July 4th&amp;quot;), and so MD5s may differ between WAVE source and AIFF/CAF source for the same audio.  (At least a recent foobar2000 will handle them without giving false warnings.)&lt;br /&gt;
* Like Monkey&#039;s/TAK/OptimFROG &amp;amp;ndash; but unlike FLAC and ALAC-in-MP4 &amp;amp;ndash; tags are at the end of the file.  Consequences for users are that retagging will not trigger full file rewrite, but sometimes applications may spend longer time displaying art and viewing tags.&lt;br /&gt;
* Users of &amp;quot;older WavPack&amp;quot; might take note that version 5 discontinues some features, like &amp;lt;code&amp;gt;-p&amp;lt;/code&amp;gt;, and also the &amp;lt;code&amp;gt;-e&amp;lt;/code&amp;gt; for self-extracting files &amp;amp;ndash; those and other older files can still be converted, but the ancient WavPack 3 with .wav extension requires version 4.80.0 (still available). &lt;br /&gt;
** See the [[#File formats, versions, decoding and transcoding support]] section for more details.&lt;br /&gt;
&lt;br /&gt;
=== Performance &amp;amp;ndash; file size, CPU load === &lt;br /&gt;
Rewind twenty years, to 2004 hardware costs, compression ratios did matter much more &amp;amp;ndash; also, several formats would be too heavy to even &#039;&#039;play&#039;&#039; on portable devices, and the official WavPack site would warn against the &amp;lt;code&amp;gt;-hh&amp;lt;/code&amp;gt; mode for that use even if it were not heavier than the fastest Monkey&#039;s Audio mode. &lt;br /&gt;
Fast forward to now, enthusiasts will still compare performance even if ordinary users may take note that impact on cost is often negligible. Different considerations may apply when a drive is near full.  &lt;br /&gt;
The HA wiki&#039;s [[lossless comparison]] article compares speed and compression ratio on CDDA on the respective codecs&#039; &#039;&#039;default&#039;&#039; setting, taken from van Beurden&#039;s comparison studies.  The test corpus is chosen to be a &amp;quot;wide&amp;quot; selection, and most music collections are biased in one direction or another genre-wise; users who are concerned about compression might look up the individual sources in the study and/or make a test sample from their own collection.  By and large, the following observations can be made:&lt;br /&gt;
* WavPack defaults to a fast codec, between FLAC and Monkey&#039;s; is not so heavy on decoding CPU as to cause actual practical problems, although it officially recommends against &amp;lt;code&amp;gt;-hh&amp;lt;/code&amp;gt; &amp;quot;for use on vintage portable devices&amp;quot; &amp;amp;ndash; it should be fine on anything modern.  Even &amp;lt;code&amp;gt;-hh&amp;lt;/code&amp;gt; seems to decode lighter than Monkey&#039;s fastest mode. &lt;br /&gt;
** The &amp;quot;between FLAC and Monkey&#039;s&amp;quot; hold for &amp;quot;default encoding and all decoding&amp;quot;.  Like most modern codecs, WavPack can be set to exert more encoding effort without affecting decoding load: the &amp;lt;code&amp;gt;-x&amp;lt;/code&amp;gt; switch. Thus, decoding for e.g. ReplayGain tagging will be slower than e.g. FLAC in all modes, but faster than Monkey&#039;s &amp;amp;ndash; and recompressing with a slow &amp;lt;code&amp;gt;-x&amp;lt;/code&amp;gt; setting (which can be done in the background) will not make the files any heavier to process later.   (Indeed, &amp;lt;code&amp;gt;-x&amp;lt;/code&amp;gt; sometimes makes decoding lighter, although unlikely to be noticed except by measuring it.)&lt;br /&gt;
** Playback on Android might be less battery efficient than FLAC, which can take advantage of the OS&#039; native support.  The difference is likely small for power-hungry players (like VLC).&lt;br /&gt;
** On the other hand, &#039;&#039;integrity verification&#039;&#039; can be done lightening-fast, without decoding (presuming WavPack 5 file format and WavPack 5 decoder). &lt;br /&gt;
* Compressing CDDA: WavPack can compress to slightly smaller files than (reference) FLAC; the difference has diminished with the most recent FLAC releases, but &amp;quot;in return&amp;quot;, modern CPU speeds might have made the more expensive WavPack settings more tempting, especially when one can re-encode in the background.&lt;br /&gt;
* Compressing high resolution signals and multi-channel: The &amp;quot;extra&amp;quot; resolution might be a mixed bag of upsampling artefacts, tape hiss, sometimes geniune overtones (and for bat enthusiasts, actual interesting audio).  There are different kinds of samples one might call &amp;quot;fake high resolution&amp;quot;, and different properties of such &amp;amp;ndash; upsampling or bit depth &amp;amp;ndash; are handled different by the codecs.  WavPack is known to handle some properties exceptionally well (&amp;quot;wasted bits&amp;quot; are exploited also by FLAC and TAK, but WavPack and OptimFROG are capable of detecting more &amp;quot;wasteful&amp;quot; patterns; Monkey&#039;s and ALAC cannot exploit wasted bits at all) &amp;amp;ndash; and others lesser.  Several codecs benefit from spending more effort on high resolution signals, and WavPack users might consider to (re-) compress high resolution and multi-channel with as slow setting as &amp;lt;code&amp;gt;-hx4&amp;lt;/code&amp;gt;, presuming it can be done as background recompression where time is not much of an object; decoding load is largely unaffected (sometimes slightly improved) by the high &amp;lt;code&amp;gt;-x&amp;lt;/code&amp;gt;. &lt;br /&gt;
** For 32-bit float, there is not much competition, and WavPack might be the natural choice for compatibility; it does outcompress Monkey&#039;s recently-added float mode.  Those files are not very common in the wild, and users with a sizeable collection of 32-bit files for audio processing will likely choose codec for compatibility with their DAW software.  WavPack 5.7.0&#039;s special setting for 32-bit integer converted from 32-bit float might be an option in such situations.  &lt;br /&gt;
* Users who compare nearly tied compression levels between codecs, should take into account how metadata storage affect total file size.  WavPack defaults to storing the source&#039;s metadata, which may include big album art; on the other hand, FLAC defaults to leaving some kilobytes padding in the file.  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Using WavPack =&lt;br /&gt;
For everyday use in what other lossless codecs can do, just play it back in a supported player &amp;amp;ndash; many of which support tagging, and so do several tagging software.  Several of these players can also encode to WavPack, invoking the official tools.  &lt;br /&gt;
&lt;br /&gt;
Certain more advanced uses are not accessible through player software &amp;amp;ndash; not even if they invoke the official tools &amp;amp;ndash; and are best invoked through the WavPack executables directly.  For example, you cannot expect non-audio data (for full file restore) to be preserved when encoding/decoding through &#039;&#039;players&#039;&#039;, as they usually pass on only the audio; this is not particular to WavPack, but must be expected if you want to store non-audio chunks in other formats that support it.  Also, WavPack supports input formats that might exceed the player&#039;s internal decoding; e.g. trying to convert DSD with foobar2000 will yield a warning that it will not be lossless (also, converting DSD to PCM leads to files many times the size, being inherently different formats), and the same will 32-bit integer in 32-bit foobar2000 (which uses float internally). &lt;br /&gt;
&lt;br /&gt;
== Encoding/decoding by drag and drop (Windows) == &lt;br /&gt;
The simplest encoding/decoding might be &#039;&#039;dragging and dropping&#039;&#039; a (supported) file to wavpack.exe (/wvunpack.exe).  Then the file will be encoded/decoded with the default options.  Dropping a .wv file onto wavpack.exe will recompress it, prompting before overwrite (again, using default settings &amp;amp;ndash; possibly a bad deal if it was encoded with high &amp;lt;code&amp;gt;-x&amp;lt;/code&amp;gt; switches).  Drag and drop also works on a shortcut to the executable. It is not possible to drop a folder, but from version 5.5.0, there is a way to drag and drop &#039;&#039;several&#039;&#039; files.&lt;br /&gt;
&lt;br /&gt;
From version 5.5.0, drag and drop supports &#039;&#039;options&#039;&#039; by renaming the wavpack/wvunpack executable.  The user can rename a copy of the executable according to preferred settings, which will be applied to the process upon drag and drop.  The example given by the developer in [https://hydrogenaud.io/index.php/topic,122626.msg1012159.html#msg1012159 in this HA forum post]&amp;lt;ref&amp;gt;[https://hydrogenaud.io/index.php/topic,122626.msg1012159.html#msg1012159 HA forum post on how to rename executable for drag and drop]&amp;lt;/ref&amp;gt; uses encoding options that many WavPack users will recommend (better compression than default, verification and MD5 fingerprinting), and novice users can choose to copy that filename for the executable.  For fine-tuning performance or for more specialized tasks, more options are described below. &lt;br /&gt;
&lt;br /&gt;
== Basic command line encoding/decoding [[Windows_command_line_tips|(for Windows: command-line hints here)]] == &lt;br /&gt;
The basic &#039;&#039;encoding&#039;&#039; usage is &amp;lt;code&amp;gt;wavpack filename&amp;lt;/code&amp;gt; (which creates &amp;lt;code&amp;gt;filename.wv&amp;lt;/code&amp;gt;) &amp;amp;ndash; this is what drag and drop accomplishes.  Wildcards are supported, e.g. &amp;lt;code&amp;gt;wavpack *.wav&amp;lt;/code&amp;gt; (but not simply &amp;lt;code&amp;gt;wavpack *&amp;lt;/code&amp;gt;).  For a &#039;&#039;single&#039;&#039; input file, one can specify output like e.g. &amp;lt;code&amp;gt;wavpack infilename.wav -o outfilename.wv&amp;lt;/code&amp;gt; (on Windows, the &amp;lt;code&amp;gt;-o&amp;lt;/code&amp;gt; can be omitted).  Input file extension &amp;quot;.wav&amp;quot; can be dropped, and output &amp;quot;.wv&amp;quot; extension as well &amp;amp;ndash; but &amp;lt;code&amp;gt;wavpack foo&amp;lt;/code&amp;gt; will only find foo.wav, not e.g. foo.w64 &amp;amp;ndash; and not a &amp;quot;foo&amp;quot; with no file extension.  (Power users may take note that for &amp;lt;code&amp;gt;--raw-pcm&amp;lt;/code&amp;gt; input, the encoder will not look for foo.wav but rather for foo.raw.)&lt;br /&gt;
&lt;br /&gt;
The basic &#039;&#039;decoding&#039;&#039; usage &amp;amp;ndash; as will be accomplished by drag and drop &amp;amp;ndash; is &amp;lt;code&amp;gt;wvunpack filename.wv&amp;lt;/code&amp;gt;.  By default, wvunpack will restore the exact same file (metadata and file structure and all; it will know the original file name extension but not the rest of the file name &amp;amp;ndash; timestamp can be stored by using &amp;lt;code&amp;gt;-t&amp;lt;/code&amp;gt;.) If only audio was encoded (conversion from a &#039;&#039;player&#039;&#039; would usually work this way), output defaults to filename.wav.  Output filename can be specified, and just like for the wavpack encoder, file extensions can be dropped; e.g., &amp;lt;code&amp;gt;wvunpack foo -o bar&amp;lt;/code&amp;gt; (or on Windows, dropping the &amp;lt;code&amp;gt;-o&amp;lt;/code&amp;gt;) will decode foo.wv to bar.&amp;lt;original file&#039;s extension&amp;gt;.  This is arguably advisable: wvunpack will not &#039;&#039;override output format&#039;&#039; by setting file extension.  E.g. if the input was a CAF file, &amp;lt;code&amp;gt;wvunpack foo -o bar.w64&amp;lt;/code&amp;gt; is still a CAF file, and the user has only managed to mislead themselves.  To force output format, see the [[#Decoding options]] paragraph.  &lt;br /&gt;
&lt;br /&gt;
=== Several input files ===&lt;br /&gt;
To give several filenames as input to wavpack/wvunpack, other than through wildcards, there are (for historical reasons) slight differences between the Windows version and the *n*xes: &lt;br /&gt;
Windows (requires WavPack 5.5.0): use the &amp;lt;code&amp;gt;--drop&amp;lt;/code&amp;gt; option as in the above example given by the developer.  It is intended for drag and drop (hence the name of the option) and will write the output to same directory as source.  However it can also be used with command-line:  &amp;lt;code&amp;gt;wavpack --drop firstfile secondfile&amp;lt;/code&amp;gt; will compress firstfile.wav to firstfile.wv and secondfile.wav to secondfile.wv.  Note that without the &amp;lt;code&amp;gt;--drop&amp;lt;/code&amp;gt;, the command &amp;lt;code&amp;gt;wavpack firstfile secondfile&amp;lt;/code&amp;gt; will compress firstfile.wav to secondfile.wv, as &amp;lt;code&amp;gt;-o&amp;lt;/code&amp;gt; is optional on Windows &amp;amp;ndash; indeed that is why the &amp;lt;code&amp;gt;--drop&amp;lt;/code&amp;gt; had to be introduced.  An arbitrary number of files can be processed, e.g. &amp;lt;code&amp;gt;wvunpack --drop firstfile secondfile thirdfile fourthfile fifthfile&amp;lt;/code&amp;gt; will decode firstfile.wv, ..., fifthfile.wv.&lt;br /&gt;
For *n*x, one can omit the &amp;lt;code&amp;gt;--drop&amp;lt;/code&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
== Applying options ==&lt;br /&gt;
For tuning performance or other settings, one might want to apply command-line options.  Some external applications can apply options without the user having to type &amp;amp;ndash; e.g. encoding with [[foobar2000]], there are two compression sliders, one for the fast-to-extra-high and one for the &amp;lt;code&amp;gt;-x&amp;lt;/code&amp;gt; settings (see below) &amp;amp;ndash; but for command-line one will have to type them, and also in the Windows GUI.  Options can be concatenated for short, like for example writing &amp;lt;code&amp;gt;-hh -x2 -m -v -y&amp;lt;/code&amp;gt; as &amp;lt;code&amp;gt;-hhx2mvy&amp;lt;/code&amp;gt;.  &lt;br /&gt;
&lt;br /&gt;
The user should beware that the wavpack encoder and the wvunpack decoder (and wvtag/wvgain) have to &amp;quot;re-use letters&amp;quot;.  While some do the same in the wvunpack and wavpack (like &amp;lt;code&amp;gt;-d&amp;lt;/code&amp;gt; for delete input file, &amp;lt;code&amp;gt;-y&amp;lt;/code&amp;gt; for &amp;quot;yes to all&amp;quot;, &amp;lt;code&amp;gt;-t&amp;lt;/code&amp;gt; to preserve timestamp, and &amp;lt;code&amp;gt;-l&amp;lt;/code&amp;gt; for (Windows only) &amp;quot;run with low priority&amp;quot;) and others cover the same purpose in both executables (like &amp;lt;code&amp;gt;-m&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;-v&amp;lt;/code&amp;gt;), the user may be warned that certain letters do not.  E.g. &amp;lt;code&amp;gt;-b&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;-c&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;-n&amp;lt;/code&amp;gt; cover completely urelated functions upon decoding vs upon encoding.  &lt;br /&gt;
&lt;br /&gt;
5.7.0 introduces multi-threading options for both encoding and decoding, invoked with &amp;lt;code&amp;gt;--threads=&amp;lt;number 1 to 12&amp;gt;&amp;lt;/code&amp;gt;, or simply &amp;lt;code&amp;gt;--threads&amp;lt;/code&amp;gt; to let WavPack choose.  Multithreading does not reduce overall CPU load, but unless the CPU is already working at max, it will do one or a few files in fewer seconds; thus it is invoked by default for the CoolEdit plugin.  For encoding, it leads to slightly different files, with usually very small size impact.&lt;br /&gt;
&lt;br /&gt;
=== Encoding options (lossless) ===&lt;br /&gt;
Encoding using &amp;lt;code&amp;gt;-hxm&amp;lt;/code&amp;gt; seems a sensible trade-off between compression and CPU load.  Some selected options are described as follows; for an exhaustive refence, see the manual (online, or included as wavpack_doc.html in the distribution).&lt;br /&gt;
* Compression.  WavPack has four compression modes that affect compression as well as encoding &#039;&#039;and&#039;&#039; decoding time: fast (&amp;lt;code&amp;gt;-f&amp;lt;/code&amp;gt;), default, high (&amp;lt;code&amp;gt;-h&amp;lt;/code&amp;gt;) and very high (&amp;lt;code&amp;gt;-hh&amp;lt;/code&amp;gt;).  The CPU load of &amp;lt;code&amp;gt;-hh&amp;lt;/code&amp;gt; is measured to around twice that of &amp;lt;code&amp;gt;-f&amp;lt;/code&amp;gt; (and could in the early 2000s be too heavy for portable players, although it does decode faster than any Monkey&#039;s).  On top these modes, the optional extra processing &amp;lt;code&amp;gt;-x1&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;-x6&amp;lt;/code&amp;gt; settings will apply extra compression effort that does not increase &#039;&#039;decoding&#039;&#039; CPU load. &amp;lt;code&amp;gt;-x&amp;lt;/code&amp;gt; without number is synonymous to &amp;lt;code&amp;gt;-x1&amp;lt;/code&amp;gt;, which is often recommended (in all modes, fast/normal/high/extra high).  The official manual calls &amp;lt;code&amp;gt;-x4&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;-x6&amp;lt;/code&amp;gt; &amp;quot;extremely slow&amp;quot;, but the size gains might be significant for high resolution audio in particular (van Beurden&#039;s revision 5, testing &amp;lt;code&amp;gt;-x4&amp;lt;/code&amp;gt;).  &lt;br /&gt;
** 5.5.0 introduces optional switches for the default compression: &amp;lt;code&amp;gt;-g&amp;lt;/code&amp;gt; for normal mode and &amp;lt;code&amp;gt;-x0&amp;lt;/code&amp;gt; for &amp;quot;no &amp;lt;code&amp;gt;-x&amp;lt;/code&amp;gt;&amp;quot;.  These are redundant for basic use, but can be used to switch off options already given (e.g. in renamed executables, or custom builds): &amp;lt;code&amp;gt;-x6 -x0&amp;lt;/code&amp;gt; will switch off the extra processing, and &amp;lt;code&amp;gt;-h -f -g&amp;lt;/code&amp;gt; will encode as normal, whereas previous versions would abort with an error.&lt;br /&gt;
** With DSD files, there are only two compression settings, normal and high; the option &amp;lt;code&amp;gt;-f&amp;lt;/code&amp;gt; will select normal, &amp;lt;code&amp;gt;-h&amp;lt;/code&amp;gt;/&amp;lt;code&amp;gt;-hh&amp;lt;/code&amp;gt; will both select high, and the &amp;lt;code&amp;gt;-x&amp;lt;/code&amp;gt; switches are silently ignored. &lt;br /&gt;
* Guarding against errors upon encoding: The &amp;quot;&amp;lt;code&amp;gt;-m&amp;lt;/code&amp;gt;&amp;quot; switch will compute an audio MD5 sum (like FLAC does by default) and store it for later verification.  The &amp;quot;&amp;lt;code&amp;gt;-v&amp;lt;/code&amp;gt;&amp;quot; switch will verify by decoding the file after it has been written to disk&amp;lt;ref&amp;gt;[https://hydrogenaud.io/index.php?topic=121714.msg1008108#msg1008108 HA forum comment:] verification checks the written file after closing and reopening&amp;lt;/ref&amp;gt;. &amp;lt;code&amp;gt;-vm&amp;lt;/code&amp;gt; will do both &amp;amp;ndash; that is, calculate the MD5s to verify, and store it.  Using the corresponding switches in wvunpack will check without producing output file, however wvunpack also has a faster corruption check for WavPack 5-encoded files: &amp;lt;code&amp;gt;-vv&amp;lt;/code&amp;gt;.&lt;br /&gt;
* &amp;lt;code&amp;gt;--import-id3&amp;lt;/code&amp;gt; will import ID3v2.3/2.4 tags present in the source file &amp;amp;ndash; typically in Sony DSF files &amp;amp;ndash; and convert them to WavPack&#039;s preferred APE tags.  (Not all tags are supported, but the full tags chunk will be kept for restoring the original file.)  By default, importing is limited to 1 MB; for more, use &amp;lt;code&amp;gt;--allow-huge-tags&amp;lt;/code&amp;gt;.  Same option works in wvtag; indeed, one can encode first and then afterwards &amp;quot;import&amp;quot; the tags from the WavPack file using &amp;lt;code&amp;gt;wvtag --import-id3 wavpackfile.wv&amp;lt;/code&amp;gt;; this provided that these data have not been deleted by the following &amp;lt;code&amp;gt;-r&amp;lt;/code&amp;gt; option: &lt;br /&gt;
* &amp;lt;code&amp;gt;-r&amp;lt;/code&amp;gt;: remove non-audio chunks.  By default, WavPack will store these in the .wv file for later bit-by-bit restoration of everything, not only the audio. Use &amp;lt;code&amp;gt;-r&amp;lt;/code&amp;gt; to throw them away and encode audio only &amp;amp;ndash; like encoding through most players appear to do. &lt;br /&gt;
* &amp;lt;code&amp;gt;-t&amp;lt;/code&amp;gt;: copy input file&#039;s time stamp.  (To restore the file with the original time stamp, use &amp;lt;code&amp;gt;-t&amp;lt;/code&amp;gt; both when encoding and when decoding.)&lt;br /&gt;
* &amp;lt;code&amp;gt;--pause&amp;lt;/code&amp;gt;: (Windows only!) waits for keypress at the end.  Useful for reading output before exit when calling wavpack/wvunpack in a separate window (which both drag-and-drop the Windows front-end do).&lt;br /&gt;
* &amp;lt;code&amp;gt;-y&amp;lt;/code&amp;gt;: &amp;quot;yes&amp;quot; to everything.  Use with caution, will overwrite.  From 5.5.0 there is also a &amp;lt;code&amp;gt;--no-overwrite&amp;lt;/code&amp;gt; that will skip instead of asking to overwrite.&lt;br /&gt;
* &amp;lt;code&amp;gt;-d&amp;lt;/code&amp;gt;: delete source file upon successful completion.  Again, use with caution. &lt;br /&gt;
* &amp;lt;code&amp;gt;-l&amp;lt;/code&amp;gt; will force WavPack to run at low priority (Windows only)&lt;br /&gt;
* &amp;lt;code&amp;gt;-c&amp;lt;/code&amp;gt;: this is for hybrid lossless, see below. &lt;br /&gt;
&lt;br /&gt;
WavPack can recompress .wv files in place (using a temporary file until done).  For example, &amp;lt;code&amp;gt;wavpack -hx4mvy wavpackfile.wv&amp;lt;/code&amp;gt; will compress wavpackfile.wv in high mode using &amp;lt;code&amp;gt;-x4&amp;lt;/code&amp;gt; extra processing, writing everything (and an audio MD5 checksum) to a temporary file with tags transferred; close and then re-open the temp file to re-read for verification &amp;amp;ndash; and only once verified, replace the old wavpackfile.wv. &amp;lt;code&amp;gt;wavpack -hx4rlmvy wavpackfile.wv&amp;lt;/code&amp;gt; will also run with low priority (assuming the Windows platform), and will discard non-audio chunks &amp;amp;ndash; that is, the ones used to restore the original file&#039;s metadata; the .wv file&#039;s APE tags will still be copied.  Some operations do require recompression even if the user would not demand it; For example, wavpack cannot add MD5 sum to a .wv file without recompressing it. Also, if the user wants to discard the original file&#039;s headers/footers, that can be done upon decompression or recompression &amp;amp;ndash; but not by simply removing them from the .wv file. &lt;br /&gt;
There is no out-of-the-box facility to recompress based on how heavy the original file was compressed, or to keep the smallest file. &lt;br /&gt;
&lt;br /&gt;
=== (Incomplete:) hybrid lossless &amp;amp; lossy encoding ===&lt;br /&gt;
(Needs to be expanded. Notes: DSD can currently not be hybrid-encoded and floating-point files should not be.  The correction file will be omitted by a lot of applications/players, including VLC, mplayer and ffmpeg; thus, using ffmpeg or ffmpeg-based players to convert/play hybrid-encoded WavPack will be lossy. For WavPack in Matroska, there doesn&#039;t seem to be any player that will play both the lossy stream and the correction stream, although mkvmerge/mkvextract will import/extract both streams. foobar2000 can play hybrid lossless .wv+.wvc, but will omit a Matroska-encapsulated correction stream.)&lt;br /&gt;
&lt;br /&gt;
Basic use: the &amp;lt;code&amp;gt;-b&amp;lt;/code&amp;gt; switch &amp;amp;ndash; and for losslessness, use &amp;lt;code&amp;gt;-c&amp;lt;/code&amp;gt; to create a correction file. &lt;br /&gt;
A numerical argument for quality is mandatory: if &amp;lt; 24 it will signify &#039;&#039;bits per sample&#039;&#039; and if &amp;gt; 24 it will signify &#039;&#039;kbit/second&#039;&#039;. Decimal separator is . even if your locale uses the comma. &lt;br /&gt;
For example, &amp;lt;code&amp;gt;wavpack -b12.5 filename&amp;lt;/code&amp;gt; will create filename.wv of bit rate 12.5 bits per sample.  &lt;br /&gt;
For an example that creates filename.wv at at most 234.56 kilobits per second and a correction file filename.wvc, the following commands will work:&lt;br /&gt;
* In all versions, &amp;lt;code&amp;gt;wavpack -b234.56 -c filename&amp;lt;/code&amp;gt;. Or equivalently &amp;lt;code&amp;gt;wavpack -cb234.56 filename&amp;lt;/code&amp;gt;&lt;br /&gt;
* From 5.70, also &amp;lt;code&amp;gt;wavpack -c234.56 filename&amp;lt;/code&amp;gt; will do the same.  Thus, a user can avoid the &amp;quot;&amp;lt;code&amp;gt;b&amp;lt;/code&amp;gt;&amp;quot; altogether, eliminating the risk of loss from forgetting the &amp;quot;&amp;lt;code&amp;gt;c&amp;lt;/code&amp;gt;&amp;quot;. &lt;br /&gt;
More options can be added, like &amp;lt;code&amp;gt;wavpack -cb234.56 -mhx filename&amp;lt;/code&amp;gt; to compress in high mode with extra processing and stores the (&#039;&#039;original&#039;&#039; PCM&#039;s) MD5 sum.  &lt;br /&gt;
When filename.wv and filename.wvc are both present, the original file will be restored completely by decoding the usual way by &amp;lt;code&amp;gt;wvunpack filename&amp;lt;/code&amp;gt; (or &amp;lt;code&amp;gt;wvunpack filename.wv&amp;lt;/code&amp;gt;, but not &amp;lt;code&amp;gt;wvunpack filename.wvc&amp;lt;/code&amp;gt;).  Playback of the .wv+.wvc is also lossless provided the player application supports correction files (like foobar2000, but few do). &lt;br /&gt;
&amp;lt;code&amp;gt;filename.wv&amp;lt;/code&amp;gt; can be copied to a different location without compression file and played in the same way as if it was encoded as lossy in the first place; the decoder will only look in the same path and for same file name except with .wvc extension. &lt;br /&gt;
&lt;br /&gt;
If a high enough lossy quality is specified, it is possible that the file can losslessly contain the entire signal.  If so, WavPack will report at the end of the encoding process &amp;amp;ndash; but that information is not stored in the file.  It can be inferred later from the small .wvc file, and if that is lost: if &amp;lt;code&amp;gt;-m&amp;lt;/code&amp;gt; was used upon encoding.&lt;br /&gt;
WavPack will refuse to recompress lossy-generated .wv to &amp;quot;lossless .wv&amp;quot; as that would make a false pretense of being a lossless file.  (That goes even in the &amp;quot;that information is not stored in the file&amp;quot; case just mentioned.)  If a lossless hybrid with correction file is recompressed, the default is to create a single-file lossless .wv; from 5.7.0, the old .wvc file will then be removed (as it does no longer belong to any .wv file), but earlier version would need to use the delete switch.&lt;br /&gt;
&lt;br /&gt;
Advanced use: The encoder has several options to tune lossy quality through e.g. noise shaping. &lt;br /&gt;
&lt;br /&gt;
=== Decoding options ===&lt;br /&gt;
In addition to the basic usage above (drag and drop or &amp;lt;code&amp;gt;wvunpack filename.wv&amp;lt;/code&amp;gt;), the wvunpack executable offers several options.  For use with the Windows front-end or drag and drop, the Windows-only &amp;lt;code&amp;gt;--pause&amp;lt;/code&amp;gt; (waits for keypress at the end, like for wavpack.exe) is essential to read the output report.  Also Windows-only options like &amp;lt;code&amp;gt;--drop&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;-l&amp;lt;/code&amp;gt; work as for wavpack.exe, and so do &amp;lt;code&amp;gt;-d&amp;lt;/code&amp;gt; (use with caution!) and &amp;lt;code&amp;gt;-y&amp;lt;/code&amp;gt; (ditto!) as well as &amp;lt;code&amp;gt;-t&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
* Output &#039;&#039;filename&#039;&#039; can be set with &amp;lt;code&amp;gt;wvunpack infilename.wv -o outfilename &amp;lt;/code&amp;gt; (the &amp;lt;code&amp;gt;-o&amp;lt;/code&amp;gt; being superfluous on Windows, where &amp;amp;ndash; in the absence of &amp;lt;code&amp;gt;--drop&amp;lt;/code&amp;gt; &amp;amp;ndash; the second filename will be assumed to be output name).  Then wvunpack will affix the file extension of the original file (say, outfilename.wav if the wavpacked file was somefilename.wav).  The wavpack encoder detects the file type from content, and so wvunpack will not &amp;quot;fix misleading extensions&amp;quot; automatically; the user can provide a giving full output filename with extension, but note that this will override the &#039;&#039;name&#039;&#039; only but not the &#039;&#039;type&#039;&#039;.  To make sure that -o out.aif indeed produces an AIFF, separate switches have to be employed. &lt;br /&gt;
* To force output &#039;&#039;file format,&#039;&#039; one needs to apply options to wvunpack.  The following are for PCM output: &amp;lt;code&amp;gt;--raw-pcm&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;--wav&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;--w64&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;--caf-be&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;--caf-le&amp;lt;/code&amp;gt;, and from version 5.6.0 on also &amp;lt;code&amp;gt;--aif&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;--aif-le&amp;lt;/code&amp;gt;.  &lt;br /&gt;
** These will delete non-audio chunks and replace them with a fresh file header: there is no option to &amp;quot;unpack to WAVE and restore the original headers if the original file was WAVE&amp;quot;.   &amp;lt;code&amp;gt;wvunpack --wav&amp;lt;/code&amp;gt; will select RF64 if (and only if) exceeding WAVE&#039;s 4 GB limit, and wvunpack will select old AIFF over AIFF-C if the audio data permit it.&lt;br /&gt;
** For DSD, those format switches will also force a &amp;amp;ndash; necessarily lossy &amp;amp;ndash; conversion to PCM.  To switch losslessly &#039;&#039;between&#039;&#039; DSD formats, there are also &amp;lt;code&amp;gt;--dsf&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;--dff&amp;lt;/code&amp;gt; (the latter being synonymous to &amp;lt;code&amp;gt;--dsdiff&amp;lt;/code&amp;gt;) which again delete non-audio chunks.  Note that WavPack cannot force any (also necessarily lossy) conversion &#039;&#039;to&#039;&#039; DSD, having no DSD encoder.&lt;br /&gt;
** &amp;lt;code&amp;gt;--raw&amp;lt;/code&amp;gt; outputs both PCM and DSD as headerless streams (lossless for both; &amp;lt;code&amp;gt;-r&amp;lt;/code&amp;gt; is synonymous; beware that this is not precisely the same as the same letter switch upon encoding).&lt;br /&gt;
&lt;br /&gt;
In addition to decimating DSD for conversion to PCM, there are other options where power users can utilize certain &#039;&#039;lossy&#039;&#039; operations by wvunpack, e.g. normalizing floating-point files (recommended before conversion to integer), dropping correction files from hybrid encodes &amp;amp;ndash; and &amp;lt;code&amp;gt;--skip&amp;lt;/code&amp;gt; and/or &amp;lt;code&amp;gt;--until&amp;lt;/code&amp;gt; to decode only a segment of the file.  See the documentation.  &lt;br /&gt;
Other options include &amp;lt;code&amp;gt;-b&amp;lt;/code&amp;gt; to &amp;quot;blindly&amp;quot; decode until end disregarding errors and corruption (potentially useful to save as much as possible from a destroyed file).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;wvunpack -m&amp;lt;/code&amp;gt; will decode with MD5 sum calculation.  If the .wv file had an MD5 sum stored, it will also be displayed for comparison. However, &amp;lt;code&amp;gt;-m&amp;lt;/code&amp;gt; will not give an error if they don&#039;t match (and if the .wv is lossy without correction file, they won&#039;t: the MD5 stored is that of the original). &lt;br /&gt;
&lt;br /&gt;
wvunpack is also the utility to display information from .wv files even when it does not involve decoding or file output, see the [[#Other file handling]] subsection.  Inter alia, &amp;lt;code&amp;gt; -s&amp;lt;/code&amp;gt; will correctly report the input file &#039;&#039;type&#039;&#039; even if it had a misleading extension (like a .wav extension disguising an AIFF file). &lt;br /&gt;
&lt;br /&gt;
== &amp;lt;span id=&amp;quot;Other file handling&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Other file handling (incomplete) ==&lt;br /&gt;
The WavPack distribution includes wvunpack, wvtag and wvgain.  &lt;br /&gt;
&lt;br /&gt;
=== File information with wvunpack (without decoding to file) === &lt;br /&gt;
wvunpack can get information about WavPack files without outputting any uncompressed audio file:&lt;br /&gt;
* &amp;lt;code&amp;gt;-vv&amp;lt;/code&amp;gt;: Quick verify without decoding (WavPack 5 files only; from 5.5.0 there is also a more verbose &amp;lt;code&amp;gt;-vvv&amp;lt;/code&amp;gt;).  Quick verify seems to be unavailable outside the official wvunpack; other applications which verify will fall back to the next item, &amp;lt;code&amp;gt;-v&amp;lt;/code&amp;gt;. &lt;br /&gt;
* &amp;lt;code&amp;gt;-vm&amp;lt;/code&amp;gt;: Decode and verify, but not write output file.  The &amp;quot;m&amp;quot; will compute the the MD5 sum of the decoded PCM and output it along with the .wv file&#039;s stored MD5, if such was present.  Note that the user has to check manually that they match.  A user who never uses &amp;lt;code&amp;gt;-m&amp;lt;/code&amp;gt; upon encoding can safely drop the &amp;lt;code&amp;gt;-m&amp;lt;/code&amp;gt; from wvunpack too.  Note that absent the &amp;quot;v&amp;quot;, &amp;lt;code&amp;gt;wvunpack -m&amp;lt;/code&amp;gt; will write output file &amp;amp;ndash; and that &amp;lt;code&amp;gt;wvunpack -mvv&amp;lt;/code&amp;gt; is not allowed, as MD5 calculation requires decoding.&lt;br /&gt;
* &amp;lt;code&amp;gt;-s&amp;lt;/code&amp;gt;/&amp;lt;code&amp;gt;-ss&amp;lt;/code&amp;gt;: &amp;lt;code&amp;gt;-s&amp;lt;/code&amp;gt; displays summary of the file, &amp;lt;code&amp;gt;-ss&amp;lt;/code&amp;gt; a long summary including tags. Also there is &amp;lt;code&amp;gt;-f&amp;lt;/code&amp;gt; for parseable output, see documentation.&lt;br /&gt;
* &amp;lt;code&amp;gt;-x&amp;lt;/code&amp;gt; FIELD: Shows tag, e.g. &amp;lt;code&amp;gt; -x comment &amp;lt;/code&amp;gt; shows the &amp;lt;comment&amp;gt; field.  &amp;lt;code&amp;gt;-c&amp;lt;/code&amp;gt; is synonymous to &amp;lt;code&amp;gt; -x cuesheet&amp;lt;/code&amp;gt;.   Also &amp;lt;code&amp;gt; wvtag -x &amp;lt;/code&amp;gt; resp. &amp;lt;code&amp;gt; wvtag -c &amp;lt;/code&amp;gt; do the same thing.  &amp;lt;code&amp;gt;-xx&amp;lt;/code&amp;gt; (same option for wvtag) can output to file (use &amp;lt;code&amp;gt;-n&amp;lt;/code&amp;gt; to avoid decoding) &amp;amp;ndash; see documentation.&lt;br /&gt;
&lt;br /&gt;
=== (To fill in:) Tagging (wvtag) and replaygain management (wvgain) ===&lt;br /&gt;
(... most of these options are available in HA&#039;s fave taggers/player? Except the following, maybe?) &lt;br /&gt;
&amp;lt;code&amp;gt;wvtag --import-id3 wavpackfile.wv&amp;lt;/code&amp;gt; will read and &amp;quot;import&amp;quot; ID3 tag stored in wavpackfile.wv&#039;s non-audio chunks; this will overwrite existing APEv2. Can also be used with &amp;lt;code&amp;gt;--allow-huge-tags&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== File formats, versions, decoding and transcoding support ==&lt;br /&gt;
Even if WavPack has expanded its feature set over the years, it has gone to lengths to maintain compatibility.  Old WavPack 4.x decoders can restore WavPack 5 files to several file types it cannot encode, but not DSD.  &lt;br /&gt;
The TL;DR is that unless one has an ancient portable device or even more ancient files, one will do just fine with the most recent WavPack, and if not then WavPack 4.80 will suffice &amp;amp;ndash; it is still available and can convert ancient WavPack version 3 files.  &lt;br /&gt;
Over the years, one might have encountered WavPack files in (at least) the following variants: &lt;br /&gt;
&lt;br /&gt;
* .wv (current!) is the file extension used for file formats 4 and 5. Can in most cases be decoded by &amp;quot;anything&amp;quot; (even if the source was e.g. AIFF, which old WavPack cannot read but still restore).  Exceptions:&lt;br /&gt;
** WavPack 4 cannot play or restore compressed DSD files (that is new to WavPack 5).  Although FFmpeg&#039;s wavpack implementation is version 4-based, DSD and DSD-in-WavPack can still be &#039;&#039;played&#039;&#039; with an FFmpeg-based player. (But not restored, as FFmpeg has no DSD pipeline, so this is for playback or lossy conversion.)&lt;br /&gt;
** FFmpeg creates non-compliant files for 17 channels and up.  WavPack 5.7.0 can decode and repair (FFmpeg itself cannot!)&lt;br /&gt;
** Mono signals encoded to WavPack 5 might require WavPack version 4.3 (from 2005) or later to play.  It is doubtful that there are hardware players around using older WavPack; should incompatibilities occur, the easiest is likely then to recompress using 4.80. &lt;br /&gt;
** To older WavPack versions than 5.7.0, encodes with the new &amp;lt;code&amp;gt;--optimize-int32&amp;lt;/code&amp;gt; will be viewed as &amp;quot;lossy without correction file&amp;quot;.  They are safe to play (and will apparently only introduce loss from the 24th bit, -138 dB down), but only 5.7.0 can see the lossless version and restore the file completely.&lt;br /&gt;
* .wvc, correction files when hybrid lossless encoding is chosen.  Honoured by official WavPack, but users might note that wvpack/wvunpack should be fed the .wv file and will err out if pointed at merely the .wvc file.&lt;br /&gt;
* .exe (deprecated): WavPack 4 could compress to Windows self-extracting file (like OptimFROG also offers).  This feature is discontinued in WavPack 5.  Newer versions of the decoder can still play and decode them &amp;amp;ndash; indeed, merely renaming them from .exe to .wv will make them play in players that use the official WavPack library (e.g. foobar2000 will, but VLC will not), and they can be tagged.&lt;br /&gt;
** How to recompress with tag transfer: Rename to .wv and run the recompression.&lt;br /&gt;
** Similar goes for the 3rd party hack &amp;quot;.iso.wv&amp;quot; which could also be mentioned, and also if a .wv file is stored (uncompressed!) in a .zip container renamed .zip.wv: like for self-extracting files, the official decoder might look further into a file to find WavPack headers, and could find them if the .wv file is put first in an uncompressed container.  Circa 2010 some developer would use the .iso format to contain single WavPack file, and then auxiliary files like rip logs and artwork; renaming it from .iso to .iso.wv would player applications actually play it. Due to efforts from a few enthusiasts when this hack was introduced, iso.wv is mentioned in several players&#039; official and unofficial feature lists, including Wikipedia pages.  These files can be recompressed like the self-extracting files can &amp;amp;ndash; this will however discard &#039;&#039;everything else&#039;&#039; than the WavPack file.&lt;br /&gt;
* .wav (pre-2004, long deprecated).  WavPack 3 and below used the .wav extension, which explains the error message &amp;quot;this legacy WavPack file is deprecated, use version 4.80.0 to transcode&amp;quot; if a user tries to wv&#039;&#039;un&#039;&#039;pack a WAVE file. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Using WavPack with 3rd party tools (FFmpeg &amp;amp; more) =&lt;br /&gt;
&lt;br /&gt;
Some applications may behave slightly surprising.  FFmpeg has its own WavPack implementation and has a few known peculiarities, some which are expected to be fixed and others of unknown status.  Android users may need to use the player application&#039;s folder to get WavPack files recognized.  The tl;dr are that as long as it plays, it plays &amp;amp;ndash; but to safeguard against loss of information (e.g. upon conversion), use the official tools.  In particular, hybrid lossless correction files are usually not honoured by 3rd party tools. (A player that &#039;&#039;does&#039;&#039;, foobar2000, uses the official WavPack libraries.)&lt;br /&gt;
&lt;br /&gt;
== Splitting WavPack files by cuesheet ==&lt;br /&gt;
WavPack is a format with good support for storing an album as one .wv file with embedded (or external) cuesheets, but splitting into tracks by way of cuesheets is not straightforward without external tools.  Audio players like [[foobar2000]] which support cue sheets can also split upon conversion.  Other external applications that will do this splitting &amp;amp;ndash; also with more variations of the cue sheet format(s) supported &amp;amp;ndash; include&lt;br /&gt;
* [[CUETools]] can if it is CDDA (44.1 kHz 16-bit stereo), and can re-encode back to WavPack.  &lt;br /&gt;
* refalac can decode &amp;amp; split by cuesheets with the appropriate (official) WavPack library DLL file&amp;lt;ref&amp;gt;[https://github.com/nu774/qaac/wiki/refalac-usage refalac usage] includes how to split by cuesheet&amp;lt;/ref&amp;gt;, outputting WAVE or ALAC-in-MP4.&lt;br /&gt;
Both refalac, CUETools and foobar2000 use the official WavPack tools for the decoding(/encoding). &lt;br /&gt;
&lt;br /&gt;
== &amp;lt;span id=&amp;quot;FFmpeg&#039;s WavPack implementation&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;FFmpeg&#039;s WavPack implementation: differences and quirks ==&lt;br /&gt;
FFmpeg can encode/decode to/from WavPack &amp;amp;ndash; which may be seen as attractive from how it also can transfer metadata in one go &amp;amp;ndash; but with some limitations and maybe unfamiliar behaviour.  &amp;lt;br/&amp;gt; FFmpeg has had some bugs which may cause audio corruption.  Although some fixes were applied with FFmpeg release 6.1, users might beware that players and converters that employ FFmpeg as a decoding engine may or may not update that quickly. &lt;br /&gt;
* [Still not fixed as of ffmpeg 6.1] Encoding, multi-channel only: Above 16 channels, when the WavPack 5 format is required, FFmpeg will still attempt encoding to WavPack version 4, but will produce non-compliant files &amp;amp;ndash; that ffmpeg itself might not be able to read.&amp;lt;br/&amp;gt;Official WavPack 5.7.0 can repair those files, at least the &amp;quot;known&amp;quot; defects. &lt;br /&gt;
* [Fixed in ffmpeg 6.1] Encoding, 8-bit PCM only: FFmpeg (up to 6.0) will produce broken files with static noise.  No known attempt at recovering them.&lt;br /&gt;
* [Fixed in ffmpeg 6.1] Decoding, any format but rare: A bug FFmpeg&#039;s WavPack decoder, discovered in August 2022&amp;lt;ref&amp;gt;[https://hydrogenaud.io/index.php/topic,122810 HA forum thread on the ffmpeg bug in .wv decoding]&amp;lt;/ref&amp;gt;, will cause dropouts in certain files. The bug is &#039;&#039;&amp;quot;rare&amp;quot;&#039;&#039; in that no such file was discovered in several years.  &lt;br /&gt;
&lt;br /&gt;
Further limitations in FFmpeg&#039;s implementation:&lt;br /&gt;
* No MD5 sum and no verification &amp;amp;ndash; although it is possible for power users to set up a command-line to compute audio-only checksums of input, decode output to checksum and compare.  FFmpeg will also only write WavPack 4 files, hence no &#039;&#039;fast verification&#039;&#039; of the bitstream.  (FFmpeg can however decode WavPack 5 files, including converting DSD files to PCM.)&lt;br /&gt;
* As a general rule &amp;amp;ndash; not specific to .wv &amp;amp;ndash; FFmpeg will &#039;&#039;not&#039;&#039; honour the input bit depth: for example when outputting WAVE/AIFF, it will default to 16 bits regardless of input bit depth.  This default behaviour is not lossless when input bit depth is &amp;gt; 16 bits, and could even induce clipping (with no warning!) if the source is a 32-bit float.  To force lossless decoding of 24-bit/32-bit files (WavPack/FLAC/ALAC/TAK/uncompressed) to WAVE/AIFF, the user must extract the bit depth information and specify the respective 24-bit/32-bit output format using ffmpeg&#039;s command-line syntax. &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;For an extreme example: &amp;lt;code&amp;gt;FFmpeg -i DSDfile.dsf outfile.wv&amp;lt;/code&amp;gt; will not store the DSD &amp;amp;ndash; rather it will convert to floating-point PCM which is then compressed, typically making for several times the file size, with no warning that it is lossy.&amp;lt;br/&amp;gt;&lt;br /&gt;
The tl;dr for users who do not have this at their fingertips, is to use other (= official!) decoders when losslessness is desired.&lt;br /&gt;
* Correction files ignored, leading to lossy playback/conversion of hybrid-encoded WavPack files with when ffmpeg or ffmpeg-based players are used. &lt;br /&gt;
* Loss of information that is not directly audio-related: FFmpeg has no ambition of preserving file structure and (R)IFF chunks, so you will not get the non-audio chunks of the files back when using ffmpeg to encode &amp;amp;ndash; however it &#039;&#039;will&#039;&#039; by default transfer metadata it supports. &lt;br /&gt;
* FFmpeg will sometimes &amp;amp;ndash; depending on input format &amp;amp;ndash; output 32-bit WavPack files and lose the information that the source was indeed only 24. Not all players support 32-bit files, and verifying that the operation (or an attempted downconversion to 24) was lossless is not straightforward as even fewer applications are willing to compare a 32-bit and a 24-bit file for differences. &amp;lt;br/&amp;gt;Also for files with bit depth not being 8/16/24/32 is lost; WAVE/AIFF/CAF can handle &amp;quot;17 bit&amp;quot; files by storing 24 and employing a flag to disregard the 7 LSBs, and ffmpeg will lose this flag even when encoding to / decoding from codecs which support it, WavPack and FLAC. &lt;br /&gt;
&lt;br /&gt;
FFmpeg&#039;s compression settings can be set with &amp;lt;code&amp;gt;-compression_level&amp;lt;/code&amp;gt; 0 to 8, which work different than the reference implementation. Like for ALAC compression, FFmpeg has chosen a &#039;&#039;default&#039;&#039; that prioritizes speed over size &amp;lt;ref&amp;gt;[https://hydrogenaud.io/index.php?topic=118278.msg976262#msg976262  HA forum comment comparing the compression presets]&amp;lt;/ref&amp;gt; &amp;amp;ndash; while on the other end, FFmpeg&#039;s WavPack encoder offers settings even slower than &amp;lt;code&amp;gt;-hhx6&amp;lt;/code&amp;gt;. FFmpeg version 7 does some multithreading, although not in the encoding process itself; apparently it offloads the &#039;&#039;input file reading&#039;&#039;, improving speed on single-file encoding.&lt;br /&gt;
FFmpeg multithreads decoding, and could be fast.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Software support (&amp;amp; hardware) =&lt;br /&gt;
The following list is unlikely to be complete, and the same goes for the lists https://www.wavpack.com/#Software and https://www.wavpack.com/#Hardware : In the age of Android-powered devices with ffmpeg-based playback, it is not feasible to list all players which can in one way or another play this or that format, nor to distinguish clearly between hardware players and software players.&lt;br /&gt;
&lt;br /&gt;
== Players ==&lt;br /&gt;
* [[foobar2000]] advanced freeware audio player plays/decodes WavPack out of the box on both Windows, MacOS, Android and iOS (Windows: supports encoding if wavpack.exe is installed, and redistributes the official wavpack.exe through its &amp;quot;Free encoder pack&amp;quot; addon for encoding.  With ReplayGain &amp;amp; cuesheets support.) Also [[Boom]] from the same author.&lt;br /&gt;
* [http://www.videolan.org/vlc/download-windows.html VLC] multiplatform media player&lt;br /&gt;
* [http://www.vuplayer.com/vuplayer.php VUPlayer] (official plugin, supports encoding)&lt;br /&gt;
* NullSoft [[Winamp]] (plugin with ReplayGain &amp;amp; Media Library support) and Winamp-compatible players&lt;br /&gt;
* [[Windows Media Player]] and other directshow-based players (MPC, TCMP, RadLight) (with [http://www.hydrogenaudio.org/forums/index.php?showtopic=103693 CoreWavPack] directshow filter)&lt;br /&gt;
* [http://cogosx.sourceforge.net/ Cog] Audio player for MacOS X.&lt;br /&gt;
* [https://wiki.jriver.com/index.php/WavPack JRiver Media Center]&lt;br /&gt;
* [[XMMS]] (with Kuniklo&#039;s plugin)&lt;br /&gt;
* [http://fondriest.frederic.free.fr/realisations/lamip/ LAMIP] (official plugin)&lt;br /&gt;
* [http://mpxplay.sourceforge.net/ MPXplay] for DOS!&lt;br /&gt;
* [http://aqualung.sourceforge.net/ Aqualung] for GNU/Linux&lt;br /&gt;
* Cowon [http://www.jetaudio.com/ JetAudio Player] and CD ripper&lt;br /&gt;
* [http://www.un4seen.com/ XMPlay] Plugin required (WavPack input plugin) and (bass library) to play &#039;.wv&#039; files&lt;br /&gt;
&lt;br /&gt;
== Converters, CD rippers etc. ==&lt;br /&gt;
For conversion (of &#039;&#039;audio&#039;&#039; only), one can use several of the &#039;&#039;players&#039;&#039; listed above, like Cowon JetAudio, foobar2000 and VUplayer &amp;amp;ndash; although some with limitations in the audio pipeline, like for example DSD handling. &amp;lt;br/&amp;gt;&lt;br /&gt;
More software that support conversion to or from WavPack include:&lt;br /&gt;
* Custom [http://www.wavpack.com/WavPack_frontend.zip WavPack frontend] (by Speekenbrink) for Windows.&lt;br /&gt;
* [http://www.dbpoweramp.com/ dBpowerAMP] Music Converter CD ripper/writer / Audio Player / (official addon)&lt;br /&gt;
* [[fre:ac]] multi-platform CD ripper/converter&lt;br /&gt;
* [[Exact Audio Copy]] CD Ripper (guide at this wiki&amp;lt;ref&amp;gt;[[EAC_and_WavPack | HA Wiki: Configuring EAC and WavPack]]&amp;lt;/ref&amp;gt;)&lt;br /&gt;
* [http://www.nero.com/eng/ Nero]&lt;br /&gt;
* [http://cdexos.sourceforge.net CDex] CD ripper&lt;br /&gt;
* [https://download.cnet.com/Ease-Audio-Converter/3000-2140_4-10390634.html Ease Audio Converter] (Discontinued; shareware / NOT Freeware)&lt;br /&gt;
* [http://media.io/ Media.io Online Audio Converter]&lt;br /&gt;
* [http://www.logipole.com/index.html Konvertor]&lt;br /&gt;
* [http://cuetools.net CUETools] converter and AccurateRip/CTDB checker&lt;br /&gt;
* [https://github.com/nu774/qaac refalac] (user must copy the wavpackdll.dll file to the appropriate directory)&lt;br /&gt;
&lt;br /&gt;
== Taggers and audio info utilities ==&lt;br /&gt;
* [http://www.mp3tag.de/en/index.html Mp3tag] Universal Tag Editor&lt;br /&gt;
* [https://picard.musicbrainz.org/ MusicBrainz Picard] Tagger with audio identification &lt;br /&gt;
* [http://www.jtclipper.eu/thegodfather/ The GodFather] Tagger / Music manager&lt;br /&gt;
* [[Tag.exe|Case&#039;s Tag]] command line tagger&lt;br /&gt;
* [https://mediaarea.net/ MediaInfo]&lt;br /&gt;
* [http://mr-questionman.en.uptodown.com/windows Mr. QuestionMan]&lt;br /&gt;
&lt;br /&gt;
== Audio editors and other tools ==&lt;br /&gt;
* [[Audacity]] has WavPack support (using official libraries) from version 3.2.0 (2022)&amp;lt;ref&amp;gt;[https://github.com/audacity/audacity/releases/tag/Audacity-3.2.0 Audacity 3.2.0 release notes]&amp;lt;/ref&amp;gt;.&lt;br /&gt;
* [[Adobe Audition]] and Cool Edit (filter with 32-bit floats &amp;amp; extra info save support)&lt;br /&gt;
* [https://www.reaper.fm/about.php#technical Reaper] DAW software for Windows / MacOS&lt;br /&gt;
* [https://sourceforge.net/projects/sox/ SoX] can read and write WavPack files.  (Write: limited to &amp;lt;code&amp;gt;-hh&amp;lt;/code&amp;gt; compression, not file format version 5.)&lt;br /&gt;
* [http://www.bunkus.org/videotools/mkvtoolnix/ mkvtoolnix] &amp;amp;ndash; tool to multiplex streams in Matroska container files.&lt;br /&gt;
&#039;&#039;It&#039;s worth mentioning the [[Matroska]] guys decided to concentrate on WavPack as the lossless compressor of choice for their container. Quite an honor... :-)&#039;&#039;&lt;br /&gt;
* [https://support.pkware.com/display/PKSZLU/PKZIP+Toolkit+for+Windows PKWare]&#039;s .zip format compresses audio by WavPack since version 6.3.2 (2007).  Beware that there is no expectation that other decompression software handles these zip files; even if PKWare co-designed the format and PKZip was the original .zip implementation, their subsequent compression methods are outside the ISO/IEC standardized zip format specification. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Links =&lt;br /&gt;
* [http://www.wavpack.com/ Official website]&lt;br /&gt;
* [https://github.com/dbry/WavPack Github repository]&lt;br /&gt;
* [http://www.rarewares.org/lossless.html Unofficial compiles] at RareWares. As of 2023: 5.50 for Windows and 4.32 multiplatform&lt;br /&gt;
* [https://en.wikipedia.org/wiki/WavPack WavPack at Wikipedia]&lt;br /&gt;
* [https://wiki.multimedia.cx/index.php/WavPack WavPack at Multimediawiki] (not updated with version 5)&lt;br /&gt;
* [[Lossless_comparison| HA Wiki&#039;s Lossless Codec Comparison]] originally by [[User:Rjamorim|Rjamorim]] &lt;br /&gt;
* An older (2005) performance comparison of lossless audio compressors {{webarchive|https://web.archive.org/web/20151027213336/http://members.home.nl/w.speek/comparison.htm|2015-10-27}} by Speek, using WavPack version 4.0 &lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{navbox audio codecs}}&lt;br /&gt;
[[Category:Codecs]]&lt;br /&gt;
[[Category:Lossless]]&lt;/div&gt;</summary>
		<author><name>Porcuswiki</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=Lossless_comparison&amp;diff=37898</id>
		<title>Lossless comparison</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=Lossless_comparison&amp;diff=37898"/>
		<updated>2024-05-20T08:20:30Z</updated>

		<summary type="html">&lt;p&gt;Porcuswiki: Table: Error handling, Tagging ambiguity, OS support (Monkey&amp;#039;s ++). Each codec: several fixes. Overhaul still overdue?&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The &#039;&#039;&#039;lossless comparison page&#039;&#039;&#039; aims to gather information about lossless codecs available so users can make an informed decision as to what lossless codec to choose for their needs.&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
Given the enormous number of [[lossless]] audio compressor choices available, it is a very difficult task to choose the one most suited for each person&#039;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.&lt;br /&gt;
&lt;br /&gt;
For example, users wanting good multiplatform compatibility and robustness (e.g., people sharing live recordings) would favour [[WavPack]] or [[FLAC]]. Another user, looking for the very highest compression available, would go with [[OptimFROG]]. Someone wanting portable support would use [[FLAC]] or [[ALAC]], and so on. En fin, this is not a matter worth getting too worked up about. If you later find out the codec you chose isn&#039;t the best for your needs, you can just transcompress to another format, without risk of losing quality.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; for latest comparison of lossless compression, scroll down to the [[Lossless comparison#External links|Links section of this page]].&lt;br /&gt;
&lt;br /&gt;
== Comparison Table ==&lt;br /&gt;
&amp;lt;!-- Do NOT add links to the table. It&#039;s cluttered and colourful enough as it is. Please add them to the article itself if needed. Thanks --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; cellspacing=&amp;quot;2&amp;quot;&lt;br /&gt;
!width=&amp;quot;120px&amp;quot;|&#039;&#039;&#039;Features&#039;&#039;&#039;&lt;br /&gt;
! width=&amp;quot;90px&amp;quot; | [[#Free Lossless Audio Codec (FLAC)|FLAC]]&lt;br /&gt;
! width=&amp;quot;90px&amp;quot; | [[#Apple Lossless Audio Codec (ALAC)|ALAC]]&lt;br /&gt;
! width=&amp;quot;90px&amp;quot; | [[#WavPack (WV)|WavPack]]&lt;br /&gt;
! width=&amp;quot;90px&amp;quot; | [[#Tom&#039;s_verlustfreier_Audiokompressor (TAK)|TAK]]&lt;br /&gt;
! width=&amp;quot;90px&amp;quot; | [[#Monkey&#039;s_Audio (APE)|Monkey&#039;s]]&lt;br /&gt;
! width=&amp;quot;90px&amp;quot; | [[#Windows Media Audio Lossless (WMAL)|WMAL]]&lt;br /&gt;
! width=&amp;quot;90px&amp;quot; | [[#OptimFROG (OFR)|OptimFROG]]&lt;br /&gt;
! width=&amp;quot;90px&amp;quot; | [[#True Audio (TTA)|TTA]]&lt;br /&gt;
|- &amp;lt;!-- *** Encoding speed is very fast if &amp;lt; 2%, fast if &amp;lt; 5%, average if &amp;lt; 10%, slow if &amp;lt; 20%, very slow if &amp;lt; 50% *** --&amp;gt;&lt;br /&gt;
   &amp;lt;!-- *** Numbers are taken from most recent CDDA comparison under &#039;External links&#039; *** --&amp;gt;&lt;br /&gt;
| Encoding speed{{ref label|speed|A|A}}&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | very fast&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC&amp;quot; | fast&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | very fast&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | very fast&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | very fast&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | very fast&lt;br /&gt;
| style=&amp;quot;background: #FFCC66&amp;quot; | moderate&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | very fast&lt;br /&gt;
|- &amp;lt;!-- *** For decoding speed thresholds are one step down, i.e., very fast if &amp;lt; 1%, fast if &amp;lt; 2%, average if &amp;lt; 5% etc *** --&amp;gt;&lt;br /&gt;
| Decoding speed{{ref label|speed|A|A}}&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | very fast&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC&amp;quot; | fast&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | very fast&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | very fast&lt;br /&gt;
| style=&amp;quot;background: #FFCC66&amp;quot; | moderate&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC&amp;quot; | fast&lt;br /&gt;
| style=&amp;quot;background: #FFCC66&amp;quot; | moderate&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC&amp;quot; | fast&lt;br /&gt;
|- &amp;lt;!-- *** Thresholds for compression are at 51% and 53% *** --&amp;gt; &lt;br /&gt;
| Compression{{ref label|speed|A|A}}{{ref label|comp|B|B}}&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC&amp;quot; | 52.0%&lt;br /&gt;
| style=&amp;quot;background: #FFCC66&amp;quot; | 53.2%&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC&amp;quot; | 52.6%&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | 50.5%&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | 50.7%&lt;br /&gt;
| style=&amp;quot;background: #FFCC66&amp;quot; | 53.8%&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | 49.6%&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC&amp;quot; | 52.1%&lt;br /&gt;
|-&lt;br /&gt;
| # presets&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC&amp;quot; | 9&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC&amp;quot; | 2&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC&amp;quot; | &amp;gt; 10&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC&amp;quot; | &amp;gt; 10&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC&amp;quot; | 5&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC&amp;quot; | 1&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC&amp;quot; | &amp;gt; 10&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC&amp;quot; | 1&lt;br /&gt;
|-&lt;br /&gt;
| Error handling{{ref label|error|C|C}}&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;background: #FF9900&amp;quot; | no&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC&amp;quot; | yes{{ref label|error_ape|D|D}}&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;background: #FF9900&amp;quot; | no&lt;br /&gt;
|-&lt;br /&gt;
| Tagging{{ref label|taggingambiguity|E|E}}&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | Vorbis tags&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | iTunes&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | APEv2&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | APEv2&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | APEv2&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | ASF&lt;br /&gt;
| style=&amp;quot;background: #FFCC66&amp;quot; | APEv2 or ID3&lt;br /&gt;
| style=&amp;quot;background: #FFCC66&amp;quot; | APEv2 or ID3&lt;br /&gt;
|-&lt;br /&gt;
| Hardware support &lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | very good&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC&amp;quot; | good&lt;br /&gt;
| style=&amp;quot;background: #FFCC66&amp;quot; | limited&lt;br /&gt;
| style=&amp;quot;background: #FF9900&amp;quot; | no&lt;br /&gt;
| style=&amp;quot;background: #FFCC66&amp;quot; | limited&lt;br /&gt;
| style=&amp;quot;background: #FFCC66&amp;quot; | limited&lt;br /&gt;
| style=&amp;quot;background: #FF9900&amp;quot; | no&lt;br /&gt;
| style=&amp;quot;background: #FFCC66&amp;quot; | limited&lt;br /&gt;
|-&lt;br /&gt;
| Software support&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | very good&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC&amp;quot; | good&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC&amp;quot; | good&lt;br /&gt;
| style=&amp;quot;background: #FFCC66&amp;quot; | average&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC&amp;quot; | good&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC&amp;quot; | good&lt;br /&gt;
| style=&amp;quot;background: #FFCC66&amp;quot; | average&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC&amp;quot; | good&lt;br /&gt;
|-&lt;br /&gt;
| Hybrid/lossy&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC&amp;quot; | [[LossyWAV]]&lt;br /&gt;
| style=&amp;quot;background: #FF9900&amp;quot; | no&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC&amp;quot; | [[LossyWAV]]&lt;br /&gt;
| style=&amp;quot;background: #FF9900&amp;quot; | no&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC&amp;quot; | [[LossyWAV]]&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;background: #FF9900&amp;quot; | no&lt;br /&gt;
|-&lt;br /&gt;
| RIFF chunks&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;background: #FF9900&amp;quot; | no&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;background: #FF9900&amp;quot; | no&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;background: #FF9900&amp;quot; | no&lt;br /&gt;
|-&lt;br /&gt;
| Streaming&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;background: #FF9900&amp;quot; | no&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | yes&lt;br /&gt;
|-&lt;br /&gt;
| Open source&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;background: #FFCC66&amp;quot; | no{{ref label|ffmpeg_dec|F|F}}&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;background: #FFCC66&amp;quot; | no{{ref label|ffmpeg_dec|F|F}}&lt;br /&gt;
| style=&amp;quot;background: #FF9900&amp;quot; | no&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | yes&lt;br /&gt;
|-&lt;br /&gt;
| Multichannel&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | yes{{ref label|multichannel_ape|G|G}}&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | yes&lt;br /&gt;
| style=&amp;quot;background: #FF9900&amp;quot; | no&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | yes&lt;br /&gt;
|-&lt;br /&gt;
| OS support{{ref label|OS_encode|H|H}}&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | All&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | All&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | All&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC&amp;quot; | Win/Wine&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC&amp;quot; | Win {{ref label|OS_ape|I|I}}&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC&amp;quot; | Win/Mac&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC&amp;quot; | Any desktop&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | All&lt;br /&gt;
|-&lt;br /&gt;
| Fits in container&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | Ogg, MKV, MP4, CAF&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | MKV, MP4, CAF&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | MKV&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC&amp;quot; | -&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC&amp;quot; | -&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC&amp;quot; | -&lt;br /&gt;
| style=&amp;quot;background: #CCFFCC&amp;quot; | -&lt;br /&gt;
| style=&amp;quot;background: #00FF00&amp;quot; | MKV&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
|{{note label|speed|A|A}} Speed and Compression are based on &#039;&#039;&#039;each encoder&#039;s default settings&#039;&#039;&#039; and taken from the last CDDA results of [http://www.audiograaf.nl/downloads.html this comparison].&lt;br /&gt;
|-&lt;br /&gt;
|{{note label|comp|B|B}} Lower is better: Compression ratio is compressed size/uncompressed size * 100%. &lt;br /&gt;
|-&lt;br /&gt;
|{{note label|error|C|C}} Error handling means that a codec can detect a corruption (flipped bit) in a file, warn the user about it, protect output against full-volume static, but it will still decode the rest of the file.&lt;br /&gt;
|-&lt;br /&gt;
|{{note label|error_ape|D|D}} The official Monkey&#039;s Audio decoder does not support decoding through errors, but this may be achieved with FFmpeg (or Winamp).&lt;br /&gt;
|-&lt;br /&gt;
|{{note label|taggingambiguity|E|E}} Tagging ambiguity is generally not desired, as one application might ignore tags written by another, or even reject files.  Most APEv2-compatible formats can be tagged with ID3, although not recommended unless for use with a hardware player that cannot read other tag sets, and some applications like [[Exact Audio Copy]] can attach an ID3 chunk to any format &amp;amp;ndash; including FLAC, which does not support it. All formats but OptimFROG and TTA state either a unique choice of tag set or a clear preferred choice.&lt;br /&gt;
|-&lt;br /&gt;
|{{note label|ffmpeg_dec|F|F}} Unofficial (but properly working) open source decoder is available as part of ffmpeg&lt;br /&gt;
|-&lt;br /&gt;
|{{note label|multichannel_ape|G|G}} Since version 4.86&lt;br /&gt;
|-&lt;br /&gt;
|{{note label|OS_encode|H|H}} What platform the codec supports or can be played on. Also, most operating systems may offer native support for FLAC and ALAC (Android only FLAC). &lt;br /&gt;
|-&lt;br /&gt;
|{{note label|OS_ape|I|I}} Currently, Monkey&#039;s Audio is available for Windows. Monkey&#039;s Audio version 3.99 (stereo, up to 24 bits) is available on all desktop platforms and can be played back on mobile platforms.&lt;br /&gt;
&lt;br /&gt;
== Codecs ==&lt;br /&gt;
&lt;br /&gt;
The most popular lossless codecs, in alphabetical order:&lt;br /&gt;
&lt;br /&gt;
=== Apple Lossless Audio Codec (ALAC) ===&lt;br /&gt;
https://alac.macosforge.org/trac&lt;br /&gt;
&lt;br /&gt;
[[ALAC]] is a codec developed by Apple and used across their hardware and software platforms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ALAC pros&#039;&#039;&#039;&lt;br /&gt;
* [[Open source]] (encoding and decoding via macosforge/refalac, FFmpeg and [[CueTools|CUETools]])&lt;br /&gt;
* Fast encoding&lt;br /&gt;
* Fast decoding&lt;br /&gt;
* Hardware support ([[Apple iPod|iPod]], AirPort Express)&lt;br /&gt;
* Software support (iTunes, Quicktime)&lt;br /&gt;
* Independent encoder implementation available: ffmpeg, CUETools&lt;br /&gt;
* Streaming support&lt;br /&gt;
* Tagging support (QT tags)&lt;br /&gt;
* Supports [[multichannel]]. Limited to 8 channels. Only limited set of channels layouts is supported - https://github.com/nu774/qaac/wiki/Multichannel--handling&lt;br /&gt;
* Supports [[high resolution]]s&lt;br /&gt;
* Used by a few online stores&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; ALAC cons &#039;&#039;&#039;&lt;br /&gt;
* No error detection/robustness&amp;lt;ref&amp;gt;[http://www.hydrogenaud.io/forums/index.php?s=&amp;amp;showtopic=33226&amp;amp;view=findpost&amp;amp;p=862031 HA forum post discussing ALAC robustness]&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Doesn&#039;t support [[RIFF]] chunks&lt;br /&gt;
* No hybrid/lossy mode (and not [[LossyWAV]] compatible)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; ALAC Other features &#039;&#039;&#039;&lt;br /&gt;
* Fits in the [[MP4]], [[Matroska]] and CAF containers&lt;br /&gt;
&lt;br /&gt;
=== Free Lossless Audio Codec (FLAC) ===&lt;br /&gt;
https://xiph.org/flac/&lt;br /&gt;
&lt;br /&gt;
[[FLAC]] is a lossless codec developed by Josh Coalson. It&#039;s part of the Xiph multimedia portfolio, along with [[Opus]], [[Ogg]], [[Vorbis]], [[Speex]] and [[Theora]].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; FLAC pros &#039;&#039;&#039;&lt;br /&gt;
* [[Open source]]&lt;br /&gt;
* Very fast decoding&lt;br /&gt;
* Very fast encoding&lt;br /&gt;
* Very good hardware support (Android, Marantz, Sonos, [http://xiph.org/flac/links.html many others])&lt;br /&gt;
* Very good software support&lt;br /&gt;
* Independent encoder implementations available: flake/ffmpeg, FLACCL (providing GPU-based operation, potentially extremely fast)&lt;br /&gt;
* Error robustness&lt;br /&gt;
* Streaming support&lt;br /&gt;
* Supports [[multichannel]]. Limited to 8 channels. Channel mask in [https://learn.microsoft.com/en-us/windows/win32/api/mmreg/ns-mmreg-waveformatextensible WAVEFORMATEXTENSIBLE] is supported.&lt;br /&gt;
* Supports [[high resolution]]s&lt;br /&gt;
* Tagging support (FLAC tags)&lt;br /&gt;
* Supports [[RIFF]] chunks&lt;br /&gt;
* Pipe support&lt;br /&gt;
* Used by a few [http://xiph.org/flac/links.html#music online stores]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; FLAC cons &#039;&#039;&#039;&lt;br /&gt;
* No hybrid/lossy mode (but is [[LossyWAV]] compatible)&lt;br /&gt;
* Does not handle 32-bit float&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; FLAC Other features &#039;&#039;&#039;&lt;br /&gt;
* Supports embedded CUE sheets (with [http://flac.sourceforge.net/faq.html#general__no_cuesheet_tags limitations])&lt;br /&gt;
* Includes MD5 hashes for quick integrity checking as standard&lt;br /&gt;
* Fits the [[Ogg]], [[Matroska]], [[MP4]] and CAF containers&lt;br /&gt;
&lt;br /&gt;
=== Monkey&#039;s Audio (APE) ===&lt;br /&gt;
https://www.monkeysaudio.com/&lt;br /&gt;
&lt;br /&gt;
[[Monkey&#039;s Audio]] is a very efficient lossless compressor developed by Matt Ashland.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; APE pros &#039;&#039;&#039;&lt;br /&gt;
* Open source (from version 10.18, Windows)&lt;br /&gt;
* High compression&lt;br /&gt;
* Fast encoding at default setting&lt;br /&gt;
* Good software support&lt;br /&gt;
* Supports [[multichannel]] (Windows, since version 4.86, channel count later increased.) Channel mask in [https://docs.microsoft.com/ru-ru/windows/win32/api/mmreg/ns-mmreg-waveformatextensible WAVEFORMATEXTENSIBLE] is supported&lt;br /&gt;
* Supports [[high resolution]]s&lt;br /&gt;
* Simple and user friendly. Official GUI provided.&lt;br /&gt;
* Multiplatform [https://jmac.sourceforge.net/ Java implementation] available (3.99 version)&lt;br /&gt;
* Tagging support ([[APEv2]], optionally [[ID3v1]])&lt;br /&gt;
* Supports [[RIFF]] chunks&lt;br /&gt;
* Pipe support (Windows version, other OSes only in a [http://shnutils.freeshell.org/shntool/ special] 3.99-based version)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; APE cons &#039;&#039;&#039;&lt;br /&gt;
* Slow decoding. Higher compression levels are particularly CPU intensive. &lt;br /&gt;
* Limited hardware support (Rockbox, some Cowon players); potentially poor battery life due to CPU-intensive decoding (see [http://www.rockbox.org/wiki/SoundCodecMonkeysAudio MP3 player benchmarks])&lt;br /&gt;
* No hybrid/lossy mode (and not [[LossyWAV]] compatible)&lt;br /&gt;
* Older versions (for non-Windows platforms) released under a problematic license&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; APE Other features &#039;&#039;&#039;&lt;br /&gt;
* Includes MD5 hashes for quick integrity checking (without decoding)&lt;br /&gt;
* Supports APL image link files (similar to CUE sheets)&lt;br /&gt;
&lt;br /&gt;
=== OptimFROG (OFR) ===&lt;br /&gt;
http://www.losslessaudio.org/&lt;br /&gt;
&lt;br /&gt;
[[OptimFROG]] is a lossless format developed by Florin Ghido to become the champion in audio compression.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; OFR pros &#039;&#039;&#039;&lt;br /&gt;
* Very high compression&lt;br /&gt;
* Good software support&lt;br /&gt;
* Error robustness&lt;br /&gt;
* Streaming support&lt;br /&gt;
* Supports [[high resolution]]s&lt;br /&gt;
* Hybrid/lossy mode&lt;br /&gt;
* Tagging support ([[APEv2]], [[ID3]])&lt;br /&gt;
* Supports [[RIFF]] chunks&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; OFR cons &#039;&#039;&#039;&lt;br /&gt;
* Closed source&lt;br /&gt;
* No [[multichannel]] audio support&lt;br /&gt;
* No hardware support&lt;br /&gt;
* Very slow decoding&lt;br /&gt;
* Slow encoding&lt;br /&gt;
* More than one tagging method allowed (ambiguity possible)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; OFR Other features &#039;&#039;&#039;&lt;br /&gt;
* Supports 32bit float streams&lt;br /&gt;
* Fast verification (without decoding) or full decoding verification&lt;br /&gt;
* Optional MD5 hash&lt;br /&gt;
&lt;br /&gt;
=== Tom&#039;s verlustfreier Audiokompressor (TAK) ===&lt;br /&gt;
http://www.thbeck.de/Tak/Tak.html&lt;br /&gt;
&lt;br /&gt;
[[TAK]] is a lossless codec developed by Thomas Becker.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; TAK pros &#039;&#039;&#039;&lt;br /&gt;
* Very fast decoding&lt;br /&gt;
* Very fast encoding&lt;br /&gt;
* Very high efficiency&lt;br /&gt;
* Error robust&lt;br /&gt;
* 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&lt;br /&gt;
* Supports [[high resolution]]s. Limited to 192 kHz sampling rate.&lt;br /&gt;
* Tagging support ([[APEv2]])&lt;br /&gt;
* Supports RIFF chunks&lt;br /&gt;
* Pipe support &lt;br /&gt;
* Streamable&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; TAK cons &#039;&#039;&#039;&lt;br /&gt;
* Closed source (but unofficial open source decoder is available as part of ffmpeg)&lt;br /&gt;
* No hybrid/lossy mode (but is [[LossyWAV]] compatible)&lt;br /&gt;
* No hardware support&lt;br /&gt;
* Average software support&lt;br /&gt;
* Unicode only in GUI&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; TAK Other features &#039;&#039;&#039;&lt;br /&gt;
* Optional MD5 checksum&lt;br /&gt;
&lt;br /&gt;
=== True Audio (TTA) ===&lt;br /&gt;
http://tta.tausoft.org/&lt;br /&gt;
&lt;br /&gt;
[[TTA]] is a lossless codec developed by a international team of programmers.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; TTA pros &#039;&#039;&#039;&lt;br /&gt;
* [[Open source]]&lt;br /&gt;
* Supports [[multichannel]]. Reference encoder/decoder is limited to 6 channels. ffmpeg&#039;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 &#039;&#039;&#039;not&#039;&#039;&#039; supported (but implemented in 3rd-party foobar2000 component).&lt;br /&gt;
* Supports [[high resolution]]s&lt;br /&gt;
* Tagging support ([[ID3]]v1, ID3v2 or [[APEv2]])&lt;br /&gt;
* Embedded CUE sheets support&lt;br /&gt;
* Pipe support&lt;br /&gt;
* Fast encoding/decoding&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; TTA cons &#039;&#039;&#039;&lt;br /&gt;
* No error detection nor error handling (neither in reference implementation nor ffmpeg)&lt;br /&gt;
* Tagging ambiguity: tagging applications differ on what tag format to choose, and might not read each others&#039; tags&lt;br /&gt;
* Reference implementation is picky on input files and rejects a range of TTA files as well. &lt;br /&gt;
* No hybrid/lossy mode&lt;br /&gt;
* Doesn&#039;t support [[RIFF]] chunks&lt;br /&gt;
* Limited hardware support&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; TTA Other features &#039;&#039;&#039;&lt;br /&gt;
* Fits the [[Matroska]] container&lt;br /&gt;
* Optional password protection&lt;br /&gt;
&lt;br /&gt;
=== WavPack (WV) ===&lt;br /&gt;
http://www.wavpack.com/&lt;br /&gt;
&lt;br /&gt;
[[WavPack]] is a fast and featureful lossless codec developed by David Bryant.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; WV pros &#039;&#039;&#039;&lt;br /&gt;
* [[Open source]]&lt;br /&gt;
* Fast decoding&lt;br /&gt;
* Very fast encoding&lt;br /&gt;
* Good efficiency&lt;br /&gt;
* Error robustness&lt;br /&gt;
* Streaming support&lt;br /&gt;
* 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&lt;br /&gt;
* Supports [[high resolution]]s&lt;br /&gt;
* Hybrid/lossy mode&lt;br /&gt;
* Tagging support ([[APEv2]]; ID3 is possible but not recommended)&lt;br /&gt;
* Supports [[RIFF]] chunks&lt;br /&gt;
* Pipe support&lt;br /&gt;
* Good software support&lt;br /&gt;
* Works with Android (Through third party software, such as VLC.)&lt;br /&gt;
* Independent encoder implementation available. (FFmpeg WavPack)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; WV cons &#039;&#039;&#039;&lt;br /&gt;
* Limited hardware player support ([http://www.rockbox.org/ RockBox])&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; WV Other features &#039;&#039;&#039;&lt;br /&gt;
* Can compress the Direct-Stream Digital (DSD) audio recording format&lt;br /&gt;
* Supports 32bit float streams&lt;br /&gt;
* Supports embedded CUE sheets&lt;br /&gt;
* Accept audio files bigger than 4GB&lt;br /&gt;
* Includes MD5 hashes for quick integrity checking&lt;br /&gt;
* Fits the [[Matroska]] container&lt;br /&gt;
&lt;br /&gt;
=== Windows Media Audio Lossless (WMAL) ===&lt;br /&gt;
https://msdn.microsoft.com/en-us/library/ff819508(v=vs.85).aspx&lt;br /&gt;
&lt;br /&gt;
[[Windows_Media_Audio#Windows_Media_Audio_Lossless|WMA Lossless]] is the lossless codec developed by Microsoft to be featured in their Windows Media codec portfolio.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; WMAL pros &#039;&#039;&#039;&lt;br /&gt;
* Streaming support&lt;br /&gt;
* Supports [[multichannel]] audio and [[high resolution]]s.&lt;br /&gt;
* Tagging support (proprietary)&lt;br /&gt;
* Pipe support&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; WMAL cons &#039;&#039;&#039;&lt;br /&gt;
* Abandonware? To the extent that certain Windows preview versions have been unable to decode losslessly.&lt;br /&gt;
* Limited hardware support (Microsoft Zune, Toshiba Gigabeat S and V. Both discontinued and obsolete. Rockbox, for 16-bit stereo files only.)&lt;br /&gt;
* Limited software support outside of the Microsoft Windows operating system.&lt;br /&gt;
* Low efficiency&lt;br /&gt;
* Closed source&lt;br /&gt;
* No hybrid/lossy mode (but is [[LossyWAV]] compatible)&lt;br /&gt;
* Doesn&#039;t support [[RIFF]] chunks&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; WMAL Other features &#039;&#039;&#039;&lt;br /&gt;
* Fits the [[ASF]] container&lt;br /&gt;
&lt;br /&gt;
=== Other Formats ===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
====DTS-HD Master Audio====&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
====LA====&lt;br /&gt;
http://www.lossless-audio.com/&lt;br /&gt;
&lt;br /&gt;
LA features an extremely high compression (on par with OptimFrog highest modes), but never made it out of beta stage and hasn&#039;t been updated for more than 20 years. Furthermore, backward compatibility is not guaranteed, so using it for archiving might pose a few problems. It isn&#039;t able to cope with file corruption either, software support is very limited and isn&#039;t open source.&lt;br /&gt;
&lt;br /&gt;
====MLP/Dolby TrueHD====&lt;br /&gt;
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 &#039;wasted bits&#039; 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.&lt;br /&gt;
&lt;br /&gt;
====MPEG-4 ALS====&lt;br /&gt;
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, which also supports floating-point signals. It never gained much popularity. FFmpeg can decode some ALS files.&lt;br /&gt;
&lt;br /&gt;
====MPEG-4 SLS====&lt;br /&gt;
MPEG-4 SLS is a special codec, having a AAC core track and a &#039;correction track&#039;. 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.&lt;br /&gt;
&lt;br /&gt;
====Shorten====&lt;br /&gt;
http://www.etree.org/shncom.html&lt;br /&gt;
&lt;br /&gt;
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&#039;t compress very much. Furthermore, seeking has a troubled past as well as tagging. It is considered obsolete.&lt;br /&gt;
&lt;br /&gt;
====Real Lossless====&lt;br /&gt;
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. It is considered obsolete, and Real contributed to the creation of MPEG-4 ALS.&lt;br /&gt;
&lt;br /&gt;
====Oddball formats====&lt;br /&gt;
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]]&#039;s [https://www.rarewares.org/rrw/ ReallyRareWares]. &lt;br /&gt;
&lt;br /&gt;
* Advanced Digital Audio (ADA)  &lt;br /&gt;
* [http://www.logarithmic.net/pfh/bonk Bonk]    &lt;br /&gt;
* AudioZip  &lt;br /&gt;
* Dakx WAV  &lt;br /&gt;
* Entis Lab MIO  &lt;br /&gt;
* LiteWave  &lt;br /&gt;
* [http://www.nue.tu-berlin.de/menue/mitarbeiter/ehemalige_mitarbeiter/tilman_liebchen/lpac_-_lossless_audio_codec_for_windows_and_linux/ LPAC]&lt;br /&gt;
* Marian&#039;s a-Pac&lt;br /&gt;
* [http://mp3hd-toolkit.soft32.com/ mp3HD (MPEG-1 Audio Layer III HD)]&lt;br /&gt;
* Pegasus SPS &lt;br /&gt;
* [http://www.free-codecs.com/download/rk_audio_compressor.htm RK Audio (RKAU)]  &lt;br /&gt;
* Ogg Squish/Tarkin&lt;br /&gt;
* Sonarc  &lt;br /&gt;
* VocPack  &lt;br /&gt;
* [http://www.firstpr.com.au/audiocomp/lossless/wavarc/ WavArc]  &lt;br /&gt;
* [http://www.firstpr.com.au/audiocomp/lossless/WaveZip/ WaveZip]/MUSICompress&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[Lossless]]&lt;br /&gt;
&lt;br /&gt;
== External links ==&lt;br /&gt;
&#039;&#039;&#039; Other lossless compressions comparisons &#039;&#039;&#039;&lt;br /&gt;
&#039;&#039;Sorted based on last &#039;&#039;&#039;update&#039;&#039;&#039; date.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* [http://www.audiograaf.nl/downloads.html Martijn van Beurden&#039;s comparison] - tries to compare all codecs and settings with a balanced pool of music, with separate sections on hi-res and multichannel material (last version 2023-08-29)&lt;br /&gt;
* [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)&lt;br /&gt;
* &amp;lt;s&amp;gt;[http://synthetic-soul.co.uk/comparison/lossless/index.asp Synthetic Soul&#039;s comparison] (last update 2007-07-28)&amp;lt;/s&amp;gt;&lt;br /&gt;
* &amp;lt;s&amp;gt;Johan De Bock&#039;s speed oriented comparison&amp;lt;/s&amp;gt; - best choices speedwise are indicated in green, mostly electronic music (last updated 2006-07-22)&lt;br /&gt;
* &amp;lt;s&amp;gt;Hans Heijden&#039;s&amp;lt;/s&amp;gt; -- used as reference to build the table (last updated 2006-07-07)&lt;br /&gt;
* &amp;lt;s&amp;gt;Josef Pohm&#039;s comparison, hosted by Synthetic Soul&amp;lt;/s&amp;gt; (last update 2006-05-29)&lt;br /&gt;
* [http://www.bobulous.org.uk/misc/lossless_audio_2006.html Bobulous&#039; lossless audio comparison] — a look at six lossless formats in terms of speed and file size (last updated 2006-05-22)&lt;br /&gt;
* &amp;lt;s&amp;gt;Jhan De Bock&#039;s size oriented comparison&amp;lt;/s&amp;gt; - aimed only at the maximum compression setting for each codec (based on a somewhat limited set of samples, however) (last updated 2006-05-19)&lt;br /&gt;
* &amp;lt;s&amp;gt;Gruboolez&#039;&amp;lt;/s&amp;gt; -- comparing only classical music (last updated 2005-02-27)&lt;br /&gt;
* &amp;lt;s&amp;gt;Speek&#039;s&amp;lt;/s&amp;gt; (last updated 2005-02-07)&lt;br /&gt;
*[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)   &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; More on lossless compressions &#039;&#039;&#039;&lt;br /&gt;
* [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.&lt;br /&gt;
* Go to the [http://www.hydrogenaudio.org/forums/index.php?showtopic=33226 Hydrogenaudio thread] to discuss this article.&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
[[Category:Guides]]&lt;/div&gt;</summary>
		<author><name>Porcuswiki</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=ALAC&amp;diff=37897</id>
		<title>ALAC</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=ALAC&amp;diff=37897"/>
		<updated>2024-05-19T13:47:12Z</updated>

		<summary type="html">&lt;p&gt;Porcuswiki: General rewrite&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{infobox file format&lt;br /&gt;
| name                   = Apple Lossless Audio Codec&lt;br /&gt;
| extension              = {{code|.m4a}}, {{code|.caf}}&lt;br /&gt;
| mime                   = &lt;br /&gt;
| developer              = Apple Inc.&lt;br /&gt;
| released               = 2004 &amp;lt;!-- {{start date and age|YYYY|mm|dd}} --&amp;gt;&lt;br /&gt;
| latest_release_version = &lt;br /&gt;
| latest_release_date    = &amp;lt;!-- {{start date and age|YYYY|mm|dd}} --&amp;gt;&lt;br /&gt;
| format_type            = Lossless audio codec&lt;br /&gt;
| container_for          = &lt;br /&gt;
| contained_by           = [[MPEG-4]] Part 14&lt;br /&gt;
| extended_from          = &lt;br /&gt;
| extended_to            = &lt;br /&gt;
| free                   = Yes &amp;lt;!-- Yes or No --&amp;gt;&lt;br /&gt;
| url                    = &lt;br /&gt;
}}&lt;br /&gt;
The &#039;&#039;&#039;Apple Lossless Audio Codec (ALAC)&#039;&#039;&#039;, sometimes also known as &amp;quot;Apple Lossless Encoder&amp;quot; or simply &amp;quot;Apple Lossless&amp;quot;, is a [[lossless]] audio [[codec]]. First introduced in 2004, Apple has since 2011 provided a free open-source encoder/decoder.  ALAC is supported natively in Apple&#039;s own operating systems and Windows 10/11, and is ported to other platforms like [[Rockbox]]-endabled portable players, and through FFmpeg&#039;s encoding and decoding support. Other third-party implementations are available. &lt;br /&gt;
&lt;br /&gt;
Being pushed in the Apple ecosystem, lossless music in ALAC format is sold by several music vendors, making it second only to FLAC (and [[Meridian Lossless Packing | MLP]] if files on silver discs are counted) in popularity among lossless compressed audio formats.  ALAC in itself does not provide a file format, but is commonly delivered in an MPEG-4 container with .m4a file extension; this has led to a common misconception that ALAC itself is related to [[AAC]] (also offered by Apple through iTunes).&lt;br /&gt;
&lt;br /&gt;
The [https://en.wikipedia.org/wiki/Apple_Lossless_Audio_Codec Wikipedia entry] offers some information not covered in this article. &lt;br /&gt;
&lt;br /&gt;
= Features =&lt;br /&gt;
Arguably, it is the integration with the Apple ecosystem that might be ALAC&#039;s selling point, and not the features; while the codec enjoys several of the more common properties noted at [[Lossless_comparison| HA Wiki&#039;s Lossless Codec Comparison]], it falls short on others. Arguably the closest it gets to any unique feature could be for applications tied to the MP4 container, since [[FLAC]] in MP4 might be less supported in practice.  &lt;br /&gt;
&lt;br /&gt;
This section is largely based on what is available for ALAC in an MP4 container, which will provide for seekable and streamable playback, and tags. ALAC can also be fit in the Matroska container and Apple&#039;s CAF container, and the MP4 container&#039;s predecesor format QTFF(.qt/.mov). &lt;br /&gt;
&lt;br /&gt;
ALAC can handle 16/20/24/32 bits signals in 1 to 8 channels. Officially, sampling rates up to 384 kHz are supported, but &amp;quot;any WAVE&amp;quot; sampling rate (4 GiHz &amp;amp;ndash; yes &#039;&#039;giga&#039;&#039;hertz, &amp;gt; sixteen octaves above audible) could well work, if the decoder isn&#039;t capped lower. This does in principle make ALAC the &amp;quot;biggest player that can handle radio frequencies&amp;quot;, if that is a desired use. &lt;br /&gt;
&lt;br /&gt;
&amp;quot;Large&amp;quot; data are supported &amp;amp;ndash; i.e., exceeding WAVE/AIFF&#039;s limits of 4 GiB uncompressed &amp;amp;ndash; and handled well in e.g. the refalac implementation, which will automatically invoke the RF64 extension of WAVE when needed.&lt;br /&gt;
&lt;br /&gt;
Although it was speculated that ALAC could accommodate DRM though the MP4 container, nothing such has surfaced. Whether that would be a &amp;quot;feature&amp;quot; is certainly up to opinion.&lt;br /&gt;
&lt;br /&gt;
== Limitations ==&lt;br /&gt;
* Only a limited channel configurations are supported.  For example, 3 channel ALAC is assumed to be 3.0 and not 2.1.&amp;lt;ref&amp;gt;[https://github.com/macosforge/alac github.com/macosforge/alac] with supported audio formats&amp;lt;/ref&amp;gt; There is no support for  WAVEFORMATEXTENSIBLE channel mask information (which is mandatory in WavPack and has long been supported in FLAC) for alternative configurations.&lt;br /&gt;
* Bad error handling,&amp;lt;ref&amp;gt;[https://hydrogenaud.io/index.php/topic,33226.msg862031.html#msg862031  HA post (2014) reporting on ALAC&#039;s lack of error resilience]&amp;lt;/ref&amp;gt; could be the worst among lossless formats except the more obscure [[TTA]].&amp;lt;ref&amp;gt;[https://hydrogenaud.io/index.php/topic,122094  HA post (2022) on error handling] (TTA is arguably worse)&amp;lt;/ref&amp;gt;  While it is possible to create detectable corruption &amp;amp;ndash; ostensibly by corrupting bits essential to the MP4 container &amp;amp;ndash; ALAC itself provides for no detection (and thus no protection) against corruption.&lt;br /&gt;
** Furthermore, unlike most other lossless formats, there is no provision for an audio checksum. The user will have to resort to 3rd-party hacks to store an audio checksum as an ordinary tag. &lt;br /&gt;
* 8-bit audio is not supported, and embedding it in 16 bits by padding up with zeroes, will compress very bad. &lt;br /&gt;
* 32-bit integer is supported, but (like FLAC) not 32-bit float. See below subsection on 32-bit signals.&lt;br /&gt;
* ALAC is an &amp;quot;audio-only&amp;quot; compressor, it has no ambition to store non-audio chunks from the source files.  Storing such chunks might be essential to serve e.g. audio editing software (which might use them for metadata), and formats like [[WavPack]], [[TAK]], [[OptimFROG]] and [[Monkey&#039;s Audio]] provide for full file restore (the latter even mandates it), while [[FLAC]] can be set to store such chunks in the reference implementation. Users might note that such a property is irrelevant for CD rips.  Contrary to a common misconception, CD audio is &#039;&#039;not&#039;&#039; stored as WAVE &amp;amp;ndash; nor in any sort of file.  Thus, using a &amp;quot;full file compressor&amp;quot; gives no more &amp;quot;true&amp;quot; copy of a CD, than storing the audio in e.g. ALAC.&lt;br /&gt;
&lt;br /&gt;
ALAC might not the same hardware player support as e.g. FLAC. It is of course supported by players running iOS (also Rockbox or ffmpeg-based code), but for for example in-car units one should be cautious about trusting a statement claiming &amp;quot;.m4a&amp;quot; support, as that might be restricted to the AAC codec. Compare to how players claiming &amp;quot;[[WMA | .wma]]&amp;quot; support would rarely play WMA Lossless.&lt;br /&gt;
&lt;br /&gt;
== Performance &amp;amp;ndash; file size, CPU load (tested on Windows) ==&lt;br /&gt;
When ALAC was launched in 2004, both storage and computing power were more expensive, and so compression ratios and CPU load were more of an issue than today.  By 2024, one might not be as concerned that ALAC isn&#039;t quite up to par performance-wise: In Martijn van Beurden&#039;s comparison studies,&amp;lt;ref&amp;gt;[http://www.audiograaf.nl/losslesstest Martijn van Beurden: &amp;lt;em&amp;gt;Lossless audio codec comparison archive&amp;lt;/em&amp;gt;], all comparisons in this wiki article consistent with revision 6, 2023, using refalac 1.80&amp;lt;/ref&amp;gt; FLAC and [[TAK]] would in their defaults beat ALAC at both size &#039;&#039;and&#039;&#039; encoding time &#039;&#039;and&#039;&#039; decoding CPU load.  It would be on par with the lightest WavPack modes on two out of three parameters, but spend twice as much time encoding.  The &amp;quot;fast&amp;quot; mode saves only encoding time, but still lost to WavPack&#039;s default on all three parameters, producing five percent bigger files. &lt;br /&gt;
&lt;br /&gt;
Said study used refalac (a Windows port of Apple&#039;s reference code), but other encoders are available. FFmpeg has an encoder which prioritizes speed over file size, and in its default mode creates bigger files faster.&amp;lt;ref&amp;gt;[https://hydrogenaud.io/index.php/topic,123511.0.html HA forum test with different ALAC encoders]&amp;lt;/ref&amp;gt; On the other side,  CUETools offers an ALAC encoder which may compress slightly better at slightly more time.  &lt;br /&gt;
&lt;br /&gt;
Performance tests on Apple platforms are not available at the time of writing, but if ALAC is chosen for integration in the Apple ecosystem, performance issues are likely a secondary concern if any at all.  Due to the compression method, ALAC is unlikely to be as CPU-efficient at decoding as a properly implemented FLAC decoder. It is unknown how that would translate to battery life on iOS; on Rockbox it was tested to be 4 to 5 times as CPU intensive as FLAC&amp;lt;ref&amp;gt;[https://www.rockbox.org/wiki/CodecPerformanceComparison Rockbox: Codec Performance Comparison]&amp;lt;/ref&amp;gt; and battery consumption on Android might depend on encoder used.&amp;lt;ref&amp;gt;[https://hydrogenaud.io/index.php/topic,124857.0.html HA forum post testing battery life on Android]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Using ALAC =&lt;br /&gt;
Likely, the answer to &amp;quot;how to use ALAC?&amp;quot; is &amp;quot;just play it, and fix tags when you need&amp;quot; &amp;amp;ndash; ALAC in MP4 can likely be played back by most modern player applications, and tagged by even more. &lt;br /&gt;
&lt;br /&gt;
For someone who wants to use a Windows computer to migrate to ALAC encodes (say for later use in Appleware), it could be accomplished in various ways: &lt;br /&gt;
* By a player.  E.g. in [[foobar2000]] with its Free Encoder Pack, that includes refalac.  Said player can also convert back and forth between one file per track, and single file + cuesheet.&lt;br /&gt;
* CUETools can also do such conversion, but is restricted to CDDA.  CUETools can invoke its own ALAC encoder, which may improve compression (potentially spending a lot of time doing so).&lt;br /&gt;
* refalac can actually decode FLAC/WavPack/TAK for conversion if the user provides the respective dll (copying it into the refalac folder). refalac supports drag and drop: drag the source file onto the refalac.exe icon and drop it there.    &lt;br /&gt;
* ffmpeg will transfer tags.  For command-line use, you need to specify ALAC as codec in the command-line like &amp;lt;code&amp;gt;ffmpeg -i infile -acodec alac outfile.m4a&amp;lt;/code&amp;gt;. BEWARE that converting &#039;&#039;to&#039;&#039; WAVE/AIFF is only lossless for 16-bit input: &amp;lt;code&amp;gt;ffmpeg -i infile.m4a outfile.wav&amp;lt;/code&amp;gt; will decimate a 20/24/32 bit source file to 16 bits, without any warning.&lt;br /&gt;
&lt;br /&gt;
Conversion &#039;&#039;from&#039;&#039; ALAC could be equally straightforward, as long as to a codec that the application need not set up specifically.  Monkey&#039;s Audio supports all signals one could possibly fit in ALAC; WavPack realistically so, though it might object to certain radio frequencies fifteen octaves above the audible; and in real-world music files, there has been released one publicity stunt at a sampling frequency where FLAC requires its &amp;lt;code&amp;gt;--lax&amp;lt;/code&amp;gt; switch.&amp;lt;ref&amp;gt;[https://hydrogenaud.io/index.php/topic,122179.msg1011789.html#msg1011789 HA post linking to a free 768/24 track]&amp;lt;/ref&amp;gt; &lt;br /&gt;
&lt;br /&gt;
== Particular notes on 32-bit signals ==&lt;br /&gt;
32-bit signals are not too commonly found in the wild, and the format is arguably not the best suited for delivering music to end-users.  There are stores that supply such a format as a kind of PR stunt (or the usual audiophoolery, pretending it to be audibly better) &amp;amp;ndash; but it also does happen that some artist exports a file straight out of their digital audio workstation. A platform like Soundcloud will offer a 128 kbit/s MP3 for streaming, but may also at artist&#039;s discretion make the original file downloadable, and an artist offering a file straight from their DAW for free is hardly in any obligation to make it more user-friendly when the platform offers a reasonably-sized lossy.&lt;br /&gt;
&lt;br /&gt;
ALAC does support 32-bit integer PCM (like CDDA but spending 4 bytes rather than 2), but not floating-point.  This is not any sort of bug or mistake: [[Pulse_Code_Modulation#Integer_vs_floating-point_LPCM | floating-point is a different animal]] altogether, and compressing it would take different techniques (WavPack is recommended).  Conversion between 32-bit integer and float is lossy both ways. &lt;br /&gt;
* Some applications might clip 32-bit float when converting to integer &amp;amp;ndash; ffmpeg being the most prominent. Since conversion to ALAC would anyway be lossy, a different format is recommended; even a lossy format like high-bitrate AAC/MP3 might sound better when the source exceeds digital full scale, since these lossy formats work as float and avoid clipping. &lt;br /&gt;
* ffmpeg does not convert to 32-bit ALAC.&lt;br /&gt;
* Also 32-bit integer could cause some compatibility issues in applications that work in 32-bit internally, as they usually process audio as 32-bit float (because floating-point math is the natural choice for a volume control, and essential for lossy formats like MP3). Playback should be safe if it plays at all &amp;amp;ndash; there is no DAC that can convert the lower bits to analog in any case.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Further reading = &lt;br /&gt;
* [https://github.com/macosforge macOSforge at Github]&lt;br /&gt;
* [https://github.com/nu774/qaac qaac (with refalac) at Github], has refalac usage wiki&lt;br /&gt;
* [https://en.wikipedia.org/wiki/ALAC ALAC at Wikipedia]&lt;br /&gt;
* [https://wiki.multimedia.cx/index.php/Apple_Lossless_Audio_Coding ALAC at Multimediawiki]&lt;br /&gt;
* [[Lossless_comparison| HA Wiki&#039;s Lossless Codec Comparison]] originally by [[User:Rjamorim|Rjamorim]] &lt;br /&gt;
* [http://cue.tools CUETools] includes an ALAC encoder&lt;br /&gt;
* [https://web.archive.org/web/20120620124229/http://craz.net/programs/itunes/alac.html the first reverse-engineered decoder] at the Wayback Machine&lt;br /&gt;
* [https://www.rarewares.org/lossless.php Rarewares] has Windows and macOS compiles of said reverse-engineered decoder&lt;br /&gt;
* An older (2005) performance comparison of lossless audio compressors {{webarchive|https://web.archive.org/web/20151027213336/http://members.home.nl/w.speek/comparison.htm|2015-10-27}} by Speek, using the iTunes 4.7 encoder &lt;br /&gt;
&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{navbox audio codecs}}&lt;br /&gt;
[[Category:Codecs]]&lt;br /&gt;
[[Category:Lossless]]&lt;/div&gt;</summary>
		<author><name>Porcuswiki</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=Pulse_Code_Modulation&amp;diff=37896</id>
		<title>Pulse Code Modulation</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=Pulse_Code_Modulation&amp;diff=37896"/>
		<updated>2024-05-19T13:24:02Z</updated>

		<summary type="html">&lt;p&gt;Porcuswiki: Float. Navbox, because users might have navigated here using it.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{stub}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Pulse Code Modulation&#039;&#039;&#039; (&#039;&#039;&#039;PCM&#039;&#039;&#039;) is a method of recording sound as digital data. For more information on the method, its history and uses, see the Wikipedia entry.&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/PCM&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
(Linear) PCM is used for audio [[CD]], can (optionally) be found on [[DVD]] (and [[Blu-Ray]]) discs, is the data form transmitted in AES3 / S/PDIF digital audio interfaces&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/AES3#Protocol&amp;lt;/ref&amp;gt; and is the most common content of [[RIFF WAVE|WAVE]] and [[Audio Interchange File Format|AIFF]] files. Most [[lossless]] audio [[codec|codecs]] for end-users compress linear PCM. Being by far the most common form for audio end-users, one will often see linear PCM referred to as merely &amp;quot;PCM&amp;quot;.  The phrases &amp;quot;linear PCM&amp;quot; or the abbreviation &amp;quot;LPCM&amp;quot; occur more common in the context of DVD or Blu-Ray&amp;lt;ref&amp;gt;See for example https://en.wikipedia.org/wiki/Blu-ray#Audio for this usage&amp;lt;/ref&amp;gt;, sometimes leading to the erroneous notion that &amp;quot;linear PCM&amp;quot; necessarily must be of the form supported by the DVD formats. &lt;br /&gt;
&lt;br /&gt;
[[ADPCM]] is common in telecommunication.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Linear PCM ==&lt;br /&gt;
In &#039;&#039;Linear&#039;&#039; PCM, the quantization levels are linear in amplitude.  To visualize, each 16-bit sample of CD audio represents the amplitude as a number between −32768 and 32767 in &#039;&#039;equidistant&#039;&#039; steps: a difference from 2 to 11 makes for the same as the difference from 13000 to 13009.  Linear PCM can be converted with ordinary multi-bit converters: the 12th bit contributes the same to the analog signal no matter what the other bits are.  Consumer-audio &amp;quot;digital output&amp;quot; connections like S/PDIF (coaxial or TOSlink optical, the latter more common from computer motherboards) and audio over HDMI (although other encodings might be transferred as well).&lt;br /&gt;
&lt;br /&gt;
As a counterexample formed by modifying a PCM signal with a nonlinearity: [[High_Definition_Compatible_Digital|HDCD]]&#039;s low level adjustment can flag the lower bits to signify something else if the signal is close to zero (i.e., depending on the more significant bits), and its peak extension is also a nonlinearity.  A non-HDCD-aware DAC will omit these steps, and decode linearly &amp;amp;ndash; the DAC will receive as &#039;PCM&#039;, as the flags are hidden in the signal.&lt;br /&gt;
&lt;br /&gt;
=== Integer vs floating-point LPCM ===&lt;br /&gt;
The WAVE and AIFF formats offer both 32-bit integer (like the 16-bit example above, except with the much bigger range -2147483648 to 2147483647) and&lt;br /&gt;
32/64-bit floating-point PCM formats.  32-bit floating-point represents numbers in the [https://en.wikipedia.org/wiki/Single-precision_floating-point_format IEEE 754 floating-point format]; in simplified terms, it is 24 bit integer augmented with a giant volume control acting on each sample.  IEEE 754 is a general-purpose format, and the &amp;quot;volume control&amp;quot; happens to be a veritable overkill for audio purposes; it makes floating-point format is thus immune to clipping for all purposes except deliberately running hundreds of dB off.&lt;br /&gt;
&lt;br /&gt;
End-users acquiring a &amp;quot;32-bit&amp;quot; WAVE (or AIFF) file might sometimes encounter compatibility issues from confusing the two. 32-bit integer and 32-bit float do not have much in common except the &amp;quot;32&amp;quot;, which is how much space is spent storing a sample.  Conversion between the two is not [[lossless]] either way, and in particular, ffmpeg might clip when converting from float. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Differential PCM ==&lt;br /&gt;
&#039;&#039;Differential&#039;&#039; PCM will, in simplified terms, encode the difference between consecutive samples.  The &#039;&#039;adaptive differential PCM&#039;&#039; ([[ADPCM]]) variant is common in e.g. telecommunication, where the signal is typically companded using given nonlinear functions specified as A-law&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/A-law_algorithm&amp;lt;/ref&amp;gt; and µ-law&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/%CE%9C-law_algorithm&amp;lt;/ref&amp;gt; (wikipedia links). &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Further reading =&lt;br /&gt;
&lt;br /&gt;
* [[Pulse-Density Modulation]] (PDM)&lt;br /&gt;
* [[Pulse-Amplitude Modulation]] (PAM)&lt;br /&gt;
* [http://web.archive.org/web/20030406235542/http://homepage.ntlworld.com:80/quantium/ahr/pcm.htm A page on PCM history] (Archived as of April 6, 2003)&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
{{navbox audio codecs}}&lt;br /&gt;
[[Category:Technical]]&lt;/div&gt;</summary>
		<author><name>Porcuswiki</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=Monkey%27s_Audio&amp;diff=37895</id>
		<title>Monkey&#039;s Audio</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=Monkey%27s_Audio&amp;diff=37895"/>
		<updated>2024-05-18T18:58:03Z</updated>

		<summary type="html">&lt;p&gt;Porcuswiki: Navbox. Category. 2x linkifications&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Codec Infobox&lt;br /&gt;
| name = Monkey&#039;s Audio &lt;br /&gt;
| logo = &lt;br /&gt;
| type = lossless&lt;br /&gt;
| purpose = &amp;quot;A fast and powerful lossless audio compressor&amp;quot;&lt;br /&gt;
| maintainer = Matt Ashland&lt;br /&gt;
| released = {{start date and age|2000}}&lt;br /&gt;
| website = [https://www.monkeysaudio.com monkeysaudio.com]&lt;br /&gt;
}}&lt;br /&gt;
&#039;&#039;&#039;Monkey&#039;s Audio&#039;&#039;&#039; (APE) is a [[lossless]] audio [[codec]] with its own file format (.ape). It is distributed as a free open-source (since August 2023) encoder/decoder with a Windows GUI &amp;amp; CLI for conversion, and a development kit to facilitate support in audio players and other software.  Stereo decoding is supported by ffmpeg, offering playback for a larger number of platforms, and is also found in [[Rockbox]]-equipped portable players.  An older version for *n*x platforms does exist, and apparently also current versions can be compiled.&amp;lt;ref&amp;gt;[https://www.monkeysaudio.com/versionhistory.html Version History], note on 10.60 compiling on Gentoo&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Recent (official) Monkey&#039;s Audio supports multi-channel and high resolution audio and several input formats.  A player which incorporates a recent official version can play back all these, while older software and ffmpeg-based players might be restricted to mono/stereo at 24-bit resolution or less. Tagging is widely supported. &lt;br /&gt;
&lt;br /&gt;
Performance-wise, Monkey&#039;s would in the early 2000s be the to-go codec to save storage, achieving better compression ratios than most competitors, at a then-significant CPU cost both for encoding and decoding, possibly taxing (now legacy!) portable players so much that users would have to select a lighter mode.&amp;lt;ref&amp;gt;[https://www.rockbox.org/wiki/SoundCodecs.html Rockbox codec overview]&amp;lt;/ref&amp;gt; As of 2024, no open-source end-user codec achieves similar ratios (at normal resolution). Monkey&#039;s Audio&#039;s compression performance was a major inspiration and yardstick in the development of [[TAK]].&amp;lt;ref&amp;gt;http://thbeck.de/Tak/Tak.html#Entwicklung Thomas Becker explains the TAK development (in German)&amp;lt;/ref&amp;gt;  Monkey&#039;s in turn, was inspired by early [[WavPack]];&amp;lt;ref&amp;gt;Monkey&#039;s Audio historical FAQ {{webarchive|http://web.archive.org/web/20001017210206/http://www.monkeysaudio.com/faq.html|2000-10-17}}&amp;lt;/ref&amp;gt; both of these codecs have adopted Monkey&#039;s tagging scheme, called [[APEv2]], and so has the even heavier-compressing [[OptimFROG]].&lt;br /&gt;
&lt;br /&gt;
The Monkey&#039;s developer is also developing the  [https://en.wikipedia.org/wiki/JRiver_Media_Center JRiver Media Center] player.&amp;lt;ref&amp;gt;[https://jriver.com/management.html JRiver key personell]&amp;lt;/ref&amp;gt; The naming similarity to the [[MediaMonkey]] player is an apparent coincidence which did cause some confusion at the time, especially since it could play APE files before changing name from Songs-DB to MediaMonkey in 2003, about at the same time as MediaJukebox changed name to JRiver Media Center.&lt;br /&gt;
&lt;br /&gt;
= Features =&lt;br /&gt;
Historically, Monkey&#039;s Audio users have largely based their choice on CDDA compression ratios.  Several of the features listed above have been added over time; the  &lt;br /&gt;
[[Lossless_comparison| HA Wiki&#039;s Lossless Codec Comparison]] gives a rough overview, but not all software supports the features that the codec and file format might offer.  As a rule of thumb, features that in the following list are indicated with versions 4 or above, might require (a player that uses) a recent official tool. &amp;quot;All&amp;quot; versions refer to 3.99 (2004) or above, as apparently that is what the third-party implementations are based on. &lt;br /&gt;
&lt;br /&gt;
* Seekable playback (but not streamability). A player like VLC may disable its seekbar, but that is not a limitation of the format itself. &lt;br /&gt;
* High resolution audio support: 24-bits in all versions, 32-bit integer since version 5 (2019), 32-bit float since version 10 (2023).  &lt;br /&gt;
* Multichannel support starting version 4.86 (2019). &lt;br /&gt;
* Supports linear PCM in as good as every relevant input format: WAVE/AIFF/W64/RF64/BW64/CAF/AU and can handle &amp;gt; 4 GiB input (2022/2024, use version 10.65 or above).&lt;br /&gt;
* Non-audio chunks (RIFF and similar) stored; Monkey&#039;s will not only encode/decode the audio losslessly, but store the non-audio chunks and restore them into a file bit-identical to the original.&lt;br /&gt;
* Piping support (since 7.26 in 2022, also earlier available in a special patch provided by shntool).&lt;br /&gt;
* Tagging: APEv2 tags, also used in a few other lossless formats.  Also ID3, while usually not advisable, is provided as an option for players which do not support other tag formats.&amp;lt;ref&amp;gt;[https://www.monkeysaudio.com/versionhistory.html Version History], note on 10.19 about the developer&#039;s in-car unit demanding ID3v1&amp;lt;/ref&amp;gt; &lt;br /&gt;
* Cuesheet support.&lt;br /&gt;
* Unicode support.&lt;br /&gt;
* Fast-verification or full verification both available.&lt;br /&gt;
&lt;br /&gt;
The official command-line tool can perform all the above, and also re-encode Monkey&#039;s to Monkey&#039;s with tags transfer.&lt;br /&gt;
&lt;br /&gt;
The Windows GUI offers further functionality: &lt;br /&gt;
* Convert from other lossless codecs (included in the distribution), with transfer of APEv2 tags; FLAC tag transfer recently added and might still be developed.&lt;br /&gt;
* Bulk file handling in parallel, spawning one CPU thread per file up to user-defined maximum.&lt;br /&gt;
&lt;br /&gt;
== For users of other codecs: peculiarities, design solutions, limitations, ... ==&lt;br /&gt;
Monkey&#039;s Audio has had several special design solutions. One is not at all unique anymore, having seen wider adoption: the custom APE tags, which after a redesign into APEv2 by [[Musepack]] developer Frank Klemm, was taken into not only the Monkey&#039;s Audio format, but also WavPack, OptimFROG and TAK, and has (though limited) use in MP3 files as well. APEv2 tags are at the end of the file; that means retagging will not trigger the full file rewrite sometimes necessary in front-tagged formats (FLAC and ALAC), but sometimes applications may spend longer time scanning for artwork and other tags.&lt;br /&gt;
&lt;br /&gt;
Several of the Monkey&#039;s design choices still sets it apart from other codecs and their implementations: &lt;br /&gt;
* There is a &amp;quot;cuesheet alternative&amp;quot; in Ape Link files (APL) &amp;amp;ndash; optional, and users who find it unfamiliar can ignore. &lt;br /&gt;
* The format is not streamable.  Users should note that streamability is not needed in a playback solution that has access to the entire file; an end-user can simply check if a player solution does support Monkey&#039;s.&lt;br /&gt;
* Error resilience is not implemented in the official version: Should a file be corrupted, if only by a single bit flipped, the official decoder will halt upon encountering it, dropping the rest of the file. One can seek past an error as long as one points it to a subsequent block, and ffmpeg can also decode on further (assuming it is stereo, for ffmpeg to support it at all). &lt;br /&gt;
** Even when salvaging audio that way, dropouts might be severly long for the higher modes, due to the large block size. (&amp;quot;All&amp;quot; lossless compressed formats will have a sample calculated from past samples until a block boundary, but most others are a fraction of a second.)&lt;br /&gt;
* Monkey&#039;s offers error &#039;&#039;detection&#039;&#039;, including through its MD5 checksum &amp;amp;ndash; but unlike formats where the MD5 identifies the (unencoded) audio signal, Monkey&#039;s will checksum the encoded stream.  Enabling MD5 upon encoding a CD rip in FLAC (on by default), WavPack, TAK and OptimFROG will all store the same MD5 and can be used to identify the audio; encoding in Monkey&#039;s &amp;quot;Normal&amp;quot; or &amp;quot;High&amp;quot; will yield two distinct ones.&lt;br /&gt;
* For the most common audio formats, the bitstream has largely been frozen permanently; a file encoded with 3.99 in &amp;quot;High&amp;quot; mode compresses to the same file as one encoded with the most recent version. That is, not only do they represent the same audio and non-audio, the encoded files are bit-identical. This property is in stark contrast to the exceptions: &lt;br /&gt;
* On several occasions, new features &amp;amp;ndash; including new signal support &amp;amp;ndash; have been altered soon after introduction in a compatibility-breaking way,&amp;lt;ref&amp;gt;[https://www.rockbox.org/wiki/SoundCodecMonkeysAudio Rockbox&#039; page on Monkey&#039;s Audio]&amp;lt;/ref&amp;gt; and the official website does not offer older versions to be downloaded. The third party site Videohelp.com offers several older versions for download&amp;lt;ref&amp;gt;[https://www.videohelp.com/software/Monkeys-Audio/old-versions Several old Monkey&#039;s versions at videohelp.com]&amp;lt;/ref&amp;gt;, but the files themselves rarely indicate what version was used to encode them.  &lt;br /&gt;
** Also, third-party decoding is usually limited to two channels and at most 24 bits. &lt;br /&gt;
* Non-audio metadata is not only included, there is no (documented) way to discard them without piping.&lt;br /&gt;
** The user might take note that the Monkey&#039;s help file&#039;s proposal for encoding from pipe &amp;amp;ndash; namely, using ffmpeg &amp;amp;ndash; is not lossless for &amp;gt; 16 bits.  This is not a Monkey&#039;s limitation, it is a design choice in ffmpeg.  It is possible for power users to read off audio format properties and extract audio for piping in a lossless manner, but it does require command-line skills. Likely one would rather use a player with conversion support; below is a guide on how to do it with foobar2000. &lt;br /&gt;
** Users might note that full file preservation is irrelevant for CD rips. Contrary to a common misconception, CD audio is &#039;&#039;not&#039;&#039; stored as WAVE &amp;amp;ndash; nor in any sort of file.  Thus, using a &amp;quot;full file compressor&amp;quot; gives no more &amp;quot;true&amp;quot; copy of a CD. &lt;br /&gt;
&lt;br /&gt;
Monkey&#039;s has traditionally had less hardware support than FLAC, but there have been some hardware solutions available (at least for CDDA), including in-car units.  The distinction between &amp;quot;hardware&amp;quot; players and &amp;quot;software&amp;quot; players is arguably blurred with embedded Linux-based hardware and with ffmpeg-based playback through Android and iOS players, which have brought both Monkey&#039;s playback and several other formats to more devices. Android users might note that this OS does not &#039;&#039;natively&#039;&#039; support other lossless audio formats than WAVE and FLAC, so there have been issues getting certain Android solutions to recognize other media files including Monkey&#039;s;&amp;lt;ref&amp;gt;[https://hydrogenaud.io/index.php/topic,122768 HA thread with link to Android bug report by the Monkey&#039;s Audio author]&amp;lt;/ref&amp;gt; apparently, using SD card solves it.&lt;br /&gt;
&lt;br /&gt;
=== The license controversy ===&lt;br /&gt;
From version 10.18 (August 2023), Monkey&#039;s has been released under the free and open-source 3-clause BSD license, which is the same as WavPack and and the official FLAC &#039;&#039;libraries&#039;&#039;.  &lt;br /&gt;
&lt;br /&gt;
Earlier on it was released under its own unorthodox license, which made source &#039;&#039;available&#039;&#039; on terms deemed non-free.&amp;lt;ref&amp;gt;[https://lists.debian.org/debian-legal/2007/09/msg00079.html Debian mailing list discussion on the old Monkey&#039;s licensing terms]&amp;lt;/ref&amp;gt; Controversy arose both because these terms were perceived to encourage using the software to violate a major FOSS license, and also because several users forked it to FOSS repositories, checking off one of the site&#039;s approved licenses, hence violating the Monkey&#039;s license.  The remains of one *n*x fork at Github is available at Github and a Java port (see the Software support subsection below). &lt;br /&gt;
&lt;br /&gt;
A legacy license issue might be insignificant to end-users, but as of May 2024 there seems not (yet?) to be any recent version ported to and maintained for non-Windows platforms, nor included in 3rd party implementations like ffmpeg.&lt;br /&gt;
&lt;br /&gt;
== Performance &amp;amp;ndash; file size, CPU load == &lt;br /&gt;
Rewind twenty years to 2004 and Monkey&#039;s version 3.99 (the basis of the third-party implementations), Monkey&#039;s was the to-go codec for many users who gave priority to file size and were willing to wait for encoding (and decoding, including for conversion). Fast forward to now, enthusiasts will still compare performance even if ordinary users may take note that impact on cost is often negligible. Different considerations may apply when a drive is near full.  &lt;br /&gt;
The HA wiki&#039;s [[lossless comparison]] article compares speed and compression ratio on CDDA on the respective codecs&#039; &#039;&#039;default&#039;&#039; setting (interpreting Monkey&#039;s &amp;quot;Normal&amp;quot; as the default), all taken from Martijn van Beurden&#039;s comparison studies.&amp;lt;ref&amp;gt;[http://www.audiograaf.nl/losslesstest Martijn van Beurden: &amp;lt;em&amp;gt;Lossless audio codec comparison archive&amp;lt;/em&amp;gt;], all comparisons in this wiki article consistent with results reported in revision 6, 2023, using Monkey&#039;s Audio 10.17.&amp;lt;/ref&amp;gt;   The test corpus is chosen to be a &amp;quot;wide&amp;quot; selection, and most music collections are biased in one direction or another genre-wise; users who are sufficiently concerned about compression might look up the individual sources in the study and/or make a test sample from their own collection.  By and large, the following observations can be made:&lt;br /&gt;
* CDDA: By and large, Monkey&#039;s spends more time (both encoding and decoding) and achieves smaller files than any other format still alive and maintained, except OptimFROG: Stepping up from OptimFROG&#039;s default, it can outcompress any Monkey&#039;s, but at higher computational effort, especially in encoding.  &lt;br /&gt;
** Exception: TAK can compress like Monkey&#039;s &amp;quot;High&amp;quot; and in this study also catches &amp;quot;Extra high&amp;quot;, and faster (and spend only a fraction of the decoding computing effort). &lt;br /&gt;
** Exception: Monkey&#039;s &amp;quot;Fast&amp;quot; is arguably not competitive; flac -7 would compress slightly better and slightly faster, and decode much lighter. But &amp;quot;Fast&amp;quot; isn&#039;t Monkey&#039;s main selling point, and for &amp;quot;Normal&amp;quot; and up, any end-user compressor able to reach Monkey&#039;s file sizes on CDDA, would be closed-source. &lt;br /&gt;
* Multichannel: largely as CDDA, except: &lt;br /&gt;
** TAK soundly outperforms any competition on 5.1 (it is capped at 6 channels), and Monkey&#039;s was also out-compressed by the little-used MPEG-4 ALS codec. &lt;br /&gt;
** On 5.1, WavPack could with considerable &#039;&#039;en&#039;&#039;coding effort catch Monkey&#039;s &amp;quot;Normal&amp;quot; and maybe &amp;quot;High&amp;quot;, but not &amp;quot;Extra high&amp;quot;. &lt;br /&gt;
* High resolution: Inconsistent results, sometimes as CDDA and sometimes losing out to both FLAC, WavPack and TAK. &lt;br /&gt;
** Part of this inconsistency has a well-known explanation, which one may call &amp;quot;fake&amp;quot; high resolution: if a 16-bit signal is padded up with zeroes and stored in a 24-bit WAVE file, then other codecs can notice and exploit it.  The Monkey&#039;s format has no such provision to deal with it (and neither has ALAC), and apparently such a revision would break compatibility.&lt;br /&gt;
** What is not known, is what fraction of high-bit depth signals are actually of this kind. A particular user&#039;s collection may have a lot or very little; &#039;&#039;YMMV,&#039;&#039; and by a lot.&lt;br /&gt;
* Floating-point signals (from version 10) do not obtain competitive compression ratios compared to WavPack. Apparently the purpose was to ensure that Monkey&#039;s can actually handle these signals when they emerge from certain editing software. &lt;br /&gt;
* Monkey&#039;s &amp;quot;Insane&amp;quot; setting is hardly worth it &amp;amp;ndash; the official help file says the same about &amp;quot;Extra High&amp;quot; and the developer himself uses &amp;quot;High&amp;quot;. However, while &amp;quot;Insane&amp;quot; might at some signal types creating larger files than &amp;quot;Extra High&amp;quot;, there were very few signals where &amp;quot;Extra High&amp;quot; could be tricked into worse compression ratio.&lt;br /&gt;
&lt;br /&gt;
These results are based on version 10, which rectifies some slowdown from older versions. &lt;br /&gt;
&lt;br /&gt;
=== Verification speed === &lt;br /&gt;
Like WavPack (from version 5) and OptimFROG, Monkey&#039;s offers two integrity verification modes:  &lt;br /&gt;
* Verification by decoding. Takes the time that decoding takes (slightly more than encoding does). External applications like the [[foobar2000]] player will do this when asked to verify. &lt;br /&gt;
* Fast verification, that tests whether the encoded bitstream is valid.  Since it does not decode, it works much faster than even FLAC verification, but not at all as fast as WavPack&#039;s (due to the latter&#039;s faster block checksum algorithm). &lt;br /&gt;
&lt;br /&gt;
For checking an entire hard drive, the time difference is potentially huge. Note however that if a drive cannot be trusted, it should better be backed up first &amp;amp;ndash; fast verification reads all the encoded audio, it is merely the CPU that has less to do.&lt;br /&gt;
&lt;br /&gt;
Other formats (FLAC, TAK, ...) do employ block checksums and could implement a fast verification, although as of writing it has not been implemented. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Using Monkey&#039;s Audio (for Windows) = &lt;br /&gt;
Monkey&#039;s Audio comes with an installer (32-bit or 64-bit), which will install as a normal Windows application. &lt;br /&gt;
&lt;br /&gt;
== The graphical user interface ==&lt;br /&gt;
The GUI has several self-explanatory features, explained at [https://monkeysaudio.com/help.html the official help page.] Opening it, the top-left button will allow you to select action (encode/decode/...), and with that in place, drag and drop files.  Delete any that ended up in the window by mistake.  If the task is encoding (or .ape to .ape reencoding), you may want to select compression setting.  Press the button. &lt;br /&gt;
&lt;br /&gt;
There is an options page, where you can for example set the number of files to run concurrently (each will spawn a new thread), setting process priority, and whether to use full verification (that decodes) or fast verification (that only checks the encoded bitstream). &lt;br /&gt;
&lt;br /&gt;
== The command-line utility [[Windows_command_line_tips|(for Windows: command-line hints here)]] and the .bat file ==&lt;br /&gt;
Most users will be satisfied with the GUI, which is a graphical front-end for the Monkey&#039;s Audio Console, called MAC.exe on Windows.  Sometimes one may want to avoid the GUI. To that end, one can find the console in the installation directory, normally &amp;lt;code&amp;gt; C:\Program Files\Monkey&#039;s Audio x64\  &amp;lt;/code&amp;gt;  or  &amp;lt;code&amp;gt;  C:\Program Files (x86)\Monkey&#039;s Audio\  &amp;lt;/code&amp;gt;.  There is also a &amp;lt;code&amp;gt;.bat&amp;lt;/code&amp;gt; file there to support encoding by drag and drop. &lt;br /&gt;
&lt;br /&gt;
MAC.exe can be copied stand-alone, after which users who do not want to have the full application installed, can uninstall it.  It can also be extracted from the installation executable by opening it as an archive.  The .bat can be copied/extracted as well, to the same directory as where the MAC.exe resides. &lt;br /&gt;
&lt;br /&gt;
The following are the basic commands for the console:&lt;br /&gt;
&lt;br /&gt;
* The help text: &amp;lt;code&amp;gt; MAC -h&amp;lt;/code&amp;gt;&lt;br /&gt;
* For encoding, decoding and conversion from .ape to .ape, the basic command-line is &amp;lt;code&amp;gt;MAC infile outfile [option]&amp;lt;/code&amp;gt; where the [option] will be as follows: &lt;br /&gt;
** For decoding, when infile is .ape and outfile is e.g. WAVE, &amp;lt;code&amp;gt;-d&amp;lt;/code&amp;gt; &lt;br /&gt;
** For encoding to .ape, &amp;lt;code&amp;gt;-c1000&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;-c2000&amp;lt;/code&amp;gt; or ... &amp;lt;code&amp;gt;-c5000&amp;lt;/code&amp;gt; for &amp;quot;Fast&amp;quot;, &amp;quot;Normal&amp;quot;, &amp;quot;High&amp;quot;, &amp;quot;Extra High&amp;quot; and &amp;quot;Insane&amp;quot; mode. According to the help file, the developer himself uses &amp;quot;High&amp;quot;. &lt;br /&gt;
** For transcoding .ape to .ape: Replace the &amp;quot;c&amp;quot; by &amp;quot;n&amp;quot;, giving option &amp;lt;code&amp;gt;-n1000&amp;lt;/code&amp;gt; to  &amp;lt;code&amp;gt;-n5000&amp;lt;/code&amp;gt;&lt;br /&gt;
* For verification: &amp;lt;code&amp;gt;MAC apefile -v&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;MAC apefile -V&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Also tags can be added, although end-users will likely resort to a more user-friendly application.&lt;br /&gt;
&lt;br /&gt;
== With players and other applications ==&lt;br /&gt;
&lt;br /&gt;
=== Decoding and playback ===&lt;br /&gt;
Several players support Monkey&#039;s Audio out-of-the-box.  The developer is affiliated with JRiver Media Center, which integrates Monkey&#039;s Audio support.  The foobar2000 player supports Monkey&#039;s decoding out-of-the-box in version 2.x, so that the [https://www.foobar2000.org/components/view/foo_input_monkey foo_input_monkey] is not anymore needed.  1.6 users will still have to install it. &lt;br /&gt;
&lt;br /&gt;
=== Encoding with ExactAudioCopy ===&lt;br /&gt;
The Wiki has a guide for [[EAC and Monkey&#039;s Audio|Configuring EAC and Monkey&#039;s Audio]], for CD ripping.&lt;br /&gt;
&lt;br /&gt;
=== Encoding with [[foobar2000]] ===&lt;br /&gt;
To encode to Monkey&#039;s Audio with foobar2000, one needs to set it up as a custom encoder. Follow  [[Foobar2000:Converter | the wiki&#039;s guideline on conversion]] and select a custom encoder.  You will get a panel like displayed in [[Foobar2000:Preferences:converter:custom_presets | the custom presets article]].  The entries could look like the following:&lt;br /&gt;
       Encoder: C:\Program Files\Monkey&#039;s Audio x64\MAC.exe&lt;br /&gt;
       Extension: ape&lt;br /&gt;
       Parameters: %s %d -c3000&lt;br /&gt;
       Format is: lossless (or hybrid)&lt;br /&gt;
       Highest BPS mode supported: 32&lt;br /&gt;
       Encoder name: APE (Monkey&#039;s Audio)&lt;br /&gt;
       Bitrate: (ignore this, it is for lossy)&lt;br /&gt;
       Settings: high&lt;br /&gt;
The first line should match your actual path to MAC.exe; if you installed elsewhere (for example the 32-bit to C:\Program Files (x86), you have to modify accordingly.  &lt;br /&gt;
In the third line, the &amp;quot;-c3000&amp;quot; indicates &amp;quot;High&amp;quot; mode. Use  -c1000/-c2000/-c3000/-c4000/-c5000 according to preference, as explained above. The &amp;quot;Highest BPS mode supported:&amp;quot; is here set to 32.  That means it will allow 32 bits per sample files to be encoded to Monkey&#039;s; if you want to use them on an ffmpeg-based player, you could set it to 24 bits to avoid creating files that ffmpeg&#039;s decoder will reject. The remaining lines are free text that will show up for your information; if you write wrong there, the encoder will ignore it. &lt;br /&gt;
&lt;br /&gt;
==Software support==&lt;br /&gt;
3rd party ports and implementations:&lt;br /&gt;
* [https://ffmpeg.org FFmpeg] - decoding, stereo only  &lt;br /&gt;
* [https://jmac.sourceforge.net/ JMAC] - Java implementation of version 3.99&lt;br /&gt;
* [https://github.com/fernandotcl/monkeys-audio *n*x port] - based on 3.99 with pipe support from shntool&lt;br /&gt;
* [http://shnutils.freeshell.org/shntool/ Shntool] - conversion which also supports legacy formats sometimes found in live show trading communities&lt;br /&gt;
Other converters that support Monkey&#039;s, include [[CUETools]] (CDDA only).&lt;br /&gt;
&lt;br /&gt;
Players: &lt;br /&gt;
Players like JRiver and foobar2000 employ the official Monkey&#039;s Audio SDK for support.  VLC and several players based on ffmpeg and the [https://www.un4seen.com/ Bass audio library] do have some support, which may be limited to stereo and 24 bits; a user who wants to play .ape files with higher resolution or channels might have to simply try, as detailed information is often not stated. &lt;br /&gt;
For macOS, there is [https://cog.losno.co/ Cog].&lt;br /&gt;
&lt;br /&gt;
Tagging and audio info:&lt;br /&gt;
Several &#039;&#039;players&#039;&#039; support tagging, and the APEv2 tag scheme is also widely supported among stand-alone taggers. Not all of the following have been tested with all possible Monkey&#039;s files (like, high channel count float from .au source).&lt;br /&gt;
* [http://www.mp3tag.de/en/index.html Mp3tag] Universal Tag Editor&lt;br /&gt;
* [https://picard.musicbrainz.org/ MusicBrainz Picard] Tagger with audio identification &lt;br /&gt;
* [http://www.jtclipper.eu/thegodfather/ The GodFather] Tagger / Music manager&lt;br /&gt;
* [[Tag.exe|Case&#039;s Tag]] command line tagger. Note that MAC.exe also offers command-line tagging.&lt;br /&gt;
* [https://mediaarea.net/ MediaInfo] - does not explicitly mention Monkey&#039;s Audio, but supports APEv2.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Further reading =&lt;br /&gt;
* [https://www.monkeysaudio.com Monkey&#039;s Audio] - Official website&lt;br /&gt;
* {{wikipedia|Monkey&#039;s Audio}}&lt;br /&gt;
* [https://wiki.multimedia.cx/index.php/Monkey%27s_Audio Monkey&#039;s Audio at Multimediawiki] &lt;br /&gt;
* [[Lossless_comparison| HA Wiki&#039;s Lossless Codec Comparison]] originally by [[User:Rjamorim|Rjamorim]] &lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{navbox audio codecs}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Codecs]]&lt;/div&gt;</summary>
		<author><name>Porcuswiki</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=Hybrid_codec&amp;diff=37894</id>
		<title>Hybrid codec</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=Hybrid_codec&amp;diff=37894"/>
		<updated>2024-05-18T17:52:01Z</updated>

		<summary type="html">&lt;p&gt;Porcuswiki: DTS-HD wasn&amp;#039;t precisely described. And with the explanation, the last bullet item looked like the penultimate.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A lossless/lossy &#039;&#039;&#039;&#039;hybrid&#039;&#039;&#039;&#039; codec provides encoding to a [[lossless]] and a [[lossy]] stream simultaneously within the same format: it stores a lossy audio stream that can be played back as such, and then a correction stream such that decoding is lossless when both are present. The correction stream can be in the same file as the lossy stream, or in a separate file.&lt;br /&gt;
&lt;br /&gt;
Hybrid encoding can have a variety of purposes and methods, at least including the following:&lt;br /&gt;
* For end-users to keep lossy versions (say, for portable use) to be copied without the time or computing effort needed to transcode lossy to lossless every time; rather than keeping two sets of files, one can maintain one single copy in one single library, such that e.g. tag updates need only be done once.  [[WavPack]] and [[OptimFROG]] provide for this option through their hybrid modes.&lt;br /&gt;
* A similar purpose, but where the output stream is automatically selected by a hardware or software application, for example defaulting to a lossy stream if the transmission cannot support the lossless - or possibly for DRM purposes.  In Blu-Ray, support for [[DTS]] (also often found in DVDs) is mandatory, and the newer [[DTS-HD]] formats provide not only a &amp;quot;core&amp;quot; DTS stream to legacy players, but also an &amp;quot;extension&amp;quot;/correction streams that the &amp;quot;HD&amp;quot;-aware players can use for more audio information. In the &amp;quot;DTS-HD-MA&amp;quot; version, the extension stream (together with the core DTS stream) will provide for losslessness. The rarer [http://wiki.hydrogenaud.io/index.php?title=Lossless_comparison#MPEG-4_SLS MPEG-4 SLS] format has an [[AAC]] core stream and a correction stream for losslessness.&lt;br /&gt;
* Other ways to retro-fit losslessness into a lossy format without breaking compatibility, include to store the correction not as a stream, but in the same way as a tag chunk. [[ATRAC]]&#039;s lossless mode and the short-lived [[Mp3HD]] were such retro-fits. An Mp3 player would then treat this chunk as if it were an unknown tag, ignoring it.&lt;br /&gt;
&lt;br /&gt;
{{navbox audio codecs}}&lt;/div&gt;</summary>
		<author><name>Porcuswiki</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=Lossless_Audio&amp;diff=37893</id>
		<title>Lossless Audio</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=Lossless_Audio&amp;diff=37893"/>
		<updated>2024-05-18T17:30:33Z</updated>

		<summary type="html">&lt;p&gt;Porcuswiki: Redirect to avoid confusion name &amp;lt;--&amp;gt; concept&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Lossless_Audio_(La)]]&lt;/div&gt;</summary>
		<author><name>Porcuswiki</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=Lossless_Audio_(La)_(codec)&amp;diff=37892</id>
		<title>Lossless Audio (La) (codec)</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=Lossless_Audio_(La)_(codec)&amp;diff=37892"/>
		<updated>2024-05-18T17:29:56Z</updated>

		<summary type="html">&lt;p&gt;Porcuswiki: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Lossless_Audio_(La)]]&lt;/div&gt;</summary>
		<author><name>Porcuswiki</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=Lossless_Audio_(La)_(codec)&amp;diff=37891</id>
		<title>Lossless Audio (La) (codec)</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=Lossless_Audio_(La)_(codec)&amp;diff=37891"/>
		<updated>2024-05-18T17:29:40Z</updated>

		<summary type="html">&lt;p&gt;Porcuswiki: Redirected page to Lossless Audio (La)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Lossless_Audio_(La)]]&lt;br /&gt;
[[Category:Codecs]]&lt;/div&gt;</summary>
		<author><name>Porcuswiki</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=Lossless_Audio_(La)&amp;diff=37890</id>
		<title>Lossless Audio (La)</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=Lossless_Audio_(La)&amp;diff=37890"/>
		<updated>2024-05-18T17:28:53Z</updated>

		<summary type="html">&lt;p&gt;Porcuswiki: Moving to ...(La) to distinguish from the concept&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Lossless Audio&#039;&#039;&#039; (&#039;&#039;&#039;La&#039;&#039;&#039;) is a [[lossless]] audio [[codec]] developed 2002 to 2004 by Michael Bevin, for the Windows and Linux/x86 platforms. &lt;br /&gt;
&lt;br /&gt;
La is available as closed-source freeware with a graphical front-end and plugins for [[Winamp]]/[[XMMS]] and [[foobar2000]]; &#039;&#039;&#039;&#039;&#039;its foobar2000 plugin truncates the end of files&#039;&#039;&#039;&#039;&#039; and should be avoided. The developer has left this issue unfixed since 2004, indicating that La could be considered abandonware.&lt;br /&gt;
&lt;br /&gt;
La might have been the highest compressing lossless encoder, though in [http://www.squeezechart.com/audio.html some comparisons] rivaled by [[OptimFrog]] at its highest and even slower settings (and also [[Sac]], an ultra-slow experimental compressor never used for playback). Both encoding and decoding are CPU-intensive.  &lt;br /&gt;
It is limited to 16 bit input. Whether this is a limitation to the format or to the current encoder is unknown but - hardly relevant, with the software being closed-source and unmaintained and no format specification being available.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Additional Reading ==&lt;br /&gt;
* [http://www.lossless-audio.com/ Official website] &lt;br /&gt;
* [[Lossless_comparison|Lossless Codec Comparison]] originally by Rjamorim, with links to comparison tests.&lt;br /&gt;
* [https://hydrogenaud.io/index.php?topic=114989.msg948073#msg948073  HA forum thread describing how to decode LA files with foobar2000 using la.exe instead of the buggy plugin]&lt;br /&gt;
&lt;br /&gt;
{{navbox audio codecs}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Codecs]]&lt;/div&gt;</summary>
		<author><name>Porcuswiki</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=Lossless_Audio_(La)_(codec)&amp;diff=37889</id>
		<title>Lossless Audio (La) (codec)</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=Lossless_Audio_(La)_(codec)&amp;diff=37889"/>
		<updated>2024-05-18T17:24:51Z</updated>

		<summary type="html">&lt;p&gt;Porcuswiki: Redirected page to Lossless Audio&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Lossless_Audio]]&lt;br /&gt;
[[Category:Codecs]]&lt;/div&gt;</summary>
		<author><name>Porcuswiki</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=Category:Codecs&amp;diff=37888</id>
		<title>Category:Codecs</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=Category:Codecs&amp;diff=37888"/>
		<updated>2024-05-18T17:20:10Z</updated>

		<summary type="html">&lt;p&gt;Porcuswiki: Category:Software - I presume that is where people will look for it.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The following is a list of the various [[codec]]s that are discussed, briefly, in the Hydrogenaudio Knowledgebase.&lt;br /&gt;
&lt;br /&gt;
In this case, &#039;&#039;codec&#039;&#039; refers to the encoding/format itself. For articles about the software to encode and decode to/from these formats, see [[:Category:Encoder/Decoder|the Encoder/Decoder category]].&lt;br /&gt;
&lt;br /&gt;
[[Category:File formats]][[Category:Software]]&lt;/div&gt;</summary>
		<author><name>Porcuswiki</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=Monkey%27s_Audio&amp;diff=37887</id>
		<title>Monkey&#039;s Audio</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=Monkey%27s_Audio&amp;diff=37887"/>
		<updated>2024-05-18T14:22:43Z</updated>

		<summary type="html">&lt;p&gt;Porcuswiki: Big rewrite, trying to catch up with the years&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Codec Infobox&lt;br /&gt;
| name = Monkey&#039;s Audio &lt;br /&gt;
| logo = &lt;br /&gt;
| type = lossless&lt;br /&gt;
| purpose = &amp;quot;A fast and powerful lossless audio compressor&amp;quot;&lt;br /&gt;
| maintainer = Matt Ashland&lt;br /&gt;
| released = {{start date and age|2000}}&lt;br /&gt;
| website = [https://www.monkeysaudio.com monkeysaudio.com]&lt;br /&gt;
}}&lt;br /&gt;
&#039;&#039;&#039;Monkey&#039;s Audio&#039;&#039;&#039; (APE) is a [[lossless]] audio [[codec]] with its own file format (.ape). It is distributed as a free open-source (since August 2023) encoder/decoder with a Windows GUI &amp;amp; CLI for conversion, and a development kit to facilitate support in audio players and other software.  Stereo decoding is supported by ffmpeg, offering playback for a larger number of platforms, and is also found in [[Rockbox]]-equipped portable players.  An older version for *n*x platforms does exist, and apparently also current versions can be compiled.&amp;lt;ref&amp;gt;[https://www.monkeysaudio.com/versionhistory.html Version History], note on 10.60 compiling on Gentoo&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Recent (official) Monkey&#039;s Audio supports multi-channel and high resolution audio and several input formats.  A player which incorporates a recent official version can play back all these, while older software and ffmpeg-based players might be restricted to mono/stereo at 24-bit resolution or less. Tagging is widely supported. &lt;br /&gt;
&lt;br /&gt;
Performance-wise, Monkey&#039;s would in the early 2000s be the to-go codec to save storage, achieving better compression ratios than most competitors, at a then-significant CPU cost both for encoding and decoding, possibly taxing (now legacy!) portable players so much that users would have to select a lighter mode.&amp;lt;ref&amp;gt;[https://www.rockbox.org/wiki/SoundCodecs.html Rockbox codec overview]&amp;lt;/ref&amp;gt; As of 2024, no open-source end-user codec achieves similar ratios (at normal resolution). Monkey&#039;s Audio&#039;s compression performance was a major inspiration and yardstick in the development of [[TAK]].&amp;lt;ref&amp;gt;http://thbeck.de/Tak/Tak.html#Entwicklung Thomas Becker explains the TAK development (in German)&amp;lt;/ref&amp;gt;  Monkey&#039;s in turn, was inspired by early [[WavPack]];&amp;lt;ref&amp;gt;Monkey&#039;s Audio historical FAQ {{webarchive|http://web.archive.org/web/20001017210206/http://www.monkeysaudio.com/faq.html|2000-10-17}}&amp;lt;/ref&amp;gt; both of these codecs have adopted Monkey&#039;s tagging scheme, called &amp;quot;APEv2&amp;quot;, and so has the even heavier-compressing [[OptimFROG]].&lt;br /&gt;
&lt;br /&gt;
The Monkey&#039;s developer is also developing the  [https://en.wikipedia.org/wiki/JRiver_Media_Center JRiver Media Center] player.&amp;lt;ref&amp;gt;[https://jriver.com/management.html JRiver key personell]&amp;lt;/ref&amp;gt; The naming similarity to the [[MediaMonkey]] player is an apparent coincidence which did cause some confusion at the time, especially since it could play APE files before changing name from Songs-DB to MediaMonkey in 2003, about at the same time as MediaJukebox changed name to JRiver Media Center.&lt;br /&gt;
&lt;br /&gt;
= Features =&lt;br /&gt;
Historically, Monkey&#039;s Audio users have largely based their choice on CDDA compression ratios.  Several of the features listed above have been added over time; the  &lt;br /&gt;
[[Lossless_comparison| HA Wiki&#039;s Lossless Codec Comparison]] gives a rough overview, but not all software supports the features that the codec and file format might offer.  As a rule of thumb, features that in the following list are indicated with versions 4 or above, might require (a player that uses) a recent official tool. &amp;quot;All&amp;quot; versions refer to 3.99 (2004) or above, as apparently that is what the third-party implementations are based on. &lt;br /&gt;
&lt;br /&gt;
* Seekable playback (but not streamability). A player like VLC may disable its seekbar, but that is not a limitation of the format itself. &lt;br /&gt;
* High resolution audio support: 24-bits in all versions, 32-bit integer since version 5 (2019), 32-bit float since version 10 (2023).  &lt;br /&gt;
* Multichannel support starting version 4.86 (2019). &lt;br /&gt;
* Supports linear PCM in as good as every relevant input format: WAVE/AIFF/W64/RF64/BW64/CAF/AU and can handle &amp;gt; 4 GiB input (2022/2024, use version 10.65 or above).&lt;br /&gt;
* Non-audio chunks (RIFF and similar) stored; Monkey&#039;s will not only encode/decode the audio losslessly, but store the non-audio chunks and restore them into a file bit-identical to the original.&lt;br /&gt;
* Piping support (since 7.26 in 2022, also earlier available in a special patch provided by shntool).&lt;br /&gt;
* Tagging: APEv2 tags, also used in a few other lossless formats.  Also ID3, while usually not advisable, is provided as an option for players which do not support other tag formats.&amp;lt;ref&amp;gt;[https://www.monkeysaudio.com/versionhistory.html Version History], note on 10.19 about the developer&#039;s in-car unit demanding ID3v1&amp;lt;/ref&amp;gt; &lt;br /&gt;
* Cuesheet support.&lt;br /&gt;
* Unicode support.&lt;br /&gt;
* Fast-verification or full verification both available.&lt;br /&gt;
&lt;br /&gt;
The official command-line tool can perform all the above, and also re-encode Monkey&#039;s to Monkey&#039;s with tags transfer.&lt;br /&gt;
&lt;br /&gt;
The Windows GUI offers further functionality: &lt;br /&gt;
* Convert from other lossless codecs (included in the distribution), with transfer of APEv2 tags; FLAC tag transfer recently added and might still be developed.&lt;br /&gt;
* Bulk file handling in parallel, spawning one CPU thread per file up to user-defined maximum.&lt;br /&gt;
&lt;br /&gt;
== For users of other codecs: peculiarities, design solutions, limitations, ... ==&lt;br /&gt;
Monkey&#039;s Audio has had several special design solutions. One is not at all unique anymore, having seen wider adoption: the custom APE tags, which after a redesign into APEv2 by [[Musepack]] developer Frank Klemm, was taken into not only the Monkey&#039;s Audio format, but also WavPack, OptimFROG and TAK, and has (though limited) use in MP3 files as well. APEv2 tags are at the end of the file; that means retagging will not trigger the full file rewrite sometimes necessary in front-tagged formats (FLAC and ALAC), but sometimes applications may spend longer time scanning for artwork and other tags.&lt;br /&gt;
&lt;br /&gt;
Several of the Monkey&#039;s design choices still sets it apart from other codecs and their implementations: &lt;br /&gt;
* There is a &amp;quot;cuesheet alternative&amp;quot; in Ape Link files (APL) &amp;amp;ndash; optional, and users who find it unfamiliar can ignore. &lt;br /&gt;
* The format is not streamable.  Users should note that streamability is not needed in a playback solution that has access to the entire file; an end-user can simply check if a player solution does support Monkey&#039;s.&lt;br /&gt;
* Error resilience is not implemented in the official version: Should a file be corrupted, if only by a single bit flipped, the official decoder will halt upon encountering it, dropping the rest of the file. One can seek past an error as long as one points it to a subsequent block, and ffmpeg can also decode on further (assuming it is stereo, for ffmpeg to support it at all). &lt;br /&gt;
** Even when salvaging audio that way, dropouts might be severly long for the higher modes, due to the large block size. (&amp;quot;All&amp;quot; lossless compressed formats will have a sample calculated from past samples until a block boundary, but most others are a fraction of a second.)&lt;br /&gt;
* Monkey&#039;s offers error &#039;&#039;detection&#039;&#039;, including through its MD5 checksum &amp;amp;ndash; but unlike formats where the MD5 identifies the (unencoded) audio signal, Monkey&#039;s will checksum the encoded stream.  Enabling MD5 upon encoding a CD rip in FLAC (on by default), WavPack, TAK and OptimFROG will all store the same MD5 and can be used to identify the audio; encoding in Monkey&#039;s &amp;quot;Normal&amp;quot; or &amp;quot;High&amp;quot; will yield two distinct ones.&lt;br /&gt;
* For the most common audio formats, the bitstream has largely been frozen permanently; a file encoded with 3.99 in &amp;quot;High&amp;quot; mode compresses to the same file as one encoded with the most recent version. That is, not only do they represent the same audio and non-audio, the encoded files are bit-identical. This property is in stark contrast to the exceptions: &lt;br /&gt;
* On several occasions, new features &amp;amp;ndash; including new signal support &amp;amp;ndash; have been altered soon after introduction in a compatibility-breaking way,&amp;lt;ref&amp;gt;[https://www.rockbox.org/wiki/SoundCodecMonkeysAudio Rockbox&#039; page on Monkey&#039;s Audio]&amp;lt;/ref&amp;gt; and the official website does not offer older versions to be downloaded. The third party site Videohelp.com offers several older versions for download&amp;lt;ref&amp;gt;[https://www.videohelp.com/software/Monkeys-Audio/old-versions Several old Monkey&#039;s versions at videohelp.com]&amp;lt;/ref&amp;gt;, but the files themselves rarely indicate what version was used to encode them.  &lt;br /&gt;
** Also, third-party decoding is usually limited to two channels and at most 24 bits. &lt;br /&gt;
* Non-audio metadata is not only included, there is no (documented) way to discard them without piping.&lt;br /&gt;
** The user might take note that the Monkey&#039;s help file&#039;s proposal for encoding from pipe &amp;amp;ndash; namely, using ffmpeg &amp;amp;ndash; is not lossless for &amp;gt; 16 bits.  This is not a Monkey&#039;s limitation, it is a design choice in ffmpeg.  It is possible for power users to read off audio format properties and extract audio for piping in a lossless manner, but it does require command-line skills. Likely one would rather use a player with conversion support; below is a guide on how to do it with foobar2000. &lt;br /&gt;
** Users might note that full file preservation is irrelevant for CD rips. Contrary to a common misconception, CD audio is &#039;&#039;not&#039;&#039; stored as WAVE &amp;amp;ndash; nor in any sort of file.  Thus, using a &amp;quot;full file compressor&amp;quot; gives no more &amp;quot;true&amp;quot; copy of a CD. &lt;br /&gt;
&lt;br /&gt;
Monkey&#039;s has traditionally had less hardware support than FLAC, but there have been some hardware solutions available (at least for CDDA), including in-car units.  The distinction between &amp;quot;hardware&amp;quot; players and &amp;quot;software&amp;quot; players is arguably blurred with embedded Linux-based hardware and with ffmpeg-based playback through Android and iOS players, which have brought both Monkey&#039;s playback and several other formats to more devices. Android users might note that this OS does not &#039;&#039;natively&#039;&#039; support other lossless audio formats than WAVE and FLAC, so there have been issues getting certain Android solutions to recognize other media files including Monkey&#039;s;&amp;lt;ref&amp;gt;[https://hydrogenaud.io/index.php/topic,122768 HA thread with link to Android bug report by the Monkey&#039;s Audio author]&amp;lt;/ref&amp;gt; apparently, using SD card solves it.&lt;br /&gt;
&lt;br /&gt;
=== The license controversy ===&lt;br /&gt;
From version 10.18 (August 2023), Monkey&#039;s has been released under the free and open-source 3-clause BSD license, which is the same as WavPack and and the official FLAC &#039;&#039;libraries&#039;&#039;.  &lt;br /&gt;
&lt;br /&gt;
Earlier on it was released under its own unorthodox license, which made source &#039;&#039;available&#039;&#039; on terms deemed non-free.&amp;lt;ref&amp;gt;[https://lists.debian.org/debian-legal/2007/09/msg00079.html Debian mailing list discussion on the old Monkey&#039;s licensing terms]&amp;lt;/ref&amp;gt; Controversy arose both because these terms were perceived to encourage using the software to violate a major FOSS license, and also because several users forked it to FOSS repositories, checking off one of the site&#039;s approved licenses, hence violating the Monkey&#039;s license.  The remains of one *n*x fork at Github is available at Github and a Java port (see the Software support subsection below). &lt;br /&gt;
&lt;br /&gt;
A legacy license issue might be insignificant to end-users, but as of May 2024 there seems not (yet?) to be any recent version ported to and maintained for non-Windows platforms, nor included in 3rd party implementations like ffmpeg.&lt;br /&gt;
&lt;br /&gt;
== Performance &amp;amp;ndash; file size, CPU load == &lt;br /&gt;
Rewind twenty years to 2004 and Monkey&#039;s version 3.99 (the basis of the third-party implementations), Monkey&#039;s was the to-go codec for many users who gave priority to file size and were willing to wait for encoding (and decoding, including for conversion). Fast forward to now, enthusiasts will still compare performance even if ordinary users may take note that impact on cost is often negligible. Different considerations may apply when a drive is near full.  &lt;br /&gt;
The HA wiki&#039;s [[lossless comparison]] article compares speed and compression ratio on CDDA on the respective codecs&#039; &#039;&#039;default&#039;&#039; setting (interpreting Monkey&#039;s &amp;quot;Normal&amp;quot; as the default), all taken from Martijn van Beurden&#039;s comparison studies.&amp;lt;ref&amp;gt;[http://www.audiograaf.nl/losslesstest Martijn van Beurden: &amp;lt;em&amp;gt;Lossless audio codec comparison archive&amp;lt;/em&amp;gt;], all comparisons in this wiki article consistent with results reported in revision 6, 2023, using Monkey&#039;s Audio 10.17.&amp;lt;/ref&amp;gt;   The test corpus is chosen to be a &amp;quot;wide&amp;quot; selection, and most music collections are biased in one direction or another genre-wise; users who are sufficiently concerned about compression might look up the individual sources in the study and/or make a test sample from their own collection.  By and large, the following observations can be made:&lt;br /&gt;
* CDDA: By and large, Monkey&#039;s spends more time (both encoding and decoding) and achieves smaller files than any other format still alive and maintained, except OptimFROG: Stepping up from OptimFROG&#039;s default, it can outcompress any Monkey&#039;s, but at higher computational effort, especially in encoding.  &lt;br /&gt;
** Exception: TAK can compress like Monkey&#039;s &amp;quot;High&amp;quot; and in this study also catches &amp;quot;Extra high&amp;quot;, and faster (and spend only a fraction of the decoding computing effort). &lt;br /&gt;
** Exception: Monkey&#039;s &amp;quot;Fast&amp;quot; is arguably not competitive; flac -7 would compress slightly better and slightly faster, and decode much lighter. But &amp;quot;Fast&amp;quot; isn&#039;t Monkey&#039;s main selling point, and for &amp;quot;Normal&amp;quot; and up, any end-user compressor able to reach Monkey&#039;s file sizes on CDDA, would be closed-source. &lt;br /&gt;
* Multichannel: largely as CDDA, except: &lt;br /&gt;
** TAK soundly outperforms any competition on 5.1 (it is capped at 6 channels), and Monkey&#039;s was also out-compressed by the little-used MPEG-4 ALS codec. &lt;br /&gt;
** On 5.1, WavPack could with considerable &#039;&#039;en&#039;&#039;coding effort catch Monkey&#039;s &amp;quot;Normal&amp;quot; and maybe &amp;quot;High&amp;quot;, but not &amp;quot;Extra high&amp;quot;. &lt;br /&gt;
* High resolution: Inconsistent results, sometimes as CDDA and sometimes losing out to both FLAC, WavPack and TAK. &lt;br /&gt;
** Part of this inconsistency has a well-known explanation, which one may call &amp;quot;fake&amp;quot; high resolution: if a 16-bit signal is padded up with zeroes and stored in a 24-bit WAVE file, then other codecs can notice and exploit it.  The Monkey&#039;s format has no such provision to deal with it (and neither has ALAC), and apparently such a revision would break compatibility.&lt;br /&gt;
** What is not known, is what fraction of high-bit depth signals are actually of this kind. A particular user&#039;s collection may have a lot or very little; &#039;&#039;YMMV,&#039;&#039; and by a lot.&lt;br /&gt;
* Floating-point signals (from version 10) do not obtain competitive compression ratios compared to WavPack. Apparently the purpose was to ensure that Monkey&#039;s can actually handle these signals when they emerge from certain editing software. &lt;br /&gt;
* Monkey&#039;s &amp;quot;Insane&amp;quot; setting is hardly worth it &amp;amp;ndash; the official help file says the same about &amp;quot;Extra High&amp;quot; and the developer himself uses &amp;quot;High&amp;quot;. However, while &amp;quot;Insane&amp;quot; might at some signal types creating larger files than &amp;quot;Extra High&amp;quot;, there were very few signals where &amp;quot;Extra High&amp;quot; could be tricked into worse compression ratio.&lt;br /&gt;
&lt;br /&gt;
These results are based on version 10, which rectifies some slowdown from older versions. &lt;br /&gt;
&lt;br /&gt;
=== Verification speed === &lt;br /&gt;
Like WavPack (from version 5) and OptimFROG, Monkey&#039;s offers two integrity verification modes:  &lt;br /&gt;
* Verification by decoding. Takes the time that decoding takes (slightly more than encoding does). External applications like the [[foobar2000]] player will do this when asked to verify. &lt;br /&gt;
* Fast verification, that tests whether the encoded bitstream is valid.  Since it does not decode, it works much faster than even FLAC verification, but not at all as fast as WavPack&#039;s (due to the latter&#039;s faster block checksum algorithm). &lt;br /&gt;
&lt;br /&gt;
For checking an entire hard drive, the time difference is potentially huge. Note however that if a drive cannot be trusted, it should better be backed up first &amp;amp;ndash; fast verification reads all the encoded audio, it is merely the CPU that has less to do.&lt;br /&gt;
&lt;br /&gt;
Other formats (FLAC, TAK, ...) do employ block checksums and could implement a fast verification, although as of writing it has not been implemented. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Using Monkey&#039;s Audio (for Windows) = &lt;br /&gt;
Monkey&#039;s Audio comes with an installer (32-bit or 64-bit), which will install as a normal Windows application. &lt;br /&gt;
&lt;br /&gt;
== The graphical user interface ==&lt;br /&gt;
The GUI has several self-explanatory features, explained at [https://monkeysaudio.com/help.html the official help page.] Opening it, the top-left button will allow you to select action (encode/decode/...), and with that in place, drag and drop files.  Delete any that ended up in the window by mistake.  If the task is encoding (or .ape to .ape reencoding), you may want to select compression setting.  Press the button. &lt;br /&gt;
&lt;br /&gt;
There is an options page, where you can for example set the number of files to run concurrently (each will spawn a new thread), setting process priority, and whether to use full verification (that decodes) or fast verification (that only checks the encoded bitstream). &lt;br /&gt;
&lt;br /&gt;
== The command-line utility [[Windows_command_line_tips|(for Windows: command-line hints here)]] and the .bat file ==&lt;br /&gt;
Most users will be satisfied with the GUI, which is a graphical front-end for the Monkey&#039;s Audio Console, called MAC.exe on Windows.  Sometimes one may want to avoid the GUI. To that end, one can find the console in the installation directory, normally &amp;lt;code&amp;gt; C:\Program Files\Monkey&#039;s Audio x64\  &amp;lt;/code&amp;gt;  or  &amp;lt;code&amp;gt;  C:\Program Files (x86)\Monkey&#039;s Audio\  &amp;lt;/code&amp;gt;.  There is also a &amp;lt;code&amp;gt;.bat&amp;lt;/code&amp;gt; file there to support encoding by drag and drop. &lt;br /&gt;
&lt;br /&gt;
MAC.exe can be copied stand-alone, after which users who do not want to have the full application installed, can uninstall it.  It can also be extracted from the installation executable by opening it as an archive.  The .bat can be copied/extracted as well, to the same directory as where the MAC.exe resides. &lt;br /&gt;
&lt;br /&gt;
The following are the basic commands for the console:&lt;br /&gt;
&lt;br /&gt;
* The help text: &amp;lt;code&amp;gt; MAC -h&amp;lt;/code&amp;gt;&lt;br /&gt;
* For encoding, decoding and conversion from .ape to .ape, the basic command-line is &amp;lt;code&amp;gt;MAC infile outfile [option]&amp;lt;/code&amp;gt; where the [option] will be as follows: &lt;br /&gt;
** For decoding, when infile is .ape and outfile is e.g. WAVE, &amp;lt;code&amp;gt;-d&amp;lt;/code&amp;gt; &lt;br /&gt;
** For encoding to .ape, &amp;lt;code&amp;gt;-c1000&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;-c2000&amp;lt;/code&amp;gt; or ... &amp;lt;code&amp;gt;-c5000&amp;lt;/code&amp;gt; for &amp;quot;Fast&amp;quot;, &amp;quot;Normal&amp;quot;, &amp;quot;High&amp;quot;, &amp;quot;Extra High&amp;quot; and &amp;quot;Insane&amp;quot; mode. According to the help file, the developer himself uses &amp;quot;High&amp;quot;. &lt;br /&gt;
** For transcoding .ape to .ape: Replace the &amp;quot;c&amp;quot; by &amp;quot;n&amp;quot;, giving option &amp;lt;code&amp;gt;-n1000&amp;lt;/code&amp;gt; to  &amp;lt;code&amp;gt;-n5000&amp;lt;/code&amp;gt;&lt;br /&gt;
* For verification: &amp;lt;code&amp;gt;MAC apefile -v&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;MAC apefile -V&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Also tags can be added, although end-users will likely resort to a more user-friendly application.&lt;br /&gt;
&lt;br /&gt;
== With players and other applications ==&lt;br /&gt;
&lt;br /&gt;
=== Decoding and playback ===&lt;br /&gt;
Several players support Monkey&#039;s Audio out-of-the-box.  The developer is affiliated with JRiver Media Center, which integrates Monkey&#039;s Audio support.  The foobar2000 player supports Monkey&#039;s decoding out-of-the-box in version 2.x, so that the [https://www.foobar2000.org/components/view/foo_input_monkey foo_input_monkey] is not anymore needed.  1.6 users will still have to install it. &lt;br /&gt;
&lt;br /&gt;
=== Encoding with ExactAudioCopy ===&lt;br /&gt;
The Wiki has a guide for [[EAC and Monkey&#039;s Audio|Configuring EAC and Monkey&#039;s Audio]], for CD ripping.&lt;br /&gt;
&lt;br /&gt;
=== Encoding with foobar2000 ===&lt;br /&gt;
To encode to Monkey&#039;s Audio with foobar2000, one needs to set it up as a custom encoder. Follow  [[Foobar2000:Converter | the wiki&#039;s guideline on conversion]] and select a custom encoder.  You will get a panel like displayed in [[Foobar2000:Preferences:converter:custom_presets | the custom presets article]].  The entries could look like the following:&lt;br /&gt;
       Encoder: C:\Program Files\Monkey&#039;s Audio x64\MAC.exe&lt;br /&gt;
       Extension: ape&lt;br /&gt;
       Parameters: %s %d -c3000&lt;br /&gt;
       Format is: lossless (or hybrid)&lt;br /&gt;
       Highest BPS mode supported: 32&lt;br /&gt;
       Encoder name: APE (Monkey&#039;s Audio)&lt;br /&gt;
       Bitrate: (ignore this, it is for lossy)&lt;br /&gt;
       Settings: high&lt;br /&gt;
The first line should match your actual path to MAC.exe; if you installed elsewhere (for example the 32-bit to C:\Program Files (x86), you have to modify accordingly.  &lt;br /&gt;
In the third line, the &amp;quot;-c3000&amp;quot; indicates &amp;quot;High&amp;quot; mode. Use  -c1000/-c2000/-c3000/-c4000/-c5000 according to preference, as explained above. The &amp;quot;Highest BPS mode supported:&amp;quot; is here set to 32.  That means it will allow 32 bits per sample files to be encoded to Monkey&#039;s; if you want to use them on an ffmpeg-based player, you could set it to 24 bits to avoid creating files that ffmpeg&#039;s decoder will reject. The remaining lines are free text that will show up for your information; if you write wrong there, the encoder will ignore it. &lt;br /&gt;
&lt;br /&gt;
==Software support==&lt;br /&gt;
3rd party ports and implementations:&lt;br /&gt;
* [https://ffmpeg.org FFmpeg] - decoding, stereo only  &lt;br /&gt;
* [https://jmac.sourceforge.net/ JMAC] - Java implementation of version 3.99&lt;br /&gt;
* [https://github.com/fernandotcl/monkeys-audio *n*x port] - based on 3.99 with pipe support from shntool&lt;br /&gt;
* [http://shnutils.freeshell.org/shntool/ Shntool] - conversion which also supports legacy formats sometimes found in live show trading communities&lt;br /&gt;
Other converters that support Monkey&#039;s, include [[CUETools]] (CDDA only).&lt;br /&gt;
&lt;br /&gt;
Players: &lt;br /&gt;
Players like JRiver and foobar2000 employ the official Monkey&#039;s Audio SDK for support.  VLC and several players based on ffmpeg and the [https://www.un4seen.com/ Bass audio library] do have some support, which may be limited to stereo and 24 bits; a user who wants to play .ape files with higher resolution or channels might have to simply try, as detailed information is often not stated. &lt;br /&gt;
For macOS, there is [https://cog.losno.co/ Cog].&lt;br /&gt;
&lt;br /&gt;
Tagging and audio info:&lt;br /&gt;
Several &#039;&#039;players&#039;&#039; support tagging, and the APEv2 tag scheme is also widely supported among stand-alone taggers. Not all of the following have been tested with all possible Monkey&#039;s files (like, high channel count float from .au source).&lt;br /&gt;
* [http://www.mp3tag.de/en/index.html Mp3tag] Universal Tag Editor&lt;br /&gt;
* [https://picard.musicbrainz.org/ MusicBrainz Picard] Tagger with audio identification &lt;br /&gt;
* [http://www.jtclipper.eu/thegodfather/ The GodFather] Tagger / Music manager&lt;br /&gt;
* [[Tag.exe|Case&#039;s Tag]] command line tagger. Note that MAC.exe also offers command-line tagging.&lt;br /&gt;
* [https://mediaarea.net/ MediaInfo] - does not explicitly mention Monkey&#039;s Audio, but supports APEv2.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Further reading =&lt;br /&gt;
* [https://www.monkeysaudio.com Monkey&#039;s Audio] - Official website&lt;br /&gt;
* {{wikipedia|Monkey&#039;s Audio}}&lt;br /&gt;
* [https://wiki.multimedia.cx/index.php/Monkey%27s_Audio Monkey&#039;s Audio at Multimediawiki] &lt;br /&gt;
* [[Lossless_comparison| HA Wiki&#039;s Lossless Codec Comparison]] originally by [[User:Rjamorim|Rjamorim]] &lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Porcuswiki</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=FLAC_decoder_testbench&amp;diff=37883</id>
		<title>FLAC decoder testbench</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=FLAC_decoder_testbench&amp;diff=37883"/>
		<updated>2024-05-08T17:23:24Z</updated>

		<summary type="html">&lt;p&gt;Porcuswiki: ffmpeg 7 on file 3&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;To further the use and development of [[Free Lossless Audio Codec|FLAC]], a testbench containing files with different parameters was constructed. The testbench consists of 64 FLAC files, each one having a different combination of characteristics (like samplerate, bitdepth and number of channels) and FLAC features (like blocksize, maximum partition order, maximum predictor order, maximum predictor precision etc.) However, all combinations fall within the so called subset: a limited set of FLAC parameters that fit in the frame header and are supposed to be &#039;streamable&#039;. Please be aware that certain tested features (such as blocksize 16 or a samplerate of 38457Hz) are pretty much useless in day-to-day usage, and that failure to properly decode such a file is mostly of interest to developers than to users.&lt;br /&gt;
&lt;br /&gt;
The testbench can be [https://drive.google.com/file/d/1ECjkAyqV56xd9IZV-6zccG1Y-iE_hDMj/view?usp=sharing downloaded here (revision 7)] and [https://github.com/ietf-wg-cellar/flac-test-files is maintained here].  It is licensed under [https://creativecommons.org/publicdomain/zero/1.0/ CC0 1.0].&lt;br /&gt;
&lt;br /&gt;
Revision 6 adds four new files (60 to 63); files 1 through 59 are the same as in revision 5. For more information on which file tests what characteristics and features, please refer to the [https://github.com/ietf-wg-cellar/flac-test-files/blob/main/subset/README.txt readme.txt file]. Revision 7 replaces file 63 (which was faulty in revision 6) and adds file 64.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; cellspacing=&amp;quot;2&amp;quot;&lt;br /&gt;
!&lt;br /&gt;
! colspan=&amp;quot;5&amp;quot; | CDDA (44.1kHz/16-bit and less)&lt;br /&gt;
! colspan=&amp;quot;5&amp;quot; | High-res (96kHz/24-bit and more)&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | Multichannel&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; | Metadata&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; | Various&lt;br /&gt;
!&lt;br /&gt;
|-&lt;br /&gt;
!&#039;&#039;&#039;Decoder&#039;&#039;&#039;&lt;br /&gt;
! Block&amp;amp;shy;sizes&lt;br /&gt;
! Features&lt;br /&gt;
! Sample&amp;amp;shy;rates&lt;br /&gt;
! Bit&amp;amp;shy;depths&lt;br /&gt;
! {{tooltip|Var. bl.size|Variable blocksize}}&lt;br /&gt;
! General&lt;br /&gt;
! Block&amp;amp;shy;size&lt;br /&gt;
! Features&lt;br /&gt;
! Sample&amp;amp;shy;rates&lt;br /&gt;
! Bit&amp;amp;shy;depths&lt;br /&gt;
! General&lt;br /&gt;
! Features&lt;br /&gt;
! Missing&lt;br /&gt;
! Extreme&lt;br /&gt;
! MIME&lt;br /&gt;
! Mono&lt;br /&gt;
! Overfl.&lt;br /&gt;
! Zero esc.&lt;br /&gt;
! Remarks&lt;br /&gt;
|-&lt;br /&gt;
! Files in test set&lt;br /&gt;
| 1-10&lt;br /&gt;
| 11-18&lt;br /&gt;
| 19-21&lt;br /&gt;
| 22-23&lt;br /&gt;
| 24-27&lt;br /&gt;
| 28&lt;br /&gt;
| 29-30&lt;br /&gt;
| 31-32,&amp;amp;nbsp;34&lt;br /&gt;
| 33-36&lt;br /&gt;
| 37&lt;br /&gt;
| 38-43&lt;br /&gt;
| 44&lt;br /&gt;
| 45-47&lt;br /&gt;
| 48-55&lt;br /&gt;
| 56-59&lt;br /&gt;
| 60&lt;br /&gt;
| 61-63&lt;br /&gt;
| 64&lt;br /&gt;
|-&lt;br /&gt;
! Albrecht DR 460 C&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|Slightly distorts 34567Hz file (sizzling sound)}}&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|Very low volume on 12 bps file}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; colspan=&amp;quot;5&amp;quot; | {{tooltip|Skips|Skips all high-res files}}&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|Skips 3, 4, 5 channel files, plays back 6, 7 and 8 channel files at high speed (chipmunk audio)}}&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | Skips&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|Skips extremely large seektable, plays silence on other large metadata blocks, plays large cuesheet and repeating vorbiscomment fine}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Skips|Skips with delay of about 10 seconds}}&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Fails|Skips all three files, with a delay of about 10 seconds for the 16-bit file}}&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Skips|Skips with delay of about 10 seconds}}&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
! Android&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|Heavy stuttering on blocksize 16}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Skips|Skips all variable blocksize files}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|No sound on 20 bit file}}&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Skips|Skips 3.0, 4.0, 5.0 and 6.1}}&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Skips|File skipped}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|No sound on 20 bit file}}&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|Short bursts of static}}&lt;br /&gt;
| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; | Android 13 with Google Play updates of 1st of Febuary 2023 on Samsung XCover 5&lt;br /&gt;
|-&lt;br /&gt;
! Chromecast&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|Heavy stutter with blocksize 16}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|Mangles non-standard samplerates}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|Never starts playing on old format blocksize}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|Mangles non-standard samplerates}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Skips|Skips file with avif embedded picture}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Skips|Skips file with 24-bit overflow check}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; | Tested with system firmware 275994 and cast firmware 1.56.275994, testbench revision 7&lt;br /&gt;
|-&lt;br /&gt;
! Citroën DS5&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Skips|Skips files with a non-standard samplerate, plays 22050Hz}}&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|Extreme distortion on playback of 20-bit file}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; colspan=&amp;quot;7&amp;quot; | {{tooltip|Skips|Skips all high-res and multichannel files}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: red;&amp;quot;    | {{tooltip|Hangs|Files with large seektable are skipped (after long delay) and file with combined extreme metadata causes player to hang, requiring removal of USB stick}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|Extreme distortion on playback of 20-bit file}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
! Cowon iAudio 7&lt;br /&gt;
| style=&amp;quot;background: red;&amp;quot;    | {{tooltip|Freezes|Freezes on blocksizes 254 and 725; skips file with blocksize 1937}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|35467Hz and 39kHz are speeded up; 22050 plays at correct speed}}&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Rejects|All files with bitdepth other than 16 are skipped}}&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Rejects|All files with variable block size are skipped}}&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | Rejects&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | Rejects&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | Rejects&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | Rejects&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | Rejects&lt;br /&gt;
| style=&amp;quot;background: red;&amp;quot;    | {{tooltip|Freezes|3.0 plays as silence, others 16/44 multichannel files make freeze}}&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Rejects|File is skipped}}&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Rejects|File 61 plays normally. Files 62 and 63 are skipped because device doesn&#039;t support FLAC with bitdepth other than 16 at all.}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; | Device doesn&#039;t support FLAC with bitdepth other than 16 and samplerate higher than 44.1 kHz. So actual features of files 45-54 and 62-63 cannot be tested. File 55 plays, but takes long time to start.&lt;br /&gt;
|-&lt;br /&gt;
! Ford SYNC&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Skips|Skips 12 bit per sample file}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Skips|Skips 20 bit per sample file}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | {{tooltip|Plays|Only plays left and right channels, does not downmix}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot;    | {{tooltip|Skips|Files with large seektable are skipped (after long delay) and file with combined extreme metadata causes player to hang, requiring removal of USB stick}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; |  Tested with revision 5, SYNC version 3.3, build 18201_PRODUCT&lt;br /&gt;
|-&lt;br /&gt;
! JVC KD-R871BT&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | Fails&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | Fails&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | Rejects&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: red;&amp;quot;    | Freezes&lt;br /&gt;
| style=&amp;quot;background: red;&amp;quot;    | Reboots&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | Fails&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | Rejects&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; colspan=&amp;quot;2&amp;quot; | Rejects&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | Rejects&lt;br /&gt;
| style=&amp;quot;background: red;&amp;quot;    | Reboots&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | Rejects&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; | Heavy stutter with blocksize 16. Stretches non-standard samplerates. Samplerates above 96kHz, variable blocksize files and multichannel files &#039;not supported&#039;. Freezes on blocksize 16384 and 13456. 192kHz is played back very slow. Skips all multichannel, files with cover image, extreme metadata. Reboot loop on extreme large VORBISCOMMENT&lt;br /&gt;
|-&lt;br /&gt;
! Kenwood KMM-BT304&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | Fails&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | Rejects&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot; | Plays&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | Rejects&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot; | Plays&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | Rejects&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | Rejects&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | Rejects&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot; | Plays&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | Rejects&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | Rejects&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot; | Plays&lt;br /&gt;
| style=&amp;quot;background: red;&amp;quot;    | Reboots&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot; | Plays&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; | File 03 plays extremely noisily, barely recognizable. File 51 produces a &amp;quot;NO DEVICE&amp;quot; error and a reboot. File 54 produces a reboot with no message. These files produce a &amp;quot;NA FILE&amp;quot; error and the player skips to the next: 19 21 24 25 26 27 29 30 31 34 35 36 38 39 40 41 42 43 44 45 46 48 55. (firmware: te1706k.krm from 2020-03-05)&lt;br /&gt;
|-&lt;br /&gt;
! Lenco Xemio-240&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: red;&amp;quot;    | {{tooltip|Freezes|Freezes on non-standard sample rates (34567Hz and 39kHz)}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot;  colspan=&amp;quot;8&amp;quot; | {{tooltip|Rejects|Returns message &#039;File format not supported!&#039;}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | {{tooltip|Plays|Player is unresponsive during loading, which takes a while}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|20 bit and 24 bit files are played back with shorts bursts of loud static}}&lt;br /&gt;
| -&lt;br /&gt;
| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; | Tested with revision 6, firmware version V5.15, dated 2020-04-24&lt;br /&gt;
|-&lt;br /&gt;
! Mazda Connect&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | {{tooltip|Plays|After playing file 27, the unit does not automatically continue playback of the next track}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; | Tested with revision 7, CX-90 MY2024&lt;br /&gt;
|-&lt;br /&gt;
! Onkyo TX-NR686&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|Heavy stutter with blocksize 16}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Rejects|Non-standard sample rates (34567Hz and 39kHz) are skipped}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Rejects|Does not play current format variable blocksize files but does play &#039;pre-2007 format&#039; variable blocksize files}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Rejects|Non-standard sample rates (134560Hz and 384kHz) are skipped}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; colspan=&amp;quot;2&amp;quot; | {{tooltip|Rejects|Does not play 4.0, 5.1 and 7.1 files but does play 5.0 and 6.1 as stereo and 3.0 as 3.1}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: red;&amp;quot;    | {{tooltip|Reboots|Crashes on file with 1000x repeating VORBISCOMMENT}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| -&lt;br /&gt;
| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; | Tested with revision 6, firmware version 1071-2000-1070-0011.&lt;br /&gt;
|-&lt;br /&gt;
! Panasonic TX-60CX750E&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|Non-standard sample rates (34567Hz and 39kHz) are stretched i.e. played at wrong speed}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|Non-standard sample rates (134560Hz and 384kHz) are stretched i.e. played at wrong speed}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | {{tooltip|Plays|Multichannel condensed into 2 channels}}&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|Does not start playing}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|Does not start playing on extremely large vorbiscomment}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| -&lt;br /&gt;
| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; | Based on libFLAC 1.2.1, according to copyright notice. Firmware version 3.228, testbench revision 6&lt;br /&gt;
|-&lt;br /&gt;
! Pioneer BDP-150&lt;br /&gt;
| style=&amp;quot;background: red;&amp;quot;    | {{tooltip|Freezes|Freezes on non-standard blocksizes (16, 254, 725, 1000 and 1937)}}&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|Garbled audio when playing file with LPC with qlp precision of 2}}&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|Stretches non-standard samplerates to 44.1kHz}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: red;&amp;quot;    | {{tooltip|Freezes|Freezes on variable blocksize files with non-standard blocksizes, stutters on variable blocksize files with standard blocksizes}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: red;&amp;quot;    | {{tooltip|Freezes|Freezes on non-standard blocksize (13456)}}&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|Incorrect decoding (clicks) of RICE2 partitions with escape codes}}&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|Stretches non-standard samplerates to 44.1kHz. Stutters on 192kHz with 32th order predictors}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: red;&amp;quot; colspan=&amp;quot;2&amp;quot; | {{tooltip|Freezes|Freezes on files with more than 6 channels}}&lt;br /&gt;
| style=&amp;quot;background: red;&amp;quot;    | {{tooltip|Freezes|Freezes on files with an unknown number of total samples}}&lt;br /&gt;
| style=&amp;quot;background: red;&amp;quot;    | {{tooltip|Freezes|Freezes on files with 1000x repeated vorbiscomments, rejects files with too many seekpoints}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|Plays but skips parts of 24-bit file}}&lt;br /&gt;
| -&lt;br /&gt;
| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; | Firmware v1.08, testbench revision 6&lt;br /&gt;
|-&lt;br /&gt;
! Pioneer DEH-1900UB &lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Skips|Skips non-standard blocksizes (16, 254, 725, 1000 and 1937)}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays &lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Skips|Skips non-standard samplerates}}&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | Skips&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Skips|Skips file 24 and 25}}&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; colspan=&amp;quot;7&amp;quot; | Skips&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Other|Plays, but takes about a minute time to start playing. During this wait, track can be skipped, unit does not become unresponsive}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; | Testbench revision 5&lt;br /&gt;
|-&lt;br /&gt;
! Rockbox&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;  | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;  | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;  | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;  | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;  | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;  | Plays&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot;| {{tooltip|Skips|Skips blocksizes 16384 and 13456}}&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot;| {{tooltip|Skips|Skips file with only 32nd order predictors}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;  | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;  | Plays&lt;br /&gt;
| style=&amp;quot;background: red;&amp;quot; colspan=&amp;quot;2&amp;quot; | {{tooltip|Freezes|Freezes on files with more than 6 channels}}&lt;br /&gt;
| style=&amp;quot;background: red;&amp;quot;   | {{tooltip|Freezes|Crashes on filewith no total number of samples set}}&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot;| {{tooltip|Fails|Plays extremely slowly on file with APPLICATION metadata block}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;  | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|Plays 20-bit and 24-bit file but with loud bursts of static}}&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|PLays, but with short ticks}}&lt;br /&gt;
| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; |  Tested with Rockbox 3.15 (latest stable) on Sansa Fuze with testbench revision 7&lt;br /&gt;
|-&lt;br /&gt;
! Samsung F5100WWB&lt;br /&gt;
| style=&amp;quot;background: red;&amp;quot;    | {{tooltip|Crashes|Freezes on blocksizes 254, 725 and 1000, crashes on blocksize 1937, skips blocksize 16}}&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|Garbled audio when playing file with LPC with qlp precision of 2}}&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|Stretches non-standard samplerates to 44.1kHz}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: red;&amp;quot;    | {{tooltip|Freezes|Freezes on variable blocksize files with non-standard blocksizes, stutters on variable blocksize files with standard blocksizes, rejects CUETools and old format variable blocksize file}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: red;&amp;quot;    | {{tooltip|Skips|Skips non-standard blocksize (13456)}}&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|Mangles file with RICE2 partitions with escape codes}}&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|Stretches non-standard samplerates to 44.1kHz. Mangles 192kHz with 32th order predictors}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: red;&amp;quot; colspan=&amp;quot;2&amp;quot; | {{tooltip|Freezes|Freezes on files with more than 6 channels}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Freezes|Becomes unresponsive on file with 1000x repeating vorbis comment}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|Plays but skips parts of 24-bit file}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; | Testbench revision 7&lt;br /&gt;
|-&lt;br /&gt;
! Sony BDP-1700&lt;br /&gt;
| style=&amp;quot;background: red;&amp;quot;    | {{tooltip|Freezes|Freezes on non-standard blocksizes (254, 725, 1000 and 1937)}}&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|Garbled audio when playing file with LPC with qlp precision of 2}}&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|Stretches non-standard samplerates to 44.1kHz}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: red;&amp;quot;    | {{tooltip|Freezes|Freezes on variable blocksize files with non-standard blocksizes, stutters on variable blocksize files with standard blocksizes}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: red;&amp;quot;    | {{tooltip|Freezes|Freezes on non-standard blocksize (13456)}}&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|Incorrect decoding (clicks) of RICE2 partitions with escape codes}}&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|Stretches non-standard samplerates to 44.1kHz. Stutters on 192kHz with 32th order predictors}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: red;&amp;quot; colspan=&amp;quot;2&amp;quot; | {{tooltip|Freezes|Freezes on files with more than 6 channels}}&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Skips|Skips file with an unknown number of total samples}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|Plays but skips parts of 24-bit file}}&lt;br /&gt;
| -&lt;br /&gt;
| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; | Firmware m30.R.0527, testbench revision 6&lt;br /&gt;
|-&lt;br /&gt;
! Toyota Entune 3.0&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Skips|Skips files with a non-standard samplerate, plays 22050Hz}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Skips|Skips files with a non-standard samplerate (here 134560 and 384000)}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Skips|Skips 6.1 and 7.1}}&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | Skips&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Skips|Skips unknown minimum/maximum framesize}}&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Skips|Skips 51 and 54 with abnormal VORBISCOMMENT}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; | Testbench revision 7&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;16&amp;quot; | Software players&lt;br /&gt;
|-&lt;br /&gt;
! AIMP 5.03 build 2398 (Windows)&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|Stuttering playback}}&lt;br /&gt;
| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; | Testbench revision 7.&lt;br /&gt;
|-&lt;br /&gt;
! Album Player 2.114 (Windows)&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|Gives out error on 12 bit. Only noise on 8 bit.}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Rejects|Gives out error on 20 bit}}&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Rejects|Gives out error on 6.1 and 7.1}}&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Rejects|Gives out error}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Rejects|Gives out error on 20 bit}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; | Testbench revision 7.&lt;br /&gt;
|-&lt;br /&gt;
! Amarok (Windows)&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot;   | {{tooltip|Fails|Plays silence on blocksizes 16, 254, 725, 1000, 1937, 2304. (Could be provoked to play a split second of one.)}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: red;&amp;quot;   | {{tooltip|Crashes|Crashes on 8 bits. And plays silence on 12 bits}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot;   | {{tooltip|Fails|Silence on blocksize 13456}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot;   | {{tooltip|Skips|Skips 384 kHz}}&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot;   | {{tooltip|Fails|Silence on 20 bits}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot;   | {{tooltip|Fails|Silence on 20 bits, like on number 37}}&lt;br /&gt;
| -&lt;br /&gt;
| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; | Amarok version 2.8.0 with testbench revision 5 and 60-63&lt;br /&gt;
|-&lt;br /&gt;
! Cog&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | {{tooltip|Plays|Versions before 1630 will reject the 12 bit file, because they did not properly handle files with bit depths that aren&#039;t a multiple of 8.}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | {{tooltip|Plays|Versions before 1630 will reject this 20 bit file, because they did not properly handle files with bit depths that aren&#039;t a multiple of 8.}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | {{tooltip|Plays|Versions before 1647 will downmix 8 channel files such as test 43 incorrectly, but they will decode properly, and play back properly if the sound output device supports 8 channels directly.}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | {{tooltip|Plays|Versions before 1647 will downmix 8 channel files such as this test incorrectly, but they will decode properly, and play back properly if the sound output device supports 8 channels directly.}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   |{{tooltip|Plays|Versions before 1630 will reject the 20 bit file, because they did not properly handle files with bit depths that aren&#039;t a multiple of 8.}}&lt;br /&gt;
| -&lt;br /&gt;
| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; | version 2169 (2169-gbf54c452) with testbench revision 6&lt;br /&gt;
|-&lt;br /&gt;
! DeaDBeeF 1.9.3 (Windows)&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
|    colspan=&amp;quot;2&amp;quot; | {{tooltip|(not tested - )|Could not test multichannel}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; | deadbeef 1.9.3 [static] [portable].  Testbench revision 7&lt;br /&gt;
|-&lt;br /&gt;
! Exaile (Windows)&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot;    | {{tooltip|Fails|Version 4.1.2 beta1: File 25 Flake smaller blocksize is played back noisy. File 27 old format mutes after a split second. Version 4.1.1: Skips all variable blocksize files, except: stops upon the old format flake 0.11 (but can resume playback on different file)}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| -&lt;br /&gt;
| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; | First tested version 4.1.1  (GStreamer: 1.18.4) with testbench revision 5. Then updated with 4.1.2-beta1 (GStreamer: 1.18.5) for variable blocksize and 60-63&lt;br /&gt;
|-&lt;br /&gt;
! ffplay N-108161-gaaf6d85283-20220916 (Windows)&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot;   | {{tooltip|Fails|Wrong speed on blocksize 16}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | {{tooltip|Plays|But output channel layout for 6.1 is incorrect: FL,FR,FC,LFE,BL,BR,BC instead of FL,FR,FC,LFE,BC,SL,SR}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | {{tooltip|Plays|Takes about 30 seconds before starts to play file 55}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; | Testbench revision 7. File 03 still broken in versions N-109368-gcc11afe502-20221206, 6.1-essentials_build-www.gyan.dev and 7.0-essentials_build-www.gyan.dev&lt;br /&gt;
|-&lt;br /&gt;
! foobar2000 1.6.14 and 2.0 beta 7 [x86]&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | {{tooltip|Plays|Since version 1.6.8}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot; | Plays&lt;br /&gt;
| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; | Testbench revision 7&lt;br /&gt;
|-&lt;br /&gt;
! GoneMAD (Android)&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: red;&amp;quot;    | Crashes&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: red;&amp;quot;    | {{tooltip|Hangs|Hangs on 55. Also unresponsible UI on 51, but plays.}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; | testbench revision 5&lt;br /&gt;
|-&lt;br /&gt;
! JRiver Media Center (Windows 64; portable)&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | {{tooltip|Plays|lowers volume on 12 bit and 8 bit}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | {{tooltip|Plays|lowers volume on 20 bit}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | {{tooltip|Plays|lowers volume on 20 bit}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; | Windows version 31.0.84 64-bit with testbench version 7.1. (Version 28.0.88 would reject number 54.)&lt;br /&gt;
|-&lt;br /&gt;
! Mediamonkey 5&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot;    | {{tooltip|Skips|5.0.4 skips 12-bit file. (Old 5.0.1 crashed.)}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Silence|Plays silence on 20-bit file.}}&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|Only plays first 2 seconds of all spoken multichannel files}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | {{tooltip|Plays|Fixed in 5.0.4. Version 5.0.1 got unresponsive when (and after) playing files with 1000x repeating vorbiscomments}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|Only plays first 2 seconds}}&lt;br /&gt;
| style=&amp;quot;background: red;&amp;quot;    | {{tooltip|Freezes|File 62 most often skipped, but freeze (to be killed with Task Manager) was provoked. Files 61/63 play first 2 seconds)}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; | Updated with version 5.0.4.2690 testing files 60-64 and the ones 5.0.1.2433 failed (22) / froze (54-55) upon testing revision 5.&lt;br /&gt;
|-&lt;br /&gt;
! MacOS&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Skips|Skips blocksize 16 file}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Skips|Skips 8-bit and 12-bit file}}&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Skips|Skips all variable blocksize files}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; | Testbench revision 7, tested with Quicktime and Safari on MacOS 13&lt;br /&gt;
|-&lt;br /&gt;
! Mplayer (Windows)&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|Stuck at beginning of 384 kHz file, but one can skip with arrow button to play last part}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: red;&amp;quot;    | {{tooltip|Unresp.|Took over a minute before starting to playing the &#039;55 - file 48-53 combined.flac&#039;}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|Stutters on 24-bit predictor overflow check}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; | SMPlayer-bundled version Redxii-SVN-r37955-6.2.0 (x86_64) (using ffmpeg N-87137-g6ccd32c367) with testbench revision 5 &amp;amp; files 60-64&lt;br /&gt;
|-&lt;br /&gt;
! mpv (Windows)&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: red;&amp;quot;    | {{tooltip|Hangs|Hangs on files with 1000x repeating vorbiscomments}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot; | {{tooltip|Plays|Fixed during November 2022; version mpv-x86_64-20211031-git-4a80de9 (Windows) did stutter on 24-bit predictor overflow check}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; | mpv-0.35.0-x86_64 for Windows, testbench revision 7; this build (November 14) fixes one more file than mpv-x86_64-20211031-git-4a80de9.&lt;br /&gt;
|-&lt;br /&gt;
! MusicBee 3.4.8033 (Windows; portable)&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot; | Plays&lt;br /&gt;
| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; | Testbench revision 7. Only tested on headphones, does left/right correctly on multichannel.&lt;br /&gt;
|-&lt;br /&gt;
! Quod Libet (Windows)&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot;    | {{tooltip|Fails|Chirp sounds on old-format 0.11.  Other variable blocksize files makes player skip subsequent file(s) in the playlist.}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot;   | {{tooltip|Skips|Skips 384 kHz}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| -&lt;br /&gt;
| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; | version 4.4.0 (portable version) with testbench revision 5 and 4.5.0 (portable) with revision 6.&lt;br /&gt;
|-&lt;br /&gt;
! Resoniq 0.9.3 (portable, Windows)&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot;   |  {{tooltip|Fails?|Suspicious channel allocation on 6.1 and 7.1. Tested only on stereo set, but side-right not spoken even when side-left is.}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot; | Plays&lt;br /&gt;
| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; | Apparently uses FLAC 1.3.2. Testbench revision 7. &lt;br /&gt;
|-&lt;br /&gt;
! Spotify (Windows)&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Skips|Skips 12 bits per sample}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot;   | {{tooltip|Skips|Skips 384 kHz}}&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot;   | {{tooltip|Skips|Skips 20 bits}}&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot;   | {{tooltip|Skips (?)|Skips all multi-channel}}&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot;   | {{tooltip|Skips (?)|Skips all multi-channel}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot;    | {{tooltip|Rejects|Does not index any of the &#039;extremely large&#039; 48-52 &amp;amp; 55}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| -&lt;br /&gt;
| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; | Spotify for Windows version 1.1.72.439.gc253025e, testbench revision 5; files 60-63 with version 1.1.83.956.gbe7ea9a7. Note, tested a stereo soundcard only (hence the question mark on multichannel).&lt;br /&gt;
|-&lt;br /&gt;
! VLC&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|Unable to play old-style variable blocksize}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: red;&amp;quot;    | {{tooltip|Crashes|Crashes occasionally on files with extremely large VORBISCOMMENT}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; | VLC 3.0.16 on testbench revision 5 &amp;lt;br&amp;gt;VLC 3.0.17.4 on files 60 to 63.&amp;lt;br&amp;gt;VLC 3.0.16 on file 64&lt;br /&gt;
|-&lt;br /&gt;
! VUPlayer 4.15&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; | Testbench revision 7.&lt;br /&gt;
|-&lt;br /&gt;
! Winamp 5.8&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: red;&amp;quot;    | {{tooltip|Freezes|Freezes on 12 bit file}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: red;&amp;quot;    | {{tooltip|Freezes|Freezes on 384kHz}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: red;&amp;quot; colspan=&amp;quot;2&amp;quot; | {{tooltip|Freezes|Freezes on 3.0, 5.0, 6.1 and 7.1 files}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; | Winamp 5.8 build 3660, testbench revision 5&lt;br /&gt;
|-&lt;br /&gt;
! Windows Media Player&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Rejects|Rejects 12 bit file}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Rejects|Rejects 20 bit file}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Rejects|Rejects all}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; | Tested version 12.0.19041.1288 on testbench revision 5&lt;br /&gt;
|-&lt;br /&gt;
! XMPlay&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; | XMPlay 3.8.5.42 with FLAC decoder revision 14 tested with testbench revision 7.&lt;br /&gt;
|-}&lt;br /&gt;
|-}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; cellspacing=&amp;quot;2&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | Table legend&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays   || all files in this category are played as intended, without glitches, changes etc.; changed volume tolerated (but indicated)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | Rejects || One or more files are rejected by the player, either by skipping the file or mentioning a message like: &amp;quot;file not supported&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | Fails   || One or more files are not played back as intended, for example by stuttering, garbling or playing at incorrect speed, or by never starting playing (though not skipping, freezing or rebooting)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: red;&amp;quot;    | Freezes || On one or more files, the player crashes on decoding, leaving the unit inoperable until reboot, or the unit reboots by itself&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | The order of precedence is from bottom to top, so if one file freezes the player, one file is rejected and the other play fine, the table reads &#039;Freezes&#039; for that category.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | For the metadata tests, the (absence of) rendering of the metadata is not a criterium, simply whether its presence is an obstacle to playing&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Porcuswiki</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=TTA&amp;diff=37860</id>
		<title>TTA</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=TTA&amp;diff=37860"/>
		<updated>2024-04-25T17:51:09Z</updated>

		<summary type="html">&lt;p&gt;Porcuswiki: Update with the 2023 comparison, the independent rewrite, and higher precision in some of the text&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Codec Infobox&lt;br /&gt;
| purpose = &lt;br /&gt;
| name = The True Audio&lt;br /&gt;
| logo = [[File:TTA-logo.png]]&lt;br /&gt;
| type = lossless&lt;br /&gt;
| maintainer = Aleksander Djuric&amp;lt;br/&amp;gt;Pavel Zhilin&amp;lt;br/&amp;gt;Tamir Barak&amp;lt;br/&amp;gt;Noam Koenigstein&amp;lt;br/&amp;gt;Kazuki Oikawa&lt;br /&gt;
| released = TTA 2.3 (Windows version, 2015-02)&lt;br /&gt;
| website = [http://tausoft.org/wiki/True_Audio_Codec_Overview tausoft.org]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The True Audio&#039;&#039;&#039; (&#039;&#039;&#039;TTA&#039;&#039;&#039;)  is a [[lossless]] audio [[codec]].  It is distributed as a free open-source (GPL/LGPL) encoder/decoder and library for several operating systems, and with DirectShow filters and plugins for several audio players, including [[foobar2000]].  &lt;br /&gt;
&lt;br /&gt;
It is not known whether the project is abandoned.  The codec sometimes identifies itself as &amp;quot;TTA1&amp;quot;, and an announced development of a &amp;quot;TTA2&amp;quot; format has passed with no known updates since 2010.&amp;lt;ref&amp;gt;[https://web.archive.org/web/20100727022032/http://en.true-audio.com:80/TTA_Lossless_Audio_Codec_-_Format_Description Format description], archived 2010-07-27&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
TTA has a couple of unique properties: one is encryption with password protection, and that &amp;amp;ndash; apart from metadata &amp;amp;ndash; the bitstream is uniquely determined by the signal (and if applicable, the password). That is, &#039;&#039;one single setting&#039;&#039; with no encoding options for heavier / lighter compression / CPU load.  These properties have seen some appeal in certain applications, outside which TTA seems to have a limited userbase. &lt;br /&gt;
&lt;br /&gt;
Performance-wise, TTA has been measured around [[WavPack]] between default and &amp;lt;code&amp;gt;-h&amp;lt;/code&amp;gt; on CD audio signals&amp;lt;ref&amp;gt;[http://audiograaf.nl/downloads.html Martijn van Beurden&#039;s comprehensive lossless comparison, version 6, 2023]&amp;lt;/ref&amp;gt; &amp;amp;ndash; putting it on what traditionally has been considered on the &#039;&#039;fast encoder&#039;&#039; side rather than the &#039;&#039;heavy compression&#039;&#039; ([[Monkey&#039;s Audio]]/[[OptimFROG]]) side.  In the most recent edition of the comparison, two codecs ([[TAK]] and, narrowly, [[FLAC]] after its recent performance improvements) could beat TTA simultaneously on all three tested parameters (encoding speed, decoding speed and file size) on the average signal tested.  &lt;br /&gt;
&lt;br /&gt;
FFmpeg offers a third-party implementation which can encode and decode to higher channel count and accepts more input files than the official Windows encoder can do.  Also the foobar2000 component at foobar2000.org implements more features than the official version.  This wiki article aims at describing the features and limitations in the available end-user applications, rather than what the TTA &#039;&#039;format&#039;&#039; might accommodate (but nobody has implemented).  A 3rd party source code rewrite was posted in the Hydrogenaudio forums in 2023&amp;lt;ref&amp;gt;[https://hydrogenaud.io/index.php/topic,125048.0.html Hydrogenaudio forum post (2023) on codec rewrite]&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;[https://hydrogenaud.io/index.php/topic,125143.0.html Hydrogenaudio forum post (2023) on codec rewrite (library)] with [https://github.com/stseelig/libttaR github link]&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	&lt;br /&gt;
== Features == &lt;br /&gt;
From an end-user perspective, the following features are quite common among lossless codecs, except for password protection.  Some competing formats are lacking certain of these features, and some are free from certain of the limitations listed.  To compare TTA with other lossless codecs, see [[Lossless_comparison| HA Wiki&#039;s Lossless Codec Comparison]].&lt;br /&gt;
&lt;br /&gt;
* Seekable and streaming playback.&lt;br /&gt;
* High-resolution audio support: the format supports 24 bits per sample, at any WAVE sampling rate (integers up to 4 GiHz; although the encoders may stop short of the 4 GiHz mark &amp;amp;ndash; ffmpeg at 2 GiHz &amp;amp;ndash; this limitation is hardly relevant for audio).&lt;br /&gt;
* Multichannel support, however with limitations (see below). Currently the reference encoder supports up to six channels, the ffmpeg implementation supports 16, and the unofficially modified foobar2000 component can handle 8.&lt;br /&gt;
* Piping support.&lt;br /&gt;
* Tagging (APEv2 or ID3v1/2).&lt;br /&gt;
* Embedded CUE sheets support.&lt;br /&gt;
* Unicode support.&lt;br /&gt;
* Can be used in the [[Matroska]] container.&lt;br /&gt;
* Password-protected encryption.&lt;br /&gt;
&lt;br /&gt;
The lack of encoding options may be a limitation or sometimes considered a feature: a given music signal corresponds to precisely one (unencrypted) TTA bit stream &amp;amp;ndash; no matter whether encoded with the reference encoder or ffmpeg.  Metadata sections may of course differ.&lt;br /&gt;
&lt;br /&gt;
=== Limitations ===&lt;br /&gt;
The following list is in part based on issues revealed by tests in the Hydrogenaudio forums, as per 2022 available implementations &amp;amp;ndash; the 2023 independent rewrite not tested and is known to handle more input files.&lt;br /&gt;
* [https://hydrogenaud.io/index.php/topic,122094 Bad error handling.]&amp;lt;ref&amp;gt;[https://hydrogenaud.io/index.php/topic,122094 HA forum discussion (2022) on codecs&#039; error handling]&amp;lt;/ref&amp;gt; Errors will upon playback lead to full-volume static noise played back, at worst for the rest of the file.  Only the most severe errors seem to be detected by the reference decoder.  Testing reveals that ffmpeg can detect errors the reference decoder cannot, and might drop more defective frames, but ffmpeg might still play back static unmuted.  The lack of (MD5) audio checksum is a more severe shortcoming when the capability to detect errors by other means is so limited; there seems to be no reliable way implemented to scan a collection of files for corruption, although the &#039;&#039;format&#039;&#039; provides block checksums.&lt;br /&gt;
* The existing implementations have limitations for non-CDDA signals:&lt;br /&gt;
** Bit depth: The format supports 8, 16 or 24 bit files &amp;amp;ndash; and 8-bit signals are only supported in ffmpeg&#039;s implementation, not in the the reference encoder/decoder (nor the official [[foobar2000]] playback component). Note, some old sources refer to 32-bit (floating-point) support; that was apparently dropped circa 2004, and it is not known how to decode such files, should they even exist. &amp;lt;br/&amp;gt;Non-integer byte depths (say 20 valid bits in a 24-bit WAVE container) are not well supported.  Testing with 20-bit WAVE files has provoked the reference encoder into either of the following three: rejecting the file altogether; producing undecodeable files; silently upconverting to 24 bits, losing any information that it was ever 20 bits (ffmpeg appears to &#039;&#039;always&#039;&#039; do this).  In the latter case, TTA will not compress it well, as it is unable to make use of &amp;quot;wasted bits&amp;quot;: other codecs can detect that bits 21 to 24 are zero and compress a 20-bit signal virtually without penalty.  (See van Beurden&#039;s lossless comparison, section 2.3.)&lt;br /&gt;
** Limitations in multichannel support: Although the TTA &#039;&#039;format&#039;&#039; claims support for up to 65536 channels, no implementation seems to support more than 16 (ffmpeg), the reference implementation being capped at 6. The foobar2000 component repository includes a component version that handles 8 channels (unlike the component provided by the TTA developers), and that component also honours the [https://docs.microsoft.com/en-us/windows/win32/api/mmreg/ns-mmreg-waveformatextensible WAVEFORMATEXTENSIBLE] tag to interpret what channels are encoded.  This is an unofficial feature; the format itself offers no channel assignment (e.g., if a TTA file has three channels there is no rule to tell whether it is 2.1 or 3.0, and likewise there is no rule to tell whether a five-channel file a 5.0 or a 4.1 &amp;amp;ndash; the component implements support through a tag).  Also, in van Beurden&#039;s comparison, TTA fared worse on multichannel material than on stereo.&lt;br /&gt;
** The reference encoder is picky about input &#039;&#039;files,&#039;&#039; only supporting some versions/generations of the WAVE format (and no other format than WAVE) and requiring workarounds at 2 GiB input size.  Also the reference implementation might truncate too large files. These issues can be circumvented by using ffmpeg instead.  &lt;br /&gt;
* Metadata: &lt;br /&gt;
** TTA might be the lossless format most likely to suffer from tagging ambiguity.  While there are other formats which can (like MP3) accommotate both ID3 and APEv2 tags, applications seem to have converged to APEv2 for other lossless formats which accept it, and both ffmpeg&#039;s TTA encoder and [[foobar2000]] will try to enforce APEv2 in TTA.  However, a tagger like [https://en.wikipedia.org/wiki/MusicBrainz_Picard MusicBrainz Picard] will treat TTA files as MP3 files, defaulting to ID3v1&amp;amp;ID3v2.3 while &#039;&#039;ignoring&#039;&#039; any APEv2.  Apparently [[Mp3tag]] will write ID3 to an &#039;&#039;untagged&#039;&#039; .tta file, but ignore ID3 when APEv2 is already present.&lt;br /&gt;
** There is no provision for (R)IFF chunks; i.e. TTA cannot store nor recreate &#039;&#039;non-audio&#039;&#039; chunks of the original file. That means that one limitation of ffmpeg &amp;amp;ndash; that it drops RIFF chunks &amp;amp;ndash; is moot for TTA, which could not store them in any case. Note that ffmpeg will transfer tags upon conversion in the usual way (to APEv2 when encoding), but the reference encoder/decoder does not know tags in WAVE.&lt;br /&gt;
* Its unique feature &amp;amp;ndash; password protection &amp;amp;ndash; seems to be unsupported in &#039;&#039;players&#039;&#039;, save for invoking ffplay from a command-line with the password typed in.&lt;br /&gt;
* Just as the lack of options might be useful in specialized applications, other users will find it a limitation.  However, one may argue that by 2023, performance differences are less of an issue even if there is no way to speed up neither encoding nor decoding (which takes even more CPU power than encoding).&lt;br /&gt;
* Like most lossless formats, TTA has no functionality for hybrid lossless/lossy encoding. For TTA, there is also no way (for power users!) to hack a hybrid solution by way of [[LossyWAV]].&lt;br /&gt;
&lt;br /&gt;
Hardware support is limited outside [[Rockbox]].  A few hardware players with TTA support have been around over the years&amp;lt;ref&amp;gt;http://tausoft.org/wiki/True_Audio_Codec_Support&amp;lt;/ref&amp;gt; until Cowon exited the hardware player market.  However the distinction between &amp;amp;laquo;hardware&amp;amp;raquo; and &amp;amp;laquo;software&amp;amp;raquo; support is arguably less clear with ffmpeg-based players on smart devices.  &lt;br /&gt;
&lt;br /&gt;
==Using TTA (missing: info about DirectShow) ==&lt;br /&gt;
At least for 16-bit signals, one might rather use ffmpeg than the reference implementation. Note that ffmpeg will, upon decoding to WAVE/AIFF, default to 16 bits regardless whether that is a lossy operation. (This is not specific to input source, and users should take care before using ffmpeg for lossless conversion.)&lt;br /&gt;
&lt;br /&gt;
For foobar2000 playback, the component at the foobar2000 website has more features than the TTA developers&#039; decoding component and is also available for 64-bit versions of the player.  Since non-audio chunks are not stored in .tta files, foobar2000 just as well be the preferred software to convert .tta files unless one encounters &amp;gt; 8 channels. &lt;br /&gt;
&lt;br /&gt;
==Links==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
Additional sources:&lt;br /&gt;
* [http://tausoft.org/wiki/True_Audio_Codec_Overview TTA Lossless Audio Codec &amp;amp;ndash; Tau Projects:] Codec overview at the official site.&lt;br /&gt;
* {{wikipedia|TTA (codec)}}&lt;br /&gt;
* [https://www.foobar2000.org/components/view/foo_input_tta foobar2000 component at foobar2000.org]&lt;br /&gt;
* [[Lossless_comparison| HA Wiki&#039;s Lossless Codec Comparison]] originally by [[User:Rjamorim|Rjamorim]] &lt;br /&gt;
&lt;br /&gt;
{{navbox audio codecs}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Codecs]]&lt;/div&gt;</summary>
		<author><name>Porcuswiki</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=DTS-HD&amp;diff=37809</id>
		<title>DTS-HD</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=DTS-HD&amp;diff=37809"/>
		<updated>2024-04-14T10:47:49Z</updated>

		<summary type="html">&lt;p&gt;Porcuswiki: Slight increase in precision&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;DTS-HD&#039;&#039;&#039; is a family of audio [[codec|codecs]], primarily used in Blu-ray and HD-DVD &amp;amp;ndash; optionally, competing with the Dolby codecs family. It is an extension of the older [[DTS|DTS Coherent Acoustics]] codec found in DVDs, and maintain compatibility with devices that only support those. &lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;&#039;&#039;DTS-HD Master Audio&#039;&#039;&#039;&#039;&#039;, previously known as DTS++, provides for lossless audio.  It is a [[hybrid codec|hybrid lossless/lossy]] codec with a &amp;quot;core&amp;quot; DTS CA stream, for devices only supporting that format, and a correction stream specified in the DTS &amp;quot;Lossless Extension&amp;quot;.  DTS-HD devices will decode both to reconstruct the signal losslessly.  In Blu-ray it supports streams up to 192/24 at 5.1 surround, and up to 96/24 at 7.1 surround.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;&#039;&#039;DTS-HD High Resolution&#039;&#039;&#039;&#039;&#039; works a similar way with an extension stream, but is a lossy codec working at 6 kbit/s or 3 kbit/s constant bit rates (for use when disc space is a constraint). For example, the core stream can be 5.1 at 48 kHz sampling rate, and the extension stream can contain the additional two channels &amp;amp;ndash; and even doubling the sampling rate for the extra (inaudible!) ultrasonic octave.  &lt;br /&gt;
&lt;br /&gt;
The above description is incomplete. In particular, the DTS-HD codec suite offers configurations not found in Blu-ray: The &amp;quot;Lossless Extension&amp;quot; (XLL) can operate as an ordinary lossless audio codec without core stream, sacrificing backwards compatibility. Also the DTS suite offers a &#039;&#039;Low Bitrate&#039;&#039; codec / coding profile that can encode 5.1 surround down to 192 kHz sampling rate, intended for streaming purposes when bandwidth is constrained.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Open source DTS-HD decoders are available through FFmpeg and libdca (used by VideoLAN/VLC).  The Matroska container format supports DTS-HD. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For additional information: Wikipedia or the [https://wiki.multimedia.cx/index.php/DTS-HD Multimedia Wiki entry] with link to the specification. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{stub}} &lt;br /&gt;
&lt;br /&gt;
[[Category:Codecs]]&lt;br /&gt;
[[Category:Lossless]]&lt;/div&gt;</summary>
		<author><name>Porcuswiki</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=WavPack&amp;diff=37806</id>
		<title>WavPack</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=WavPack&amp;diff=37806"/>
		<updated>2024-04-12T20:44:37Z</updated>

		<summary type="html">&lt;p&gt;Porcuswiki: On ffmpeg 7, and on .zip.wv and ...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Software Infobox&lt;br /&gt;
| name = WavPack&lt;br /&gt;
| logo = [[Image:Wavpacklogo.png|280px|Official WavPack logo]]&lt;br /&gt;
| screenshot =&lt;br /&gt;
| caption = Hybrid Lossless Audio Compression&lt;br /&gt;
| maintainer = David Bryant&lt;br /&gt;
| stable_release = 5.7.0 (2024-02-29)&lt;br /&gt;
| operating_system = Windows, MacOSX, Linux/BSD/Unix, ...&lt;br /&gt;
| use = Encoder/Decoder&lt;br /&gt;
| license = BSD license&lt;br /&gt;
| website = http://www.wavpack.com/&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;WavPack&#039;&#039;&#039; (pronounced &amp;quot;wave-pack&amp;quot;) is a [[lossless]] audio [[codec]], also offering optionally a [[hybrid codec| hybrid lossless/lossy]] mode.  It is distributed as a free open-source encoder/decoder with a library and a large number of tools, including a Windows GUI and a range of plugins for both audio players and other software.  Third party implementations are available, including ffmpeg.  WavPack supports and/or can be played back on a large number of platforms/OSes including mobile (Android, iOS), portable ([[Rockbox]]) and even web apps. &lt;br /&gt;
&lt;br /&gt;
WavPack is arguably the most feature-rich lossless compressor, supporting a unique range of audio signals including [https://en.wikipedia.org/wiki/Direct_Stream_Digital Direct-Stream Digital].  Everyday use is supported by a wide range of players and taggers, but &#039;&#039;conversion&#039;&#039; is likely safest done with applications that invoke the official tools (rather than e.g. ffmpeg&#039;s implementation) &amp;amp;ndash; and special features might require the user to apply the WavPack executable directly, for example with drag+drop, see the [[#Using WavPack]] section below.&lt;br /&gt;
&lt;br /&gt;
Performance-wise, WavPack defaults to a fast codec &amp;amp;ndash; less CPU intensive than [[ALAC]], but typically not as fast as [[FLAC]] or [[TAK]], especially in decoding CPU usage.&amp;lt;ref&amp;gt;[http://www.audiograaf.nl/losslesstest Martijn van Beurden: &amp;lt;em&amp;gt;Lossless audio codec comparison archive&amp;lt;/em&amp;gt;], all comparisons in this wiki article consistent with CDDA results up to revision 6, 2023, using WavPack 5.6.0.&amp;lt;/ref&amp;gt; In the age of low-power portable Rockbox-equipped players, WavPack could be seen as a reasonable middle ground between FLAC&#039;s low CPU footprint and long battery life, and the smaller files but more CPU-intensive [[Monkey&#039;s Audio]]&amp;lt;ref&amp;gt;[https://www.rockbox.org/wiki/CodecPerformanceComparison CodecPerformanceComparison] at the Rockbox wiki&amp;lt;/ref&amp;gt; &amp;amp;ndash; invoking WavPacks high mode and extra compression that would compress to smaller sizes than FLAC.&lt;br /&gt;
&lt;br /&gt;
WavPack has inspired other codecs&amp;lt;ref&amp;gt;Monkey&#039;s Audio historical FAQ {{webarchive|http://web.archive.org/web/20001017210206/http://www.monkeysaudio.com/faq.html|2000-10-17}}&amp;lt;/ref&amp;gt; and their features&amp;lt;ref&amp;gt;[http://losslessaudio.org/DualStream.php OptimFROG&#039;s &amp;quot;DualStream&amp;quot;] hybrid encoding &amp;amp;ndash; apparently WavPack coined this phrase&amp;lt;/ref&amp;gt;.  For more on WavPack, including on its history and technology, see the [https://en.wikipedia.org/wiki/WavPack Wikipedia entry].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Features =&lt;br /&gt;
For an end-user considering WavPack as audio format, its feature-richness might be the big selling point.  WavPack supports pretty much all the more common features noted at [[Lossless_comparison| HA Wiki&#039;s Lossless Codec Comparison]] as in the following first list, but several users might consider the more unique features listed under the subsequent headline.&lt;br /&gt;
&lt;br /&gt;
* Seekable and streaming playback.&lt;br /&gt;
* Error handling: upon playback, it will detect and report corrupted frames, mute to protect against static/noise output, and continue playback.  Since version 5, WavPack can also check for corruption without decoding, hence quicker than any decoding format.  Optional MD5 audio checksum can also be added upon encoding for file fingerprinting. &lt;br /&gt;
* High-resolution audio support (see next headline).&lt;br /&gt;
* Multichannel support: currently capped at 256 channels, supports [https://docs.microsoft.com/en-us/windows/win32/api/mmreg/ns-mmreg-waveformatextensible WAVEFORMATEXTENSIBLE] channel masks.&lt;br /&gt;
* Piping support for encoding, and support for RAW PCM input/output.&lt;br /&gt;
* Non-audio chunks (RIFF and similar) stored; by default, WavPack will not only encode/decode the audio losslessly, but store the non-audio chunks and restore them into a file bit-identical to the original.&lt;br /&gt;
* Tagging: APEv2. (ID3v1 is possible, but not advisable.) &lt;br /&gt;
* Cuesheet support. In practice, some applications handle &#039;&#039;embedded&#039;&#039; cuesheets better in WavPack than in some other formats.&lt;br /&gt;
* Unicode support.&lt;br /&gt;
* Can be used in the [[Matroska]] container. &lt;br /&gt;
* Windows GUI available.&lt;br /&gt;
* Multithreading (from version 5.7.0).&lt;br /&gt;
&lt;br /&gt;
WavPack also handles bit depths not divisible by 8, e.g. 20-bit audio (found on some DVDs).  &lt;br /&gt;
&lt;br /&gt;
== Special/unique features ==&lt;br /&gt;
Most of these features are shared with only a few if any notable codecs, or extend to signal types or file types others do not support (comparisons given).&lt;br /&gt;
* DSD support: can losslessly compress Philips DSDIFF and Sony DSF files (see &amp;quot;Using WavPack&amp;quot; below; no other end-user codec compresses DSD.) ID3v2.3/2.4 tags can be imported.  wvunpack can select between DSDIFF and DSF out (i.e. &#039;convert between the two&#039;).  wvunpack can also convert DSD to PCM, but not the other way around. (Lossy, as conversion between PCM and DSD necessarily is.)&lt;br /&gt;
* High-resolution support for bit depth 1-bit to 32-bit integer and sampling rates up to &#039;&#039;giga&#039;&#039;herz range radio frequencies, in integer steps. (2 GHz works although only 1 GHz is officially supported; for more UHF, Monkey&#039;s Audio, OptimFROG and MPEG-4 ALS support the entire WAVE range up to 4 GiHz.) Can also compress &#039;&#039;non-integer sampling rates&#039;&#039; in AIFF/AIFC/CAF (signals the WAVE format cannot contain).   &lt;br /&gt;
* 32-bit &#039;&#039;floating-point&#039;&#039; supported &amp;amp;ndash; also including CoolEdit/Adobe Audition&#039;s own float format (use the &amp;lt;code&amp;gt;-a&amp;lt;/code&amp;gt; option &#039;&#039;only if&#039;&#039; the .wav was generated by CoolEdit/Audition).  (This line like OptimFROG.)&lt;br /&gt;
* As much as 256 channels currently supported (from version 5.5.0 on; [https://github.com/dbry/WavPack/issues/117 can be extended to the thousands] &amp;amp;ndash; more than any codec except MPEG-4 ALS (which is capped at 66536).) &lt;br /&gt;
* Hybrid lossy/lossless mode (can also be used as lossy &amp;amp;ndash; OptimFROG also has such a mode.)&lt;br /&gt;
* For LPCM it can read and output to WAVE (including the RF64 format extension used for large files and from 5.70 also BW64), to Sony&#039;s Wave64, AIFF/AIFC (both endiannesses) and CAF (ditto) &amp;amp;ndash; with full restore of also non-audio parts to bit-by-bit the original file in the original format.  (Monkey&#039;s/OptimFROG/TAK do the same to the input formats they support.)  Also WavPack can handle too large noncompliant &amp;quot;WAVE&amp;quot; files (by default, those will be restored to bit-identical the same as the flawed input file &amp;amp;ndash; optionally one can force output to compliant RF64/W64 files). &lt;br /&gt;
* Recompression: Can recompress .wv files in place, with tag transfer.  (Like FLAC on .flac files.)&lt;br /&gt;
* Drag and drop support: Dropping a file on to wavpack.exe/wvunpack.exe will encode/decode it to source directory. (Similar to FLAC.)  From 5.5.0, one can also apply options to drag and drop by renaming the executable, and drop several files.&lt;br /&gt;
&lt;br /&gt;
Like FLAC/TAK/OptimFROG, WavPack employs a &amp;quot;wasted bits&amp;quot; strategy to handle cases of &#039;&#039;n &amp;quot;actual bits of signal&amp;quot; zero-padded and stored as N bits&#039;&#039;; such signals can be found in certain DVDs, but also as &amp;quot;fake high resolution&amp;quot; where a 16-bit signal is merely put in a 24-bit file to look impressive.  WavPack handles more &amp;quot;fake high resolution&amp;quot; cases than just zero-padding.  5.7.0 introduces an further improvement to capture similar patterns in 32-bit integer files generated by &amp;quot;naively converting from 32-bit float&amp;quot;.  That particular mode is disabled by default and is arguably best left to power users (invoking it with &amp;lt;code&amp;gt;--optimize-int32&amp;lt;/code&amp;gt;) as only 5.7.0 can decode as lossless; to earlier versions and players they will be presented as lossy without correction file (and will indeed be lossy with differences around -138 dB down). &lt;br /&gt;
&lt;br /&gt;
== Limitations ==&lt;br /&gt;
The following bullet item list is hardly of interest except for special purposes; WavPack supports nearly every input format that any competing codec handles. One exception is the legacy AU/SND, apparently supported only by Monkey&#039;s Audio. &lt;br /&gt;
* DSD: Will reject DST-compressed DSDIFF (which are already compressed heavier than WavPack does) and Wideband Single-bit Data files (apparently, the Tascam and Korg devices which can produce these, can also export to other DSD formats).&amp;lt;br/&amp;gt; Also, DSD files cannot be encoded as hybrid with correction files.&lt;br /&gt;
* 64-bit float is not supported.  (Apparently no other lossless audio compressor can support it either.)&lt;br /&gt;
* wvunpack can &#039;&#039;force output&#039;&#039; to a different format than input, and for AIFF/CAF also select endianness, but it cannot force output to different versions of big-endian AIFF (it will avoid AIFC as long as the signal can be fit in the original AIFF container) nor BW64 &amp;amp;ndash; nor select between WAVE_FORMAT_PCM and WAVE_FORMAT_EXTENSIBLE.  Few other formats do allow for such output selection; reference FLAC can from 1.4.3 offer some wider choices than wvunpack can. &lt;br /&gt;
* Although all non-audio will be stored, &amp;lt;code&amp;gt;--import-id3&amp;lt;/code&amp;gt; can not &#039;&#039;import&#039;&#039; every type of ID3 tag to APEv2. (5.70 imports more tag types than previous versions, yet some users might want use use e.g. [[Mp3tag]] to copy over more tags from the original.) Also, unless &amp;lt;code&amp;gt;--allow-huge-tags&amp;lt;/code&amp;gt; is specified, size is limited to 1 MB; older software might not read larger tagsets (but no known &#039;&#039;playback&#039;&#039; incompatibilities are known).&lt;br /&gt;
* Some file formats have features stored in file headers (like loop points, or for AIFF possibly non-integer sampling rates) which will not be &#039;&#039;visible&#039;&#039; to the end-user when trying to play back the .wv file in a typical player. They are nevertheless available to certain audio editing software plugins, and will in any case be restored upon decoding.&lt;br /&gt;
* Some features are unsupported by several applications: in particular, support for correction files is only found in a few players. &lt;br /&gt;
* The most significant third-party implementation (ffmpeg as of version 6.1) has bugs waiting to be fixed. &lt;br /&gt;
&lt;br /&gt;
As of 5.5.0 and above, MacOS versions must be built with e.g. HomeBrew, and Windows XP is only supported through a special executable (available in version 5.6.0 at wavpack.com, upgrade from previous unofficial build posted at HA is strongly advised).  WavPack version 5 discontinues some features, but version 4.80 is still available to convert any version 3.x files that might still exist.&lt;br /&gt;
&lt;br /&gt;
WavPack has traditionally had less hardware support than FLAC ([[Rockbox]] having been the most notable platform, others listed at https://www.wavpack.com/index.html#Hardware ), but with WavPack playback through Android and iOS players, the distinction between &amp;quot;hardware&amp;quot; and &amp;quot;software&amp;quot; is arguably blurred. The Android OS does not &#039;&#039;natively&#039;&#039; support other lossless audio formats than WAVE and FLAC, so there have been issues getting certain Android solutions to recognize other media files including WavPack.&amp;lt;ref&amp;gt;[https://hydrogenaud.io/index.php/topic,122768 HA thread with link to Android bug report by the Monkey&#039;s Audio author]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Information for users of other codecs (and older WavPack) == &lt;br /&gt;
Parts of this section will be less relevant to users who primarily decode and convert through player software, rather than directly invoking the executables.  WavPack is the only &amp;quot;major&amp;quot; lossless encoder with separate executables for encoding (&amp;lt;code&amp;gt;wavpack&amp;lt;/code&amp;gt;) and decoding/info (&amp;lt;code&amp;gt;wvunpack&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
Even for features that are comparable between codecs, they may behave different &amp;amp;ndash; or default to different behaviour &amp;amp;ndash; out of the purpose they were designed to address, their development, or other design choices. &lt;br /&gt;
&lt;br /&gt;
* WavPack is designed as a &#039;&#039;file compressor&#039;&#039; for audio files &amp;amp;ndash; this like Monkey&#039;s, TAK and OptimFROG, but in contrast to FLAC and ALAC which are &#039;&#039;audio compressors&#039;&#039;. The difference is in the ambition to store all non-audio information (and in the correct order).  Using reference FLAC one might &amp;quot;opt in&amp;quot; on non-audio parts by giving options; using WavPack one can &amp;quot;opt out&amp;quot; and discard this information.  &lt;br /&gt;
** &#039;&#039;Note: This difference is irrelevant for CD ripping.&#039;&#039; Contrary to a common misconception, CD audio is &#039;&#039;not&#039;&#039; stored as WAVE &amp;amp;ndash; nor in any sort of file.  Thus, using a file compressor gives no more &amp;quot;true&amp;quot; copy of a CD.  (WavPack&#039;s support for embedded cuesheets might &amp;amp;ndash; depending on player application &amp;amp;ndash; give a better user experience for those who prefer to store one file per CD, but that is not due to how CDs work.)&lt;br /&gt;
* MD5 is opt-in (the &amp;lt;code&amp;gt;-m&amp;lt;/code&amp;gt; switch) &amp;amp;ndash; even if verification is requested and the MD5 is calculated, it is only written to file if specifically requested. TAK and OptimFROG work similarly in that they also require the user to opt-in on MD5. FLAC, ALAC and Monkey&#039;s all work different: FLAC includes MD5 (though some encoders make exceptions under some circumstance), ALAC has nothing such &amp;amp;ndash; and Monkey&#039;s MD5s are not comparable with others, as it hashes the encoded bitstream.  &lt;br /&gt;
** Also, WavPack computes MD5 using the source&#039;s endianness (endianness is like the distinction between &amp;quot;4th of July&amp;quot; and &amp;quot;July 4th&amp;quot;), and so MD5s may differ between WAVE source and AIFF/CAF source for the same audio.  (At least a recent foobar2000 will handle them without giving false warnings.)&lt;br /&gt;
* Like Monkey&#039;s/TAK/OptimFROG &amp;amp;ndash; but unlike FLAC and ALAC-in-MP4 &amp;amp;ndash; tags are at the end of the file.  Consequences for users are that retagging will not trigger full file rewrite, but sometimes applications may spend longer time displaying art and viewing tags.&lt;br /&gt;
* Users of &amp;quot;older WavPack&amp;quot; might take note that version 5 discontinues some features, like &amp;lt;code&amp;gt;-p&amp;lt;/code&amp;gt;, and also the &amp;lt;code&amp;gt;-e&amp;lt;/code&amp;gt; for self-extracting files &amp;amp;ndash; those and other older files can still be converted, but the ancient WavPack 3 with .wav extension requires version 4.80.0 (still available). &lt;br /&gt;
** See the [[#File formats, versions, decoding and transcoding support]] section for more details.&lt;br /&gt;
&lt;br /&gt;
=== Performance &amp;amp;ndash; file size, CPU load === &lt;br /&gt;
Rewind twenty years, to 2004 hardware costs, compression ratios did matter much more &amp;amp;ndash; also, several formats would be too heavy to even &#039;&#039;play&#039;&#039; on portable devices, and the official WavPack site would warn against the &amp;lt;code&amp;gt;-hh&amp;lt;/code&amp;gt; mode for that use even if it were not heavier than the fastest Monkey&#039;s Audio mode. &lt;br /&gt;
Fast forward to now, enthusiasts will still compare performance even if ordinary users may take note that impact on cost is often negligible. Different considerations may apply when a drive is near full.  &lt;br /&gt;
The HA wiki&#039;s [[lossless comparison]] article compares speed and compression ratio on CDDA on the respective codecs&#039; &#039;&#039;default&#039;&#039; setting, taken from van Beurden&#039;s comparison studies.  The test corpus is chosen to be a &amp;quot;wide&amp;quot; selection, and most music collections are biased in one direction or another genre-wise; users who are concerned about compression might look up the individual sources in the study and/or make a test sample from their own collection.  By and large, the following observations can be made:&lt;br /&gt;
* WavPack defaults to a fast codec, between FLAC and Monkey&#039;s; is not so heavy on decoding CPU as to cause actual practical problems, although it officially recommends against &amp;lt;code&amp;gt;-hh&amp;lt;/code&amp;gt; &amp;quot;for use on vintage portable devices&amp;quot; &amp;amp;ndash; it should be fine on anything modern.  Even &amp;lt;code&amp;gt;-hh&amp;lt;/code&amp;gt; seems to decode lighter than Monkey&#039;s fastest mode. &lt;br /&gt;
** The &amp;quot;between FLAC and Monkey&#039;s&amp;quot; hold for &amp;quot;default encoding and all decoding&amp;quot;.  Like most modern codecs, WavPack can be set to exert more encoding effort without affecting decoding load: the &amp;lt;code&amp;gt;-x&amp;lt;/code&amp;gt; switch. Thus, decoding for e.g. ReplayGain tagging will be slower than e.g. FLAC in all modes, but faster than Monkey&#039;s &amp;amp;ndash; and recompressing with a slow &amp;lt;code&amp;gt;-x&amp;lt;/code&amp;gt; setting (which can be done in the background) will not make the files any heavier to process later.   (Indeed, &amp;lt;code&amp;gt;-x&amp;lt;/code&amp;gt; sometimes makes decoding lighter, although unlikely to be noticed except by measuring it.)&lt;br /&gt;
** Playback on Android might be less battery efficient than FLAC, which can take advantage of the OS&#039; native support.  The difference is likely small for power-hungry players (like VLC).&lt;br /&gt;
** On the other hand, &#039;&#039;integrity verification&#039;&#039; can be done lightening-fast, without decoding (presuming WavPack 5 file format and WavPack 5 decoder). &lt;br /&gt;
* Compressing CDDA: WavPack can compress to slightly smaller files than (reference) FLAC; the difference has diminished with the most recent FLAC releases, but &amp;quot;in return&amp;quot;, modern CPU speeds might have made the more expensive WavPack settings more tempting, especially when one can re-encode in the background.&lt;br /&gt;
* Compressing high resolution signals and multi-channel: The &amp;quot;extra&amp;quot; resolution might be a mixed bag of upsampling artefacts, tape hiss, sometimes geniune overtones (and for bat enthusiasts, actual interesting audio).  There are different kinds of samples one might call &amp;quot;fake high resolution&amp;quot;, and different properties of such &amp;amp;ndash; upsampling or bit depth &amp;amp;ndash; are handled different by the codecs.  WavPack is known to handle some properties exceptionally well (&amp;quot;wasted bits&amp;quot; are exploited also by FLAC and TAK, but WavPack and OptimFROG are capable of detecting more &amp;quot;wasteful&amp;quot; patterns; Monkey&#039;s and ALAC cannot exploit wasted bits at all) &amp;amp;ndash; and others lesser.  Several codecs benefit from spending more effort on high resolution signals, and WavPack users might consider to (re-) compress high resolution and multi-channel with as slow setting as &amp;lt;code&amp;gt;-hx4&amp;lt;/code&amp;gt;, presuming it can be done as background recompression where time is not much of an object; decoding load is largely unaffected (sometimes slightly improved) by the high &amp;lt;code&amp;gt;-x&amp;lt;/code&amp;gt;. &lt;br /&gt;
** For 32-bit float, there is not much competition, and WavPack might be the natural choice for compatibility; it does outcompress Monkey&#039;s recently-added float mode.  Those files are not very common in the wild, and users with a sizeable collection of 32-bit files for audio processing will likely choose codec for compatibility with their DAW software.  WavPack 5.7.0&#039;s special setting for 32-bit integer converted from 32-bit float might be an option in such situations.  &lt;br /&gt;
* Users who compare nearly tied compression levels between codecs, should take into account how metadata storage affect total file size.  WavPack defaults to storing the source&#039;s metadata, which may include big album art; on the other hand, FLAC defaults to leaving some kilobytes padding in the file.  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Using WavPack =&lt;br /&gt;
WavPack files can be played back in supported players (see below), and several of these can also encode to WavPack, invoking the official tools.  However, there are situations where the appropriate WavPack features are accessible only through the WavPack executables directly.  For example, you cannot expect non-audio data (for full file restore) to be preserved when encoding/decoding through &#039;&#039;players&#039;&#039;, as they usually pass on only the audio.  Also, the input format might exceed the player&#039;s internal decoding; e.g. trying to convert 32-bit integer or DSD with foobar2000 will yield a warning that it will not be lossless (also, converting DSD to PCM leads to files many times the size, being inherently different formats).&lt;br /&gt;
&lt;br /&gt;
== Encoding/decoding by drag and drop (Windows) == &lt;br /&gt;
The simplest encoding/decoding might be &#039;&#039;dragging and dropping&#039;&#039; a (supported) file to wavpack.exe (/wvunpack.exe).  Then the file will be encoded/decoded with the default options.  Dropping a .wv file onto wavpack.exe will recompress it, prompting before overwrite (again, using default settings &amp;amp;ndash; possibly a bad deal if it was encoded with high &amp;lt;code&amp;gt;-x&amp;lt;/code&amp;gt; switches).  Drag and drop also works on a shortcut to the executable. It is not possible to drop a folder, but from version 5.5.0, there is a way to drag and drop &#039;&#039;several&#039;&#039; files.&lt;br /&gt;
&lt;br /&gt;
From version 5.5.0, drag and drop supports &#039;&#039;options&#039;&#039; by renaming the wavpack/wvunpack executable.  The user can rename a copy of the executable according to preferred settings, which will be applied to the process upon drag and drop.  The example given by the developer in [https://hydrogenaud.io/index.php/topic,122626.msg1012159.html#msg1012159 in this HA forum post]&amp;lt;ref&amp;gt;[https://hydrogenaud.io/index.php/topic,122626.msg1012159.html#msg1012159 HA forum post on how to rename executable for drag and drop]&amp;lt;/ref&amp;gt; uses encoding options that many WavPack users will recommend (better compression than default, verification and MD5 fingerprinting), and novice users can choose to copy that filename for the executable.  For fine-tuning performance or for more specialized tasks, more options are described below. &lt;br /&gt;
&lt;br /&gt;
== Basic command line encoding/decoding [[Windows_command_line_tips|(for Windows: command-line hints here)]] == &lt;br /&gt;
The basic &#039;&#039;encoding&#039;&#039; usage is &amp;lt;code&amp;gt;wavpack filename&amp;lt;/code&amp;gt; (which creates &amp;lt;code&amp;gt;filename.wv&amp;lt;/code&amp;gt;) &amp;amp;ndash; this is what drag and drop accomplishes.  Wildcards are supported, e.g. &amp;lt;code&amp;gt;wavpack *.wav&amp;lt;/code&amp;gt; (but not simply &amp;lt;code&amp;gt;wavpack *&amp;lt;/code&amp;gt;).  For a &#039;&#039;single&#039;&#039; input file, one can specify output like e.g. &amp;lt;code&amp;gt;wavpack infilename.wav -o outfilename.wv&amp;lt;/code&amp;gt; (on Windows, the &amp;lt;code&amp;gt;-o&amp;lt;/code&amp;gt; can be omitted).  Input file extension &amp;quot;.wav&amp;quot; can be dropped, and output &amp;quot;.wv&amp;quot; extension as well &amp;amp;ndash; but &amp;lt;code&amp;gt;wavpack foo&amp;lt;/code&amp;gt; will only find foo.wav, not e.g. foo.w64 &amp;amp;ndash; and not a &amp;quot;foo&amp;quot; with no file extension.  (Power users may take note that for &amp;lt;code&amp;gt;--raw-pcm&amp;lt;/code&amp;gt; input, the encoder will not look for foo.wav but rather for foo.raw.)&lt;br /&gt;
&lt;br /&gt;
The basic &#039;&#039;decoding&#039;&#039; usage &amp;amp;ndash; as will be accomplished by drag and drop &amp;amp;ndash; is &amp;lt;code&amp;gt;wvunpack filename.wv&amp;lt;/code&amp;gt;.  By default, wvunpack will restore the exact same file (metadata and file structure and all; it will know the original file name extension but not the rest of the file name &amp;amp;ndash; timestamp can be stored by using &amp;lt;code&amp;gt;-t&amp;lt;/code&amp;gt;.) If only audio was encoded (conversion from a &#039;&#039;player&#039;&#039; would usually work this way), output defaults to filename.wav.  Output filename can be specified, and just like for the wavpack encoder, file extensions can be dropped; e.g., &amp;lt;code&amp;gt;wvunpack foo -o bar&amp;lt;/code&amp;gt; (or on Windows, dropping the &amp;lt;code&amp;gt;-o&amp;lt;/code&amp;gt;) will decode foo.wv to bar.&amp;lt;original file&#039;s extension&amp;gt;.  This is arguably advisable: wvunpack will not &#039;&#039;override output format&#039;&#039; by setting file extension.  E.g. if the input was a CAF file, &amp;lt;code&amp;gt;wvunpack foo -o bar.w64&amp;lt;/code&amp;gt; is still a CAF file, and the user has only managed to mislead themselves.  To force output format, see the [[#Decoding options]] paragraph.  &lt;br /&gt;
&lt;br /&gt;
=== Several input files ===&lt;br /&gt;
To give several filenames as input to wavpack/wvunpack, other than through wildcards, there are (for historical reasons) slight differences between the Windows version and the *n*xes: &lt;br /&gt;
Windows (requires WavPack 5.5.0): use the &amp;lt;code&amp;gt;--drop&amp;lt;/code&amp;gt; option as in the above example given by the developer.  It is intended for drag and drop (hence the name of the option) and will write the output to same directory as source.  However it can also be used with command-line:  &amp;lt;code&amp;gt;wavpack --drop firstfile secondfile&amp;lt;/code&amp;gt; will compress firstfile.wav to firstfile.wv and secondfile.wav to secondfile.wv.  Note that without the &amp;lt;code&amp;gt;--drop&amp;lt;/code&amp;gt;, the command &amp;lt;code&amp;gt;wavpack firstfile secondfile&amp;lt;/code&amp;gt; will compress firstfile.wav to secondfile.wv, as &amp;lt;code&amp;gt;-o&amp;lt;/code&amp;gt; is optional on Windows &amp;amp;ndash; indeed that is why the &amp;lt;code&amp;gt;--drop&amp;lt;/code&amp;gt; had to be introduced.  An arbitrary number of files can be processed, e.g. &amp;lt;code&amp;gt;wvunpack --drop firstfile secondfile thirdfile fourthfile fifthfile&amp;lt;/code&amp;gt; will decode firstfile.wv, ..., fifthfile.wv.&lt;br /&gt;
For *n*x, one can omit the &amp;lt;code&amp;gt;--drop&amp;lt;/code&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
== Applying options ==&lt;br /&gt;
For tuning performance or other settings, one might want to apply command-line options.  Some external applications can apply options without the user having to type &amp;amp;ndash; e.g. encoding with [[foobar2000]], there are two compression sliders, one for the fast-to-extra-high and one for the &amp;lt;code&amp;gt;-x&amp;lt;/code&amp;gt; settings (see below) &amp;amp;ndash; but for command-line one will have to type them, and also in the Windows GUI.  Options can be concatenated for short, like for example writing &amp;lt;code&amp;gt;-hh -x2 -m -v -y&amp;lt;/code&amp;gt; as &amp;lt;code&amp;gt;-hhx2mvy&amp;lt;/code&amp;gt;.  &lt;br /&gt;
&lt;br /&gt;
The user should beware that the wavpack encoder and the wvunpack decoder (and wvtag/wvgain) have to &amp;quot;re-use letters&amp;quot;.  While some do the same in the wvunpack and wavpack (like &amp;lt;code&amp;gt;-d&amp;lt;/code&amp;gt; for delete input file, &amp;lt;code&amp;gt;-y&amp;lt;/code&amp;gt; for &amp;quot;yes to all&amp;quot;, &amp;lt;code&amp;gt;-t&amp;lt;/code&amp;gt; to preserve timestamp, and &amp;lt;code&amp;gt;-l&amp;lt;/code&amp;gt; for (Windows only) &amp;quot;run with low priority&amp;quot;) and others cover the same purpose in both executables (like &amp;lt;code&amp;gt;-m&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;-v&amp;lt;/code&amp;gt;), the user may be warned that certain letters do not.  E.g. &amp;lt;code&amp;gt;-b&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;-c&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;-n&amp;lt;/code&amp;gt; cover completely urelated functions upon decoding vs upon encoding.  &lt;br /&gt;
&lt;br /&gt;
5.7.0 introduces multi-threading options for both encoding and decoding, invoked with &amp;lt;code&amp;gt;--threads=&amp;lt;number 1 to 12&amp;gt;&amp;lt;/code&amp;gt;, or simply &amp;lt;code&amp;gt;--threads&amp;lt;/code&amp;gt; to let WavPack choose.  Multithreading does not reduce overall CPU load, but unless the CPU is already working at max, it will do one or a few files in fewer seconds; thus it is invoked by default for the CoolEdit plugin.  For encoding, it leads to slightly different files, with usually very small size impact.&lt;br /&gt;
&lt;br /&gt;
=== Encoding options (lossless) ===&lt;br /&gt;
Encoding using &amp;lt;code&amp;gt;-hxm&amp;lt;/code&amp;gt; seems a sensible trade-off between compression and CPU load.  Some selected options are described as follows; for an exhaustive refence, see the manual (online, or included as wavpack_doc.html in the distribution).&lt;br /&gt;
* Compression.  WavPack has four compression modes that affect compression as well as encoding &#039;&#039;and&#039;&#039; decoding time: fast (&amp;lt;code&amp;gt;-f&amp;lt;/code&amp;gt;), default, high (&amp;lt;code&amp;gt;-h&amp;lt;/code&amp;gt;) and very high (&amp;lt;code&amp;gt;-hh&amp;lt;/code&amp;gt;).  The CPU load of &amp;lt;code&amp;gt;-hh&amp;lt;/code&amp;gt; is measured to around twice that of &amp;lt;code&amp;gt;-f&amp;lt;/code&amp;gt; (and could in the early 2000s be too heavy for portable players, although it does decode faster than any Monkey&#039;s).  On top these modes, the optional extra processing &amp;lt;code&amp;gt;-x1&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;-x6&amp;lt;/code&amp;gt; settings will apply extra compression effort that does not increase &#039;&#039;decoding&#039;&#039; CPU load. &amp;lt;code&amp;gt;-x&amp;lt;/code&amp;gt; without number is synonymous to &amp;lt;code&amp;gt;-x1&amp;lt;/code&amp;gt;, which is often recommended (in all modes, fast/normal/high/extra high).  The official manual calls &amp;lt;code&amp;gt;-x4&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;-x6&amp;lt;/code&amp;gt; &amp;quot;extremely slow&amp;quot;, but the size gains might be significant for high resolution audio in particular (van Beurden&#039;s revision 5, testing &amp;lt;code&amp;gt;-x4&amp;lt;/code&amp;gt;).  &lt;br /&gt;
** 5.5.0 introduces optional switches for the default compression: &amp;lt;code&amp;gt;-g&amp;lt;/code&amp;gt; for normal mode and &amp;lt;code&amp;gt;-x0&amp;lt;/code&amp;gt; for &amp;quot;no &amp;lt;code&amp;gt;-x&amp;lt;/code&amp;gt;&amp;quot;.  These are redundant for basic use, but can be used to switch off options already given (e.g. in renamed executables, or custom builds): &amp;lt;code&amp;gt;-x6 -x0&amp;lt;/code&amp;gt; will switch off the extra processing, and &amp;lt;code&amp;gt;-h -f -g&amp;lt;/code&amp;gt; will encode as normal, whereas previous versions would abort with an error.&lt;br /&gt;
** With DSD files, there are only two compression settings, normal and high; the option &amp;lt;code&amp;gt;-f&amp;lt;/code&amp;gt; will select normal, &amp;lt;code&amp;gt;-h&amp;lt;/code&amp;gt;/&amp;lt;code&amp;gt;-hh&amp;lt;/code&amp;gt; will both select high, and the &amp;lt;code&amp;gt;-x&amp;lt;/code&amp;gt; switches are silently ignored. &lt;br /&gt;
* Guarding against errors upon encoding: The &amp;quot;&amp;lt;code&amp;gt;-m&amp;lt;/code&amp;gt;&amp;quot; switch will compute an audio MD5 sum (like FLAC does by default) and store it for later verification.  The &amp;quot;&amp;lt;code&amp;gt;-v&amp;lt;/code&amp;gt;&amp;quot; switch will verify by decoding the file after it has been written to disk&amp;lt;ref&amp;gt;[https://hydrogenaud.io/index.php?topic=121714.msg1008108#msg1008108 HA forum comment:] verification checks the written file after closing and reopening&amp;lt;/ref&amp;gt;. &amp;lt;code&amp;gt;-vm&amp;lt;/code&amp;gt; will do both &amp;amp;ndash; that is, calculate the MD5s to verify, and store it.  Using the corresponding switches in wvunpack will check without producing output file, however wvunpack also has a faster corruption check for WavPack 5-encoded files: &amp;lt;code&amp;gt;-vv&amp;lt;/code&amp;gt;.&lt;br /&gt;
* &amp;lt;code&amp;gt;--import-id3&amp;lt;/code&amp;gt; will import ID3v2.3/2.4 tags present in the source file &amp;amp;ndash; typically in Sony DSF files &amp;amp;ndash; and convert them to WavPack&#039;s preferred APE tags.  (Not all tags are supported, but the full tags chunk will be kept for restoring the original file.)  By default, importing is limited to 1 MB; for more, use &amp;lt;code&amp;gt;--allow-huge-tags&amp;lt;/code&amp;gt;.  Same option works in wvtag; indeed, one can encode first and then afterwards &amp;quot;import&amp;quot; the tags from the WavPack file using &amp;lt;code&amp;gt;wvtag --import-id3 wavpackfile.wv&amp;lt;/code&amp;gt;; this provided that these data have not been deleted by the following &amp;lt;code&amp;gt;-r&amp;lt;/code&amp;gt; option: &lt;br /&gt;
* &amp;lt;code&amp;gt;-r&amp;lt;/code&amp;gt;: remove non-audio chunks.  By default, WavPack will store these in the .wv file for later bit-by-bit restoration of everything, not only the audio. Use &amp;lt;code&amp;gt;-r&amp;lt;/code&amp;gt; to throw them away and encode audio only &amp;amp;ndash; like encoding through most players appear to do. &lt;br /&gt;
* &amp;lt;code&amp;gt;-t&amp;lt;/code&amp;gt;: copy input file&#039;s time stamp.  (To restore the file with the original time stamp, use &amp;lt;code&amp;gt;-t&amp;lt;/code&amp;gt; both when encoding and when decoding.)&lt;br /&gt;
* &amp;lt;code&amp;gt;--pause&amp;lt;/code&amp;gt;: (Windows only!) waits for keypress at the end.  Useful for reading output before exit when calling wavpack/wvunpack in a separate window (which both drag-and-drop the Windows front-end do).&lt;br /&gt;
* &amp;lt;code&amp;gt;-y&amp;lt;/code&amp;gt;: &amp;quot;yes&amp;quot; to everything.  Use with caution, will overwrite.  From 5.5.0 there is also a &amp;lt;code&amp;gt;--no-overwrite&amp;lt;/code&amp;gt; that will skip instead of asking to overwrite.&lt;br /&gt;
* &amp;lt;code&amp;gt;-d&amp;lt;/code&amp;gt;: delete source file upon successful completion.  Again, use with caution. &lt;br /&gt;
* &amp;lt;code&amp;gt;-l&amp;lt;/code&amp;gt; will force WavPack to run at low priority (Windows only)&lt;br /&gt;
* &amp;lt;code&amp;gt;-c&amp;lt;/code&amp;gt;: this is for hybrid lossless, see below. &lt;br /&gt;
&lt;br /&gt;
WavPack can recompress .wv files in place (using a temporary file until done).  For example, &amp;lt;code&amp;gt;wavpack -hx4mvy wavpackfile.wv&amp;lt;/code&amp;gt; will compress wavpackfile.wv in high mode using &amp;lt;code&amp;gt;-x4&amp;lt;/code&amp;gt; extra processing, writing everything (and an audio MD5 checksum) to a temporary file with tags transferred; close and then re-open the temp file to re-read for verification &amp;amp;ndash; and only once verified, replace the old wavpackfile.wv. &amp;lt;code&amp;gt;wavpack -hx4rlmvy wavpackfile.wv&amp;lt;/code&amp;gt; will also run with low priority (assuming the Windows platform), and will discard non-audio chunks &amp;amp;ndash; that is, the ones used to restore the original file&#039;s metadata; the .wv file&#039;s APE tags will still be copied.  Some operations do require recompression even if the user would not demand it; For example, wavpack cannot add MD5 sum to a .wv file without recompressing it. Also, if the user wants to discard the original file&#039;s headers/footers, that can be done upon decompression or recompression &amp;amp;ndash; but not by simply removing them from the .wv file. &lt;br /&gt;
There is no out-of-the-box facility to recompress based on how heavy the original file was compressed, or to keep the smallest file. &lt;br /&gt;
&lt;br /&gt;
=== (Incomplete:) hybrid lossless &amp;amp; lossy encoding ===&lt;br /&gt;
(Needs to be expanded. Notes: DSD can currently not be hybrid-encoded and floating-point files should not be.  The correction file will be omitted by a lot of applications/players, including VLC, mplayer and ffmpeg; thus, using ffmpeg or ffmpeg-based players to convert/play hybrid-encoded WavPack will be lossy. For WavPack in Matroska, there doesn&#039;t seem to be any player that will play both the lossy stream and the correction stream, although mkvmerge/mkvextract will import/extract both streams. foobar2000 can play hybrid lossless .wv+.wvc, but will omit a Matroska-encapsulated correction stream.)&lt;br /&gt;
&lt;br /&gt;
Basic use: the &amp;lt;code&amp;gt;-b&amp;lt;/code&amp;gt; switch &amp;amp;ndash; and for losslessness, use &amp;lt;code&amp;gt;-c&amp;lt;/code&amp;gt; to create a correction file. &lt;br /&gt;
A numerical argument for quality is mandatory: if &amp;lt; 24 it will signify &#039;&#039;bits per sample&#039;&#039; and if &amp;gt; 24 it will signify &#039;&#039;kbit/second&#039;&#039;. Decimal separator is . even if your locale uses the comma. &lt;br /&gt;
For example, &amp;lt;code&amp;gt;wavpack -b12.5 filename&amp;lt;/code&amp;gt; will create filename.wv of bit rate 12.5 bits per sample.  &lt;br /&gt;
For an example that creates filename.wv at at most 234.56 kilobits per second and a correction file filename.wvc, the following commands will work:&lt;br /&gt;
* In all versions, &amp;lt;code&amp;gt;wavpack -b234.56 -c filename&amp;lt;/code&amp;gt;. Or equivalently &amp;lt;code&amp;gt;wavpack -cb234.56 filename&amp;lt;/code&amp;gt;&lt;br /&gt;
* From 5.70, also &amp;lt;code&amp;gt;wavpack -c234.56 filename&amp;lt;/code&amp;gt; will do the same.  Thus, a user can avoid the &amp;quot;&amp;lt;code&amp;gt;b&amp;lt;code&amp;gt;&amp;quot; altogether, eliminating the risk of loss from forgetting the &amp;quot;&amp;lt;code&amp;gt;c&amp;lt;code&amp;gt;&amp;quot;. &lt;br /&gt;
More options can be added, like &amp;lt;code&amp;gt;wavpack -cb234.56 -mhx filename&amp;lt;/code&amp;gt; to compress in high mode with extra processing and stores the (&#039;&#039;original&#039;&#039; PCM&#039;s) MD5 sum.  &lt;br /&gt;
When filename.wv and filename.wvc are both present, the original file will be restored completely by decoding the usual way by &amp;lt;code&amp;gt;wvunpack filename&amp;lt;/code&amp;gt; (or &amp;lt;code&amp;gt;wvunpack filename.wv&amp;lt;/code&amp;gt;, but not &amp;lt;code&amp;gt;wvunpack filename.wvc&amp;lt;/code&amp;gt;).  Playback of the .wv+.wvc is also lossless provided the player application supports correction files (like foobar2000, but few do). &lt;br /&gt;
&amp;lt;code&amp;gt;filename.wv&amp;lt;/code&amp;gt; can be copied to a different location without compression file and played in the same way as if it was encoded as lossy in the first place; the decoder will only look in the same path and for same file name except with .wvc extension. &lt;br /&gt;
&lt;br /&gt;
If a high enough lossy quality is specified, it is possible that the file can losslessly contain the entire signal.  If so, WavPack will report at the end of the encoding process &amp;amp;ndash; but that information is not stored in the file.  It can be inferred later from the small .wvc file, and if that is lost: if &amp;lt;code&amp;gt;-m&amp;lt;/code&amp;gt; was used upon encoding.&lt;br /&gt;
WavPack will refuse to recompress lossy-generated .wv to &amp;quot;lossless .wv&amp;quot; as that would make a false pretense of being a lossless file.  (That goes even in the &amp;quot;that information is not stored in the file&amp;quot; case just mentioned.)  If a lossless hybrid with correction file is recompressed, the default is to create a single-file lossless .wv; from 5.7.0, the old .wvc file will then be removed (as it does no longer belong to any .wv file), but earlier version would need to use the delete switch.&lt;br /&gt;
&lt;br /&gt;
Advanced use: The encoder has several options to tune lossy quality through e.g. noise shaping. &lt;br /&gt;
&lt;br /&gt;
=== Decoding options ===&lt;br /&gt;
In addition to the basic usage above (drag and drop or &amp;lt;code&amp;gt;wvunpack filename.wv&amp;lt;/code&amp;gt;), the wvunpack executable offers several options.  For use with the Windows front-end or drag and drop, the Windows-only &amp;lt;code&amp;gt;--pause&amp;lt;/code&amp;gt; (waits for keypress at the end, like for wavpack.exe) is essential to read the output report.  Also Windows-only options like &amp;lt;code&amp;gt;--drop&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;-l&amp;lt;/code&amp;gt; work as for wavpack.exe, and so do &amp;lt;code&amp;gt;-d&amp;lt;/code&amp;gt; (use with caution!) and &amp;lt;code&amp;gt;-y&amp;lt;/code&amp;gt; (ditto!) as well as &amp;lt;code&amp;gt;-t&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
* Output &#039;&#039;filename&#039;&#039; can be set with &amp;lt;code&amp;gt;wvunpack infilename.wv -o outfilename &amp;lt;/code&amp;gt; (the &amp;lt;code&amp;gt;-o&amp;lt;/code&amp;gt; being superfluous on Windows, where &amp;amp;ndash; in the absence of &amp;lt;code&amp;gt;--drop&amp;lt;/code&amp;gt; &amp;amp;ndash; the second filename will be assumed to be output name).  Then wvunpack will affix the file extension of the original file (say, outfilename.wav if the wavpacked file was somefilename.wav).  The wavpack encoder detects the file type from content, and so wvunpack will not &amp;quot;fix misleading extensions&amp;quot; automatically; the user can provide a giving full output filename with extension, but note that this will override the &#039;&#039;name&#039;&#039; only but not the &#039;&#039;type&#039;&#039;.  To make sure that -o out.aif indeed produces an AIFF, separate switches have to be employed. &lt;br /&gt;
* To force output &#039;&#039;file format,&#039;&#039; one needs to apply options to wvunpack.  The following are for PCM output: &amp;lt;code&amp;gt;--raw-pcm&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;--wav&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;--w64&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;--caf-be&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;--caf-le&amp;lt;/code&amp;gt;, and from version 5.6.0 on also &amp;lt;code&amp;gt;--aif&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;--aif-le&amp;lt;/code&amp;gt;.  &lt;br /&gt;
** These will delete non-audio chunks and replace them with a fresh file header: there is no option to &amp;quot;unpack to WAVE and restore the original headers if the original file was WAVE&amp;quot;.   &amp;lt;code&amp;gt;wvunpack --wav&amp;lt;/code&amp;gt; will select RF64 if (and only if) exceeding WAVE&#039;s 4 GB limit, and wvunpack will select old AIFF over AIFF-C if the audio data permit it.&lt;br /&gt;
** For DSD, those format switches will also force a &amp;amp;ndash; necessarily lossy &amp;amp;ndash; conversion to PCM.  To switch losslessly &#039;&#039;between&#039;&#039; DSD formats, there are also &amp;lt;code&amp;gt;--dsf&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;--dff&amp;lt;/code&amp;gt; (the latter being synonymous to &amp;lt;code&amp;gt;--dsdiff&amp;lt;/code&amp;gt;) which again delete non-audio chunks.  Note that WavPack cannot force any (also necessarily lossy) conversion &#039;&#039;to&#039;&#039; DSD, having no DSD encoder.&lt;br /&gt;
** &amp;lt;code&amp;gt;--raw&amp;lt;/code&amp;gt; outputs both PCM and DSD as headerless streams (lossless for both; &amp;lt;code&amp;gt;-r&amp;lt;/code&amp;gt; is synonymous; beware that this is not precisely the same as the same letter switch upon encoding).&lt;br /&gt;
&lt;br /&gt;
In addition to decimating DSD for conversion to PCM, there are other options where power users can utilize certain &#039;&#039;lossy&#039;&#039; operations by wvunpack, e.g. normalizing floating-point files (recommended before conversion to integer), dropping correction files from hybrid encodes &amp;amp;ndash; and &amp;lt;code&amp;gt;--skip&amp;lt;/code&amp;gt; and/or &amp;lt;code&amp;gt;--until&amp;lt;/code&amp;gt; to decode only a segment of the file.  See the documentation.  &lt;br /&gt;
Other options include &amp;lt;code&amp;gt;-b&amp;lt;/code&amp;gt; to &amp;quot;blindly&amp;quot; decode until end disregarding errors and corruption (potentially useful to save as much as possible from a destroyed file).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;wvunpack -m&amp;lt;/code&amp;gt; will decode with MD5 sum calculation.  If the .wv file had an MD5 sum stored, it will also be displayed for comparison. However, &amp;lt;code&amp;gt;-m&amp;lt;/code&amp;gt; will not give an error if they don&#039;t match (and if the .wv is lossy without correction file, they won&#039;t: the MD5 stored is that of the original). &lt;br /&gt;
&lt;br /&gt;
wvunpack is also the utility to display information from .wv files even when it does not involve decoding or file output, see the [[#Other file handling]] subsection.  Inter alia, &amp;lt;code&amp;gt; -s&amp;lt;/code&amp;gt; will correctly report the input file &#039;&#039;type&#039;&#039; even if it had a misleading extension (like a .wav extension disguising an AIFF file). &lt;br /&gt;
&lt;br /&gt;
== &amp;lt;span id=&amp;quot;Other file handling&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Other file handling (incomplete) ==&lt;br /&gt;
The WavPack distribution includes wvunpack, wvtag and wvgain.  &lt;br /&gt;
&lt;br /&gt;
=== File information with wvunpack (without decoding to file) === &lt;br /&gt;
wvunpack can get information about WavPack files without outputting any uncompressed audio file:&lt;br /&gt;
* &amp;lt;code&amp;gt;-vv&amp;lt;/code&amp;gt;: Quick verify without decoding (WavPack 5 files only; from 5.5.0 there is also a more verbose &amp;lt;code&amp;gt;-vvv&amp;lt;/code&amp;gt;).  Quick verify seems to be unavailable outside the official wvunpack; other applications which verify will fall back to the next item, &amp;lt;code&amp;gt;-v&amp;lt;/code&amp;gt;. &lt;br /&gt;
* &amp;lt;code&amp;gt;-vm&amp;lt;/code&amp;gt;: Decode and verify, but not write output file.  The &amp;quot;m&amp;quot; will compute the the MD5 sum of the decoded PCM and output it along with the .wv file&#039;s stored MD5, if such was present.  Note that the user has to check manually that they match.  A user who never uses &amp;lt;code&amp;gt;-m&amp;lt;/code&amp;gt; upon encoding can safely drop the &amp;lt;code&amp;gt;-m&amp;lt;/code&amp;gt; from wvunpack too.  Note that absent the &amp;quot;v&amp;quot;, &amp;lt;code&amp;gt;wvunpack -m&amp;lt;/code&amp;gt; will write output file &amp;amp;ndash; and that &amp;lt;code&amp;gt;wvunpack -mvv&amp;lt;/code&amp;gt; is not allowed, as MD5 calculation requires decoding.&lt;br /&gt;
* &amp;lt;code&amp;gt;-s&amp;lt;/code&amp;gt;/&amp;lt;code&amp;gt;-ss&amp;lt;/code&amp;gt;: &amp;lt;code&amp;gt;-s&amp;lt;/code&amp;gt; displays summary of the file, &amp;lt;code&amp;gt;-ss&amp;lt;/code&amp;gt; a long summary including tags. Also there is &amp;lt;code&amp;gt;-f&amp;lt;/code&amp;gt; for parseable output, see documentation.&lt;br /&gt;
* &amp;lt;code&amp;gt;-x&amp;lt;/code&amp;gt; FIELD: Shows tag, e.g. &amp;lt;code&amp;gt; -x comment &amp;lt;/code&amp;gt; shows the &amp;lt;comment&amp;gt; field.  &amp;lt;code&amp;gt;-c&amp;lt;/code&amp;gt; is synonymous to &amp;lt;code&amp;gt; -x cuesheet&amp;lt;/code&amp;gt;.   Also &amp;lt;code&amp;gt; wvtag -x &amp;lt;/code&amp;gt; resp. &amp;lt;code&amp;gt; wvtag -c &amp;lt;/code&amp;gt; do the same thing.  &amp;lt;code&amp;gt;-xx&amp;lt;/code&amp;gt; (same option for wvtag) can output to file (use &amp;lt;code&amp;gt;-n&amp;lt;/code&amp;gt; to avoid decoding) &amp;amp;ndash; see documentation.&lt;br /&gt;
&lt;br /&gt;
=== (To fill in:) Tagging (wvtag) and replaygain management (wvgain) ===&lt;br /&gt;
(... most of these options are available in HA&#039;s fave taggers/player? Except the following, maybe?) &lt;br /&gt;
&amp;lt;code&amp;gt;wvtag --import-id3 wavpackfile.wv&amp;lt;/code&amp;gt; will read and &amp;quot;import&amp;quot; ID3 tag stored in wavpackfile.wv&#039;s non-audio chunks; this will overwrite existing APEv2. Can also be used with &amp;lt;code&amp;gt;--allow-huge-tags&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== File formats, versions, decoding and transcoding support ==&lt;br /&gt;
Even if WavPack has expanded its feature set over the years, it has gone to lengths to maintain compatibility.  Old WavPack 4.x decoders can restore WavPack 5 files to several file types it cannot encode, but not DSD.  &lt;br /&gt;
The TL;DR is that unless one has an ancient portable device or even more ancient files, one will do just fine with the most recent WavPack, and if not then WavPack 4.80 will suffice &amp;amp;ndash; it is still available and can convert ancient WavPack version 3 files.  &lt;br /&gt;
Over the years, one might have encountered WavPack files in (at least) the following variants: &lt;br /&gt;
&lt;br /&gt;
* .wv (current!) is the file extension used for file formats 4 and 5. Can in most cases be decoded by &amp;quot;anything&amp;quot; (even if the source was e.g. AIFF, which old WavPack cannot read but still restore).  Exceptions:&lt;br /&gt;
** WavPack 4 cannot play or restore compressed DSD files (that is new to WavPack 5).  Although FFmpeg&#039;s wavpack implementation is version 4-based, DSD and DSD-in-WavPack can still be &#039;&#039;played&#039;&#039; with an FFmpeg-based player. (But not restored, as FFmpeg has no DSD pipeline, so this is for playback or lossy conversion.)&lt;br /&gt;
** FFmpeg creates non-compliant files for 17 channels and up.  WavPack 5.7.0 can decode and repair (FFmpeg itself cannot!)&lt;br /&gt;
** Mono signals encoded to WavPack 5 might require WavPack version 4.3 (from 2005) or later to play.  It is doubtful that there are hardware players around using older WavPack; should incompatibilities occur, the easiest is likely then to recompress using 4.80. &lt;br /&gt;
** To older WavPack versions than 5.7.0, encodes with the new &amp;lt;code&amp;gt;--optimize-int32&amp;lt;/code&amp;gt; will be viewed as &amp;quot;lossy without correction file&amp;quot;.  They are safe to play (and will apparently only introduce loss from the 24th bit, -138 dB down), but only 5.7.0 can see the lossless version and restore the file completely.&lt;br /&gt;
* .wvc, correction files when hybrid lossless encoding is chosen.  Honoured by official WavPack, but users might note that wvpack/wvunpack should be fed the .wv file and will err out if pointed at merely the .wvc file.&lt;br /&gt;
* .exe (deprecated): WavPack 4 could compress to Windows self-extracting file (like OptimFROG also offers).  This feature is discontinued in WavPack 5.  Newer versions of the decoder can still play and decode them &amp;amp;ndash; indeed, merely renaming them from .exe to .wv will make them play in players that use the official WavPack library (e.g. foobar2000 will, but VLC will not), and they can be tagged.&lt;br /&gt;
** How to recompress with tag transfer: Rename to .wv and run the recompression.&lt;br /&gt;
** Similar goes for the 3rd party hack &amp;quot;.iso.wv&amp;quot; which could also be mentioned, and also if a .wv file is stored (uncompressed!) in a .zip container renamed .zip.wv: like for self-extracting files, the official decoder might look further into a file to find WavPack headers, and could find them if the .wv file is put first in an uncompressed container.  Circa 2010 some developer would use the .iso format to contain single WavPack file, and then auxiliary files like rip logs and artwork; renaming it from .iso to .iso.wv would player applications actually play it. Due to efforts from a few enthusiasts when this hack was introduced, iso.wv is mentioned in several players&#039; official and unofficial feature lists, including Wikipedia pages.  These files can be recompressed like the self-extracting files can &amp;amp;ndash; this will however discard &#039;&#039;everything else&#039;&#039; than the WavPack file.&lt;br /&gt;
* .wav (pre-2004, long deprecated).  WavPack 3 and below used the .wav extension, which explains the error message &amp;quot;this legacy WavPack file is deprecated, use version 4.80.0 to transcode&amp;quot; if a user tries to wv&#039;&#039;un&#039;&#039;pack a WAVE file. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Using WavPack with 3rd party tools (FFmpeg &amp;amp; more) =&lt;br /&gt;
&lt;br /&gt;
Some applications may behave slightly surprising.  FFmpeg has its own WavPack implementation and has a few known peculiarities, some which are expected to be fixed and others of unknown status.  Android users may need to use the player application&#039;s folder to get WavPack files recognized.  The tl;dr are that as long as it plays, it plays &amp;amp;ndash; but to safeguard against loss of information (e.g. upon conversion), use the official tools.  In particular, hybrid lossless correction files are usually not honoured by 3rd party tools. (A player that &#039;&#039;does&#039;&#039;, foobar2000, uses the official WavPack libraries.)&lt;br /&gt;
&lt;br /&gt;
== Splitting WavPack files by cuesheet ==&lt;br /&gt;
WavPack is a format with good support for storing an album as one .wv file with embedded (or external) cuesheets, but splitting into tracks by way of cuesheets is not straightforward without external tools.  Audio players like [[foobar2000]] which support cue sheets can also split upon conversion.  Other external applications that will do this splitting &amp;amp;ndash; also with more variations of the cue sheet format(s) supported &amp;amp;ndash; include&lt;br /&gt;
* [[CUETools]] can if it is CDDA (44.1 kHz 16-bit stereo), and can re-encode back to WavPack.  &lt;br /&gt;
* refalac can decode &amp;amp; split by cuesheets with the appropriate (official) WavPack library DLL file&amp;lt;ref&amp;gt;[https://github.com/nu774/qaac/wiki/refalac-usage refalac usage] includes how to split by cuesheet&amp;lt;/ref&amp;gt;, outputting WAVE or ALAC-in-MP4.&lt;br /&gt;
Both refalac, CUETools and foobar2000 use the official WavPack tools for the decoding(/encoding). &lt;br /&gt;
&lt;br /&gt;
== &amp;lt;span id=&amp;quot;FFmpeg&#039;s WavPack implementation&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;FFmpeg&#039;s WavPack implementation: differences and quirks ==&lt;br /&gt;
FFmpeg can encode/decode to/from WavPack &amp;amp;ndash; which may be seen as attractive from how it also can transfer metadata in one go &amp;amp;ndash; but with some limitations and maybe unfamiliar behaviour.  &amp;lt;br/&amp;gt; FFmpeg has had some bugs which may cause audio corruption.  Although some fixes were applied with FFmpeg release 6.1, users might beware that players and converters that employ FFmpeg as a decoding engine may or may not update that quickly. &lt;br /&gt;
* [Still not fixed as of ffmpeg 6.1] Encoding, multi-channel only: Above 16 channels, when the WavPack 5 format is required, FFmpeg will still attempt encoding to WavPack version 4, but will produce non-compliant files &amp;amp;ndash; that ffmpeg itself might not be able to read.&amp;lt;br/&amp;gt;Official WavPack 5.7.0 can repair those files, at least the &amp;quot;known&amp;quot; defects. &lt;br /&gt;
* [Fixed in ffmpeg 6.1] Encoding, 8-bit PCM only: FFmpeg (up to 6.0) will produce broken files with static noise.  No known attempt at recovering them.&lt;br /&gt;
* [Fixed in ffmpeg 6.1] Decoding, any format but rare: A bug FFmpeg&#039;s WavPack decoder, discovered in August 2022&amp;lt;ref&amp;gt;[https://hydrogenaud.io/index.php/topic,122810 HA forum thread on the ffmpeg bug in .wv decoding]&amp;lt;/ref&amp;gt;, will cause dropouts in certain files. The bug is &#039;&#039;&amp;quot;rare&amp;quot;&#039;&#039; in that no such file was discovered in several years.  &lt;br /&gt;
&lt;br /&gt;
Further limitations in FFmpeg&#039;s implementation:&lt;br /&gt;
* No MD5 sum and no verification &amp;amp;ndash; although it is possible for power users to set up a command-line to compute audio-only checksums of input, decode output to checksum and compare.  FFmpeg will also only write WavPack 4 files, hence no &#039;&#039;fast verification&#039;&#039; of the bitstream.  (FFmpeg can however decode WavPack 5 files, including converting DSD files to PCM.)&lt;br /&gt;
* As a general rule &amp;amp;ndash; not specific to .wv &amp;amp;ndash; FFmpeg will &#039;&#039;not&#039;&#039; honour the input bit depth: for example when outputting WAVE/AIFF, it will default to 16 bits regardless of input bit depth.  This default behaviour is not lossless when input bit depth is &amp;gt; 16 bits, and could even induce clipping (with no warning!) if the source is a 32-bit float.  To force lossless decoding of 24-bit/32-bit files (WavPack/FLAC/ALAC/TAK/uncompressed) to WAVE/AIFF, the user must extract the bit depth information and specify the respective 24-bit/32-bit output format using ffmpeg&#039;s command-line syntax. &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;For an extreme example: &amp;lt;code&amp;gt;FFmpeg -i DSDfile.dsf outfile.wv&amp;lt;/code&amp;gt; will not store the DSD &amp;amp;ndash; rather it will convert to floating-point PCM which is then compressed, typically making for several times the file size, with no warning that it is lossy.&amp;lt;br/&amp;gt;&lt;br /&gt;
The tl;dr for users who do not have this at their fingertips, is to use other (= official!) decoders when losslessness is desired.&lt;br /&gt;
* Correction files ignored, leading to lossy playback/conversion of hybrid-encoded WavPack files with when ffmpeg or ffmpeg-based players are used. &lt;br /&gt;
* Loss of information that is not directly audio-related: FFmpeg has no ambition of preserving file structure and (R)IFF chunks, so you will not get the non-audio chunks of the files back when using ffmpeg to encode &amp;amp;ndash; however it &#039;&#039;will&#039;&#039; by default transfer metadata it supports. &lt;br /&gt;
* FFmpeg will sometimes &amp;amp;ndash; depending on input format &amp;amp;ndash; output 32-bit WavPack files and lose the information that the source was indeed only 24. Not all players support 32-bit files, and verifying that the operation (or an attempted downconversion to 24) was lossless is not straightforward as even fewer applications are willing to compare a 32-bit and a 24-bit file for differences. &amp;lt;br/&amp;gt;Also for files with bit depth not being 8/16/24/32 is lost; WAVE/AIFF/CAF can handle &amp;quot;17 bit&amp;quot; files by storing 24 and employing a flag to disregard the 7 LSBs, and ffmpeg will lose this flag even when encoding to / decoding from codecs which support it, WavPack and FLAC. &lt;br /&gt;
&lt;br /&gt;
FFmpeg&#039;s compression settings can be set with &amp;lt;code&amp;gt;-compression_level&amp;lt;/code&amp;gt; 0 to 8, which work different than the reference implementation. Like for ALAC compression, FFmpeg has chosen a &#039;&#039;default&#039;&#039; that prioritizes speed over size &amp;lt;ref&amp;gt;[https://hydrogenaud.io/index.php?topic=118278.msg976262#msg976262  HA forum comment comparing the compression presets]&amp;lt;/ref&amp;gt; &amp;amp;ndash; while on the other end, FFmpeg&#039;s WavPack encoder offers settings even slower than &amp;lt;code&amp;gt;-hhx6&amp;lt;/code&amp;gt;. FFmpeg version 7 does some multithreading, although not in the encoding process itself; apparently it offloads the &#039;&#039;input file reading&#039;&#039;, improving speed on single-file encoding.&lt;br /&gt;
FFmpeg multithreads decoding, and could be fast.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Software support (&amp;amp; hardware) =&lt;br /&gt;
The following list is unlikely to be complete, and the same goes for the lists https://www.wavpack.com/#Software and https://www.wavpack.com/#Hardware : In the age of Android-powered devices with ffmpeg-based playback, it is not feasible to list all players which can in one way or another play this or that format, nor to distinguish clearly between hardware players and software players.&lt;br /&gt;
&lt;br /&gt;
== Players ==&lt;br /&gt;
* [[foobar2000]] advanced freeware audio player plays/decodes WavPack out of the box on both Windows, MacOS, Android and iOS (Windows: supports encoding if wavpack.exe is installed, and redistributes the official wavpack.exe through its &amp;quot;Free encoder pack&amp;quot; addon for encoding.  With ReplayGain &amp;amp; cuesheets support.) Also [[Boom]] from the same author.&lt;br /&gt;
* [http://www.videolan.org/vlc/download-windows.html VLC] multiplatform media player&lt;br /&gt;
* [http://www.vuplayer.com/vuplayer.php VUPlayer] (official plugin, supports encoding)&lt;br /&gt;
* NullSoft [[Winamp]] (plugin with ReplayGain &amp;amp; Media Library support) and Winamp-compatible players&lt;br /&gt;
* [[Windows Media Player]] and other directshow-based players (MPC, TCMP, RadLight) (with [http://www.hydrogenaudio.org/forums/index.php?showtopic=103693 CoreWavPack] directshow filter)&lt;br /&gt;
* [http://cogosx.sourceforge.net/ Cog] Audio player for MacOS X.&lt;br /&gt;
* [https://wiki.jriver.com/index.php/WavPack JRiver Media Center]&lt;br /&gt;
* [[XMMS]] (with Kuniklo&#039;s plugin)&lt;br /&gt;
* [http://fondriest.frederic.free.fr/realisations/lamip/ LAMIP] (official plugin)&lt;br /&gt;
* [http://mpxplay.sourceforge.net/ MPXplay] for DOS!&lt;br /&gt;
* [http://aqualung.sourceforge.net/ Aqualung] for GNU/Linux&lt;br /&gt;
* Cowon [http://www.jetaudio.com/ JetAudio Player] and CD ripper&lt;br /&gt;
* [http://www.un4seen.com/ XMPlay] Plugin required (WavPack input plugin) and (bass library) to play &#039;.wv&#039; files&lt;br /&gt;
&lt;br /&gt;
== Converters, CD rippers etc. ==&lt;br /&gt;
For conversion (of &#039;&#039;audio&#039;&#039; only), one can use several of the &#039;&#039;players&#039;&#039; listed above, like Cowon JetAudio, foobar2000 and VUplayer &amp;amp;ndash; although some with limitations in the audio pipeline, like for example DSD handling. &amp;lt;br/&amp;gt;&lt;br /&gt;
More software that support conversion to or from WavPack include:&lt;br /&gt;
* Custom [http://www.wavpack.com/WavPack_frontend.zip WavPack frontend] (by Speekenbrink) for Windows.&lt;br /&gt;
* [http://www.dbpoweramp.com/ dBpowerAMP] Music Converter CD ripper/writer / Audio Player / (official addon)&lt;br /&gt;
* [[fre:ac]] multi-platform CD ripper/converter&lt;br /&gt;
* [[Exact Audio Copy]] CD Ripper (guide at this wiki&amp;lt;ref&amp;gt;[[EAC_and_WavPack | HA Wiki: Configuring EAC and WavPack]]&amp;lt;/ref&amp;gt;)&lt;br /&gt;
* [http://www.nero.com/eng/ Nero]&lt;br /&gt;
* [http://cdexos.sourceforge.net CDex] CD ripper&lt;br /&gt;
* [https://download.cnet.com/Ease-Audio-Converter/3000-2140_4-10390634.html Ease Audio Converter] (Discontinued; shareware / NOT Freeware)&lt;br /&gt;
* [http://media.io/ Media.io Online Audio Converter]&lt;br /&gt;
* [http://www.logipole.com/index.html Konvertor]&lt;br /&gt;
* [http://cuetools.net CUETools] converter and AccurateRip/CTDB checker&lt;br /&gt;
* [https://github.com/nu774/qaac refalac] (user must copy the wavpackdll.dll file to the appropriate directory)&lt;br /&gt;
&lt;br /&gt;
== Taggers and audio info utilities ==&lt;br /&gt;
* [http://www.mp3tag.de/en/index.html Mp3tag] Universal Tag Editor&lt;br /&gt;
* [https://picard.musicbrainz.org/ MusicBrainz Picard] Tagger with audio identification &lt;br /&gt;
* [http://www.jtclipper.eu/thegodfather/ The GodFather] Tagger / Music manager&lt;br /&gt;
* [[Tag.exe|Case&#039;s Tag]] command line tagger&lt;br /&gt;
* [https://mediaarea.net/ MediaInfo]&lt;br /&gt;
* [http://mr-questionman.en.uptodown.com/windows Mr. QuestionMan]&lt;br /&gt;
&lt;br /&gt;
== Audio editors and other tools ==&lt;br /&gt;
* [[Audacity]] has WavPack support (using official libraries) from version 3.2.0 (2022)&amp;lt;ref&amp;gt;[https://github.com/audacity/audacity/releases/tag/Audacity-3.2.0 Audacity 3.2.0 release notes]&amp;lt;/ref&amp;gt;.&lt;br /&gt;
* [[Adobe Audition]] and Cool Edit (filter with 32-bit floats &amp;amp; extra info save support)&lt;br /&gt;
* [https://www.reaper.fm/about.php#technical Reaper] DAW software for Windows / MacOS&lt;br /&gt;
* [https://sourceforge.net/projects/sox/ SoX] can read and write WavPack files.  (Write: limited to &amp;lt;code&amp;gt;-hh&amp;lt;/code&amp;gt; compression, not file format version 5.)&lt;br /&gt;
* [http://www.bunkus.org/videotools/mkvtoolnix/ mkvtoolnix] &amp;amp;ndash; tool to multiplex streams in Matroska container files.&lt;br /&gt;
&#039;&#039;It&#039;s worth mentioning the [[Matroska]] guys decided to concentrate on WavPack as the lossless compressor of choice for their container. Quite an honor... :-)&#039;&#039;&lt;br /&gt;
* [https://support.pkware.com/display/PKSZLU/PKZIP+Toolkit+for+Windows PKWare]&#039;s .zip format compresses audio by WavPack since version 6.3.2 (2007).  Beware that there is no expectation that other decompression software handles these zip files; even if PKWare co-designed the format and PKZip was the original .zip implementation, their subsequent compression methods are outside the ISO/IEC standardized zip format specification. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Links =&lt;br /&gt;
* [http://www.wavpack.com/ Official website]&lt;br /&gt;
* [https://github.com/dbry/WavPack Github repository]&lt;br /&gt;
* [http://www.rarewares.org/lossless.html Unofficial compiles] at RareWares. As of 2023: 5.50 for Windows and 4.32 multiplatform&lt;br /&gt;
* [https://en.wikipedia.org/wiki/WavPack WavPack at Wikipedia]&lt;br /&gt;
* [https://wiki.multimedia.cx/index.php/WavPack WavPack at Multimediawiki] (not updated with version 5)&lt;br /&gt;
* [[Lossless_comparison| HA Wiki&#039;s Lossless Codec Comparison]] originally by [[User:Rjamorim|Rjamorim]] &lt;br /&gt;
* An older (2005) performance comparison of lossless audio compressors {{webarchive|https://web.archive.org/web/20151027213336/http://members.home.nl/w.speek/comparison.htm|2015-10-27}} by Speek, using WavPack version 4.0 &lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{navbox audio codecs}}&lt;br /&gt;
[[Category:Codecs]]&lt;br /&gt;
[[Category:Lossless]]&lt;/div&gt;</summary>
		<author><name>Porcuswiki</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=Topic_Index&amp;diff=37803</id>
		<title>Topic Index</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=Topic_Index&amp;diff=37803"/>
		<updated>2024-04-08T17:42:33Z</updated>

		<summary type="html">&lt;p&gt;Porcuswiki: MPEG-4 ALS link and predecessors&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* For a more structured &#039;table of contents&#039;, use the &#039;&#039;&#039;[[Main Page#Categories|Categories List]]&#039;&#039;&#039;.&lt;br /&gt;
* Please see [http://www.hydrogenaudio.org/forums/index.php?showtopic=12979&amp;amp;st=25&amp;amp;p=247441&amp;amp;#entry247441 this thread] for a discussion of the future structure of this wiki.  If you have thoughts, comments, suggestions, etc., please join in this discussion.  In the meantime, please feel free to fill in gaps in the information below.&lt;br /&gt;
* See also [http://www.hydrogenaudio.org/forums/index.php?showtopic=28658 the style related discussion thread] in the forums.&lt;br /&gt;
&lt;br /&gt;
= General Information =&lt;br /&gt;
== General Guides ==&lt;br /&gt;
* [[Create a long-term archive]]&lt;br /&gt;
* [[Secure ripping|Secure Ripping]]&lt;br /&gt;
* [[Enabling DMA]]&lt;br /&gt;
* [[Choosing_the_best_codec.|Choosing the best codec]]&lt;br /&gt;
* [[Lossless_comparison|Lossless Comparison]]&lt;br /&gt;
&lt;br /&gt;
== EAC Guides == &lt;br /&gt;
* Configuring [[EAC Drive Configuration|EAC and CD-ROM Drives]] &lt;br /&gt;
* Configuring [[EAC and Lame]]&lt;br /&gt;
* Configuring [[EAC and AAC | EAC and Nero AAC]]&lt;br /&gt;
* Configuring [[EAC and Ogg Vorbis | EAC and Vorbis]]&lt;br /&gt;
* Configuring [[EAC and Musepack]] &lt;br /&gt;
* Configuring [[EAC and WavPack]]&lt;br /&gt;
* Configuring [[EAC and FLAC]]&lt;br /&gt;
* Configuring [[EAC and Monkey&#039;s Audio]]&lt;br /&gt;
* Configuring [[EAC and Cue Sheets]]&lt;br /&gt;
* Configuring EAC and [[REACT]]&lt;br /&gt;
&lt;br /&gt;
== CDex Guides ==&lt;br /&gt;
* Configuring [[CDex Drive Configuration|CDex and CD-ROM Drives]] &lt;br /&gt;
* Configuring [[CDex and FLAC]]&lt;br /&gt;
&lt;br /&gt;
== AAC Guides == &lt;br /&gt;
* [[AAC_FAQ|AAC FAQ]] frequently asked questions in reguard to AAC the latest industry standard.&lt;br /&gt;
* [[AAC encoders|AAC Encoders]] known AAC encoder/decoder implementations and configuring them (Apple Itunes, Nero AAC, etc)&lt;br /&gt;
* [[Linux and Nero AAC]] a short guide for configuring Nero AAC encoder to run under Linux.&lt;br /&gt;
&lt;br /&gt;
== Vorbis Guides ==&lt;br /&gt;
* [[Recommended_Ogg_Vorbis|Recommended encoders and settings for Vorbis]].&lt;br /&gt;
* [[Lancer|Ogg Vorbis Acceleration Project]] information reguarding optimized Vorbis binaries.&lt;br /&gt;
* [[OggDropXPd|OggDropXPd]] guide for encoding with John 33&#039;s popular drag-n-drop frontend.&lt;br /&gt;
* [[Compiling_aoTuV|Compiling AoTuV]] compiling the AoTuV binaries under Linux.&lt;br /&gt;
&lt;br /&gt;
= Audio Codecs =&lt;br /&gt;
== [[Lossy]] ==&lt;br /&gt;
* [[Advanced Audio Coding]] (AAC)&lt;br /&gt;
* [[AC3]]&lt;br /&gt;
* [[ATRAC3]]&lt;br /&gt;
* [[DTS]]&lt;br /&gt;
* [[MP2]]&lt;br /&gt;
* [[MP3]]&lt;br /&gt;
* [[Musepack]] (MPC, MP+)&lt;br /&gt;
* [[Opus]]&lt;br /&gt;
* (Ogg) [[Vorbis]]&lt;br /&gt;
* [[QDesign]]&lt;br /&gt;
* [[VQF]]&lt;br /&gt;
* [[Windows Media Audio]] (WMA)&lt;br /&gt;
&lt;br /&gt;
== [[Lossless]] ==&lt;br /&gt;
* [[ALAC|Apple Lossless]]&lt;br /&gt;
* [[DTS-HD|DTS Master Audio]] &lt;br /&gt;
* [[Free Lossless Audio Codec]] (FLAC)&lt;br /&gt;
* [[Lossless Audio]] (LA)&lt;br /&gt;
* [[Monkey&#039;s Audio]]&lt;br /&gt;
* [[MPEG-4 ALS|MPEG-4 ALS (Audio Lossless Coding) and predecessors]]&lt;br /&gt;
* [[OptimFROG]]&lt;br /&gt;
* [[Lossless comparison#RealAudio Lossless|RealAudio Lossless]]&lt;br /&gt;
* [[Shorten]]&lt;br /&gt;
* [[TTA|True Audio]]&lt;br /&gt;
* [[WavPack]]&lt;br /&gt;
* [[Windows Media Audio|WMA Lossless]]&lt;br /&gt;
&lt;br /&gt;
= [[Metadata]] (Tags) =&lt;br /&gt;
* [[APEv1]]&lt;br /&gt;
* [[APEv2]]&lt;br /&gt;
* [[ID3v1]]&lt;br /&gt;
* [[ID3v1.1]]&lt;br /&gt;
* [[ID3v2]]&lt;br /&gt;
* [[Vorbis Comment]]&lt;br /&gt;
&lt;br /&gt;
= Media Extractors =&lt;br /&gt;
== CD Extractors ==&lt;br /&gt;
* [[Audiograbber]] (Win32)&lt;br /&gt;
* [[CDex]] (Win32)&lt;br /&gt;
* [[cdparanoia]] (Posix)&lt;br /&gt;
* [[dBpowerAMP with AccurateRip]] (Win32)&lt;br /&gt;
* [[Exact_Audio_Copy|Exact Audio Copy]] (Win32)&lt;br /&gt;
* [[Grip]] (Posix) &lt;br /&gt;
* [[iTunes]] (Win32/Mac OS/X)&lt;br /&gt;
* [[MediaMonkey]] (Win32)&lt;br /&gt;
* [[Max]] (Mac OS/X)&lt;br /&gt;
* [[XLD]] (Mac OS/X) &lt;br /&gt;
* [[PlexTools]] (Win32)&lt;br /&gt;
* [[Rubyripper]] (Posix/Mac OS/X)&lt;br /&gt;
* [[Whipper]] (Posix)&lt;br /&gt;
&lt;br /&gt;
== DVD Extractors ==&lt;br /&gt;
* [http://www.dvddecrypter.org.uk/ DVD Decrypter] (Win32)&lt;br /&gt;
* DVD-A / CPPM Decrypter (Win32/Posix)&lt;br /&gt;
&lt;br /&gt;
= Media Players =&lt;br /&gt;
== Windows ==&lt;br /&gt;
* [[Apollo]]&lt;br /&gt;
* [[dBpowerAMP]]&lt;br /&gt;
* [[Foobar2000:Foobar2000|foobar2000]]&lt;br /&gt;
* [[iTunes]]&lt;br /&gt;
* [[MediaMonkey]]&lt;br /&gt;
* [[musikCube]]&lt;br /&gt;
* [[Quintessential Player]]&lt;br /&gt;
* [[VUplayer]]&lt;br /&gt;
* [[Winamp]]&lt;br /&gt;
* [[Windows Media Player]]&lt;br /&gt;
* [[wxMusik]]&lt;br /&gt;
* [[XMPlay]]&lt;br /&gt;
* [[WMPTSE]] (with WMP)&lt;br /&gt;
&lt;br /&gt;
== Linux/BSD ==&lt;br /&gt;
* [[Amarok]]&lt;br /&gt;
* [[BMP]]&lt;br /&gt;
* [[Clementine]]&lt;br /&gt;
* [[JuK]]&lt;br /&gt;
* [[LAMIP]]&lt;br /&gt;
* [[Muine]]&lt;br /&gt;
* [[Music Player Daemon (MPD)]]&lt;br /&gt;
* [[Quod Libet]]&lt;br /&gt;
* [[Rhythmbox]]&lt;br /&gt;
* [[wxMusik]]&lt;br /&gt;
* [[XMMS]]&lt;br /&gt;
&lt;br /&gt;
== Mac OS X (Non-BSD Specific) ==&lt;br /&gt;
* [[iTunes]]&lt;br /&gt;
* [[skiTunes]]&lt;br /&gt;
* [[Whamb]]&lt;br /&gt;
&lt;br /&gt;
== Other ==&lt;br /&gt;
* [[CL-Amp]] (BeOS)&lt;br /&gt;
&lt;br /&gt;
= Audio Editors =&lt;br /&gt;
== Windows ==&lt;br /&gt;
* [[Adobe Audition]] (previously known as &#039;&#039;Cool Edit&#039;&#039;)&lt;br /&gt;
* [[Audacity]]&lt;br /&gt;
* [[Goldwave]]&lt;br /&gt;
* [http://www.sonymediasoftware.com/products/soundforgefamily.asp Sony Sound Forge] (Previously released by Sonic Foundry)&lt;br /&gt;
&lt;br /&gt;
== Linux/BSD ==&lt;br /&gt;
* [[Ardour]] &lt;br /&gt;
* [[Audacity]]&lt;br /&gt;
* [[ReZound]]&lt;br /&gt;
&lt;br /&gt;
== Mac OS X (Non-BSD Specific) ==&lt;br /&gt;
* [[Ardour]] &lt;br /&gt;
* [[Audacity]]&lt;br /&gt;
&lt;br /&gt;
== Other ==&lt;br /&gt;
* [http://timidity.sourceforge.net/ Timidity++] (MIDI to PCM (WAV) converter)&amp;lt;br&amp;gt;Timidity++ synthesizes MIDI files (sequences) in real-time using Gravis UltraSound Soundfont patches (loosly based upon Wavetable Synthesis) to common digital audio file formats such as, WAV, AU, AIFF, Ogg Vorbis, FLAC, etc. Useful for those who want to bypass FM Synthesizers on their sound card&#039;s to hear MIDI sequence as it was intended to be heard.)&lt;br /&gt;
&lt;br /&gt;
= Testing Software =&lt;br /&gt;
== Subjective Perceptual ==&lt;br /&gt;
* [[ABC/HR]]&lt;br /&gt;
* Foobar2000 plus [[foobar2000:Components/ABX Comparator (foo_abx)|foo_abx]]&lt;br /&gt;
* [[PCABX]]&lt;br /&gt;
&lt;br /&gt;
== Objective ==&lt;br /&gt;
&amp;lt;font style=&amp;quot;color:green;&amp;quot;&amp;gt;&#039;&#039;Note: Might be good to put something here about the problems of quality comparisons using graphs, frequency sweeps, etc.&#039;&#039;&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* [[EAQUAL]]&lt;br /&gt;
* [[Rightmark_Audio_Analyzer|Rightmark Audio Analyzer]]&lt;br /&gt;
&lt;br /&gt;
= Audio Hardware =&lt;br /&gt;
== PC Audio ==&lt;br /&gt;
* [[Terratec EWX 24/96]] (PCI)&lt;br /&gt;
* [[M-Audio Audiophile 24/96]] (PCI) &lt;br /&gt;
* [[M-Audio Revolution 5.1]] (PCI)&lt;br /&gt;
* [[M-Audio Revolution 7.1]] (PCI)&lt;br /&gt;
* [[Chaintech AV-710]] (PCI)&lt;br /&gt;
* [[E-MU 0404 24/192]] (PCI)&lt;br /&gt;
* [[ASUS Xonar D1]] (PCI)&lt;br /&gt;
* [[ASUS Xonar D2/PM]] (PCI)&lt;br /&gt;
* [[ASUS Xonar DSX]] (PCIe)&lt;br /&gt;
&lt;br /&gt;
== Notebook Audio == &lt;br /&gt;
* [[Echo Indigo IO 24/96]]&lt;br /&gt;
&lt;br /&gt;
== Firewire ==&lt;br /&gt;
* [[E-MU 1212M 24/192]]&lt;br /&gt;
* [[M-Audio Firewire 410]]&lt;br /&gt;
&lt;br /&gt;
== HiFi ==&lt;br /&gt;
* [[M-Audio Fast Track USB]]&lt;br /&gt;
* [[Slim Devices Squeezebox]] &lt;br /&gt;
* [[Slim Devices Transporter]]&lt;br /&gt;
* [[Hermstedt AG Hifidelio]]&lt;br /&gt;
* [[Olive Musica]]&lt;br /&gt;
&lt;br /&gt;
== MIDI Interfaces ==&lt;br /&gt;
* M-Audio MIDISport Uno 1x1 &lt;br /&gt;
* M-Audio MIDISport 2x2 &lt;br /&gt;
* MOTU 5x5 Micro Lite &lt;br /&gt;
* MOTU Fastlane USB&lt;br /&gt;
&lt;br /&gt;
== Digital Audio Players ==&lt;br /&gt;
=== Portable Flash ===&lt;br /&gt;
&#039;&#039;(These players make use of a internal flash drive.)&#039;&#039;&lt;br /&gt;
* [[Apple iPod]] Nano&lt;br /&gt;
* [[Apple iPod]] Shuffle&lt;br /&gt;
* Creative MuVo&lt;br /&gt;
* iRiver iFP Series&lt;br /&gt;
* MPIO lFP Series&lt;br /&gt;
* [[Rio Carbon]]&lt;br /&gt;
&lt;br /&gt;
=== Portable HD ===&lt;br /&gt;
&#039;&#039;(These players make use of a internal harddrive.)&#039;&#039;&lt;br /&gt;
* [[Apple iPod]] with &#039;&#039;([http://www.rockbox.org/twiki/bin/view/Main/TargetStatus#iriver_H110_H115_H120_H140 Rockbox firmware])&#039;&#039;&lt;br /&gt;
* [[Archos Jukebox with Rockbox Software]]&lt;br /&gt;
* [[Cowon iAudio]] with &#039;&#039;([http://www.rockbox.org/twiki/bin/view/Main/TargetStatus#iAudio_X5 Rockbox firmware])&#039;&#039;&lt;br /&gt;
* [[iRiver H-Series]] with &#039;&#039;([http://www.rockbox.org/twiki/bin/view/Main/TargetStatus#iriver_H110_H115_H120_H140 Rockbox firmware])&#039;&#039;&lt;br /&gt;
* [[MPIO H-Series]]&lt;br /&gt;
* [[Neuros]]&lt;br /&gt;
* [[Rio Karma]]&lt;br /&gt;
* [[Sandisk]] with &#039;&#039;([http://www.rockbox.org/twiki/bin/view/Main/TargetStatus#iAudio_X5 Rockbox firmware])&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Portable CD ===&lt;br /&gt;
&lt;br /&gt;
=== Car Players ===&lt;br /&gt;
&#039;&#039;(Car stereos that can read MP3, Vorbis, WMA, etc.).&#039;&#039;&lt;br /&gt;
* [[Aiwa CDC-MP3]]&lt;br /&gt;
* [[Yakumo Ultrasound]]&lt;br /&gt;
&lt;br /&gt;
===DVD Players=== &lt;br /&gt;
* [[Neuston&#039;s Maestro DVX-1201]]&lt;br /&gt;
&lt;br /&gt;
=== Firmware ===&lt;br /&gt;
* [[Rockbox]]&lt;br /&gt;
&lt;br /&gt;
= Audio Theory =&lt;br /&gt;
== Analog Audio ==&lt;br /&gt;
* [[Tube Amplifiers]]&lt;br /&gt;
* [[Vinyl_Playback_and_Recording|Vinyl Audio]]&lt;br /&gt;
&lt;br /&gt;
== Digital Audio ==&lt;br /&gt;
* [[Solid State Amplifiers]] &lt;br /&gt;
* [[ReplayGain]]&lt;br /&gt;
&lt;br /&gt;
== Testing Methodology ==&lt;br /&gt;
* [[ABX]]&lt;br /&gt;
* [[EAQUAL]]&lt;br /&gt;
&lt;br /&gt;
= Audio Development =&lt;br /&gt;
&#039;&#039;note: Let&#039;s start with basic development tools (compilers, engineering tools, dev. libraries) until we think of more tools to add. I am also adding external links to books, tutorials, etc under resources.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Tools ==&lt;br /&gt;
* [http://www.mathworks.com/products/matlab/ MATLAB 7.0] commercial software for algorithmic design, developement, engineering, and scientific computing. (multi-platform support)&lt;br /&gt;
* [http://www.octave.org/ GNU Octave] open-source alternative software (GPL) to MATLAB for numerical computations, engineering, and scientific computing. (multi-platform support)&lt;br /&gt;
* [http://www.fftw.org/ FFTW] Is a C subroutine library for computing the Discrete Fourier transform (DFT) in one or more dimensions on real and complex inputs.&lt;br /&gt;
* [http://gcc.gnu.org/ GCC] THE GNU compiler collection for C, C++, Objective-C, Fortran, Java, and Ada.&lt;br /&gt;
* [http://www.gnu.org/software/emacs/emacs.html GNU Emacs] an extensible, customizable, self-documenting real-time display editor. Great for writing all types of source code especially on Unix. (multi-platform support) &lt;br /&gt;
* [http://www.bloodshed.net/devcpp.html DevCPP] free front-end IDE and compiler for the C and C++ languages. Delphi and C source code available. (Win 9x, NT, 2000, and XP)&lt;br /&gt;
&lt;br /&gt;
== Resources ==&lt;br /&gt;
* [http://www.hydrogenaudio.org/forums/index.php?showforum=30 Scientific/R&amp;amp;D Forums] for Psychoacoustic, DSP, Electrical Engineering, theory, and coding related questions. (most questions are generally answered)&lt;br /&gt;
* [http://www.aes.org/ AES] The Audio Engineering Society website. Home of year-round world AES conferences.&lt;br /&gt;
* [http://www.dspguru.com/info/books/favor.htm DSP Tutorials] this site provides another good introduction in to the area of DSP.   &lt;br /&gt;
* [http://www.musicdsp.org/archive.php?classid=2 Music-DSP] source-code archive for analysis, filters, effects and synthesis. (C, C++, and Java code)&lt;br /&gt;
* [http://www.itakura.nuee.nagoya-u.ac.jp/HRTF/ HRTF] A database of measurements and research papers on Head Related Transfer Functions for 3D-Audio. (PDF, Audio)&lt;br /&gt;
* [http://www.midi.org/about-midi/specshome.shtml MIDI Specifications] MIDI 1.0, the new MusicXMF specification, and SP-MIDI for third generation 3GPP mobile devices (PDF) &lt;br /&gt;
* [http://www.gamedev.net/reference/articles/article2008.asp OpenAL] a beginners tutorial on writing code using OpenAL for audio programming in computer games and other applications. (C, C++). &lt;br /&gt;
* [http://www.alsa-project.org/ ALSA Project] (Advanced Linux Sound Architecture) bringing audio and MIDI capabilities to Linux.&lt;br /&gt;
* [http://www.engmath.dal.ca/courses/engm6610/notes/notes.html A Really friendly guide to Wavelets] A good introduction to wavelets aimed towards engineer, requires a fair amount of background knowledge.&lt;br /&gt;
&lt;br /&gt;
== Books/Research == &lt;br /&gt;
* [http://www.amazon.com/gp/product/3540231595/qid=1135380559/sr=1-3/ref=sr_1_3/102-1730075-7300931?s=books&amp;amp;v=glance&amp;amp;n=283155 Psychoacoustics - Facts and Models] author&#039;s Zwicker, Fastl, and Hugo, revised 2005 third edition. The book for comprehensive psychoacoustics models and figures.  &lt;br /&gt;
* [http://spanias.faculty.asu.edu/papers/paper-audio-tedspanias-00.pdf  Perceptual Audio Coding] authors A. Painter and T. Spanias. A comprehensive paper on percepual audio coding (PDF)&lt;br /&gt;
* [http://www.amazon.com/gp/product/0780334493/103-2094923-9567001?v=glance&amp;amp;n=283155&amp;amp;%5Fencoding=UTF8&amp;amp;me=ATVPDKIKX0DER&amp;amp;no=283155&amp;amp;st=books Speech Communications Human and Machine] this book provides a good introduction to speech coding, inlcuding anaylsis, recognition, and perception. This text is a very good introduction for beginners. &lt;br /&gt;
* [http://www.dspguide.com/ Scientist and Engineer&#039;s Guide to DSP] author Steve Smith, a great guide for beginners new to the subject of DSP (free online text)(PDF)&lt;br /&gt;
*[http://www.amazon.com/exec/obidos/tg/detail/-/0792391810/ref=ase_theinternetdatac/103-9882844-5344648?v=glance&amp;amp;s=books Vector Quantization] authors Gersho and Gray. Good read for understanding how VQ and arithmetic coding work.&lt;br /&gt;
&lt;br /&gt;
= Audio Resources =&lt;br /&gt;
== Websites ==&lt;br /&gt;
&#039;&#039;Note: Let&#039;s include a small description to the side for now, so that we have something to work with when this section becomes large enough for its own page&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* http://www.audiocoding.com (Page with a wiki on technical audio topics, homepage of FAAC and FAAD2, also has an AAC forum.)&lt;br /&gt;
* http://www.head-fi.org (general information/board about head phones and portable audio players)&lt;br /&gt;
* http://www.heaphonereviews.org.uk (general info regarding headphones and portable audio)&lt;br /&gt;
* http://www.rarewares.org (Downloads for many audio and media tools)&lt;br /&gt;
* http://www.rockbox.org/ (Open-source jukebox firmware for numerous DAP and architectures, GNU/GPL License). &lt;br /&gt;
* http://www.anythingbutipod.com/ (Thorough reviews of some of the most popular digital audio players out there)&lt;br /&gt;
&lt;br /&gt;
== Articles/Debates ==&lt;br /&gt;
* [http://www.hydrogenaudio.org/forums/index.php?showtopic=31759&amp;amp;st=0 DVD-A vs. SACD debate]&lt;br /&gt;
* [http://www.hydrogenaudio.org/forums/index.php?showtopic=38041&amp;amp;st=0 Subjective vs. Objective testing]&lt;br /&gt;
* [http://www.ambisonic.net/pdf/ambidvd2001.pdf 5.1 surround vs. Ambisonics comparison]&lt;br /&gt;
&lt;br /&gt;
== Listening Tests ==&lt;br /&gt;
* [http://wiki.hydrogenaudio.org/index.php?title=Lossless_comparison listening tests]&lt;br /&gt;
* [[Listening_Tests|Inventory of several listening tests, mainly on HA.org]]&lt;br /&gt;
&lt;br /&gt;
= Other Topics =&lt;br /&gt;
== Video ==&lt;br /&gt;
* [[MPEG-4 Visual]]&lt;br /&gt;
* [[Real Video]]&lt;br /&gt;
* [[Theora]]&lt;br /&gt;
* [[Tarkin]]&lt;br /&gt;
* [[Snow]] &lt;br /&gt;
* [[VP6]]&lt;br /&gt;
* [[Windows Media Video]]&lt;br /&gt;
&lt;br /&gt;
== [[Container format]]s ==&lt;br /&gt;
* [[ASF]]&lt;br /&gt;
* [[AVI]]&lt;br /&gt;
* [[Matroska]]&lt;br /&gt;
* [[MOV]]&lt;br /&gt;
* [[MP4]]&lt;br /&gt;
* [[Ogg]]&lt;br /&gt;
&lt;br /&gt;
= Glossary =&lt;br /&gt;
* [[Glossary_Of_Audio_Terms|Glossary of Audio Terms]]&lt;br /&gt;
&lt;br /&gt;
= Introduction &amp;amp; User Guides =&lt;br /&gt;
&#039;&#039;A starting place for new users to audio, with guides to compression and CD ripping and a glossary of all common terms.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* [[Glossary Of Audio Terms]]&lt;br /&gt;
* [[FAQ]]&lt;br /&gt;
* [[Audio format guide]]&lt;br /&gt;
* Ripping Guides&lt;br /&gt;
** [[EAC]] (Win32)&lt;br /&gt;
** [[CDex]] (Win32)&lt;br /&gt;
** [[DBpowerAMP with AccurateRip]] (Win32/Mac OSX)&lt;br /&gt;
** [[Plextools]] (Win32)&lt;br /&gt;
** [[Max]] (Mac OS/X)&lt;br /&gt;
** [[XLD]] (Mac OS/X) &lt;br /&gt;
** [[Rubyripper]] (Posix/Mac OS/X) &lt;br /&gt;
* [[Tagging]]&lt;br /&gt;
* [[ReplayGain]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--Spacer--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Audio Codecs =&lt;br /&gt;
&#039;&#039;Pros/cons, Recommended settings, Useful tools, etc.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;[[:Category:Codecs|The Technical/Codecs Category]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--Spacer--&amp;gt;&lt;br /&gt;
= Container Formats =&lt;br /&gt;
&#039;&#039;What is a [[container format]]?&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* [[Matroska]]&lt;br /&gt;
* [[MP4]]&lt;br /&gt;
* [[Ogg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--Spacer--&amp;gt;&lt;br /&gt;
= Audio Hardware &amp;amp; CD Ripping =&lt;br /&gt;
*&#039;&#039;CD Tools, Secure Ripping, Soundcard Quality&#039;&#039;&lt;br /&gt;
** [[Secure ripping]]&lt;br /&gt;
** Ripping Guide&lt;br /&gt;
*** [[EAC]]&lt;br /&gt;
*** [[CDex]]&lt;br /&gt;
*** [[DBpowerAMP with AccurateRip]]&lt;br /&gt;
*** [[Plextools]]&lt;br /&gt;
** [[CD copy protection]]&lt;br /&gt;
** [[CD Hardware]]&lt;br /&gt;
* Vinyl records and turntables&lt;br /&gt;
** [[Introduction to Vinyl|Introduction]]&lt;br /&gt;
** [[Advantages of Vinyl]]&lt;br /&gt;
** [[Disadvantages of Vinyl]]&lt;br /&gt;
** [[Vinyl Myths]]&lt;br /&gt;
** [[Purchasing Vinyl LPs and Components|Purchasing]]&lt;br /&gt;
** Record Player Components&lt;br /&gt;
*** [[Turntable]]&lt;br /&gt;
*** [[Cartridge]]&lt;br /&gt;
*** [[Phono preamplifier]]&lt;br /&gt;
** [[Evaluating Vinyl Sound Quality]]&lt;br /&gt;
** [[Vinyl Playback and Recording|Playback and Recording]]&lt;br /&gt;
** [[Vinyl Maintenance|Maintenance]]&lt;br /&gt;
** [[Vinyl Forum Posts and FAQs|FAQs]]&lt;br /&gt;
** [[Vinyl Glossary|Glossary]]&lt;br /&gt;
** [[Vinyl Links|Links]]&lt;br /&gt;
** [[Vinyl Mastering|Mastering]]&lt;br /&gt;
* [[Soundcard|Soundcards]]&lt;br /&gt;
* [[Other hardware]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--Spacer--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Tests =&lt;br /&gt;
* [[EAC Vs CDex SecureMode]] (by Pio2001)&lt;br /&gt;
* [[EAC Vs CDex SecureMode II]] (by westgroveg)&lt;br /&gt;
* [[Listening Tests]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--Spacer--&amp;gt;&lt;br /&gt;
=Downloads=&lt;br /&gt;
&#039;&#039;Where to obtain the software discussed in HAK.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* [[Download page]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--Spacer--&amp;gt;&lt;br /&gt;
= Using HAK =&lt;br /&gt;
* [[Help:Contents|Wiki User Guide]]&lt;br /&gt;
* Play around at the [[Hydrogenaudio Knowledgebase:Sandbox|Sandbox]] to try your formatting skills. Everything goes here and everything can/may be deleted.&lt;br /&gt;
* Contributors should read [[Help:Editing|editing help]].&lt;/div&gt;</summary>
		<author><name>Porcuswiki</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=Lossless_Predictive_Audio_Compression&amp;diff=37802</id>
		<title>Lossless Predictive Audio Compression</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=Lossless_Predictive_Audio_Compression&amp;diff=37802"/>
		<updated>2024-04-08T17:40:09Z</updated>

		<summary type="html">&lt;p&gt;Porcuswiki: Redirect&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[MPEG-4_ALS]]&lt;/div&gt;</summary>
		<author><name>Porcuswiki</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=MPEG-4_ALS&amp;diff=37801</id>
		<title>MPEG-4 ALS</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=MPEG-4_ALS&amp;diff=37801"/>
		<updated>2024-04-08T17:38:37Z</updated>

		<summary type="html">&lt;p&gt;Porcuswiki: Wayback Machine-ified the links&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;MPEG-4 Audio Lossless Coding&#039;&#039;&#039; (&#039;&#039;&#039;MPEG-4 ALS&#039;&#039;&#039;) is a [[lossless]] audio [[codec]], developed to extend the [[MPEG-4]] Part 3 audio standard to allow lossless audio compression. First released in 2006, it is standardized as ISO/IEC 14496-3.  A reference encoder is available as an executable for Windows, with the most significant part of the codec also being released as source code compilable for Windows/Linux/Mac.  Its primary developer was Tilman Liebchen, then at the Technische Universität Berlin, and it was based on his earlier LPAC codec.&lt;br /&gt;
&lt;br /&gt;
The codec has not gained significant popularity and the reference encoder appears to be unmaintained since 2009. The current development team has however published several tests in (mainly) IEEE journals. &lt;br /&gt;
&lt;br /&gt;
== Features and performance ==&lt;br /&gt;
The format supports both integer and 32-bit floating-point PCM, arbitrary sample rates and multi-channel (up to 65536, higher than any widespread lossless codec).  The reference encoder can enforce an MPEG-4 audio profile, but also provides for several parameters and two encoding modes. It can output the encoded stream in an MP4 container, or as .als files. By default it compresses files for full restore (not only lossless audio, but also recreating the original file bit by bit with the same metadata and structure) of WAVE and big-endian AIFF files.&lt;br /&gt;
&lt;br /&gt;
In [http://audiograaf.nl/downloads.html Martijn van Beurden&#039;s lossless performance test], the reference encoder (at default setting) did perform like other popular codecs (comparable to WavPack&#039;s -hx setting at CDDA). The higher compression settings could encode very slowly, but can make for certain size gains on non-CDDA sources.  According to the README file, the &amp;quot;ALS reference software is not optimized, particularly not in terms of encoder speed.&amp;quot; &lt;br /&gt;
&lt;br /&gt;
== Software support ==&lt;br /&gt;
The Windows executable can be integrated in e.g. [[Exact Audio Copy]] (instructions on the codec&#039;s website) or [[foobar2000]]. When used in an MP4 container, tagging is possible. &lt;br /&gt;
&lt;br /&gt;
[[ffmpeg]] can decode MPEG-4 ALS files, fixed-point only, and only in the default encoding mode, which is the one documented with source.  Unsupported are floating-point files, and the -z mode which was not published as source in the reference encoder/decoder.&lt;br /&gt;
&lt;br /&gt;
There are currently no known hardware players supporting it. &lt;br /&gt;
&lt;br /&gt;
== Predecessors: LPAC and LTAC ==&lt;br /&gt;
MPEG-4 ALS was based on Liebchen&#039;s earlier &#039;&#039;Lossless Predictive Audio Compression&#039;&#039; (&#039;&#039;LPAC&#039;&#039;) codec, which in turn succeeded his &#039;&#039;LTAC&#039;&#039; codec.  Thus, LPAC development was frozen in 2003 in favour of MPEG-4 ALS development. &lt;br /&gt;
&lt;br /&gt;
LPAC was at some point relatively popular among lossless formats, as an encoder/decoder was available free of charge (for noncommercial purposes, and closed-source) for Windows, Linux and Solaris, along with a library that made integration of LPAC encoding and decoding into other applications relatively easy.  Also for LPAC, the website offered instructions for [[Exact Audio Copy]] integration.  Furthermore, LPAC was also much more efficient and featureful than the major lossless audio format of the 1990s, [[Shorten]].&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* [https://en.wikipedia.org/wiki/Audio_Lossless_Coding Wikipedia entry]&lt;br /&gt;
* [https://web.archive.org/web/20190321095222/https://www.nue.tu-berlin.de/menue/forschung/forschungsgebiete/datenkompression_und_uebertragung/mpeg_4_audio_lossless_coding_als/parameter/en/ MPEG-4 ALS website with source/executable download] now at the Wayback Machine&lt;br /&gt;
* [https://web.archive.org/web/20120301090313/http://www.nue.tu-berlin.de:80/menue/mitarbeiter/ehemalige_mitarbeiter/tilman_liebchen/lpac_-_lossless_audio_codec_for_windows_and_linux LPAC website] at the Wayback machine&lt;br /&gt;
* [https://web.archive.org/web/20190821043324/https://www.nue.tu-berlin.de/fileadmin/fg97/03_Team/Liebchen/LPAC/lpacarc.html Further description of the LPAC algorithm]&lt;br /&gt;
* [https://www.rarewares.org/rrw/lpac.php LTAC/LPAC at ReallyRareWares]&lt;br /&gt;
* [http://audiograaf.nl/downloads.html Martijn van Beurden&#039;s lossless performance tests (revision 4 for comparison to WavPack -hx, revisions 5 and 6 for non-CDDA)]&lt;br /&gt;
* [[Lossless_comparison|HA Wiki&#039;s Lossless Codec Comparison]] originally by [[User:Rjamorim|Rjamorim]]&lt;br /&gt;
&lt;br /&gt;
{{navbox audio codecs}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Codecs]]&lt;/div&gt;</summary>
		<author><name>Porcuswiki</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=Template:Navbox_audio_codecs&amp;diff=37800</id>
		<title>Template:Navbox audio codecs</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=Template:Navbox_audio_codecs&amp;diff=37800"/>
		<updated>2024-04-08T16:02:37Z</updated>

		<summary type="html">&lt;p&gt;Porcuswiki: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
{| class=&amp;quot;navbox&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;border: 1px solid #AAAAAA; background: #F9F9F9; margin-top: 1em;&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
! colspan=&amp;quot;1&amp;quot; style=&amp;quot;background-color: #314E69; color: #FFFFFF;&amp;quot; | &#039;&#039;&#039;Audio codecs:&#039;&#039;&#039; type/usage&lt;br /&gt;
| colspan=&amp;quot;1&amp;quot; style=&amp;quot;background-color: #314E69; color: #FFFFFF; text-align:center;&amp;quot; | &#039;&#039;&#039;for end-users to encode&#039;&#039;&#039;&lt;br /&gt;
| colspan=&amp;quot;1&amp;quot; style=&amp;quot;background-color: #314E69; color: #FFFFFF; text-align:center;&amp;quot; | &#039;&#039;&#039;on physical media etc.&#039;&#039;&#039;&lt;br /&gt;
| colspan=&amp;quot;1&amp;quot; style=&amp;quot;background-color: #314E69; color: #FFFFFF; text-align:center;&amp;quot; | &#039;&#039;&#039;legacy formats&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;background-color: #D8DDE1;&amp;quot; | [[Lossless]]&lt;br /&gt;
| ([[Pulse Code Modulation|Uncompr. LPCM]])  •  [[ALAC]] • [[Free Lossless Audio Codec|FLAC]] • [[Monkey&#039;s Audio]] • [[MPEG-4 ALS | MPEG-4 ALS]] • [[OptimFROG]] • [[TAK]] • [[TTA]] • [[WavPack]]&lt;br /&gt;
| [[Meridian Lossless Packing|MLP/Dolby TrueHD]] &lt;br /&gt;
| [[Lossless Audio|La]] • [[MPEG-4 ALS | LPAC/LTAC]] • [[Lossless_comparison#Real_Lossless|RealAudio Lossless]] • [[RK Audio]] • [[Shorten]] • [[Windows Media Audio#Windows Media Audio Lossless|WMA Lossless]] • ([[Lossless#Other_.28once.29_notable_formats|others]])&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;background-color: #D8DDE1;&amp;quot; | [[Lossy]]&lt;br /&gt;
| ([[Adaptive Differential Pulse Code Modulation|ADPCM formats]]) • [[Advanced Audio Coding|AAC]] • [[AC-3]] • [[MP2]] • [[MP3]] • [[Musepack]] • [[Opus]] • [[Vorbis]]&lt;br /&gt;
| [[AC-3]] • [[DTS]] • ([[Other_hardware#Bluetooth|Bluetooth codecs]])&lt;br /&gt;
| [[ATRAC]] • [[QDesign]] • [https://en.wikipedia.org/wiki/RealAudio#Codecs Real Audio] • [[RK Audio|RK Audio (lossy modes)]] • [[Speex]] • [[VQF]] • [[Windows Media Audio|WMA]]&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;background-color: #D8DDE1;&amp;quot; | [[Hybrid codec|Hybrid lossless&amp;amp;lossy]]&lt;br /&gt;
| [[OptimFROG|OptimFROG DualStream]] • [[WavPack]]&lt;br /&gt;
| [[DTS-HD|DTS-HD MA]] • [[Lossless_comparison#MPEG-4_SLS|MPEG-4 SLS]] &lt;br /&gt;
| [[ATRAC|ATRAC Advanced Lossless]] • [[mp3HD]]&lt;br /&gt;
|-&lt;br /&gt;
! &lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
==Usage==&lt;br /&gt;
Add the following template to the end of the page to allow users to navigate between related pages more easily:&lt;br /&gt;
&amp;lt;pre style=&amp;quot;display:table&amp;quot;&amp;gt;{{navbox audio codecs}}&amp;lt;/pre&amp;gt;&lt;br /&gt;
[[Category:Navbox templates|Audio codecs]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Porcuswiki</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=Template:Navbox_audio_codecs&amp;diff=37799</id>
		<title>Template:Navbox audio codecs</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=Template:Navbox_audio_codecs&amp;diff=37799"/>
		<updated>2024-04-08T16:00:07Z</updated>

		<summary type="html">&lt;p&gt;Porcuswiki: Bluetooth codecs; external link to Real Audio&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
{| class=&amp;quot;navbox&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;border: 1px solid #AAAAAA; background: #F9F9F9; margin-top: 1em;&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
! colspan=&amp;quot;1&amp;quot; style=&amp;quot;background-color: #314E69; color: #FFFFFF;&amp;quot; | &#039;&#039;&#039;Audio codecs:&#039;&#039;&#039; type/usage&lt;br /&gt;
| colspan=&amp;quot;1&amp;quot; style=&amp;quot;background-color: #314E69; color: #FFFFFF; text-align:center;&amp;quot; | &#039;&#039;&#039;for end-users to encode&#039;&#039;&#039;&lt;br /&gt;
| colspan=&amp;quot;1&amp;quot; style=&amp;quot;background-color: #314E69; color: #FFFFFF; text-align:center;&amp;quot; | &#039;&#039;&#039;on physical media etc.&#039;&#039;&#039;&lt;br /&gt;
| colspan=&amp;quot;1&amp;quot; style=&amp;quot;background-color: #314E69; color: #FFFFFF; text-align:center;&amp;quot; | &#039;&#039;&#039;legacy formats&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;background-color: #D8DDE1;&amp;quot; | [[Lossless]]&lt;br /&gt;
| ([[Pulse Code Modulation|Uncompr. LPCM]])  •  [[ALAC]] • [[Free Lossless Audio Codec|FLAC]] • [[Monkey&#039;s Audio]] • [[MPEG-4 ALS | MPEG-4 ALS]] • [[OptimFROG]] • [[TAK]] • [[TTA]] • [[WavPack]]&lt;br /&gt;
| [[Meridian Lossless Packing|MLP/Dolby TrueHD]] &lt;br /&gt;
| [[Lossless Audio|La]] • [[MPEG-4 ALS | LPAC/LTAC]] • [[Lossless_comparison#Real_Lossless|RealAudio Lossless]] • [[RK Audio]] • [[Shorten]] • [[Windows Media Audio#Windows Media Audio Lossless|WMA Lossless]] • ([[Lossless#Other_.28once.29_notable_formats|others]])&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;background-color: #D8DDE1;&amp;quot; | [[Lossy]]&lt;br /&gt;
| [[Advanced Audio Coding|AAC]] • [[AC-3]] • [[Adaptive Differential Pulse Code Modulation|ADPCM]] • [[MP2]] • [[MP3]] • [[Musepack]] • [[Opus]] • [[Vorbis]]&lt;br /&gt;
| [[AC-3]] • [[DTS]] • ([[Other_hardware#Bluetooth|Bluetooth codecs]])&lt;br /&gt;
| [[ATRAC]] • [[QDesign]] • [https://en.wikipedia.org/wiki/RealAudio#Codecs Real Audio] • [[RK Audio|RK Audio (lossy modes)]] • [[Speex]] • [[VQF]] • [[Windows Media Audio|WMA]]&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;background-color: #D8DDE1;&amp;quot; | [[Hybrid codec|Hybrid lossless&amp;amp;lossy]]&lt;br /&gt;
| [[OptimFROG|OptimFROG DualStream]] • [[WavPack]]&lt;br /&gt;
| [[DTS-HD|DTS-HD MA]] • [[Lossless_comparison#MPEG-4_SLS|MPEG-4 SLS]] &lt;br /&gt;
| [[ATRAC|ATRAC Advanced Lossless]] • [[mp3HD]]&lt;br /&gt;
|-&lt;br /&gt;
! &lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
==Usage==&lt;br /&gt;
Add the following template to the end of the page to allow users to navigate between related pages more easily:&lt;br /&gt;
&amp;lt;pre style=&amp;quot;display:table&amp;quot;&amp;gt;{{navbox audio codecs}}&amp;lt;/pre&amp;gt;&lt;br /&gt;
[[Category:Navbox templates|Audio codecs]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Porcuswiki</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=QOA&amp;diff=37798</id>
		<title>QOA</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=QOA&amp;diff=37798"/>
		<updated>2024-04-08T15:54:10Z</updated>

		<summary type="html">&lt;p&gt;Porcuswiki: With ffmpeg 7.0, it has so many implementations that it might be worth a wiki page.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The &#039;&#039;&#039;Quite OK Audio Format&#039;&#039;&#039; (QOA) is a niche [[lossy]] audio [[codec]] created by Dominic Szablewski in 2023.  It designed to be, in the author&#039;s words, &#039;&#039;lossy, simple and quite ok&#039;&#039;: &amp;quot;simple&amp;quot; to computers in terms of decoding speed (intended to close in on [[ADPCM]] speeds at better quality&amp;lt;ref&amp;gt;[https://qoaformat.org/ QOA at qoaformat.org]&amp;lt;/ref&amp;gt;) and to humans in terms of the format specification, which fits a single page&amp;lt;ref&amp;gt;[https://qoaformat.org/qoa-specification.pdf QOA specification] (CC0 licensed)&amp;lt;/ref&amp;gt;. It is not intended to compete with current lossy encoders in terms of near-transparency at low bitrates &amp;amp;ndash; indeed, &amp;quot;low&amp;quot; bitrates are arguably not possible at the sample rates that yield &amp;quot;quite ok&amp;quot; quality. &lt;br /&gt;
&lt;br /&gt;
QOA is available as a free and open-source (MIT licensed) library.  Its github repository&amp;lt;ref&amp;gt;[https://github.com/phoboslab/qoa QOA at github]&amp;lt;/ref&amp;gt; links to alternative implementations; also, ffmpeg can decode it (from version 7.0). A third-party [[Foobar2000:Components/QOA_Audio_Decoder_(foo_qoa) | foobar2000 QOA playback component]] is available (note the warning given).  &lt;br /&gt;
&lt;br /&gt;
==Properties==&lt;br /&gt;
(Disclaimer: Part of the following is taken from the author&#039;s initial presentation&amp;lt;ref&amp;gt;[https://phoboslab.org/log/2023/02/qoa-time-domain-audio-compression &amp;quot;Time Domain Audio Compression at 3.2 bits per Sample&amp;quot;] (blog post introducing QOA)&amp;lt;/ref&amp;gt;, which pre-dates the current version.)&lt;br /&gt;
&lt;br /&gt;
* QOA is a CBR format, spending 3.2 bytes per sample per channel, each channel encoded separately. In addition, there is a frame header per 5120 interchannel sample, and a file header.  &lt;br /&gt;
* Bit rate is then defined by sample rate, which could be from 1 to 2&amp;lt;sup&amp;gt;24&amp;lt;/sup&amp;gt; Hz in integer steps, and by channel count. For 44.1 kHz stereo, bit rate will then amount to 277 kbit/s.&lt;br /&gt;
* Multichannel support: Format allows for 255 channels. A decoder is &#039;&#039;required to&#039;&#039; support 1 to 8 channels, possibly varying over frames (channel allocation coinciding with [[FLAC]] frames&#039; channel allocation).&lt;br /&gt;
* Encoding method: Like several audio formats, it works with a predictor from past samples (fourth order).  The residual &amp;amp;ndash; i.e. the difference between &amp;quot;predicted&amp;quot; and &amp;quot;actual&amp;quot; sample value in the source signal &amp;amp;ndash; is then replaced by one out of eight hard-coded values (this is the [[lossy]] part). &lt;br /&gt;
&lt;br /&gt;
The reference implementation is 400 lines of C code.  The format can encode fast, but it is also possible to try to improve quality by spending computing effort on noise shaping upon encoding, selecting the residual value in a more clever way than naive roundoff&amp;lt;ref&amp;gt;[https://hydrogenaud.io/index.php/topic,123838.msg1024296.html#msg1024296 Hydrogenaudio discussion thread]&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
[[Category: Codecs]]&lt;/div&gt;</summary>
		<author><name>Porcuswiki</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=WavPack&amp;diff=37790</id>
		<title>WavPack</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=WavPack&amp;diff=37790"/>
		<updated>2024-04-02T17:10:00Z</updated>

		<summary type="html">&lt;p&gt;Porcuswiki: ID3v2.4, Reaper, removed double info, typos, blah blah&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Software Infobox&lt;br /&gt;
| name = WavPack&lt;br /&gt;
| logo = [[Image:Wavpacklogo.png|280px|Official WavPack logo]]&lt;br /&gt;
| screenshot =&lt;br /&gt;
| caption = Hybrid Lossless Audio Compression&lt;br /&gt;
| maintainer = David Bryant&lt;br /&gt;
| stable_release = 5.7.0 (2024-02-29)&lt;br /&gt;
| operating_system = Windows, MacOSX, Linux/BSD/Unix, ...&lt;br /&gt;
| use = Encoder/Decoder&lt;br /&gt;
| license = BSD license&lt;br /&gt;
| website = http://www.wavpack.com/&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;WavPack&#039;&#039;&#039; (pronounced &amp;quot;wave-pack&amp;quot;) is a [[lossless]] audio [[codec]], also offering optionally a [[hybrid codec| hybrid lossless/lossy]] mode.  It is distributed as a free open-source encoder/decoder with a library and a large number of tools, including a Windows GUI and a range of plugins for both audio players and other software.  Third party implementations are available, including ffmpeg.  WavPack supports and/or can be played back on a large number of platforms/OSes including mobile (Android, iOS), portable ([[Rockbox]]) and even web apps. &lt;br /&gt;
&lt;br /&gt;
WavPack is arguably the most feature-rich lossless compressor, supporting a unique range of audio signals including [https://en.wikipedia.org/wiki/Direct_Stream_Digital Direct-Stream Digital].  Everyday use is supported by a wide range of players and taggers, but &#039;&#039;conversion&#039;&#039; is likely safest done with applications that invoke the official tools (rather than e.g. ffmpeg&#039;s implementation) &amp;amp;ndash; and special features might require the user to apply the WavPack executable directly, for example with drag+drop, see the [[#Using WavPack]] section below.&lt;br /&gt;
&lt;br /&gt;
Performance-wise, WavPack defaults to a fast codec &amp;amp;ndash; less CPU intensive than [[ALAC]], but typically not as fast as [[FLAC]] or [[TAK]], especially in decoding CPU usage.&amp;lt;ref&amp;gt;[http://www.audiograaf.nl/losslesstest Martijn van Beurden: &amp;lt;em&amp;gt;Lossless audio codec comparison archive&amp;lt;/em&amp;gt;], all comparisons in this wiki article consistent with CDDA results up to revision 6, 2023, using WavPack 5.6.0.&amp;lt;/ref&amp;gt; In the age of low-power portable Rockbox-equipped players, WavPack could be seen as a reasonable middle ground between FLAC&#039;s low CPU footprint and long battery life, and the smaller files but more CPU-intensive [[Monkey&#039;s Audio]]&amp;lt;ref&amp;gt;[https://www.rockbox.org/wiki/CodecPerformanceComparison CodecPerformanceComparison] at the Rockbox wiki&amp;lt;/ref&amp;gt; &amp;amp;ndash; invoking WavPacks high mode and extra compression that would compress to smaller sizes than FLAC.&lt;br /&gt;
&lt;br /&gt;
WavPack has inspired other codecs&amp;lt;ref&amp;gt;Monkey&#039;s Audio historical FAQ {{webarchive|http://web.archive.org/web/20001017210206/http://www.monkeysaudio.com/faq.html|2000-10-17}}&amp;lt;/ref&amp;gt; and their features&amp;lt;ref&amp;gt;[http://losslessaudio.org/DualStream.php OptimFROG&#039;s &amp;quot;DualStream&amp;quot;] hybrid encoding &amp;amp;ndash; apparently WavPack coined this phrase&amp;lt;/ref&amp;gt;.  For more on WavPack, including on its history and technology, see the [https://en.wikipedia.org/wiki/WavPack Wikipedia entry].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Features =&lt;br /&gt;
For an end-user considering WavPack as audio format, its feature-richness might be the big selling point.  WavPack supports pretty much all the more common features noted at [[Lossless_comparison| HA Wiki&#039;s Lossless Codec Comparison]] as in the following first list, but several users might consider the more unique features listed under the subsequent headline.&lt;br /&gt;
&lt;br /&gt;
* Seekable and streaming playback.&lt;br /&gt;
* Error handling: upon playback, it will detect and report corrupted frames, mute to protect against static/noise output, and continue playback.  Since version 5, WavPack can also check for corruption without decoding, hence quicker than any decoding format.  Optional MD5 audio checksum can also be added upon encoding for file fingerprinting. &lt;br /&gt;
* High-resolution audio support (see next headline).&lt;br /&gt;
* Multichannel support: currently capped at 256 channels, supports [https://docs.microsoft.com/en-us/windows/win32/api/mmreg/ns-mmreg-waveformatextensible WAVEFORMATEXTENSIBLE] channel masks.&lt;br /&gt;
* Piping support for encoding, and support for RAW PCM input/output.&lt;br /&gt;
* Non-audio chunks (RIFF and similar) stored; by default, WavPack will not only encode/decode the audio losslessly, but store the non-audio chunks and restore them into a file bit-identical to the original.&lt;br /&gt;
* Tagging: APEv2. (ID3v1 is possible, but not advisable.) &lt;br /&gt;
* Cuesheet support. In practice, some applications handle &#039;&#039;embedded&#039;&#039; cuesheets better in WavPack than in some other formats.&lt;br /&gt;
* Unicode support.&lt;br /&gt;
* Can be used in the [[Matroska]] container. &lt;br /&gt;
* Windows GUI available.&lt;br /&gt;
* Multithreading (from version 5.7.0).&lt;br /&gt;
&lt;br /&gt;
WavPack also handles bit depths not divisible by 8, e.g. 20-bit audio (found on some DVDs).  &lt;br /&gt;
&lt;br /&gt;
== Special/unique features ==&lt;br /&gt;
Most of these features are shared with only a few if any notable codecs, or extend to signal types or file types others do not support (comparisons given).&lt;br /&gt;
* DSD support: can losslessly compress Philips DSDIFF and Sony DSF files (see &amp;quot;Using WavPack&amp;quot; below; no other end-user codec compresses DSD.) ID3v2.3/2.4 tags can be imported.  wvunpack can select between DSDIFF and DSF out (i.e. &#039;convert between the two&#039;).  wvunpack can also convert DSD to PCM, but not the other way around. (Lossy, as conversion between PCM and DSD necessarily is.)&lt;br /&gt;
* High-resolution support for bit depth 1-bit to 32-bit integer and sampling rates up to &#039;&#039;giga&#039;&#039;herz range radio frequencies, in integer steps. (2 GHz works although only 1 GHz is officially supported; for more UHF, Monkey&#039;s Audio, OptimFROG and MPEG-4 ALS support the entire WAVE range up to 4 GiHz.) Can also compress &#039;&#039;non-integer sampling rates&#039;&#039; in AIFF/AIFC/CAF (signals the WAVE format cannot contain).   &lt;br /&gt;
* 32-bit &#039;&#039;floating-point&#039;&#039; supported &amp;amp;ndash; also including CoolEdit/Adobe Audition&#039;s own float format (use the &amp;lt;code&amp;gt;-a&amp;lt;/code&amp;gt; option &#039;&#039;only if&#039;&#039; the .wav was generated by CoolEdit/Audition).  (This line like OptimFROG.)&lt;br /&gt;
* As much as 256 channels currently supported (from version 5.5.0 on; [https://github.com/dbry/WavPack/issues/117 can be extended to the thousands] &amp;amp;ndash; more than any codec except MPEG-4 ALS (which is capped at 66536).) &lt;br /&gt;
* Hybrid lossy/lossless mode (can also be used as lossy &amp;amp;ndash; OptimFROG also has such a mode.)&lt;br /&gt;
* For LPCM it can read and output to WAVE (including the RF64 format extension used for large files and from 5.70 also BW64), to Sony&#039;s Wave64, AIFF/AIFC (both endiannesses) and CAF (ditto) &amp;amp;ndash; with full restore of also non-audio parts to bit-by-bit the original file in the original format.  (Monkey&#039;s/OptimFROG/TAK do the same to the input formats they support.)  Also WavPack can handle too large noncompliant &amp;quot;WAVE&amp;quot; files (by default, those will be restored to bit-identical the same as the flawed input file &amp;amp;ndash; optionally one can force output to compliant RF64/W64 files). &lt;br /&gt;
* Recompression: Can recompress .wv files in place, with tag transfer.  (Like FLAC on .flac files.)&lt;br /&gt;
* Drag and drop support: Dropping a file on to wavpack.exe/wvunpack.exe will encode/decode it to source directory. (Similar to FLAC.)  From 5.5.0, one can also apply options to drag and drop by renaming the executable, and drop several files.&lt;br /&gt;
&lt;br /&gt;
Like FLAC/TAK/OptimFROG, WavPack employs a &amp;quot;wasted bits&amp;quot; strategy to handle cases of &#039;&#039;n &amp;quot;actual bits of signal&amp;quot; zero-padded and stored as N bits&#039;&#039;; such signals can be found in certain DVDs, but also as &amp;quot;fake high resolution&amp;quot; where a 16-bit signal is merely put in a 24-bit file to look impressive.  WavPack handles more &amp;quot;fake high resolution&amp;quot; cases than just zero-padding.  5.7.0 introduces an further improvement to capture similar patterns in 32-bit integer files generated by &amp;quot;naively converting from 32-bit float&amp;quot;.  That particular mode is disabled by default and is arguably best left to power users (invoking it with &amp;lt;code&amp;gt;--optimize-int32&amp;lt;/code&amp;gt;) as only 5.7.0 can decode as lossless; to earlier versions and players they will be presented as lossy without correction file (and will indeed be lossy with differences around -138 dB down). &lt;br /&gt;
&lt;br /&gt;
== Limitations ==&lt;br /&gt;
The following bullet item list is hardly of interest except for special purposes; WavPack supports nearly every input format that any competing codec handles. One exception is the legacy AU/SND, apparently supported only by Monkey&#039;s Audio. &lt;br /&gt;
* DSD: Will reject DST-compressed DSDIFF (which are already compressed heavier than WavPack does) and Wideband Single-bit Data files (apparently, the Tascam and Korg devices which can produce these, can also export to other DSD formats).&amp;lt;br/&amp;gt; Also, DSD files cannot be encoded as hybrid with correction files.&lt;br /&gt;
* 64-bit float is not supported.  (Apparently no other lossless audio compressor can support it either.)&lt;br /&gt;
* wvunpack can &#039;&#039;force output&#039;&#039; to a different format than input, and for AIFF/CAF also select endianness, but it cannot force output to different versions of big-endian AIFF (it will avoid AIFC as long as the signal can be fit in the original AIFF container) nor BW64 &amp;amp;ndash; nor select between WAVE_FORMAT_PCM and WAVE_FORMAT_EXTENSIBLE.  Few other formats do allow for such output selection; reference FLAC can from 1.4.3 offer some wider choices than wvunpack can. &lt;br /&gt;
* Although all non-audio will be stored, &amp;lt;code&amp;gt;--import-id3&amp;lt;/code&amp;gt; can not &#039;&#039;import&#039;&#039; every type of ID3 tag to APEv2. (5.70 imports more tag types than previous versions, yet some users might want use use e.g. [[Mp3tag]] to copy over more tags from the original.) Also, unless &amp;lt;code&amp;gt;--allow-huge-tags&amp;lt;/code&amp;gt; is specified, size is limited to 1 MB; older software might not read larger tagsets (but no known &#039;&#039;playback&#039;&#039; incompatibilities are known).&lt;br /&gt;
* Some file formats have features stored in file headers (like loop points, or for AIFF possibly non-integer sampling rates) which will not be &#039;&#039;visible&#039;&#039; to the end-user when trying to play back the .wv file in a typical player. They are nevertheless available to certain audio editing software plugins, and will in any case be restored upon decoding.&lt;br /&gt;
* Some features are unsupported by several applications: in particular, support for correction files is only found in a few players. &lt;br /&gt;
* The most significant third-party implementation (ffmpeg as of version 6.1) has bugs waiting to be fixed. &lt;br /&gt;
&lt;br /&gt;
As of 5.5.0 and above, MacOS versions must be built with e.g. HomeBrew, and Windows XP is only supported through a special executable (available in version 5.6.0 at wavpack.com, upgrade from previous unofficial build posted at HA is strongly advised).  WavPack version 5 discontinues some features, but version 4.80 is still available to convert any version 3.x files that might still exist.&lt;br /&gt;
&lt;br /&gt;
WavPack has traditionally had less hardware support than FLAC ([[Rockbox]] having been the most notable platform, others listed at https://www.wavpack.com/index.html#Hardware ), but with WavPack playback through Android and iOS players, the distinction between &amp;quot;hardware&amp;quot; and &amp;quot;software&amp;quot; is arguably blurred. The Android OS does not &#039;&#039;natively&#039;&#039; support other lossless audio formats than WAVE and FLAC, so there have been issues getting certain Android solutions to recognize other media files including WavPack.&amp;lt;ref&amp;gt;[https://hydrogenaud.io/index.php/topic,122768 HA thread with link to Android bug report by the Monkey&#039;s Audio author]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Information for users of other codecs (and older WavPack) == &lt;br /&gt;
Parts of this section will be less relevant to users who primarily decode and convert through player software, rather than directly invoking the executables.  WavPack is the only &amp;quot;major&amp;quot; lossless encoder with separate executables for encoding (&amp;lt;code&amp;gt;wavpack&amp;lt;/code&amp;gt;) and decoding/info (&amp;lt;code&amp;gt;wvunpack&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
Even for features that are comparable between codecs, they may behave different &amp;amp;ndash; or default to different behaviour &amp;amp;ndash; out of the purpose they were designed to address, their development, or other design choices. &lt;br /&gt;
&lt;br /&gt;
* WavPack is designed as a &#039;&#039;file compressor&#039;&#039; for audio files &amp;amp;ndash; this like Monkey&#039;s, TAK and OptimFROG, but in contrast to FLAC and ALAC which are &#039;&#039;audio compressors&#039;&#039;. The difference is in the ambition to store all non-audio information (and in the correct order).  Using reference FLAC one might &amp;quot;opt in&amp;quot; on non-audio parts by giving options; using WavPack one can &amp;quot;opt out&amp;quot; and discard this information.  &lt;br /&gt;
** &#039;&#039;Note: This difference is irrelevant for CD ripping.&#039;&#039; Contrary to a common misconception, CD audio is &#039;&#039;not&#039;&#039; stored as WAVE &amp;amp;ndash; nor in any sort of file.  Thus, using a file compressor gives no more &amp;quot;true&amp;quot; copy of a CD.  (WavPack&#039;s support for embedded cuesheets might &amp;amp;ndash; depending on player application &amp;amp;ndash; give a better user experience for those who prefer to store one file per CD, but that is not due to how CDs work.)&lt;br /&gt;
* MD5 is opt-in (the &amp;lt;code&amp;gt;-m&amp;lt;/code&amp;gt; switch) &amp;amp;ndash; even if verification is requested and the MD5 is calculated, it is only written to file if specifically requested. TAK and OptimFROG work similarly in that they also require the user to opt-in on MD5. FLAC, ALAC and Monkey&#039;s all work different: FLAC includes MD5 (though some encoders make exceptions under some circumstance), ALAC has nothing such &amp;amp;ndash; and Monkey&#039;s MD5s are not comparable with others, as it hashes the encoded bitstream.  &lt;br /&gt;
** Also, WavPack computes MD5 using the source&#039;s endianness (endianness is like the distinction between &amp;quot;4th of July&amp;quot; and &amp;quot;July 4th&amp;quot;), and so MD5s may differ between WAVE source and AIFF/CAF source for the same audio.  (At least a recent foobar2000 will handle them without giving false warnings.)&lt;br /&gt;
* Like Monkey&#039;s/TAK/OptimFROG &amp;amp;ndash; but unlike FLAC and ALAC-in-MP4 &amp;amp;ndash; tags are at the end of the file.  Consequences for users are that retagging will not trigger full file rewrite, but sometimes applications may spend longer time displaying art and viewing tags.&lt;br /&gt;
* Users of &amp;quot;older WavPack&amp;quot; might take note that version 5 discontinues some features, like &amp;lt;code&amp;gt;-p&amp;lt;/code&amp;gt;, and also the &amp;lt;code&amp;gt;-e&amp;lt;/code&amp;gt; for self-extracting files &amp;amp;ndash; those and other older files can still be converted, but the ancient WavPack 3 with .wav extension requires version 4.80.0 (still available). &lt;br /&gt;
** See the [[#File formats, versions, decoding and transcoding support]] section for more details.&lt;br /&gt;
&lt;br /&gt;
=== Performance &amp;amp;ndash; file size, CPU load === &lt;br /&gt;
Rewind twenty years, to 2004 hardware costs, compression ratios did matter much more &amp;amp;ndash; also, several formats would be too heavy to even &#039;&#039;play&#039;&#039; on portable devices, and the official WavPack site would warn against the &amp;lt;code&amp;gt;-hh&amp;lt;/code&amp;gt; mode for that use even if it were not heavier than the fastest Monkey&#039;s Audio mode. &lt;br /&gt;
Fast forward to now, enthusiasts will still compare performance even if ordinary users may take note that impact on cost is often negligible. Different considerations may apply when a drive is near full.  &lt;br /&gt;
The HA wiki&#039;s [[lossless comparison]] article compares speed and compression ratio on CDDA on the respective codecs&#039; &#039;&#039;default&#039;&#039; setting, taken from van Beurden&#039;s comparison studies.  The test corpus is chosen to be a &amp;quot;wide&amp;quot; selection, and most music collections are biased in one direction or another genre-wise; users who are concerned about compression might look up the individual sources in the study and/or make a test sample from their own collection.  By and large, the following observations can be made:&lt;br /&gt;
* WavPack defaults to a fast codec, between FLAC and Monkey&#039;s; is not so heavy on decoding CPU as to cause actual practical problems, although it officially recommends against &amp;lt;code&amp;gt;-hh&amp;lt;/code&amp;gt; &amp;quot;for use on vintage portable devices&amp;quot; &amp;amp;ndash; it should be fine on anything modern.  Even &amp;lt;code&amp;gt;-hh&amp;lt;/code&amp;gt; seems to decode lighter than Monkey&#039;s fastest mode. &lt;br /&gt;
** The &amp;quot;between FLAC and Monkey&#039;s&amp;quot; hold for &amp;quot;default encoding and all decoding&amp;quot;.  Like most modern codecs, WavPack can be set to exert more encoding effort without affecting decoding load: the &amp;lt;code&amp;gt;-x&amp;lt;/code&amp;gt; switch. Thus, decoding for e.g. ReplayGain tagging will be slower than e.g. FLAC in all modes, but faster than Monkey&#039;s &amp;amp;ndash; and recompressing with a slow &amp;lt;code&amp;gt;-x&amp;lt;/code&amp;gt; setting (which can be done in the background) will not make the files any heavier to process later.   (Indeed, &amp;lt;code&amp;gt;-x&amp;lt;/code&amp;gt; sometimes makes decoding lighter, although unlikely to be noticed except by measuring it.)&lt;br /&gt;
** Playback on Android might be less battery efficient than FLAC, which can take advantage of the OS&#039; native support.  The difference is likely small for power-hungry players (like VLC).&lt;br /&gt;
** On the other hand, &#039;&#039;integrity verification&#039;&#039; can be done lightening-fast, without decoding (presuming WavPack 5 file format and WavPack 5 decoder). &lt;br /&gt;
* Compressing CDDA: WavPack can compress to slightly smaller files than (reference) FLAC; the difference has diminished with the most recent FLAC releases, but &amp;quot;in return&amp;quot;, modern CPU speeds might have made the more expensive WavPack settings more tempting, especially when one can re-encode in the background.&lt;br /&gt;
* Compressing high resolution signals and multi-channel: The &amp;quot;extra&amp;quot; resolution might be a mixed bag of upsampling artefacts, tape hiss, sometimes geniune overtones (and for bat enthusiasts, actual interesting audio).  There are different kinds of samples one might call &amp;quot;fake high resolution&amp;quot;, and different properties of such &amp;amp;ndash; upsampling or bit depth &amp;amp;ndash; are handled different by the codecs.  WavPack is known to handle some properties exceptionally well (&amp;quot;wasted bits&amp;quot; are exploited also by FLAC and TAK, but WavPack and OptimFROG are capable of detecting more &amp;quot;wasteful&amp;quot; patterns; Monkey&#039;s and ALAC cannot exploit wasted bits at all) &amp;amp;ndash; and others lesser.  Several codecs benefit from spending more effort on high resolution signals, and WavPack users might consider to (re-) compress high resolution and multi-channel with as slow setting as &amp;lt;code&amp;gt;-hx4&amp;lt;/code&amp;gt;, presuming it can be done as background recompression where time is not much of an object; decoding load is largely unaffected (sometimes slightly improved) by the high &amp;lt;code&amp;gt;-x&amp;lt;/code&amp;gt;. &lt;br /&gt;
** For 32-bit float, there is not much competition, and WavPack might be the natural choice for compatibility; it does outcompress Monkey&#039;s recently-added float mode.  Those files are not very common in the wild, and users with a sizeable collection of 32-bit files for audio processing will likely choose codec for compatibility with their DAW software.  WavPack 5.7.0&#039;s special setting for 32-bit integer converted from 32-bit float might be an option in such situations.  &lt;br /&gt;
* Users who compare nearly tied compression levels between codecs, should take into account how metadata storage affect total file size.  WavPack defaults to storing the source&#039;s metadata, which may include big album art; on the other hand, FLAC defaults to leaving some kilobytes padding in the file.  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Using WavPack =&lt;br /&gt;
WavPack files can be played back in supported players (see below), and several of these can also encode to WavPack, invoking the official tools.  However, there are situations where the appropriate WavPack features are accessible only through the WavPack executables directly.  For example, you cannot expect non-audio data (for full file restore) to be preserved when encoding/decoding through &#039;&#039;players&#039;&#039;, as they usually pass on only the audio.  Also, the input format might exceed the player&#039;s internal decoding; e.g. trying to convert 32-bit integer or DSD with foobar2000 will yield a warning that it will not be lossless (also, converting DSD to PCM leads to files many times the size, being inherently different formats).&lt;br /&gt;
&lt;br /&gt;
== Encoding/decoding by drag and drop (Windows) == &lt;br /&gt;
The simplest encoding/decoding might be &#039;&#039;dragging and dropping&#039;&#039; a (supported) file to wavpack.exe (/wvunpack.exe).  Then the file will be encoded/decoded with the default options.  Dropping a .wv file onto wavpack.exe will recompress it, prompting before overwrite (again, using default settings &amp;amp;ndash; possibly a bad deal if it was encoded with high &amp;lt;code&amp;gt;-x&amp;lt;/code&amp;gt; switches).  Drag and drop also works on a shortcut to the executable. It is not possible to drop a folder, but from version 5.5.0, there is a way to drag and drop &#039;&#039;several&#039;&#039; files.&lt;br /&gt;
&lt;br /&gt;
From version 5.5.0, drag and drop supports &#039;&#039;options&#039;&#039; by renaming the wavpack/wvunpack executable.  The user can rename a copy of the executable according to preferred settings, which will be applied to the process upon drag and drop.  The example given by the developer in [https://hydrogenaud.io/index.php/topic,122626.msg1012159.html#msg1012159 in this HA forum post]&amp;lt;ref&amp;gt;[https://hydrogenaud.io/index.php/topic,122626.msg1012159.html#msg1012159 HA forum post on how to rename executable for drag and drop]&amp;lt;/ref&amp;gt; uses encoding options that many WavPack users will recommend (better compression than default, verification and MD5 fingerprinting), and novice users can choose to copy that filename for the executable.  For fine-tuning performance or for more specialized tasks, more options are described below. &lt;br /&gt;
&lt;br /&gt;
== Basic command line encoding/decoding [[Windows_command_line_tips|(for Windows: command-line hints here)]] == &lt;br /&gt;
The basic &#039;&#039;encoding&#039;&#039; usage is &amp;lt;code&amp;gt;wavpack filename&amp;lt;/code&amp;gt; (which creates &amp;lt;code&amp;gt;filename.wv&amp;lt;/code&amp;gt;) &amp;amp;ndash; this is what drag and drop accomplishes.  Wildcards are supported, e.g. &amp;lt;code&amp;gt;wavpack *.wav&amp;lt;/code&amp;gt; (but not simply &amp;lt;code&amp;gt;wavpack *&amp;lt;/code&amp;gt;).  For a &#039;&#039;single&#039;&#039; input file, one can specify output like e.g. &amp;lt;code&amp;gt;wavpack infilename.wav -o outfilename.wv&amp;lt;/code&amp;gt; (on Windows, the &amp;lt;code&amp;gt;-o&amp;lt;/code&amp;gt; can be omitted).  Input file extension &amp;quot;.wav&amp;quot; can be dropped, and output &amp;quot;.wv&amp;quot; extension as well &amp;amp;ndash; but &amp;lt;code&amp;gt;wavpack foo&amp;lt;/code&amp;gt; will only find foo.wav, not e.g. foo.w64 &amp;amp;ndash; and not a &amp;quot;foo&amp;quot; with no file extension.  (Power users may take note that for &amp;lt;code&amp;gt;--raw-pcm&amp;lt;/code&amp;gt; input, the encoder will not look for foo.wav but rather for foo.raw.)&lt;br /&gt;
&lt;br /&gt;
The basic &#039;&#039;decoding&#039;&#039; usage &amp;amp;ndash; as will be accomplished by drag and drop &amp;amp;ndash; is &amp;lt;code&amp;gt;wvunpack filename.wv&amp;lt;/code&amp;gt;.  By default, wvunpack will restore the exact same file (metadata and file structure and all; it will know the original file name extension but not the rest of the file name &amp;amp;ndash; timestamp can be stored by using &amp;lt;code&amp;gt;-t&amp;lt;/code&amp;gt;.) If only audio was encoded (conversion from a &#039;&#039;player&#039;&#039; would usually work this way), output defaults to filename.wav.  Output filename can be specified, and just like for the wavpack encoder, file extensions can be dropped; e.g., &amp;lt;code&amp;gt;wvunpack foo -o bar&amp;lt;/code&amp;gt; (or on Windows, dropping the &amp;lt;code&amp;gt;-o&amp;lt;/code&amp;gt;) will decode foo.wv to bar.&amp;lt;original file&#039;s extension&amp;gt;.  This is arguably advisable: wvunpack will not &#039;&#039;override output format&#039;&#039; by setting file extension.  E.g. if the input was a CAF file, &amp;lt;code&amp;gt;wvunpack foo -o bar.w64&amp;lt;/code&amp;gt; is still a CAF file, and the user has only managed to mislead themselves.  To force output format, see the [[#Decoding options]] paragraph.  &lt;br /&gt;
&lt;br /&gt;
=== Several input files ===&lt;br /&gt;
To give several filenames as input to wavpack/wvunpack, other than through wildcards, there are (for historical reasons) slight differences between the Windows version and the *n*xes: &lt;br /&gt;
Windows (requires WavPack 5.5.0): use the &amp;lt;code&amp;gt;--drop&amp;lt;/code&amp;gt; option as in the above example given by the developer.  It is intended for drag and drop (hence the name of the option) and will write the output to same directory as source.  However it can also be used with command-line:  &amp;lt;code&amp;gt;wavpack --drop firstfile secondfile&amp;lt;/code&amp;gt; will compress firstfile.wav to firstfile.wv and secondfile.wav to secondfile.wv.  Note that without the &amp;lt;code&amp;gt;--drop&amp;lt;/code&amp;gt;, the command &amp;lt;code&amp;gt;wavpack firstfile secondfile&amp;lt;/code&amp;gt; will compress firstfile.wav to secondfile.wv, as &amp;lt;code&amp;gt;-o&amp;lt;/code&amp;gt; is optional on Windows &amp;amp;ndash; indeed that is why the &amp;lt;code&amp;gt;--drop&amp;lt;/code&amp;gt; had to be introduced.  An arbitrary number of files can be processed, e.g. &amp;lt;code&amp;gt;wvunpack --drop firstfile secondfile thirdfile fourthfile fifthfile&amp;lt;/code&amp;gt; will decode firstfile.wv, ..., fifthfile.wv.&lt;br /&gt;
For *n*x, one can omit the &amp;lt;code&amp;gt;--drop&amp;lt;/code&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
== Applying options ==&lt;br /&gt;
For tuning performance or other settings, one might want to apply command-line options.  Some external applications can apply options without the user having to type &amp;amp;ndash; e.g. encoding with [[foobar2000]], there are two compression sliders, one for the fast-to-extra-high and one for the &amp;lt;code&amp;gt;-x&amp;lt;/code&amp;gt; settings (see below) &amp;amp;ndash; but for command-line one will have to type them, and also in the Windows GUI.  Options can be concatenated for short, like for example writing &amp;lt;code&amp;gt;-hh -x2 -m -v -y&amp;lt;/code&amp;gt; as &amp;lt;code&amp;gt;-hhx2mvy&amp;lt;/code&amp;gt;.  &lt;br /&gt;
&lt;br /&gt;
The user should beware that the wavpack encoder and the wvunpack decoder (and wvtag/wvgain) have to &amp;quot;re-use letters&amp;quot;.  While some do the same in the wvunpack and wavpack (like &amp;lt;code&amp;gt;-d&amp;lt;/code&amp;gt; for delete input file, &amp;lt;code&amp;gt;-y&amp;lt;/code&amp;gt; for &amp;quot;yes to all&amp;quot;, &amp;lt;code&amp;gt;-t&amp;lt;/code&amp;gt; to preserve timestamp, and &amp;lt;code&amp;gt;-l&amp;lt;/code&amp;gt; for (Windows only) &amp;quot;run with low priority&amp;quot;) and others cover the same purpose in both executables (like &amp;lt;code&amp;gt;-m&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;-v&amp;lt;/code&amp;gt;), the user may be warned that certain letters do not.  E.g. &amp;lt;code&amp;gt;-b&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;-c&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;-n&amp;lt;/code&amp;gt; cover completely urelated functions upon decoding vs upon encoding.  &lt;br /&gt;
&lt;br /&gt;
5.7.0 introduces multi-threading options for both encoding and decoding, invoked with &amp;lt;code&amp;gt;--threads=&amp;lt;number 1 to 12&amp;gt;&amp;lt;/code&amp;gt;, or simply &amp;lt;code&amp;gt;--threads&amp;lt;/code&amp;gt; to let WavPack choose.  Multithreading does not reduce overall CPU load, but unless the CPU is already working at max, it will do one or a few files in fewer seconds; thus it is invoked by default for the CoolEdit plugin.  For encoding, it leads to slightly different files, with usually very small size impact.&lt;br /&gt;
&lt;br /&gt;
=== Encoding options (lossless) ===&lt;br /&gt;
Encoding using &amp;lt;code&amp;gt;-hxm&amp;lt;/code&amp;gt; seems a sensible trade-off between compression and CPU load.  Some selected options are described as follows; for an exhaustive refence, see the manual (online, or included as wavpack_doc.html in the distribution).&lt;br /&gt;
* Compression.  WavPack has four compression modes that affect compression as well as encoding &#039;&#039;and&#039;&#039; decoding time: fast (&amp;lt;code&amp;gt;-f&amp;lt;/code&amp;gt;), default, high (&amp;lt;code&amp;gt;-h&amp;lt;/code&amp;gt;) and very high (&amp;lt;code&amp;gt;-hh&amp;lt;/code&amp;gt;).  The CPU load of &amp;lt;code&amp;gt;-hh&amp;lt;/code&amp;gt; is measured to around twice that of &amp;lt;code&amp;gt;-f&amp;lt;/code&amp;gt; (and could in the early 2000s be too heavy for portable players, although it does decode faster than any Monkey&#039;s).  On top these modes, the optional extra processing &amp;lt;code&amp;gt;-x1&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;-x6&amp;lt;/code&amp;gt; settings will apply extra compression effort that does not increase &#039;&#039;decoding&#039;&#039; CPU load. &amp;lt;code&amp;gt;-x&amp;lt;/code&amp;gt; without number is synonymous to &amp;lt;code&amp;gt;-x1&amp;lt;/code&amp;gt;, which is often recommended (in all modes, fast/normal/high/extra high).  The official manual calls &amp;lt;code&amp;gt;-x4&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;-x6&amp;lt;/code&amp;gt; &amp;quot;extremely slow&amp;quot;, but the size gains might be significant for high resolution audio in particular (van Beurden&#039;s revision 5, testing &amp;lt;code&amp;gt;-x4&amp;lt;/code&amp;gt;).  &lt;br /&gt;
** 5.5.0 introduces optional switches for the default compression: &amp;lt;code&amp;gt;-g&amp;lt;/code&amp;gt; for normal mode and &amp;lt;code&amp;gt;-x0&amp;lt;/code&amp;gt; for &amp;quot;no &amp;lt;code&amp;gt;-x&amp;lt;/code&amp;gt;&amp;quot;.  These are redundant for basic use, but can be used to switch off options already given (e.g. in renamed executables, or custom builds): &amp;lt;code&amp;gt;-x6 -x0&amp;lt;/code&amp;gt; will switch off the extra processing, and &amp;lt;code&amp;gt;-h -f -g&amp;lt;/code&amp;gt; will encode as normal, whereas previous versions would abort with an error.&lt;br /&gt;
** With DSD files, there are only two compression settings, normal and high; the option &amp;lt;code&amp;gt;-f&amp;lt;/code&amp;gt; will select normal, &amp;lt;code&amp;gt;-h&amp;lt;/code&amp;gt;/&amp;lt;code&amp;gt;-hh&amp;lt;/code&amp;gt; will both select high, and the &amp;lt;code&amp;gt;-x&amp;lt;/code&amp;gt; switches are silently ignored. &lt;br /&gt;
* Guarding against errors upon encoding: The &amp;quot;&amp;lt;code&amp;gt;-m&amp;lt;/code&amp;gt;&amp;quot; switch will compute an audio MD5 sum (like FLAC does by default) and store it for later verification.  The &amp;quot;&amp;lt;code&amp;gt;-v&amp;lt;/code&amp;gt;&amp;quot; switch will verify by decoding the file after it has been written to disk&amp;lt;ref&amp;gt;[https://hydrogenaud.io/index.php?topic=121714.msg1008108#msg1008108 HA forum comment:] verification checks the written file after closing and reopening&amp;lt;/ref&amp;gt;. &amp;lt;code&amp;gt;-vm&amp;lt;/code&amp;gt; will do both &amp;amp;ndash; that is, calculate the MD5s to verify, and store it.  Using the corresponding switches in wvunpack will check without producing output file, however wvunpack also has a faster corruption check for WavPack 5-encoded files: &amp;lt;code&amp;gt;-vv&amp;lt;/code&amp;gt;.&lt;br /&gt;
* &amp;lt;code&amp;gt;--import-id3&amp;lt;/code&amp;gt; will import ID3v2.3/2.4 tags present in the source file &amp;amp;ndash; typically in Sony DSF files &amp;amp;ndash; and convert them to WavPack&#039;s preferred APE tags.  (Not all tags are supported, but the full tags chunk will be kept for restoring the original file.)  By default, importing is limited to 1 MB; for more, use &amp;lt;code&amp;gt;--allow-huge-tags&amp;lt;/code&amp;gt;.  Same option works in wvtag; indeed, one can encode first and then afterwards &amp;quot;import&amp;quot; the tags from the WavPack file using &amp;lt;code&amp;gt;wvtag --import-id3 wavpackfile.wv&amp;lt;/code&amp;gt;; this provided that these data have not been deleted by the following &amp;lt;code&amp;gt;-r&amp;lt;/code&amp;gt; option: &lt;br /&gt;
* &amp;lt;code&amp;gt;-r&amp;lt;/code&amp;gt;: remove non-audio chunks.  By default, WavPack will store these in the .wv file for later bit-by-bit restoration of everything, not only the audio. Use &amp;lt;code&amp;gt;-r&amp;lt;/code&amp;gt; to throw them away and encode audio only &amp;amp;ndash; like encoding through most players appear to do. &lt;br /&gt;
* &amp;lt;code&amp;gt;-t&amp;lt;/code&amp;gt;: copy input file&#039;s time stamp.  (To restore the file with the original time stamp, use &amp;lt;code&amp;gt;-t&amp;lt;/code&amp;gt; both when encoding and when decoding.)&lt;br /&gt;
* &amp;lt;code&amp;gt;--pause&amp;lt;/code&amp;gt;: (Windows only!) waits for keypress at the end.  Useful for reading output before exit when calling wavpack/wvunpack in a separate window (which both drag-and-drop the Windows front-end do).&lt;br /&gt;
* &amp;lt;code&amp;gt;-y&amp;lt;/code&amp;gt;: &amp;quot;yes&amp;quot; to everything.  Use with caution, will overwrite.  From 5.5.0 there is also a &amp;lt;code&amp;gt;--no-overwrite&amp;lt;/code&amp;gt; that will skip instead of asking to overwrite.&lt;br /&gt;
* &amp;lt;code&amp;gt;-d&amp;lt;/code&amp;gt;: delete source file upon successful completion.  Again, use with caution. &lt;br /&gt;
* &amp;lt;code&amp;gt;-l&amp;lt;/code&amp;gt; will force WavPack to run at low priority (Windows only)&lt;br /&gt;
* &amp;lt;code&amp;gt;-c&amp;lt;/code&amp;gt;: this is for hybrid lossless, see below. &lt;br /&gt;
&lt;br /&gt;
WavPack can recompress .wv files in place (using a temporary file until done).  For example, &amp;lt;code&amp;gt;wavpack -hx4mvy wavpackfile.wv&amp;lt;/code&amp;gt; will compress wavpackfile.wv in high mode using &amp;lt;code&amp;gt;-x4&amp;lt;/code&amp;gt; extra processing, writing everything (and an audio MD5 checksum) to a temporary file with tags transferred; close and then re-open the temp file to re-read for verification &amp;amp;ndash; and only once verified, replace the old wavpackfile.wv. &amp;lt;code&amp;gt;wavpack -hx4rlmvy wavpackfile.wv&amp;lt;/code&amp;gt; will also run with low priority (assuming the Windows platform), and will discard non-audio chunks &amp;amp;ndash; that is, the ones used to restore the original file&#039;s metadata; the .wv file&#039;s APE tags will still be copied.  Some operations do require recompression even if the user would not demand it; For example, wavpack cannot add MD5 sum to a .wv file without recompressing it. Also, if the user wants to discard the original file&#039;s headers/footers, that can be done upon decompression or recompression &amp;amp;ndash; but not by simply removing them from the .wv file. &lt;br /&gt;
There is no out-of-the-box facility to recompress based on how heavy the original file was compressed, or to keep the smallest file. &lt;br /&gt;
&lt;br /&gt;
=== (Incomplete:) hybrid lossless &amp;amp; lossy encoding ===&lt;br /&gt;
(Needs to be expanded. Notes: DSD can currently not be hybrid-encoded and floating-point files should not be.  The correction file will be omitted by a lot of applications/players, including VLC, mplayer and ffmpeg; thus, using ffmpeg or ffmpeg-based players to convert/play hybrid-encoded WavPack will be lossy. For WavPack in Matroska, there doesn&#039;t seem to be any player that will play both the lossy stream and the correction stream, although mkvmerge/mkvextract will import/extract both streams. foobar2000 can play hybrid lossless .wv+.wvc, but will omit a Matroska-encapsulated correction stream.)&lt;br /&gt;
&lt;br /&gt;
Basic use: the &amp;lt;code&amp;gt;-b&amp;lt;/code&amp;gt; switch &amp;amp;ndash; and for losslessness, use &amp;lt;code&amp;gt;-c&amp;lt;/code&amp;gt; to create a correction file. &lt;br /&gt;
A numerical argument for quality is mandatory: if &amp;lt; 24 it will signify &#039;&#039;bits per sample&#039;&#039; and if &amp;gt; 24 it will signify &#039;&#039;kbit/second&#039;&#039;. Decimal separator is . even if your locale uses the comma. &lt;br /&gt;
For example, &amp;lt;code&amp;gt;wavpack -b12.5 filename&amp;lt;/code&amp;gt; will create filename.wv of bit rate 12.5 bits per sample.  &lt;br /&gt;
For an example that creates filename.wv at at most 234.56 kilobits per second and a correction file filename.wvc, the following commands will work:&lt;br /&gt;
* In all versions, &amp;lt;code&amp;gt;wavpack -b234.56 -c filename&amp;lt;/code&amp;gt;. Or equivalently &amp;lt;code&amp;gt;wavpack -cb234.56 filename&amp;lt;/code&amp;gt;&lt;br /&gt;
* From 5.70, also &amp;lt;code&amp;gt;wavpack -c234.56 filename&amp;lt;/code&amp;gt; will do the same.  Thus, a user can avoid the &amp;quot;&amp;lt;code&amp;gt;b&amp;lt;code&amp;gt;&amp;quot; altogether, eliminating the risk of loss from forgetting the &amp;quot;&amp;lt;code&amp;gt;c&amp;lt;code&amp;gt;&amp;quot;. &lt;br /&gt;
More options can be added, like &amp;lt;code&amp;gt;wavpack -cb234.56 -mhx filename&amp;lt;/code&amp;gt; to compress in high mode with extra processing and stores the (&#039;&#039;original&#039;&#039; PCM&#039;s) MD5 sum.  &lt;br /&gt;
When filename.wv and filename.wvc are both present, the original file will be restored completely by decoding the usual way by &amp;lt;code&amp;gt;wvunpack filename&amp;lt;/code&amp;gt; (or &amp;lt;code&amp;gt;wvunpack filename.wv&amp;lt;/code&amp;gt;, but not &amp;lt;code&amp;gt;wvunpack filename.wvc&amp;lt;/code&amp;gt;).  Playback of the .wv+.wvc is also lossless provided the player application supports correction files (like foobar2000, but few do). &lt;br /&gt;
&amp;lt;code&amp;gt;filename.wv&amp;lt;/code&amp;gt; can be copied to a different location without compression file and played in the same way as if it was encoded as lossy in the first place; the decoder will only look in the same path and for same file name except with .wvc extension. &lt;br /&gt;
&lt;br /&gt;
If a high enough lossy quality is specified, it is possible that the file can losslessly contain the entire signal.  If so, WavPack will report at the end of the encoding process &amp;amp;ndash; but that information is not stored in the file.  It can be inferred later from the small .wvc file, and if that is lost: if &amp;lt;code&amp;gt;-m&amp;lt;/code&amp;gt; was used upon encoding.&lt;br /&gt;
WavPack will refuse to recompress lossy-generated .wv to &amp;quot;lossless .wv&amp;quot; as that would make a false pretense of being a lossless file.  (That goes even in the &amp;quot;that information is not stored in the file&amp;quot; case just mentioned.)  If a lossless hybrid with correction file is recompressed, the default is to create a single-file lossless .wv; from 5.7.0, the old .wvc file will then be removed (as it does no longer belong to any .wv file), but earlier version would need to use the delete switch.&lt;br /&gt;
&lt;br /&gt;
Advanced use: The encoder has several options to tune lossy quality through e.g. noise shaping. &lt;br /&gt;
&lt;br /&gt;
=== Decoding options ===&lt;br /&gt;
In addition to the basic usage above (drag and drop or &amp;lt;code&amp;gt;wvunpack filename.wv&amp;lt;/code&amp;gt;), the wvunpack executable offers several options.  For use with the Windows front-end or drag and drop, the Windows-only &amp;lt;code&amp;gt;--pause&amp;lt;/code&amp;gt; (waits for keypress at the end, like for wavpack.exe) is essential to read the output report.  Also Windows-only options like &amp;lt;code&amp;gt;--drop&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;-l&amp;lt;/code&amp;gt; work as for wavpack.exe, and so do &amp;lt;code&amp;gt;-d&amp;lt;/code&amp;gt; (use with caution!) and &amp;lt;code&amp;gt;-y&amp;lt;/code&amp;gt; (ditto!) as well as &amp;lt;code&amp;gt;-t&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
* Output &#039;&#039;filename&#039;&#039; can be set with &amp;lt;code&amp;gt;wvunpack infilename.wv -o outfilename &amp;lt;/code&amp;gt; (the &amp;lt;code&amp;gt;-o&amp;lt;/code&amp;gt; being superfluous on Windows, where &amp;amp;ndash; in the absence of &amp;lt;code&amp;gt;--drop&amp;lt;/code&amp;gt; &amp;amp;ndash; the second filename will be assumed to be output name).  Then wvunpack will affix the file extension of the original file (say, outfilename.wav if the wavpacked file was somefilename.wav).  The wavpack encoder detects the file type from content, and so wvunpack will not &amp;quot;fix misleading extensions&amp;quot; automatically; the user can provide a giving full output filename with extension, but note that this will override the &#039;&#039;name&#039;&#039; only but not the &#039;&#039;type&#039;&#039;.  To make sure that -o out.aif indeed produces an AIFF, separate switches have to be employed. &lt;br /&gt;
* To force output &#039;&#039;file format,&#039;&#039; one needs to apply options to wvunpack.  The following are for PCM output: &amp;lt;code&amp;gt;--raw-pcm&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;--wav&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;--w64&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;--caf-be&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;--caf-le&amp;lt;/code&amp;gt;, and from version 5.6.0 on also &amp;lt;code&amp;gt;--aif&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;--aif-le&amp;lt;/code&amp;gt;.  &lt;br /&gt;
** These will delete non-audio chunks and replace them with a fresh file header: there is no option to &amp;quot;unpack to WAVE and restore the original headers if the original file was WAVE&amp;quot;.   &amp;lt;code&amp;gt;wvunpack --wav&amp;lt;/code&amp;gt; will select RF64 if (and only if) exceeding WAVE&#039;s 4 GB limit, and wvunpack will select old AIFF over AIFF-C if the audio data permit it.&lt;br /&gt;
** For DSD, those format switches will also force a &amp;amp;ndash; necessarily lossy &amp;amp;ndash; conversion to PCM.  To switch losslessly &#039;&#039;between&#039;&#039; DSD formats, there are also &amp;lt;code&amp;gt;--dsf&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;--dff&amp;lt;/code&amp;gt; (the latter being synonymous to &amp;lt;code&amp;gt;--dsdiff&amp;lt;/code&amp;gt;) which again delete non-audio chunks.  Note that WavPack cannot force any (also necessarily lossy) conversion &#039;&#039;to&#039;&#039; DSD, having no DSD encoder.&lt;br /&gt;
** &amp;lt;code&amp;gt;--raw&amp;lt;/code&amp;gt; outputs both PCM and DSD as headerless streams (lossless for both; &amp;lt;code&amp;gt;-r&amp;lt;/code&amp;gt; is synonymous; beware that this is not precisely the same as the same letter switch upon encoding).&lt;br /&gt;
&lt;br /&gt;
In addition to decimating DSD for conversion to PCM, there are other options where power users can utilize certain &#039;&#039;lossy&#039;&#039; operations by wvunpack, e.g. normalizing floating-point files (recommended before conversion to integer), dropping correction files from hybrid encodes &amp;amp;ndash; and &amp;lt;code&amp;gt;--skip&amp;lt;/code&amp;gt; and/or &amp;lt;code&amp;gt;--until&amp;lt;/code&amp;gt; to decode only a segment of the file.  See the documentation.  &lt;br /&gt;
Other options include &amp;lt;code&amp;gt;-b&amp;lt;/code&amp;gt; to &amp;quot;blindly&amp;quot; decode until end disregarding errors and corruption (potentially useful to save as much as possible from a destroyed file).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;wvunpack -m&amp;lt;/code&amp;gt; will decode with MD5 sum calculation.  If the .wv file had an MD5 sum stored, it will also be displayed for comparison. However, &amp;lt;code&amp;gt;-m&amp;lt;/code&amp;gt; will not give an error if they don&#039;t match (and if the .wv is lossy without correction file, they won&#039;t: the MD5 stored is that of the original). &lt;br /&gt;
&lt;br /&gt;
wvunpack is also the utility to display information from .wv files even when it does not involve decoding or file output, see the [[#Other file handling]] subsection.  Inter alia, &amp;lt;code&amp;gt; -s&amp;lt;/code&amp;gt; will correctly report the input file &#039;&#039;type&#039;&#039; even if it had a misleading extension (like a .wav extension disguising an AIFF file). &lt;br /&gt;
&lt;br /&gt;
== &amp;lt;span id=&amp;quot;Other file handling&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Other file handling (incomplete) ==&lt;br /&gt;
The WavPack distribution includes wvunpack, wvtag and wvgain.  &lt;br /&gt;
&lt;br /&gt;
=== File information with wvunpack (without decoding to file) === &lt;br /&gt;
wvunpack can get information about WavPack files without outputting any uncompressed audio file:&lt;br /&gt;
* &amp;lt;code&amp;gt;-vv&amp;lt;/code&amp;gt;: Quick verify without decoding (WavPack 5 files only; from 5.5.0 there is also a more verbose &amp;lt;code&amp;gt;-vvv&amp;lt;/code&amp;gt;).  Quick verify seems to be unavailable outside the official wvunpack; other applications which verify will fall back to the next item, &amp;lt;code&amp;gt;-v&amp;lt;/code&amp;gt;. &lt;br /&gt;
* &amp;lt;code&amp;gt;-vm&amp;lt;/code&amp;gt;: Decode and verify, but not write output file.  The &amp;quot;m&amp;quot; will compute the the MD5 sum of the decoded PCM and output it along with the .wv file&#039;s stored MD5, if such was present.  Note that the user has to check manually that they match.  A user who never uses &amp;lt;code&amp;gt;-m&amp;lt;/code&amp;gt; upon encoding can safely drop the &amp;lt;code&amp;gt;-m&amp;lt;/code&amp;gt; from wvunpack too.  Note that absent the &amp;quot;v&amp;quot;, &amp;lt;code&amp;gt;wvunpack -m&amp;lt;/code&amp;gt; will write output file &amp;amp;ndash; and that &amp;lt;code&amp;gt;wvunpack -mvv&amp;lt;/code&amp;gt; is not allowed, as MD5 calculation requires decoding.&lt;br /&gt;
* &amp;lt;code&amp;gt;-s&amp;lt;/code&amp;gt;/&amp;lt;code&amp;gt;-ss&amp;lt;/code&amp;gt;: &amp;lt;code&amp;gt;-s&amp;lt;/code&amp;gt; displays summary of the file, &amp;lt;code&amp;gt;-ss&amp;lt;/code&amp;gt; a long summary including tags. Also there is &amp;lt;code&amp;gt;-f&amp;lt;/code&amp;gt; for parseable output, see documentation.&lt;br /&gt;
* &amp;lt;code&amp;gt;-x&amp;lt;/code&amp;gt; FIELD: Shows tag, e.g. &amp;lt;code&amp;gt; -x comment &amp;lt;/code&amp;gt; shows the &amp;lt;comment&amp;gt; field.  &amp;lt;code&amp;gt;-c&amp;lt;/code&amp;gt; is synonymous to &amp;lt;code&amp;gt; -x cuesheet&amp;lt;/code&amp;gt;.   Also &amp;lt;code&amp;gt; wvtag -x &amp;lt;/code&amp;gt; resp. &amp;lt;code&amp;gt; wvtag -c &amp;lt;/code&amp;gt; do the same thing.  &amp;lt;code&amp;gt;-xx&amp;lt;/code&amp;gt; (same option for wvtag) can output to file (use &amp;lt;code&amp;gt;-n&amp;lt;/code&amp;gt; to avoid decoding) &amp;amp;ndash; see documentation.&lt;br /&gt;
&lt;br /&gt;
=== (To fill in:) Tagging (wvtag) and replaygain management (wvgain) ===&lt;br /&gt;
(... most of these options are available in HA&#039;s fave taggers/player? Except the following, maybe?) &lt;br /&gt;
&amp;lt;code&amp;gt;wvtag --import-id3 wavpackfile.wv&amp;lt;/code&amp;gt; will read and &amp;quot;import&amp;quot; ID3 tag stored in wavpackfile.wv&#039;s non-audio chunks; this will overwrite existing APEv2. Can also be used with &amp;lt;code&amp;gt;--allow-huge-tags&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== File formats, versions, decoding and transcoding support ==&lt;br /&gt;
Even if WavPack has expanded its feature set over the years, it has gone to lengths to maintain compatibility.  Old WavPack 4.x decoders can restore WavPack 5 files to several file types it cannot encode, but not DSD.  &lt;br /&gt;
The TL;DR is that unless one has an ancient portable device or even more ancient files, one will do just fine with the most recent WavPack, and if not then WavPack 4.80 will suffice &amp;amp;ndash; it is still available and can convert ancient WavPack version 3 files.  &lt;br /&gt;
Over the years, one might have encountered WavPack files in (at least) the following variants: &lt;br /&gt;
&lt;br /&gt;
* .wv (current!) is the file extension used for file formats 4 and 5. Can in most cases be decoded by &amp;quot;anything&amp;quot; (even if the source was e.g. AIFF, which old WavPack cannot read but still restore).  Exceptions:&lt;br /&gt;
** WavPack 4 cannot play or restore compressed DSD files (that is new to WavPack 5).  Although FFmpeg&#039;s wavpack implementation is version 4-based, DSD and DSD-in-WavPack can still be &#039;&#039;played&#039;&#039; with an FFmpeg-based player. (But not restored, as FFmpeg has no DSD pipeline, so this is for playback or lossy conversion.)&lt;br /&gt;
** FFmpeg creates non-compliant files for 17 channels and up.  WavPack 5.7.0 can decode and repair (FFmpeg itself cannot!)&lt;br /&gt;
** Mono signals encoded to WavPack 5 might require WavPack version 4.3 (from 2005) or later to play.  It is doubtful that there are hardware players around using older WavPack; should incompatibilities occur, the easiest is likely then to recompress using 4.80. &lt;br /&gt;
** To older WavPack versions than 5.7.0, encodes with the new &amp;lt;code&amp;gt;--optimize-int32&amp;lt;/code&amp;gt; will be viewed as &amp;quot;lossy without correction file&amp;quot;.  They are safe to play (and will apparently only introduce loss from the 24th bit, -138 dB down), but only 5.7.0 can see the lossless version and restore the file completely.&lt;br /&gt;
* .wvc, correction files when hybrid lossless encoding is chosen.  Honoured by official WavPack, but users might note that wvpack/wvunpack should be fed the .wv file and will err out if pointed at merely the .wvc file.&lt;br /&gt;
* .exe (deprecated): WavPack 4 could compress to Windows self-extracting file (like OptimFROG also offers).  This feature is discontinued in WavPack 5.  Newer versions of the decoder can still play and decode them &amp;amp;ndash; indeed, merely renaming them from .exe to .wv will make them play in players that use the official WavPack library (e.g. foobar2000 will, but VLC will not), and they can be tagged.&lt;br /&gt;
** How to recompress with tag transfer: Rename to .wv and run the recompression.&lt;br /&gt;
* The 3rd party hack &amp;quot;.iso.wv&amp;quot; can also be mentioned here: Circa 2010, some developer took advantage of how the official decoder might look further into a file to find WavPack headers (like it would have to on the self-extracting files) and used the .iso format to contain a folder with whatever files including one single WavPack file as playable.  Due to efforts from a few enthusiasts when this hack was introduced, iso.wv is mentioned in several players&#039; official and unofficial feature lists, including Wikipedia pages.  These files are .iso files, but the .wv extension makes the official decoder search in the container and and play the WavPack file it finds &amp;amp;ndash; and so will e.g. foobar2000 which uses official WavPack to play them.  Technical reservations apply, and are beyond the scope of these article.&lt;br /&gt;
** These files can be recompressed like the self-extracting files can &amp;amp;ndash; this will however discard everything else than the WavPack file.&lt;br /&gt;
* .wav (pre-2004, long deprecated).  WavPack 3 and below used the .wav extension, which explains the error message &amp;quot;this legacy WavPack file is deprecated, use version 4.80.0 to transcode&amp;quot; if a user tries to wv&#039;&#039;un&#039;&#039;pack a WAVE file. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Using WavPack with 3rd party tools (FFmpeg &amp;amp; more) =&lt;br /&gt;
&lt;br /&gt;
Some applications may behave slightly surprising.  FFmpeg has its own WavPack implementation and has a few known peculiarities, some which are expected to be fixed and others of unknown status.  Android users may need to use the player application&#039;s folder to get WavPack files recognized.  The tl;dr are that as long as it plays, it plays &amp;amp;ndash; but to safeguard against loss of information (e.g. upon conversion), use the official tools.  In particular, hybrid lossless correction files are usually not honoured by 3rd party tools. (A player that &#039;&#039;does&#039;&#039;, foobar2000, uses the official WavPack libraries.)&lt;br /&gt;
&lt;br /&gt;
== Splitting WavPack files by cuesheet ==&lt;br /&gt;
WavPack is a format with good support for storing an album as one .wv file with embedded (or external) cuesheets, but splitting into tracks by way of cuesheets is not straightforward without external tools.  Audio players like [[foobar2000]] which support cue sheets can also split upon conversion.  Other external applications that will do this splitting &amp;amp;ndash; also with more variations of the cue sheet format(s) supported &amp;amp;ndash; include&lt;br /&gt;
* [[CUETools]] can if it is CDDA (44.1 kHz 16-bit stereo), and can re-encode back to WavPack.  &lt;br /&gt;
* refalac can decode &amp;amp; split by cuesheets with the appropriate (official) WavPack library DLL file&amp;lt;ref&amp;gt;[https://github.com/nu774/qaac/wiki/refalac-usage refalac usage] includes how to split by cuesheet&amp;lt;/ref&amp;gt;, outputting WAVE or ALAC-in-MP4.&lt;br /&gt;
Both refalac, CUETools and foobar2000 use the official WavPack tools for the decoding(/encoding). &lt;br /&gt;
&lt;br /&gt;
== &amp;lt;span id=&amp;quot;FFmpeg&#039;s WavPack implementation&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;FFmpeg&#039;s WavPack implementation: differences and quirks ==&lt;br /&gt;
FFmpeg can encode/decode to/from WavPack &amp;amp;ndash; which may be seen as attractive from how it also can transfer metadata in one go &amp;amp;ndash; but with some limitations and maybe unfamiliar behaviour.  &amp;lt;br/&amp;gt; FFmpeg has had some bugs which may cause audio corruption.  Although some fixes were applied with FFmpeg release 6.1, users might beware that players and converters that employ FFmpeg as a decoding engine may or may not update that quickly. &lt;br /&gt;
* [Still not fixed as of ffmpeg 6.1] Encoding, multi-channel only: Above 16 channels, when the WavPack 5 format is required, FFmpeg will still attempt encoding to WavPack version 4, but will produce non-compliant files &amp;amp;ndash; that ffmpeg itself might not be able to read.&amp;lt;br/&amp;gt;Official WavPack 5.7.0 can repair those files, at least the &amp;quot;known&amp;quot; defects. &lt;br /&gt;
* [Fixed in ffmpeg 6.1] Encoding, 8-bit PCM only: FFmpeg (up to 6.0) will produce broken files with static noise.  No known attempt at recovering them.&lt;br /&gt;
* [Fixed in ffmpeg 6.1] Decoding, any format but rare: A bug FFmpeg&#039;s WavPack decoder, discovered in August 2022&amp;lt;ref&amp;gt;[https://hydrogenaud.io/index.php/topic,122810 HA forum thread on the ffmpeg bug in .wv decoding]&amp;lt;/ref&amp;gt;, will cause dropouts in certain files. The bug is &#039;&#039;&amp;quot;rare&amp;quot;&#039;&#039; in that no such file was discovered in several years.  &lt;br /&gt;
&lt;br /&gt;
Further limitations in FFmpeg&#039;s implementation:&lt;br /&gt;
* No MD5 sum and no verification &amp;amp;ndash; although it is possible for power users to set up a command-line to compute audio-only checksums of input, decode output to checksum and compare.  FFmpeg will also only write WavPack 4 files, hence no &#039;&#039;fast verification&#039;&#039; of the bitstream.  (FFmpeg can however decode WavPack 5 files, including DSD.)&lt;br /&gt;
* As a general rule &amp;amp;ndash; not specific to .wv &amp;amp;ndash; FFmpeg will &#039;&#039;not&#039;&#039; honour the input bit depth: for example when outputting WAVE/AIFF, it will default to 16 bits regardless of input bit depth.  This default behaviour is not lossless when input bit depth is &amp;gt; 16 bits, and could even induce clipping (with no warning!) if the source is a 32-bit float.  To force lossless decoding of 24-bit/32-bit files (WavPack/FLAC/ALAC/TAK/uncompressed) to WAVE/AIFF, the user must extract the bit depth information and specify the respective 24-bit/32-bit output format using ffmpeg&#039;s command-line syntax. &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;For an extreme example: &amp;lt;code&amp;gt;FFmpeg -i DSDfile.dsf outfile.wv&amp;lt;/code&amp;gt; will not store the DSD &amp;amp;ndash; rather it will convert to floating-point PCM which is then compressed, typically making for several times the file size, with no warning that it is lossy.&amp;lt;br/&amp;gt;&lt;br /&gt;
The tl;dr for users who do not have this at their fingertips, is to use other (= official!) decoders when losslessness is desired.&lt;br /&gt;
* Correction files ignored, leading to lossy playback/conversion of hybrid-encoded WavPack files with when ffmpeg or ffmpeg-based players are used. &lt;br /&gt;
* Loss of information that is not directly audio-related: FFmpeg has no ambition of preserving file structure and (R)IFF chunks, so you will not get the non-audio chunks of the files back when using ffmpeg to encode &amp;amp;ndash; however it &#039;&#039;will&#039;&#039; by default transfer metadata it supports. &lt;br /&gt;
* FFmpeg will sometimes &amp;amp;ndash; depending on input format &amp;amp;ndash; output 32-bit WavPack files and lose the information that the source was indeed only 24. Not all players support 32-bit files, and verifying that the operation (or an attempted downconversion to 24) was lossless is not straightforward as even fewer applications are willing to compare a 32-bit and a 24-bit file for differences. &amp;lt;br/&amp;gt;Also for files with bit depth not being 8/16/24/32 is lost; WAVE/AIFF/CAF can handle &amp;quot;17 bit&amp;quot; files by storing 24 and employing a flag to disregard the 7 LSBs, and ffmpeg will lose this flag even when encoding to / decoding from codecs which support it, WavPack and FLAC. &lt;br /&gt;
&lt;br /&gt;
FFmpeg&#039;s compression settings can be set with &amp;lt;code&amp;gt;-compression_level&amp;lt;/code&amp;gt; 0 to 8, which work different than the reference implementation. Like for ALAC compression, FFmpeg has chosen a &#039;&#039;default&#039;&#039; that prioritizes speed over size &amp;lt;ref&amp;gt;[https://hydrogenaud.io/index.php?topic=118278.msg976262#msg976262  HA forum comment comparing the compression presets]&amp;lt;/ref&amp;gt; &amp;amp;ndash; while on the other end, FFmpeg&#039;s WavPack encoder offers settings even slower than &amp;lt;code&amp;gt;-hhx6&amp;lt;/code&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Software support (&amp;amp; hardware) =&lt;br /&gt;
The following list is unlikely to be complete, and the same goes for the lists https://www.wavpack.com/#Software and https://www.wavpack.com/#Hardware : In the age of Android-powered devices with ffmpeg-based playback, it is not feasible to list all players which can in one way or another play this or that format, nor to distinguish clearly between hardware players and software players.&lt;br /&gt;
&lt;br /&gt;
== Players ==&lt;br /&gt;
* [[foobar2000]] advanced freeware audio player plays/decodes WavPack out of the box on both Windows, MacOS, Android and iOS (Windows: supports encoding if wavpack.exe is installed, and redistributes the official wavpack.exe through its &amp;quot;Free encoder pack&amp;quot; addon for encoding.  With ReplayGain &amp;amp; cuesheets support.) Also [[Boom]] from the same author.&lt;br /&gt;
* [http://www.videolan.org/vlc/download-windows.html VLC] multiplatform media player&lt;br /&gt;
* [http://www.vuplayer.com/vuplayer.php VUPlayer] (official plugin, supports encoding)&lt;br /&gt;
* NullSoft [[Winamp]] (plugin with ReplayGain &amp;amp; Media Library support) and Winamp-compatible players&lt;br /&gt;
* [[Windows Media Player]] and other directshow-based players (MPC, TCMP, RadLight) (with [http://www.hydrogenaudio.org/forums/index.php?showtopic=103693 CoreWavPack] directshow filter)&lt;br /&gt;
* [http://cogosx.sourceforge.net/ Cog] Audio player for MacOS X.&lt;br /&gt;
* [https://wiki.jriver.com/index.php/WavPack JRiver Media Center]&lt;br /&gt;
* [[XMMS]] (with Kuniklo&#039;s plugin)&lt;br /&gt;
* [http://fondriest.frederic.free.fr/realisations/lamip/ LAMIP] (official plugin)&lt;br /&gt;
* [http://mpxplay.sourceforge.net/ MPXplay] for DOS!&lt;br /&gt;
* [http://aqualung.sourceforge.net/ Aqualung] for GNU/Linux&lt;br /&gt;
* Cowon [http://www.jetaudio.com/ JetAudio Player] and CD ripper&lt;br /&gt;
* [http://www.un4seen.com/ XMPlay] Plugin required (WavPack input plugin) and (bass library) to play &#039;.wv&#039; files&lt;br /&gt;
&lt;br /&gt;
== Converters, CD rippers etc. ==&lt;br /&gt;
For conversion (of &#039;&#039;audio&#039;&#039; only), one can use several of the &#039;&#039;players&#039;&#039; listed above, like Cowon JetAudio, foobar2000 and VUplayer &amp;amp;ndash; although some with limitations in the audio pipeline, like for example DSD handling. &amp;lt;br/&amp;gt;&lt;br /&gt;
More software that support conversion to or from WavPack include:&lt;br /&gt;
* Custom [http://www.wavpack.com/WavPack_frontend.zip WavPack frontend] (by Speekenbrink) for Windows.&lt;br /&gt;
* [http://www.dbpoweramp.com/ dBpowerAMP] Music Converter CD ripper/writer / Audio Player / (official addon)&lt;br /&gt;
* [[fre:ac]] multi-platform CD ripper/converter&lt;br /&gt;
* [[Exact Audio Copy]] CD Ripper (guide at this wiki&amp;lt;ref&amp;gt;[[EAC_and_WavPack | HA Wiki: Configuring EAC and WavPack]]&amp;lt;/ref&amp;gt;)&lt;br /&gt;
* [http://www.nero.com/eng/ Nero]&lt;br /&gt;
* [http://cdexos.sourceforge.net CDex] CD ripper&lt;br /&gt;
* [https://download.cnet.com/Ease-Audio-Converter/3000-2140_4-10390634.html Ease Audio Converter] (Discontinued; shareware / NOT Freeware)&lt;br /&gt;
* [http://media.io/ Media.io Online Audio Converter]&lt;br /&gt;
* [http://www.logipole.com/index.html Konvertor]&lt;br /&gt;
* [http://cuetools.net CUETools] converter and AccurateRip/CTDB checker&lt;br /&gt;
* [https://github.com/nu774/qaac refalac] (user must copy the wavpackdll.dll file to the appropriate directory)&lt;br /&gt;
&lt;br /&gt;
== Taggers and audio info utilities ==&lt;br /&gt;
* [http://www.mp3tag.de/en/index.html Mp3tag] Universal Tag Editor&lt;br /&gt;
* [https://picard.musicbrainz.org/ MusicBrainz Picard] Tagger with audio identification &lt;br /&gt;
* [http://www.jtclipper.eu/thegodfather/ The GodFather] Tagger / Music manager&lt;br /&gt;
* [[Tag.exe|Case&#039;s Tag]] command line tagger&lt;br /&gt;
* [https://mediaarea.net/ MediaInfo]&lt;br /&gt;
* [http://mr-questionman.en.uptodown.com/windows Mr. QuestionMan]&lt;br /&gt;
&lt;br /&gt;
== Audio editors and other tools ==&lt;br /&gt;
* [[Audacity]] has WavPack support (using official libraries) from version 3.2.0 (2022)&amp;lt;ref&amp;gt;[https://github.com/audacity/audacity/releases/tag/Audacity-3.2.0 Audacity 3.2.0 release notes]&amp;lt;/ref&amp;gt;.&lt;br /&gt;
* [[Adobe Audition]] and Cool Edit (filter with 32-bit floats &amp;amp; extra info save support)&lt;br /&gt;
* [https://www.reaper.fm/about.php#technical Reaper] DAW software for Windows / MacOS&lt;br /&gt;
* [https://sourceforge.net/projects/sox/ SoX] can read and write WavPack files.  (Write: limited to &amp;lt;code&amp;gt;-hh&amp;lt;/code&amp;gt; compression, not file format version 5.)&lt;br /&gt;
* [http://www.bunkus.org/videotools/mkvtoolnix/ mkvtoolnix] &amp;amp;ndash; tool to multiplex streams in Matroska container files.&lt;br /&gt;
&#039;&#039;It&#039;s worth mentioning the [[Matroska]] guys decided to concentrate on WavPack as the lossless compressor of choice for their container. Quite an honor... :-)&#039;&#039;&lt;br /&gt;
* [https://support.pkware.com/display/PKSZLU/PKZIP+Toolkit+for+Windows PKWare]&#039;s .zip format compresses audio by WavPack since version 6.3.2 (2007).  Beware that there is no expectation that other decompression software handles these zip files; even if PKWare co-designed the format and PKZip was the original .zip implementation, their subsequent compression methods are outside the ISO/IEC standardized zip format specification. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Links =&lt;br /&gt;
* [http://www.wavpack.com/ Official website]&lt;br /&gt;
* [https://github.com/dbry/WavPack Github repository]&lt;br /&gt;
* [http://www.rarewares.org/lossless.html Unofficial compiles] at RareWares. As of 2023: 5.50 for Windows and 4.32 multiplatform&lt;br /&gt;
* [https://en.wikipedia.org/wiki/WavPack WavPack at Wikipedia]&lt;br /&gt;
* [https://wiki.multimedia.cx/index.php/WavPack WavPack at Multimediawiki] (not updated with version 5)&lt;br /&gt;
* [[Lossless_comparison| HA Wiki&#039;s Lossless Codec Comparison]] originally by [[User:Rjamorim|Rjamorim]] &lt;br /&gt;
* An older (2005) performance comparison of lossless audio compressors {{webarchive|https://web.archive.org/web/20151027213336/http://members.home.nl/w.speek/comparison.htm|2015-10-27}} by Speek, using WavPack version 4.0 &lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{navbox audio codecs}}&lt;br /&gt;
[[Category:Codecs]]&lt;br /&gt;
[[Category:Lossless]]&lt;/div&gt;</summary>
		<author><name>Porcuswiki</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=Xing&amp;diff=37789</id>
		<title>Xing</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=Xing&amp;diff=37789"/>
		<updated>2024-03-31T22:28:24Z</updated>

		<summary type="html">&lt;p&gt;Porcuswiki: Timeline: Moved the acquisition up one headline.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The &#039;&#039;&#039;Xing&#039;&#039;&#039; (pronounced &amp;quot;zing&amp;quot;) [[MP3]] encoder was one of the fastest MP3 encoders. Of course that comes with a price, and quality wasn&#039;t on par with encoders tuned for quality instead of speed, like FhG Slowenc ([[Audioactive]]) and [[LAME]]. Yet despite its reputation for poor quality, Xing&#039;s ~128 kbps VBR mode compared favorably in [http://web.archive.org/web/20071005104610/http://www.rjamorim.com/test/ an early 2004 listening test].&lt;br /&gt;
&lt;br /&gt;
==Features==&lt;br /&gt;
* Encodes .wav to MPEG-1 and MPEG-2 layer 3 audio&lt;br /&gt;
* Encodes bitrates ranging from 28 to 320 kbps&lt;br /&gt;
* Variable Bitrate (VBR) encoding support&lt;br /&gt;
* High Frequency Encoding support (up to 20 kHz)&lt;br /&gt;
* Low data rate support&lt;br /&gt;
* Several times faster than most popular encoders&lt;br /&gt;
* Automated batch processing&lt;br /&gt;
* MP3 playback capabilities&lt;br /&gt;
* GUI based and command-line encoder front ends&lt;br /&gt;
&lt;br /&gt;
==Versions==&lt;br /&gt;
===XingMP3 standalone encoder===&lt;br /&gt;
[[Image:xingmp3encoder.png|frame|right|Xing Mp3 Encoder (v1.5 GUI, main window)]]&lt;br /&gt;
The last standalone version of the Xing encoder was XingMP3 1.5, released in March 1999.  It included a command-line interface (x3enc.exe), and also a GUI (mp3enc.exe) which was restricted to using a limited set of of the command-line encoder&#039;s options. &lt;br /&gt;
Real Networks acquired  [[wikipedia:Xing Technology|Xing Technology]], a.k.a. XingTech, in 1999, and after XingMP3 1.5, the encoder was only distributed as part of the [[wikipedia:RealPlayer|RealPlayer]] bundle. &amp;lt;!--details, anyone? I&#039;m not putting RealPlayer 10 on my system just to find out what interface they gave the MP3 encoder--&amp;gt; Apparently it was further developed over the years. &lt;br /&gt;
&lt;br /&gt;
===The Helix MP3 Encoder===&lt;br /&gt;
In 2005, RealNetworks decided to release the encoder under an [[open source]] license as a code library with command-line interface (no GUI), under the new name &#039;&#039;&#039;Helix mp3enc&#039;&#039;&#039;.  The encoder was part of the Helix datatype project, a collection of code libraries intended to support the now defunct [[wikipedia:Helix (multimedia project)|Helix multimedia project]].  &lt;br /&gt;
&lt;br /&gt;
In November 2022 HydrogenAudio user [https://hydrogenaud.io/index.php?action=profile;u=1312 maikmerten] updated the encoder to include a [[LAME#VBR_header_and_LAME_tag|lametag]] to provide sample accurate encoding/decoding for VBR and CBR, plus a bug fix to the original code.  &lt;br /&gt;
&lt;br /&gt;
[[Helix MP3 Encoder|A separate Wiki article on the Helix MP3 Encoder]] documents the state of the encoder including this recent development.&lt;br /&gt;
&lt;br /&gt;
==External links==&lt;br /&gt;
* [https://www.rarewares.org/mp3-others.php#helix_enc Helix MP3 encoder command-line executable for Windows, at RareWares]&lt;br /&gt;
* [https://web.archive.org/web/20160105123337/https://datatype.helixcommunity.org/files/2005/mp3enc.doc Helix MP3 encoder API docs (via archive.org)]&lt;br /&gt;
* &amp;lt;s&amp;gt;[https://helixcommunity.org/viewcvs/datatype/mp3/codec/encoder/ Helix MP3 encoder source code (CVS)]&amp;lt;/s&amp;gt;&lt;br /&gt;
* {{ha|https://hydrogenaud.io/index.php/topic,35531.0.html|Related discussion (2005-2016)}}&lt;br /&gt;
* {{ha|https://hydrogenaud.io/index.php/topic,123331.0.html|Resurrecting/Preserving the Helix MP3 encoder (Nov 2022+)}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Encoder/Decoder]]&lt;br /&gt;
[[Category:MP3]]&lt;/div&gt;</summary>
		<author><name>Porcuswiki</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=WavPack&amp;diff=37787</id>
		<title>WavPack</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=WavPack&amp;diff=37787"/>
		<updated>2024-03-30T11:19:30Z</updated>

		<summary type="html">&lt;p&gt;Porcuswiki: A forgotten mention of --optimize-int32&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Software Infobox&lt;br /&gt;
| name = WavPack&lt;br /&gt;
| logo = [[Image:Wavpacklogo.png|280px|Official WavPack logo]]&lt;br /&gt;
| screenshot =&lt;br /&gt;
| caption = Hybrid Lossless Audio Compression&lt;br /&gt;
| maintainer = David Bryant&lt;br /&gt;
| stable_release = 5.7.0 (2024-02-29)&lt;br /&gt;
| operating_system = Windows, MacOSX, Linux/BSD/Unix, ...&lt;br /&gt;
| use = Encoder/Decoder&lt;br /&gt;
| license = BSD license&lt;br /&gt;
| website = http://www.wavpack.com/&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;WavPack&#039;&#039;&#039; (pronounced &amp;quot;wave-pack&amp;quot;) is a [[lossless]] audio [[codec]], also offering optionally a [[hybrid codec| hybrid lossless/lossy]] mode.  It is distributed as a free open-source encoder/decoder with a library and a large number of tools, including a Windows GUI and a range of plugins for both audio players and other software.  Third party implementations are available, including ffmpeg.  WavPack supports and/or can be played back on a large number of platforms/OSes including mobile (Android, iOS), portable ([[Rockbox]]) and even web apps. &lt;br /&gt;
&lt;br /&gt;
WavPack is arguably the most feature-rich lossless compressor, supporting a unique range of audio signals including [https://en.wikipedia.org/wiki/Direct_Stream_Digital Direct-Stream Digital].  Everyday use is supported by a wide range of players and taggers, but &#039;&#039;conversion&#039;&#039; is likely safest done with applications that invoke the official tools (rather than e.g. ffmpeg&#039;s implementation) &amp;amp;ndash; and special features might require the user to apply the WavPack executable directly, for example with drag+drop, see the [[#Using WavPack]] section below.&lt;br /&gt;
&lt;br /&gt;
Performance-wise, WavPack defaults to a fast codec &amp;amp;ndash; less CPU intensive than [[ALAC]], but typically not as fast as [[FLAC]] or [[TAK]], especially in decoding CPU usage.&amp;lt;ref&amp;gt;[http://www.audiograaf.nl/losslesstest Martijn van Beurden: &amp;lt;em&amp;gt;Lossless audio codec comparison archive&amp;lt;/em&amp;gt;], all comparisons in this wiki article consistent with CDDA results up to revision 6, 2023, using WavPack 5.6.0.&amp;lt;/ref&amp;gt; In the age of low-power portable Rockbox-equipped players, WavPack could be seen as a reasonable middle ground between FLAC&#039;s low CPU footprint and long battery life, and the smaller files but more CPU-intensive [[Monkey&#039;s Audio]]&amp;lt;ref&amp;gt;[https://www.rockbox.org/wiki/CodecPerformanceComparison CodecPerformanceComparison] at the Rockbox wiki&amp;lt;/ref&amp;gt; &amp;amp;ndash; invoking WavPacks high mode and extra compression that would compress to smaller sizes than FLAC.&lt;br /&gt;
&lt;br /&gt;
WavPack has inspired other codecs&amp;lt;ref&amp;gt;Monkey&#039;s Audio historical FAQ {{webarchive|http://web.archive.org/web/20001017210206/http://www.monkeysaudio.com/faq.html|2000-10-17}}&amp;lt;/ref&amp;gt; and their features&amp;lt;ref&amp;gt;[http://losslessaudio.org/DualStream.php OptimFROG&#039;s &amp;quot;DualStream&amp;quot;] hybrid encoding &amp;amp;ndash; apparently WavPack coined this phrase&amp;lt;/ref&amp;gt;.  For more on WavPack, including on its history and technology, see the [https://en.wikipedia.org/wiki/WavPack Wikipedia entry].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Features =&lt;br /&gt;
For an end-user considering WavPack as audio format, its feature-richness might be the big selling point.  WavPack supports pretty much all the more common features noted at [[Lossless_comparison| HA Wiki&#039;s Lossless Codec Comparison]] as in the following first list, but several users might consider the more unique features listed under the subsequent headline.&lt;br /&gt;
&lt;br /&gt;
* Seekable and streaming playback.&lt;br /&gt;
* Error handling: upon playback, it will detect and report corrupted frames, mute to protect against static/noise output, and continue playback.  Since version 5, WavPack can also check for corruption without decoding, hence quicker than any decoding format.  Optional MD5 audio checksum can also be added upon encoding for file fingerprinting. &lt;br /&gt;
* High-resolution audio support (see next headline).&lt;br /&gt;
* Multichannel support: currently capped at 256 channels, supports [https://docs.microsoft.com/en-us/windows/win32/api/mmreg/ns-mmreg-waveformatextensible WAVEFORMATEXTENSIBLE] channel masks.&lt;br /&gt;
* Piping support for encoding, and support for RAW PCM input/output.&lt;br /&gt;
* Non-audio chunks (RIFF and similar) stored; by default, WavPack will not only encode/decode the audio losslessly, but store the non-audio chunks and restore them into a file bit-identical to the original.&lt;br /&gt;
* Tagging: APEv2. (ID3v1 is possible, but not advisable.) &lt;br /&gt;
* Cuesheet support. In practice, some applications handle &#039;&#039;embedded&#039;&#039; cuesheets better in WavPack than in some other formats.&lt;br /&gt;
* Unicode support.&lt;br /&gt;
* Can be used in the [[Matroska]] container. &lt;br /&gt;
* Windows GUI available.&lt;br /&gt;
* Multithreading (from version 5.7.0).&lt;br /&gt;
&lt;br /&gt;
WavPack also handles bit depths not divisible by 8, e.g. 20-bit audio (found on some DVDs).  &lt;br /&gt;
&lt;br /&gt;
== Special/unique features ==&lt;br /&gt;
Most of these features are shared with only a few if any notable codecs, or extend to signal types or file types others do not support (comparisons given).&lt;br /&gt;
* DSD support: can losslessly compress Philips DSDIFF and Sony DSF files (see &amp;quot;Using WavPack&amp;quot; below; no other end-user codec compresses DSD.) ID3v2.3 tags can be imported.  wvunpack can select between DSDIFF and DSF out (i.e. &#039;convert between the two&#039;).  wvunpack can also convert DSD to PCM, but not the other way around. (Lossy, as conversion between PCM and DSD necessarily is.)&lt;br /&gt;
* High-resolution support for bit depth 1-bit to 32-bit integer and sampling rates up to 2 GiHz in integer steps. (Officially, 1 GHz is supported &amp;amp;ndash; it is &#039;&#039;gigaherz&#039;&#039;, not MHz, the upper limit being in the UHF radio frequency band.  Monkey&#039;s Audio, OptimFROG and MPEG-4 ALS support the entire WAVE range up to 4 GiHz.) Can also compress files of &#039;&#039;non-integer sampling rates&#039;&#039; (AIFF/AIFC/CAF, as the WAVE format cannot contain such signals).   &lt;br /&gt;
* 32-bit &#039;&#039;floating-point&#039;&#039; supported &amp;amp;ndash; also including CoolEdit/Adobe Audition&#039;s own float format (use the &amp;lt;code&amp;gt;-a&amp;lt;/code&amp;gt; option only if the .wav was generated by CoolEdit/Audition).  (This line like OptimFROG.)&lt;br /&gt;
* As much as 256 channels currently supported (from version 5.5.0 on; [https://github.com/dbry/WavPack/issues/117 can be extended to the thousands] &amp;amp;ndash; more than any codec except MPEG-4 ALS (which is capped at 66536).) &lt;br /&gt;
* Hybrid lossy/lossless mode (can also be used as lossy &amp;amp;ndash; OptimFROG also has such a mode.)&lt;br /&gt;
* For LPCM it can read and output to WAVE (including the RF64 format extension used for large files and from 5.70 also BW64), to Sony&#039;s Wave64, AIFF/AIFC (both endiannesses) and CAF (ditto) &amp;amp;ndash; with full restore of also non-audio parts to bit-by-bit the original file in the original format.  (Monkey&#039;s/OptimFROG/TAK do the same to the input formats they support.)  Also WavPack can handle too large noncompliant &amp;quot;WAVE&amp;quot; files (by default, those will be restored to bit-identical the same as the flawed input file &amp;amp;ndash; optionally one can force output to compliant RF64/W64 files). &lt;br /&gt;
* Recompression: Can recompress .wv files in place, with tag transfer.  (Like FLAC on .flac files.)&lt;br /&gt;
* Drag and drop support: Dropping a file on to wavpack.exe/wvunpack.exe will encode/decode it to source directory. (Like FLAC.)  From 5.5.0, one can also apply options to drag and drop by renaming the executable, and drop several files.&lt;br /&gt;
&lt;br /&gt;
Like FLAC/TAK/OptimFROG, WavPack employs a &amp;quot;wasted bits&amp;quot; strategy to handle cases of &#039;&#039;n &amp;quot;actual bits of signal&amp;quot; zero-padded and stored as N bits&#039;&#039;; such signals can be found in certain DVDs, but also as &amp;quot;fake high resolution&amp;quot; where a 16-bit signal is merely put in a 24-bit file to look impressive.  WavPack handles more &amp;quot;fake high resolution&amp;quot; cases than just zero-padding.  5.7.0 introduces an further improvement to capture similar patterns in 32-bit integer files generated by &amp;quot;naively converting from 32-bit float&amp;quot;.  That particular mode is disabled by default and is arguably best left to power users (invoking it with &amp;lt;code&amp;gt;--optimize-int32&amp;lt;/code&amp;gt;) as only 5.7.0 can decode as lossless; to earlier versions and players they will be presented as lossy without correction file (and will indeed be lossy with differences around -138 dB down). &lt;br /&gt;
&lt;br /&gt;
== Limitations ==&lt;br /&gt;
The following bullet item list is hardly of interest except for special purposes; WavPack supports nearly every input format that any competing codec handles. One exception is the legacy AU/SND, apparently supported only by Monkey&#039;s Audio. &lt;br /&gt;
* DSD: Will reject DST-compressed DSDIFF (which are already compressed heavier than WavPack does) and Wideband Single-bit Data files (apparently, the Tascam and Korg devices which can produce these, can also export to other DSD formats).&amp;lt;br/&amp;gt; Also, DSD files cannot be encoded as hybrid with correction files.&lt;br /&gt;
* 64-bit float is not supported.  (Apparently no other lossless audio compressor can support it either.)&lt;br /&gt;
* wvunpack can &#039;&#039;force output&#039;&#039; to a different format than input, and for AIFF/CAF also select endianness, but it cannot force output to different versions of big-endian AIFF (it will avoid AIFC as long as the signal can be fit in the original AIFF container) nor select between WAVE_FORMAT_PCM and WAVE_FORMAT_EXTENSIBLE.  Few other formats do allow for such output selection; reference FLAC can from 1.4.3 offer some wider choices than wvunpack can. &lt;br /&gt;
* Although all non-audio will be stored, &amp;lt;code&amp;gt;--import-id3&amp;lt;/code&amp;gt; can not &#039;&#039;import&#039;&#039; every type of ID3 tag to APEv2. (5.70 imports more tag types than previous versions, yet some users might want use use e.g. [[Mp3tag]] to copy over more tags from the original.) Also, unless &amp;lt;code&amp;gt;--allow-huge-tags&amp;lt;/code&amp;gt; is specified, size is limited to 1 MB; there is a possibility that larger tagsets might cause compatibility issues, although such are not known.&lt;br /&gt;
* Some file formats have features stored in file headers (like loop points, or for AIFF possibly non-integer sampling rates) which will not be &#039;&#039;visible&#039;&#039;  to the end-user when trying to play back the .wv file in a typical player. They are nevertheless available to certain audio editing software plugins, and will in any case be restored upon decoding.&lt;br /&gt;
* Some features are unsupported by several applications: in particular, support for correction files is only found in a few players. &lt;br /&gt;
* The most significant third-party implementation (ffmpeg as of version 6.1) has bugs waiting to be fixed. &lt;br /&gt;
&lt;br /&gt;
As of 5.5.0 and above, MacOS versions must be built with e.g. HomeBrew, and Windows XP is only supported through a special executable (available in version 5.6.0 at wavpack.com, upgrade from previous unofficial build posted at HA is strongly advised). &lt;br /&gt;
WavPack version 5 discontinues some features, but version 4.80 is still available to convert any version 3.x files that might still exist (WavPack 4 was released in 2004). &lt;br /&gt;
&lt;br /&gt;
WavPack has traditionally had less hardware support than FLAC ([[Rockbox]] having been the most notable platform, others listed at https://www.wavpack.com/index.html#Hardware ), but with WavPack playback through Android and iOS players, the distinction between &amp;quot;hardware&amp;quot; and &amp;quot;software&amp;quot; is arguably blurred. The Android OS does not &#039;&#039;natively&#039;&#039; support other lossless audio formats than WAVE and FLAC, so there have been issues getting certain Android solutions to recognize other media files including WavPack.&amp;lt;ref&amp;gt;[https://hydrogenaud.io/index.php/topic,122768 HA thread with link to Android bug report by the Monkey&#039;s Audio author]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Information for users of other codecs (and older WavPack) == &lt;br /&gt;
Parts of this section will be less relevant to users who primarily decode and convert through player software, rather than directly invoking the executables.  WavPack is the only &amp;quot;major&amp;quot; lossless encoder with separate executables for encoding (&amp;lt;code&amp;gt;wavpack&amp;lt;/code&amp;gt;) and decoding/info (&amp;lt;code&amp;gt;wvunpack&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
Even for features that are comparable between codecs, they may behave different &amp;amp;ndash; or default to different behaviour &amp;amp;ndash; out of the purpose they were designed to address, their development, or other design choices. &lt;br /&gt;
&lt;br /&gt;
* WavPack is designed as a &#039;&#039;file compressor&#039;&#039; for audio files &amp;amp;ndash; this like Monkey&#039;s, TAK and OptimFROG, but in contrast to FLAC and ALAC which are &#039;&#039;audio compressors&#039;&#039;. The difference is in the ambition to store all non-audio information (and in the correct order).  Using reference FLAC one might &amp;quot;opt in&amp;quot; on non-audio parts by giving options; using WavPack one can &amp;quot;opt out&amp;quot; and discard this information.  &lt;br /&gt;
** &#039;&#039;Note: This difference is irrelevant for CD ripping.&#039;&#039; Contrary to a common misconception, CD audio is &#039;&#039;not&#039;&#039; stored as WAVE &amp;amp;ndash; nor in any sort of file.  Thus, using a file compressor gives no more &amp;quot;true&amp;quot; copy of a CD.  (WavPack&#039;s support for embedded cuesheets might &amp;amp;ndash; depending on player application &amp;amp;ndash; give a better user experience for those who prefer to store one file per CD, but that is not due to how CDs work.)&lt;br /&gt;
* MD5 is opt-in (the &amp;lt;code&amp;gt;-m&amp;lt;/code&amp;gt; switch) &amp;amp;ndash; even if it is calculated for verification purposes. TAK and OptimFROG also requires the user to opt-in on MD5, but FLAC, ALAC and Monkey&#039;s work different: FLAC includes MD5 (though some encoders make exceptions under some circumstance), ALAC has nothing such &amp;amp;ndash; and Monkey&#039;s MD5s are not comparable with others, as it hashes the encoded bitstream.  &lt;br /&gt;
** Also, WavPack computes MD5 using keeps source&#039;s endianness (endianness is like the distinction between &amp;quot;4th of July&amp;quot; and &amp;quot;July 4th&amp;quot;), and so MD5s may differ between WAVE source and AIFF/CAF source.  &lt;br /&gt;
* Like Monkey&#039;s/TAK/OptimFROG &amp;amp;ndash; but unlike FLAC and ALAC &amp;amp;ndash; tags are at the end of the file.  Consequences for users are that retagging will not trigger full file rewrite, but sometimes applications may spend longer time displaying art and viewing tags.&lt;br /&gt;
* Users of &amp;quot;older WavPack&amp;quot; might take note that version 5 discontinues some features, like &amp;lt;code&amp;gt;-p&amp;lt;/code&amp;gt;, and also the &amp;lt;code&amp;gt;-e&amp;lt;/code&amp;gt; for self-extracting files.  There are no self-extracting WavPack 5 files, but the old ones can converted &amp;amp;ndash; with tags &amp;amp;ndash; by renaming them from &amp;lt;code&amp;gt;.exe&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;.wv&amp;lt;/code&amp;gt;.  Older .wv files work as before, but support for the ancient WavPack 3 files in .wav container is dropped with version 5; they can be transcoded with the still-available version 4.80.0.&lt;br /&gt;
** See the [[#File formats, versions, decoding and transcoding support]] section for more details.&lt;br /&gt;
&lt;br /&gt;
=== Performance &amp;amp;ndash; file size, CPU load === &lt;br /&gt;
Rewind twenty years, to 2004 hardware costs, compression ratios did matter much more &amp;amp;ndash; also, several formats would be too heavy to even &#039;&#039;play&#039;&#039; on portable devices, and the official WavPack site would warn against the &amp;lt;code&amp;gt;-hh&amp;lt;/code&amp;gt; mode for that use even if it were not heavier than the fastest Monkey&#039;s Audio mode. &lt;br /&gt;
Fast forward to now, enthusiasts will still compare performance even if ordinary users may take note that impact on cost is often negligible. Different considerations may apply when a drive is near full.  &lt;br /&gt;
The HA wiki&#039;s [[lossless comparison]] article compares speed and compression ratio on CDDA on the respective codecs&#039; &#039;&#039;default&#039;&#039; setting, taken from van Beurden&#039;s comparison studies.  The test corpus is chosen to be a &amp;quot;wide&amp;quot; selection, and most music collections are biased in one direction or another genre-wise; users who are concerned about compression might look up the individual sources in the study and/or make a test sample from their own collection.  By and large, the following observations can be made:&lt;br /&gt;
* WavPack defaults to a fast codec, between FLAC and Monkey&#039;s; is not so heavy on decoding CPU as to cause actual practical problems, although it officially recommends against &amp;lt;code&amp;gt;-hh&amp;lt;/code&amp;gt; &amp;quot;for use on vintage portable devices&amp;quot; &amp;amp;ndash; it should be fine on anything modern.  Even &amp;lt;code&amp;gt;-hh&amp;lt;/code&amp;gt; seems to decode lighter than Monkey&#039;s fastest mode. &lt;br /&gt;
** The &amp;quot;between FLAC and Monkey&#039;s&amp;quot; hold for &amp;quot;default encoding and all decoding&amp;quot;.  Like most modern codecs, WavPack can be set to exert more encoding effort without affecting decoding load: the &amp;lt;code&amp;gt;-x&amp;lt;/code&amp;gt; switch. Thus, decoding for e.g. ReplayGain tagging will be slower than e.g. FLAC in all modes, but faster than Monkey&#039;s &amp;amp;ndash; and recompressing with a slow &amp;lt;code&amp;gt;-x&amp;lt;/code&amp;gt; setting (which can be done in the background) will not make the files any heavier to process later.   (Indeed, &amp;lt;code&amp;gt;-x&amp;lt;/code&amp;gt; sometimes makes decoding lighter, although unlikely to be noticed except by measuring it.)&lt;br /&gt;
** Playback on Android might be less battery efficient than FLAC, which can take advantage of the OS&#039; native support.  The difference is likely small for power-hungry players (like VLC).&lt;br /&gt;
** On the other hand, &#039;&#039;integrity verification&#039;&#039; can be done lightening-fast, without decoding (presuming WavPack 5 file format and WavPack 5 decoder). &lt;br /&gt;
* Compressing CDDA: WavPack can compress to slightly smaller files than (reference) FLAC; the difference has diminished with the most recent FLAC releases, but &amp;quot;in return&amp;quot;, modern CPU speeds might have made the more expensive WavPack settings more tempting, especially when one can re-encode in the background.&lt;br /&gt;
* Compressing high resolution signals and multi-channel: The &amp;quot;extra&amp;quot; resolution might be a mixed bag of upsampling artefacts, tape hiss, sometimes geniune overtones (and for bat enthusiasts, actual interesting audio).  There are different kinds of samples one might call &amp;quot;fake high resolution&amp;quot;, and different properties of such &amp;amp;ndash; upsampling or bit depth &amp;amp;ndash; are handled different by the codecs.  WavPack is known to handle some properties exceptionally well (&amp;quot;wasted bits&amp;quot; are exploited also by FLAC and TAK, but WavPack and OptimFROG are capable of detecting more &amp;quot;wasteful&amp;quot; patterns; Monkey&#039;s and ALAC cannot exploit wasted bits at all) &amp;amp;ndash; and others lesser.  Several codecs benefit from spending more effort on high resolution signals, and WavPack users might consider to (re-) compress high resolution and multi-channel with as slow setting as &amp;lt;code&amp;gt;-hx4&amp;lt;/code&amp;gt;, presuming it can be done as background recompression where time is not much of an object; decoding load is largely unaffected (sometimes slightly improved) by the high &amp;lt;code&amp;gt;-x&amp;lt;/code&amp;gt;. &lt;br /&gt;
** For 32-bit float, there is not much competition, and WavPack might be the natural choice for compatibility; it does outcompress Monkey&#039;s recently-added float mode.  Those files are not very common in the wild, and users with a sizeable collection of 32-bit files for audio processing will likely choose codec for compatibility with their DAW software.  WavPack 5.7.0&#039;s special setting for 32-bit integer converted from 32-bit float might be an option in such situations.  &lt;br /&gt;
* Users who compare nearly tied compression levels between codecs, should take into account how metadata storage affect total file size.  WavPack defaults to storing the source&#039;s metadata, which may include big album art; on the other hand, FLAC defaults to leaving some kilobytes padding in the file.  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Using WavPack =&lt;br /&gt;
WavPack files can be played back in supported players (see below), and several of these can also encode to WavPack, invoking the official tools.  However, there are situations where the appropriate WavPack features are accessible only through the WavPack executables directly.  For example, you cannot expect non-audio data (for full file restore) to be preserved when encoding/decoding through &#039;&#039;players&#039;&#039;, as they usually pass on only the audio.  Also, the input format might exceed the player&#039;s internal decoding; e.g. trying to convert 32-bit integer or DSD with foobar2000 will yield a warning that it will not be lossless (also, converting DSD to PCM leads to files many times the size, being inherently different formats).&lt;br /&gt;
&lt;br /&gt;
== Encoding/decoding by drag and drop (Windows) == &lt;br /&gt;
The simplest encoding/decoding might be &#039;&#039;dragging and dropping&#039;&#039; a (supported) file to wavpack.exe (/wvunpack.exe).  Then the file will be encoded/decoded with the default options.  Dropping a .wv file onto wavpack.exe will recompress it, prompting before overwrite (again, using default settings &amp;amp;ndash; possibly a bad deal if it was encoded with high &amp;lt;code&amp;gt;-x&amp;lt;/code&amp;gt; switches).  Drag and drop also works on a shortcut to the executable. It is not possible to drop a folder, but from version 5.5.0, there is a way to drag and drop &#039;&#039;several&#039;&#039; files.&lt;br /&gt;
&lt;br /&gt;
From version 5.5.0, drag and drop supports &#039;&#039;options&#039;&#039; by renaming the wavpack/wvunpack executable.  The user can rename a copy of the executable according to preferred settings, which will be applied to the process upon drag and drop.  The example given by the developer in [https://hydrogenaud.io/index.php/topic,122626.msg1012159.html#msg1012159 in this HA forum post]&amp;lt;ref&amp;gt;[https://hydrogenaud.io/index.php/topic,122626.msg1012159.html#msg1012159 HA forum post on how to rename executable for drag and drop]&amp;lt;/ref&amp;gt; uses encoding options that many WavPack users will recommend (better compression than default, verification and MD5 fingerprinting), and novice users can choose to copy that filename for the executable.  For fine-tuning performance or for more specialized tasks, more options are described below. &lt;br /&gt;
&lt;br /&gt;
== Basic command line encoding/decoding [[Windows_command_line_tips|(for Windows: command-line hints here)]] == &lt;br /&gt;
The basic &#039;&#039;encoding&#039;&#039; usage is &amp;lt;code&amp;gt;wavpack filename&amp;lt;/code&amp;gt; (which creates &amp;lt;code&amp;gt;filename.wv&amp;lt;/code&amp;gt;) &amp;amp;ndash; this is what drag and drop accomplishes.  Wildcards are supported, e.g. &amp;lt;code&amp;gt;wavpack *.wav&amp;lt;/code&amp;gt; (but not simply &amp;lt;code&amp;gt;wavpack *&amp;lt;/code&amp;gt;).  For a &#039;&#039;single&#039;&#039; input file, one can specify output like e.g. &amp;lt;code&amp;gt;wavpack infilename.wav -o outfilename.wv&amp;lt;/code&amp;gt; (on Windows, the &amp;lt;code&amp;gt;-o&amp;lt;/code&amp;gt; can be omitted).  Input file extension &amp;quot;.wav&amp;quot; can be dropped, and output &amp;quot;.wv&amp;quot; extension as well &amp;amp;ndash; but &amp;lt;code&amp;gt;wavpack foo&amp;lt;/code&amp;gt; will only find foo.wav, not e.g. foo.w64 &amp;amp;ndash; and not a &amp;quot;foo&amp;quot; with no file extension.  (Power users may take note that for &amp;lt;code&amp;gt;--raw-pcm&amp;lt;/code&amp;gt; input, the encoder will not look for foo.wav but rather for foo.raw.)&lt;br /&gt;
&lt;br /&gt;
The basic &#039;&#039;decoding&#039;&#039; usage &amp;amp;ndash; as will be accomplished by drag and drop &amp;amp;ndash; is &amp;lt;code&amp;gt;wvunpack filename.wv&amp;lt;/code&amp;gt;.  By default, wvunpack will restore the exact same file (metadata and file structure and all; it will know the original file name extension but not the rest of the file name &amp;amp;ndash; timestamp can be stored by using &amp;lt;code&amp;gt;-t&amp;lt;/code&amp;gt;.) If only audio was encoded (conversion from a &#039;&#039;player&#039;&#039; would usually work this way), output defaults to filename.wav.  Output filename can be specified, and just like for the wavpack encoder, file extensions can be dropped; e.g., &amp;lt;code&amp;gt;wvunpack foo -o bar&amp;lt;/code&amp;gt; (or on Windows, dropping the &amp;lt;code&amp;gt;-o&amp;lt;/code&amp;gt;) will decode foo.wv to bar.&amp;lt;original file&#039;s extension&amp;gt;.  This is arguably advisable: wvunpack will not &#039;&#039;override output format&#039;&#039; by setting file extension.  E.g. if the input was a CAF file, &amp;lt;code&amp;gt;wvunpack foo -o bar.w64&amp;lt;/code&amp;gt; is still a CAF file, and the user has only managed to mislead themselves.  To force output format, see the [[#Decoding options]] paragraph.  &lt;br /&gt;
&lt;br /&gt;
=== Several input files ===&lt;br /&gt;
To give several filenames as input to wavpack/wvunpack, other than through wildcards, there are (for historical reasons) slight differences between the Windows version and the *n*xes: &lt;br /&gt;
Windows (requires WavPack 5.5.0): use the &amp;lt;code&amp;gt;--drop&amp;lt;/code&amp;gt; option as in the above example given by the developer.  It is intended for drag and drop (hence the name of the option) and will write the output to same directory as source.  However it can also be used with command-line:  &amp;lt;code&amp;gt;wavpack --drop firstfile secondfile&amp;lt;/code&amp;gt; will compress firstfile.wav to firstfile.wv and secondfile.wav to secondfile.wv.  Note that without the &amp;lt;code&amp;gt;--drop&amp;lt;/code&amp;gt;, the command &amp;lt;code&amp;gt;wavpack firstfile secondfile&amp;lt;/code&amp;gt; will compress firstfile.wav to secondfile.wv, as &amp;lt;code&amp;gt;-o&amp;lt;/code&amp;gt; is optional on Windows &amp;amp;ndash; indeed that is why the &amp;lt;code&amp;gt;--drop&amp;lt;/code&amp;gt; had to be introduced.  An arbitrary number of files can be processed, e.g. &amp;lt;code&amp;gt;wvunpack --drop firstfile secondfile thirdfile fourthfile fifthfile&amp;lt;/code&amp;gt; will decode firstfile.wv, ..., fifthfile.wv.&lt;br /&gt;
For *n*x, one can omit the &amp;lt;code&amp;gt;--drop&amp;lt;/code&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
== Applying options ==&lt;br /&gt;
For tuning performance or other settings, one might want to apply command-line options.  Some external applications can apply options without the user having to type &amp;amp;ndash; e.g. encoding with [[foobar2000]], there are two compression sliders, one for the fast-to-extra-high and one for the &amp;lt;code&amp;gt;-x&amp;lt;/code&amp;gt; settings (see below) &amp;amp;ndash; but for command-line one will have to type them, and also in the Windows GUI.  Options can be concatenated for short, like for example writing &amp;lt;code&amp;gt;-hh -x2 -m -v -y&amp;lt;/code&amp;gt; as &amp;lt;code&amp;gt;-hhx2mvy&amp;lt;/code&amp;gt;.  &lt;br /&gt;
&lt;br /&gt;
The user should beware that the wavpack encoder and the wvunpack decoder (and wvtag/wvgain) have to &amp;quot;re-use letters&amp;quot;.  While some do the same in the wvunpack and wavpack (like &amp;lt;code&amp;gt;-d&amp;lt;/code&amp;gt; for delete input file, &amp;lt;code&amp;gt;-y&amp;lt;/code&amp;gt; for &amp;quot;yes to all&amp;quot;, &amp;lt;code&amp;gt;-t&amp;lt;/code&amp;gt; to preserve timestamp, and &amp;lt;code&amp;gt;-l&amp;lt;/code&amp;gt; for (Windows only) &amp;quot;run with low priority&amp;quot;) and others cover the same purpose in both executables (like &amp;lt;code&amp;gt;-m&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;-v&amp;lt;/code&amp;gt;), the user may be warned that certain letters do not.  E.g. &amp;lt;code&amp;gt;-b&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;-c&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;-n&amp;lt;/code&amp;gt; cover completely urelated functions upon decoding vs upon encoding.  &lt;br /&gt;
&lt;br /&gt;
5.7.0 introduces multi-threading options for both encoding and decoding, invoked with &amp;lt;code&amp;gt;--threads=&amp;lt;number 1 to 12&amp;gt;&amp;lt;/code&amp;gt;, or simply &amp;lt;code&amp;gt;--threads&amp;lt;/code&amp;gt; to let WavPack choose.  Multithreading does not reduce overall CPU load, but unless the CPU is already working at max, it will do one or a few files in fewer seconds; thus it is invoked by default for the CoolEdit plugin.  For encoding, it leads to slightly different files, with usually very small size impact.&lt;br /&gt;
&lt;br /&gt;
=== Encoding options (lossless) ===&lt;br /&gt;
Encoding using &amp;lt;code&amp;gt;-hxm&amp;lt;/code&amp;gt; seems a sensible trade-off between compression and CPU load.  Some selected options are described as follows; for an exhaustive refence, see the manual (online, or included as wavpack_doc.html in the distribution).&lt;br /&gt;
* Compression.  WavPack has four compression modes that affect compression as well as encoding &#039;&#039;and&#039;&#039; decoding time: fast (&amp;lt;code&amp;gt;-f&amp;lt;/code&amp;gt;), default, high (&amp;lt;code&amp;gt;-h&amp;lt;/code&amp;gt;) and very high (&amp;lt;code&amp;gt;-hh&amp;lt;/code&amp;gt;).  The CPU load of &amp;lt;code&amp;gt;-hh&amp;lt;/code&amp;gt; is measured to around twice that of &amp;lt;code&amp;gt;-f&amp;lt;/code&amp;gt; (and could in the early 2000s be too heavy for portable players, although it does decode faster than any Monkey&#039;s).  On top these modes, the optional extra processing &amp;lt;code&amp;gt;-x1&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;-x6&amp;lt;/code&amp;gt; settings will apply extra compression effort that does not increase &#039;&#039;decoding&#039;&#039; CPU load. &amp;lt;code&amp;gt;-x&amp;lt;/code&amp;gt; without number is synonymous to &amp;lt;code&amp;gt;-x1&amp;lt;/code&amp;gt;, which is often recommended (in all modes, fast/normal/high/extra high).  The official manual calls &amp;lt;code&amp;gt;-x4&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;-x6&amp;lt;/code&amp;gt; &amp;quot;extremely slow&amp;quot;, but the size gains might be significant for high resolution audio in particular (van Beurden&#039;s revision 5, testing &amp;lt;code&amp;gt;-x4&amp;lt;/code&amp;gt;).  &lt;br /&gt;
** 5.5.0 introduces optional switches for the default compression: &amp;lt;code&amp;gt;-g&amp;lt;/code&amp;gt; for normal mode and &amp;lt;code&amp;gt;-x0&amp;lt;/code&amp;gt; for &amp;quot;no &amp;lt;code&amp;gt;-x&amp;lt;/code&amp;gt;&amp;quot;.  These are redundant for basic use, but can be used to switch off options already given (e.g. in renamed executables, or custom builds): &amp;lt;code&amp;gt;-x6 -x0&amp;lt;/code&amp;gt; will switch off the extra processing, and &amp;lt;code&amp;gt;-h -f -g&amp;lt;/code&amp;gt; will encode as normal, whereas previous versions would abort with an error.&lt;br /&gt;
** With DSD files, there are only two compression settings, normal and high; the option &amp;lt;code&amp;gt;-f&amp;lt;/code&amp;gt; will select normal, &amp;lt;code&amp;gt;-h&amp;lt;/code&amp;gt;/&amp;lt;code&amp;gt;-hh&amp;lt;/code&amp;gt; will both select high, and the &amp;lt;code&amp;gt;-x&amp;lt;/code&amp;gt; switches are silently ignored. &lt;br /&gt;
* Guarding against errors upon encoding: The &amp;quot;&amp;lt;code&amp;gt;-m&amp;lt;/code&amp;gt;&amp;quot; switch will compute an audio MD5 sum (like FLAC does by default) and store it for later verification.  The &amp;quot;&amp;lt;code&amp;gt;-v&amp;lt;/code&amp;gt;&amp;quot; switch will verify by decoding the file after it has been written to disk&amp;lt;ref&amp;gt;[https://hydrogenaud.io/index.php?topic=121714.msg1008108#msg1008108 HA forum comment:] verification checks the written file after closing and reopening&amp;lt;/ref&amp;gt;. &amp;lt;code&amp;gt;-vm&amp;lt;/code&amp;gt; will do both &amp;amp;ndash; that is, calculate the MD5s to verify, and store it.  Using the corresponding switches in wvunpack will check without producing output file, however wvunpack also has a faster corruption check for WavPack 5-encoded files: &amp;lt;code&amp;gt;-vv&amp;lt;/code&amp;gt;.&lt;br /&gt;
* &amp;lt;code&amp;gt;--import-id3&amp;lt;/code&amp;gt; will import ID3v2.3 tags (currently not v2.4 nor v2.2) present in the source file &amp;amp;ndash; typically in Sony DSF files &amp;amp;ndash; and convert them to WavPack&#039;s preferred APE tags.  (It will still keep the chunk for restoring the original file.)  By default, importing is limited to 1 MB; for more, use &amp;lt;code&amp;gt;--allow-huge-tags&amp;lt;/code&amp;gt;.  Same option works in wvtag; indeed, one can encode first and then afterwards &amp;quot;import&amp;quot; the tags from the WavPack file using &amp;lt;code&amp;gt;wvtag --import-id3 wavpackfile.wv&amp;lt;/code&amp;gt;; this provided that these data have not been deleted by the following &amp;lt;code&amp;gt;-r&amp;lt;/code&amp;gt; option: &lt;br /&gt;
* &amp;lt;code&amp;gt;-r&amp;lt;/code&amp;gt;: remove non-audio chunks.  By default, WavPack will store these in the .wv file for later bit-by-bit restoration of everything, not only the audio. Use &amp;lt;code&amp;gt;-r&amp;lt;/code&amp;gt; to throw them away and encode audio only &amp;amp;ndash; like encoding through most players appear to do. &lt;br /&gt;
* &amp;lt;code&amp;gt;-t&amp;lt;/code&amp;gt;: copy input file&#039;s time stamp.  (To restore the file with the original time stamp, use &amp;lt;code&amp;gt;-t&amp;lt;/code&amp;gt; both when encoding and when decoding.)&lt;br /&gt;
* &amp;lt;code&amp;gt;--pause&amp;lt;/code&amp;gt;: (Windows only!) waits for keypress at the end.  Useful for reading output before exit when calling wavpack/wvunpack in a separate window (which both drag-and-drop the Windows front-end do).&lt;br /&gt;
* &amp;lt;code&amp;gt;-y&amp;lt;/code&amp;gt;: &amp;quot;yes&amp;quot; to everything.  Use with caution, will overwrite.  From 5.5.0 there is also a &amp;lt;code&amp;gt;--no-overwrite&amp;lt;/code&amp;gt; that will skip instead of asking to overwrite.&lt;br /&gt;
* &amp;lt;code&amp;gt;-d&amp;lt;/code&amp;gt;: delete source file upon successful completion.  Again, use with caution. &lt;br /&gt;
* &amp;lt;code&amp;gt;-l&amp;lt;/code&amp;gt; will force WavPack to run at low priority (Windows only)&lt;br /&gt;
* &amp;lt;code&amp;gt;-c&amp;lt;/code&amp;gt;: this is for hybrid lossless, see below. &lt;br /&gt;
&lt;br /&gt;
WavPack can recompress .wv files in place (using a temporary file until done).  For example, &amp;lt;code&amp;gt;wavpack -hx4mvy wavpackfile.wv&amp;lt;/code&amp;gt; will compress wavpackfile.wv in high mode using &amp;lt;code&amp;gt;-x4&amp;lt;/code&amp;gt; extra processing, writing everything (and an audio MD5 checksum) to a temporary file with tags transferred; close and then re-open the temp file to re-read for verification &amp;amp;ndash; and only once verified, replace the old wavpackfile.wv. &amp;lt;code&amp;gt;wavpack -hx4rlmvy wavpackfile.wv&amp;lt;/code&amp;gt; will also run with low priority (assuming the Windows platform), and will discard non-audio chunks &amp;amp;ndash; that is, the ones used to restore the original file&#039;s metadata; the .wv file&#039;s APE tags will still be copied.  Some operations do require recompression even if the user would not demand it; For example, wavpack cannot add MD5 sum to a .wv file without recompressing it. Also, if the user wants to discard the original file&#039;s headers/footers, that can be done upon decompression or recompression &amp;amp;ndash; but not by simply removing them from the .wv file. &lt;br /&gt;
There is no out-of-the-box facility to recompress based on how heavy the original file was compressed, or to keep the smallest file. &lt;br /&gt;
&lt;br /&gt;
=== (Incomplete:) hybrid lossless &amp;amp; lossy encoding ===&lt;br /&gt;
(Needs to be expanded. Notes: DSD can currently not be hybrid-encoded and floating-point files should not be.  The correction file will be omitted by a lot of applications/players, including VLC, mplayer and ffmpeg; thus, using ffmpeg or ffmpeg-based players to convert/play hybrid-encoded WavPack will be lossy. For WavPack in Matroska, there doesn&#039;t seem to be any player that will play both the lossy stream and the correction stream, although mkvmerge/mkvextract will import/extract both streams. foobar2000 can play hybrid lossless .wv+.wvc, but will omit a Matroska-encapsulated correction stream.)&lt;br /&gt;
&lt;br /&gt;
Basic use: the &amp;lt;code&amp;gt;-b&amp;lt;/code&amp;gt; switch &amp;amp;ndash; and for losslessness, use &amp;lt;code&amp;gt;-c&amp;lt;/code&amp;gt; to create a correction file. &lt;br /&gt;
A numerical argument for quality is mandatory: if &amp;lt; 24 it will signify &#039;&#039;bits per sample&#039;&#039; and if &amp;gt; 24 it will signify &#039;&#039;kbit/second&#039;&#039;. Decimal separator is . even if your locale uses the comma. &lt;br /&gt;
For example, &amp;lt;code&amp;gt;wavpack -b12.5 filename&amp;lt;/code&amp;gt; will create filename.wv of bit rate 12.5 bits per sample.  &lt;br /&gt;
For an example that creates filename.wv at at most 234.56 kilobits per second and a correction file filename.wvc, the following commands will work:&lt;br /&gt;
* In all versions, &amp;lt;code&amp;gt;wavpack -b234.56 -c filename&amp;lt;/code&amp;gt;. Or equivalently &amp;lt;code&amp;gt;wavpack -cb234.56 filename&amp;lt;/code&amp;gt;&lt;br /&gt;
* From 5.70, also &amp;lt;code&amp;gt;wavpack -c234.56 filename&amp;lt;/code&amp;gt; will do the same.  Thus, a user can avoid the &amp;quot;&amp;lt;code&amp;gt;b&amp;lt;code&amp;gt;&amp;quot; altogether, eliminating the risk of loss from forgetting the &amp;quot;&amp;lt;code&amp;gt;c&amp;lt;code&amp;gt;&amp;quot;. &lt;br /&gt;
More options can be added, like &amp;lt;code&amp;gt;wavpack -cb234.56 -mhx filename&amp;lt;/code&amp;gt; to compress in high mode with extra processing and stores the (&#039;&#039;original&#039;&#039; PCM&#039;s) MD5 sum.  &lt;br /&gt;
When filename.wv and filename.wvc are both present, the original file will be restored completely by decoding the usual way by &amp;lt;code&amp;gt;wvunpack filename&amp;lt;/code&amp;gt; (or &amp;lt;code&amp;gt;wvunpack filename.wv&amp;lt;/code&amp;gt;, but not &amp;lt;code&amp;gt;wvunpack filename.wvc&amp;lt;/code&amp;gt;).  Playback of the .wv+.wvc is also lossless provided the player application supports correction files (like foobar2000, but few do). &lt;br /&gt;
&amp;lt;code&amp;gt;filename.wv&amp;lt;/code&amp;gt; can be copied to a different location without compression file and played in the same way as if it was encoded as lossy in the first place; the decoder will only look in the same path and for same file name except with .wvc extension. &lt;br /&gt;
&lt;br /&gt;
If a high enough lossy quality is specified, it is possible that the file can losslessly contain the entire signal.  If so, WavPack will report at the end of the encoding process &amp;amp;ndash; but that information is not stored in the file.  It can be inferred later from the small .wvc file, and if that is lost: if &amp;lt;code&amp;gt;-m&amp;lt;/code&amp;gt; was used upon encoding.&lt;br /&gt;
WavPack will refuse to recompress lossy-generated .wv to &amp;quot;lossless .wv&amp;quot; as that would make a false pretense of being a lossless file.  (That goes even in the &amp;quot;that information is not stored in the file&amp;quot; case just mentioned.)  If a lossless hybrid with correction file is recompressed, the default is to create a single-file lossless .wv; from 5.7.0, the old .wvc file will then be removed (as it does no longer belong to any .wv file), but earlier version would need to use the delete switch.&lt;br /&gt;
&lt;br /&gt;
Advanced use: The encoder has several options to tune lossy quality through e.g. noise shaping. &lt;br /&gt;
&lt;br /&gt;
=== Decoding options ===&lt;br /&gt;
In addition to the basic usage above (drag and drop or &amp;lt;code&amp;gt;wvunpack filename.wv&amp;lt;/code&amp;gt;), the wvunpack executable offers several options.  For use with the Windows front-end or drag and drop, the Windows-only &amp;lt;code&amp;gt;--pause&amp;lt;/code&amp;gt; (waits for keypress at the end, like for wavpack.exe) is essential to read the output report.  Also Windows-only options like &amp;lt;code&amp;gt;--drop&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;-l&amp;lt;/code&amp;gt; work as for wavpack.exe, and so do &amp;lt;code&amp;gt;-d&amp;lt;/code&amp;gt; (use with caution!) and &amp;lt;code&amp;gt;-y&amp;lt;/code&amp;gt; (ditto!) as well as &amp;lt;code&amp;gt;-t&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
* Output &#039;&#039;filename&#039;&#039; can be set with &amp;lt;code&amp;gt;wvunpack infilename.wv -o outfilename &amp;lt;/code&amp;gt; (the &amp;lt;code&amp;gt;-o&amp;lt;/code&amp;gt; being superfluous on Windows, where &amp;amp;ndash; in the absence of &amp;lt;code&amp;gt;--drop&amp;lt;/code&amp;gt; &amp;amp;ndash; the second filename will be assumed to be output name).  Then wvunpack will affix the file extension of the original file (say, outfilename.wav if the wavpacked file was somefilename.wav).  The wavpack encoder detects the file type from content, and so wvunpack will not &amp;quot;fix misleading extensions&amp;quot; automatically; the user can provide a giving full output filename with extension, but note that this will override the &#039;&#039;name&#039;&#039; only but not the &#039;&#039;type&#039;&#039;.  To make sure that -o out.aif indeed produces an AIFF, separate switches have to be employed. &lt;br /&gt;
* To force output &#039;&#039;file format,&#039;&#039; one needs to apply options to wvunpack.  The following are for PCM output: &amp;lt;code&amp;gt;--raw-pcm&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;--wav&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;--w64&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;--caf-be&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;--caf-le&amp;lt;/code&amp;gt;, and from version 5.6.0 on also &amp;lt;code&amp;gt;--aif&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;--aif-le&amp;lt;/code&amp;gt;.  &lt;br /&gt;
** These will delete non-audio chunks and replace them with a fresh file header: there is no option to &amp;quot;unpack to WAVE and restore the original headers if the original file was WAVE&amp;quot;.   &amp;lt;code&amp;gt;wvunpack --wav&amp;lt;/code&amp;gt; will select RF64 if (and only if) exceeding WAVE&#039;s 4 GB limit, and wvunpack will select old AIFF over AIFF-C if the audio data permit it.&lt;br /&gt;
** For DSD, those format switches will also force a &amp;amp;ndash; necessarily lossy &amp;amp;ndash; conversion to PCM.  To switch losslessly &#039;&#039;between&#039;&#039; DSD formats, there are also &amp;lt;code&amp;gt;--dsf&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;--dff&amp;lt;/code&amp;gt; (the latter being synonymous to &amp;lt;code&amp;gt;--dsdiff&amp;lt;/code&amp;gt;) which again delete non-audio chunks.  Note that WavPack cannot force any (also necessarily lossy) conversion &#039;&#039;to&#039;&#039; DSD, having no DSD encoder.&lt;br /&gt;
** &amp;lt;code&amp;gt;--raw&amp;lt;/code&amp;gt; outputs both PCM and DSD as headerless streams (lossless for both; &amp;lt;code&amp;gt;-r&amp;lt;/code&amp;gt; is synonymous; beware that this is not precisely the same as the same letter switch upon encoding).&lt;br /&gt;
&lt;br /&gt;
In addition to decimating DSD for conversion to PCM, there are other options where power users can utilize certain &#039;&#039;lossy&#039;&#039; operations by wvunpack, e.g. normalizing floating-point files (recommended before conversion to integer), dropping correction files from hybrid encodes &amp;amp;ndash; and &amp;lt;code&amp;gt;--skip&amp;lt;/code&amp;gt; and/or &amp;lt;code&amp;gt;--until&amp;lt;/code&amp;gt; to decode only a segment of the file.  See the documentation.  &lt;br /&gt;
Other options include &amp;lt;code&amp;gt;-b&amp;lt;/code&amp;gt; to &amp;quot;blindly&amp;quot; decode until end disregarding errors and corruption (potentially useful to save as much as possible from a destroyed file).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;wvunpack -m&amp;lt;/code&amp;gt; will decode with MD5 sum calculation.  If the .wv file had an MD5 sum stored, it will also be displayed for comparison. However, &amp;lt;code&amp;gt;-m&amp;lt;/code&amp;gt; will not give an error if they don&#039;t match (and if the .wv is lossy without correction file, they won&#039;t: the MD5 stored is that of the original). &lt;br /&gt;
&lt;br /&gt;
wvunpack is also the utility to display information from .wv files even when it does not involve decoding or file output, see the [[#Other file handling]] subsection.  Inter alia, &amp;lt;code&amp;gt; -s&amp;lt;/code&amp;gt; will correctly report the input file &#039;&#039;type&#039;&#039; even if it had a misleading extension (like a .wav extension disguising an AIFF file). &lt;br /&gt;
&lt;br /&gt;
== &amp;lt;span id=&amp;quot;Other file handling&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Other file handling (incomplete) ==&lt;br /&gt;
The WavPack distribution includes wvunpack, wvtag and wvgain.  &lt;br /&gt;
&lt;br /&gt;
=== File information with wvunpack (without decoding to file) === &lt;br /&gt;
wvunpack can get information about WavPack files without outputting any uncompressed audio file:&lt;br /&gt;
* &amp;lt;code&amp;gt;-vv&amp;lt;/code&amp;gt;: Quick verify without decoding (WavPack 5 files only; from 5.5.0 there is also a more verbose &amp;lt;code&amp;gt;-vvv&amp;lt;/code&amp;gt;).  Quick verify seems to be unavailable outside the official wvunpack; other applications which verify will fall back to the next item, &amp;lt;code&amp;gt;-v&amp;lt;/code&amp;gt;. &lt;br /&gt;
* &amp;lt;code&amp;gt;-vm&amp;lt;/code&amp;gt;: Decode and verify, but not write output file.  The &amp;quot;m&amp;quot; will compute the the MD5 sum of the decoded PCM and output it along with the .wv file&#039;s stored MD5, if such was present.  Note that the user has to check manually that they match.  A user who never uses &amp;lt;code&amp;gt;-m&amp;lt;/code&amp;gt; upon encoding can safely drop the &amp;lt;code&amp;gt;-m&amp;lt;/code&amp;gt; from wvunpack too.  Note that absent the &amp;quot;v&amp;quot;, &amp;lt;code&amp;gt;wvunpack -m&amp;lt;/code&amp;gt; will write output file &amp;amp;ndash; and that &amp;lt;code&amp;gt;wvunpack -mvv&amp;lt;/code&amp;gt; is not allowed, as MD5 calculation requires decoding.&lt;br /&gt;
* &amp;lt;code&amp;gt;-s&amp;lt;/code&amp;gt;/&amp;lt;code&amp;gt;-ss&amp;lt;/code&amp;gt;: &amp;lt;code&amp;gt;-s&amp;lt;/code&amp;gt; displays summary of the file, &amp;lt;code&amp;gt;-ss&amp;lt;/code&amp;gt; a long summary including tags. Also there is &amp;lt;code&amp;gt;-f&amp;lt;/code&amp;gt; for parseable output, see documentation.&lt;br /&gt;
* &amp;lt;code&amp;gt;-x&amp;lt;/code&amp;gt; FIELD: Shows tag, e.g. &amp;lt;code&amp;gt; -x comment &amp;lt;/code&amp;gt; shows the &amp;lt;comment&amp;gt; field.  &amp;lt;code&amp;gt;-c&amp;lt;/code&amp;gt; is synonymous to &amp;lt;code&amp;gt; -x cuesheet&amp;lt;/code&amp;gt;.   Also &amp;lt;code&amp;gt; wvtag -x &amp;lt;/code&amp;gt; resp. &amp;lt;code&amp;gt; wvtag -c &amp;lt;/code&amp;gt; do the same thing.  &amp;lt;code&amp;gt;-xx&amp;lt;/code&amp;gt; (same option for wvtag) can output to file (use &amp;lt;code&amp;gt;-n&amp;lt;/code&amp;gt; to avoid decoding) &amp;amp;ndash; see documentation.&lt;br /&gt;
&lt;br /&gt;
=== (To fill in:) Tagging (wvtag) and replaygain management (wvgain) ===&lt;br /&gt;
(... most of these options are available in HA&#039;s fave taggers/player? Except the following, maybe?) &lt;br /&gt;
&amp;lt;code&amp;gt;wvtag --import-id3 wavpackfile.wv&amp;lt;/code&amp;gt; will read and &amp;quot;import&amp;quot; ID3 tag stored in wavpackfile.wv&#039;s non-audio chunks; this will overwrite existing APEv2. Can also be used with &amp;lt;code&amp;gt;--allow-huge-tags&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== File formats, versions, decoding and transcoding support ==&lt;br /&gt;
Even if WavPack has expanded its feature set over the years, it has gone to lengths to maintain compatibility.  Old WavPack 4.x decoders can restore WavPack 5 files to several file types it cannot encode, but not DSD.  &lt;br /&gt;
The TL;DR is that unless one has an ancient portable device or even more ancient files, one will do just fine with the most recent WavPack, and if not then WavPack 4.80 will suffice &amp;amp;ndash; it is still available and can convert ancient WavPack version 3 files.  &lt;br /&gt;
Over the years, one might have encountered WavPack files in (at least) the following variants: &lt;br /&gt;
&lt;br /&gt;
* .wv (current!) is the file extension used for file formats 4 and 5. Can in most cases be decoded by &amp;quot;anything&amp;quot; (even if the source was e.g. AIFF, which old WavPack cannot read but still restore).  Exceptions:&lt;br /&gt;
** WavPack 4 cannot play or restore compressed DSD files (that is new to WavPack 5).  Although FFmpeg&#039;s wavpack implementation is version 4-based, DSD and DSD-in-WavPack can still be &#039;&#039;played&#039;&#039; with an FFmpeg-based player. (But not restored, as FFmpeg has no DSD pipeline, so this is for playback or lossy conversion.)&lt;br /&gt;
** FFmpeg creates non-compliant files for 17 channels and up.  WavPack 5.7.0 can decode and repair (FFmpeg itself cannot!)&lt;br /&gt;
** Mono signals encoded to WavPack 5 might require WavPack version 4.3 (from 2005) or later.  If there are hardware players around using older WavPack and failing to play these files, the easiest might be to recompress using 4.80. &lt;br /&gt;
** To older WavPack versions than 5.7.0, encodes with the new &amp;lt;code&amp;gt;--optimize-int32&amp;lt;/code&amp;gt; will be viewed as &amp;quot;lossy without correction file&amp;quot;.  They are safe to play (and will apparently only introduce loss from the 24th bit, -138 dB down), but only 5.7.0 can see the lossless version and restore the file completely.&lt;br /&gt;
* .wvc, correction files when hybrid lossless encoding is chosen.  Honoured by official WavPack, but users might note that wvpack/wvunpack should be fed the .wv file and will err out if pointed at merely the .wvc file.&lt;br /&gt;
* .exe (deprecated): WavPack 4 could compress to Windows self-extracting file (like OptimFROG also offers).  This feature is discontinued in WavPack 5.  Newer versions of the decoder can still play and decode them &amp;amp;ndash; indeed, merely renaming them from .exe to .wv will make them play in players that use the official WavPack library (e.g. foobar2000 will, but VLC will not), and they can be tagged.&lt;br /&gt;
** How to recompress with tag transfer: Rename to .wv.  Recompressed files will not be self-extracting.&lt;br /&gt;
* The 3rd party hack &amp;quot;.iso.wv&amp;quot; can also be mentioned here: Some developer took advantage of how the official decoder might look further into a file to find WavPack headers, like it would have to on self-extracting files, and used the .iso format to contain a folder with whatever files including one single WavPack file as playable.  Due to efforts from a few enthusiasts when this hack was introduced, iso.wv is mentioned in several players&#039; official and unofficial feature lists, including Wikipedia pages.  These files are .iso files, but the .wv extension makes the official decoder search in the container and and play the WavPack file it finds &amp;amp;ndash; and so will e.g. foobar2000 which uses official WavPack to play them.  Technical reservations apply, and are beyond the scope of these article.&lt;br /&gt;
** These files can be recompressed like the self-extracting files can &amp;amp;ndash; this will however discard everything else than the WavPack file. &lt;br /&gt;
* .wav (pre-2004).  WavPack 3 used the WAVE file format (WAVE is a &#039;&#039;container format&#039;&#039;, and might for example contain MP3, although such are rare and not well supported).  If a user by by mistake tries to use wv&#039;&#039;un&#039;&#039;pack a WAVE file, the error message &amp;quot;this legacy WavPack file is deprecated, use version 4.80.0 to transcode&amp;quot; might confuse new users; it has its origins in WAVE being the container of ancient WavPack.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Using WavPack with 3rd party tools (FFmpeg &amp;amp; more) =&lt;br /&gt;
&lt;br /&gt;
Some applications may behave slightly surprising.  FFmpeg has its own WavPack implementation and has a few known peculiarities, some which are expected to be fixed and others of unknown status.  As referenced above Android users may need to use the player application&#039;s folder to get WavPack files recognized.  The tl;dr are that as long as it plays, it plays &amp;amp;ndash; but to safeguard against loss of information (e.g. upon conversion), use the official tools.  In particular, hybrid lossless correction files are usually not honoured by 3rd party tools. (A player that does, foobar2000, uses the official WavPack libraries.)&lt;br /&gt;
&lt;br /&gt;
== Splitting WavPack files by cuesheet ==&lt;br /&gt;
WavPack is a format with good support for storing an album as one .wv file with embedded cuesheets, but splitting into tracks by way of cuesheets is not straightforward without external tools. Audio players like [[foobar2000]] which support cue sheets can also split upon conversion.  Other external applications that will do this splitting &amp;amp;ndash; also with more variations of the cue sheet format(s) supported &amp;amp;ndash; include&lt;br /&gt;
* [[CUETools]] can if it is CDDA (44.1 kHz 16-bit stereo), and can re-encode back to WavPack.  &lt;br /&gt;
* refalac can decode &amp;amp; split by cuesheets with the appropriate (official) WavPack library DLL file&amp;lt;ref&amp;gt;[https://github.com/nu774/qaac/wiki/refalac-usage refalac usage] includes how to split by cuesheet&amp;lt;/ref&amp;gt;, outputting WAVE or ALAC-in-MP4.&lt;br /&gt;
Both refalac, CUETools and foobar2000 use the official WavPack tools to for the decoding(/encoding). &lt;br /&gt;
&lt;br /&gt;
== &amp;lt;span id=&amp;quot;FFmpeg&#039;s WavPack implementation&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;FFmpeg&#039;s WavPack implementation: differences and quirks ==&lt;br /&gt;
FFmpeg can encode/decode to/from WavPack &amp;amp;ndash; which may be seen as attractive from how it also can transfer metadata in one go &amp;amp;ndash; but with some limitations and maybe unfamiliar behaviour.  &amp;lt;br/&amp;gt; FFmpeg has had some bugs which may cause audio corruption.  Although some fixes were applied with FFmpeg release 6.1, users might beware that players and converters that employ FFmpeg as a decoding engine may or may not update that quickly. &lt;br /&gt;
* [Still not fixed as of ffmpeg 6.1] Encoding, multi-channel only: Above 16 channels, when the WavPack 5 format is required, FFmpeg will still attempt encoding to WavPack but will produce non-compliant files &amp;amp;ndash; that ffmpeg itself might not be able to read.&amp;lt;br/&amp;gt;Official WavPack 5.7.0 can repair those files, at least the &amp;quot;known&amp;quot; defects. &lt;br /&gt;
* [Fixed in ffmpeg 6.1] Encoding, 8-bit PCM only: FFmpeg (up to 6.0) will produce broken files with static noise, no known way to recover. &lt;br /&gt;
* [Fixed in ffmpeg 6.1] Decoding, any format but rare: A bug FFmpeg&#039;s WavPack decoder, discovered in August 2022&amp;lt;ref&amp;gt;[https://hydrogenaud.io/index.php/topic,122810 HA forum thread on the ffmpeg bug in .wv decoding]&amp;lt;/ref&amp;gt;, will cause dropouts in certain files. The bug is &#039;&#039;&amp;quot;rare&amp;quot;&#039;&#039; in that no such file was discovered in several years.&lt;br /&gt;
&lt;br /&gt;
Further limitations in FFmpeg&#039;s implementation:&lt;br /&gt;
* No md5 sum and no verification &amp;amp;ndash; although it is possible for power users to set up a command-line to compute audio-only checksums of input, decode output to checksum and compare.  FFmpeg will also only write WavPack 4 files, hence no &#039;&#039;fast verification&#039;&#039; of the bitstream.  (FFmpeg can however decode WavPack 5 files, including DSD.)&lt;br /&gt;
* As a general rule &amp;amp;ndash; not specific to .wv &amp;amp;ndash; FFmpeg will &#039;&#039;not&#039;&#039; honour the input bit depth: for example when outputting WAVE/AIFF, it will default to 16 bits regardless of input bit depth.  This default behaviour is not lossless when input bit depth is &amp;gt; 16 bits, and could even induce clipping (with no warning!) if the source is a 32-bit float.  To force lossless decoding of 24-bit/32-bit files (WavPack/FLAC/ALAC/TAK/uncompressed) to WAVE/AIFF, the user must extract the bit depth information and specify the respective 24-bit/32-bit output format using ffmpeg&#039;s command-line syntax. &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;For an extreme example: &amp;lt;code&amp;gt;FFmpeg -i DSDfile.dsf outfile.wv&amp;lt;/code&amp;gt; will not store the DSD &amp;amp;ndash; rather it will convert to floating-point PCM which is then compressed, typically making for several times the file size, with no warning that it is lossy.&amp;lt;br/&amp;gt;&lt;br /&gt;
The tl;dr for users who do not have this at their fingertips, is to use other (= official!) decoders when losslessness is desired.&lt;br /&gt;
* Correction files ignored, leading to lossy playback/conversion of hybrid-encoded WavPack files with when ffmpeg or ffmpeg-based players are used. &lt;br /&gt;
* Loss of information that is not directly audio-related: FFmpeg has no ambition of preserving file structure and (R)IFF chunks, so you will not get the non-audio chunks of the files back when using ffmpeg to encode &amp;amp;ndash; however it &#039;&#039;will&#039;&#039; by default transfer metadata it supports. &lt;br /&gt;
* FFmpeg will sometimes &amp;amp;ndash; depending on input format &amp;amp;ndash; output 32-bit WavPack files and lose the information that the source was indeed only 24. Not all players support 32-bit files, and verifying that the operation (or an attempted downconversion to 24) was lossless is not straightforward as even fewer applications are willing to compare a 32-bit and a 24-bit file for differences. &amp;lt;br/&amp;gt;Also for files with bit depth not being 8/16/24/32 is lost; WAVE/AIFF/CAF can handle &amp;quot;17 bit&amp;quot; files by storing 24 and employing a flag to disregard the 7 LSBs, and ffmpeg will lose this flag even when encoding to / decoding from codecs which support it, WavPack and FLAC. &lt;br /&gt;
&lt;br /&gt;
FFmpeg&#039;s compression settings can be set with &amp;lt;code&amp;gt;-compression_level&amp;lt;/code&amp;gt; 0 to 8, which work different than the reference implementation. Like for ALAC compression, FFmpeg has chosen a default that prioritizes speed over size &amp;lt;ref&amp;gt;[https://hydrogenaud.io/index.php?topic=118278.msg976262#msg976262  HA forum comment comparing the compression presets]&amp;lt;/ref&amp;gt; &amp;amp;ndash; while on the other end, FFmpeg&#039;s WavPack encoder offers settings even slower than &amp;lt;code&amp;gt;-hhx6&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Software support (&amp;amp; hardware) =&lt;br /&gt;
With Android support and playback through ffmpeg, it might no longer be feasible to maintain a list of applications that can play WavPack files, and the following is  most certainly incomplete &amp;amp;ndash; as is the list at https://www.wavpack.com/#Software .  Also, the distinction between &amp;quot;hardware&amp;quot; and &amp;quot;software&amp;quot; support is not clear in the age of smart devices running Android, and the list at https://www.wavpack.com/#Hardware does not cover those.&lt;br /&gt;
&lt;br /&gt;
== Players ==&lt;br /&gt;
* [[foobar2000]] advanced freeware audio player plays/decodes WavPack out of the box on both Windows, MacOS, Android and iOS (Windows: supports encoding if wavpack.exe is installed, and redistributes the official wavpack.exe through its &amp;quot;Free encoder pack&amp;quot; addon for encoding.  With ReplayGain &amp;amp; cuesheets support.) Also [[Boom]] from the same author.&lt;br /&gt;
* [http://www.videolan.org/vlc/download-windows.html VLC] multiplatform media player&lt;br /&gt;
* [http://www.vuplayer.com/vuplayer.php VUPlayer] (official plugin, supports encoding)&lt;br /&gt;
* NullSoft [[Winamp]] (plugin with ReplayGain &amp;amp; Media Library support) and Winamp-compatible players&lt;br /&gt;
* [[Windows Media Player]] and other directshow-based players (MPC, TCMP, RadLight) (with [http://www.hydrogenaudio.org/forums/index.php?showtopic=103693 CoreWavPack] directshow filter)&lt;br /&gt;
* [http://cogosx.sourceforge.net/ Cog] Audio player for MacOS X.&lt;br /&gt;
* [https://wiki.jriver.com/index.php/WavPack JRiver Media Center]&lt;br /&gt;
* [[XMMS]] (with Kuniklo&#039;s plugin)&lt;br /&gt;
* [http://fondriest.frederic.free.fr/realisations/lamip/ LAMIP] (official plugin)&lt;br /&gt;
* [http://mpxplay.sourceforge.net/ MPXplay] for DOS!&lt;br /&gt;
* [http://aqualung.sourceforge.net/ Aqualung] for GNU/Linux&lt;br /&gt;
* Cowon [http://www.jetaudio.com/ JetAudio Player] and CD ripper&lt;br /&gt;
* [http://www.un4seen.com/ XMPlay] Plugin required (WavPack input plugin) and (bass library) to play &#039;wv&#039; files&lt;br /&gt;
&lt;br /&gt;
== Converters, CD rippers etc. ==&lt;br /&gt;
For conversion (of &#039;&#039;audio&#039;&#039; only), one can use several of the &#039;&#039;players&#039;&#039; listed above, like Cowon JetAudio, foobar2000 and VUplayer &amp;amp;ndash; although some with limitations in the audio pipeline, like for example DSD handling. &amp;lt;br/&amp;gt;&lt;br /&gt;
More software that support conversion to or from WavPack include:&lt;br /&gt;
* Custom [http://www.wavpack.com/WavPack_frontend.zip WavPack frontend] (by Speekenbrink) for Windows.&lt;br /&gt;
* [http://www.dbpoweramp.com/ dBpowerAMP] Music Converter CD ripper/writer / Audio Player / (official addon)&lt;br /&gt;
* [[fre:ac]] multi-platform CD ripper/converter&lt;br /&gt;
* [[Exact Audio Copy]] CD Ripper (guide at this wiki&amp;lt;ref&amp;gt;[[EAC_and_WavPack | HA Wiki: Configuring EAC and WavPack]]&amp;lt;/ref&amp;gt;)&lt;br /&gt;
* [http://www.nero.com/eng/ Nero]&lt;br /&gt;
* [http://cdexos.sourceforge.net CDex] CD ripper&lt;br /&gt;
* [https://download.cnet.com/Ease-Audio-Converter/3000-2140_4-10390634.html Ease Audio Converter] (Discontinued; shareware / NOT Freeware)&lt;br /&gt;
* [http://media.io/ Media.io Online Audio Converter]&lt;br /&gt;
* [http://www.logipole.com/index.html Konvertor]&lt;br /&gt;
* [http://cuetools.net CUETools] converter and AccurateRip/CTDB checker&lt;br /&gt;
* [https://github.com/nu774/qaac refalac] (user must copy the wavpackdll.dll file to the appropriate directory)&lt;br /&gt;
&lt;br /&gt;
== Taggers and audio info utilities ==&lt;br /&gt;
* [http://www.mp3tag.de/en/index.html Mp3tag] Universal Tag Editor&lt;br /&gt;
* [https://picard.musicbrainz.org/ MusicBrainz Picard] Tagger with audio identification &lt;br /&gt;
* [http://www.jtclipper.eu/thegodfather/ The GodFather] Tagger / Music manager&lt;br /&gt;
* [[Tag.exe|Case&#039;s Tag]] command line tagger&lt;br /&gt;
* [https://mediaarea.net/ MediaInfo]&lt;br /&gt;
* [http://mr-questionman.en.uptodown.com/windows Mr. QuestionMan]&lt;br /&gt;
&lt;br /&gt;
== Audio editors and other tools ==&lt;br /&gt;
* [[Audacity]] has WavPack support (using official libraries) from version 3.2.0 (2022)&amp;lt;ref&amp;gt;[https://github.com/audacity/audacity/releases/tag/Audacity-3.2.0 Audacity 3.2.0 release notes]&amp;lt;/ref&amp;gt;.&lt;br /&gt;
* [[Adobe Audition]] and Cool Edit (filter with 32-bit floats &amp;amp; extra info save support)&lt;br /&gt;
* [https://sourceforge.net/projects/sox/ SoX] can read and write WavPack files.  (Write: limited to &amp;lt;code&amp;gt;-hh&amp;lt;/code&amp;gt; compression, not file format version 5.)&lt;br /&gt;
* [http://www.bunkus.org/videotools/mkvtoolnix/ mkvtoolnix] &amp;amp;ndash; tool to multiplex streams in Matroska container files.&lt;br /&gt;
&#039;&#039;It&#039;s worth mentioning the [[Matroska]] guys decided to concentrate on WavPack as the lossless compressor of choice for their container. Quite an honor... :-)&#039;&#039;&lt;br /&gt;
* [https://support.pkware.com/display/PKSZLU/PKZIP+Toolkit+for+Windows PKWare]&#039;s .zip format compresses audio by WavPack since version 6.3.2 (2007).  Beware that there is no expectation that other decompression software handles these zip files; even if PKWare co-designed the format and PKZip was the original .zip implementation, their subsequent compression methods are outside the ISO/IEC standardized zip format specification. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Links =&lt;br /&gt;
* [http://www.wavpack.com/ Official website]&lt;br /&gt;
* [https://github.com/dbry/WavPack Github repository]&lt;br /&gt;
* [http://www.rarewares.org/lossless.html Unofficial compiles] at RareWares. As of 2023: 5.50 for Windows and 4.32 multiplatform&lt;br /&gt;
* [https://en.wikipedia.org/wiki/WavPack WavPack at Wikipedia]&lt;br /&gt;
* [https://wiki.multimedia.cx/index.php/WavPack WavPack at Multimediawiki] (not updated with version 5)&lt;br /&gt;
* [[Lossless_comparison| HA Wiki&#039;s Lossless Codec Comparison]] originally by [[User:Rjamorim|Rjamorim]] &lt;br /&gt;
* An older (2005) performance comparison of lossless audio compressors {{webarchive|https://web.archive.org/web/20151027213336/http://members.home.nl/w.speek/comparison.htm|2015-10-27}} by Speek, using WavPack version 4.0 &lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{navbox audio codecs}}&lt;br /&gt;
[[Category:Codecs]]&lt;br /&gt;
[[Category:Lossless]]&lt;/div&gt;</summary>
		<author><name>Porcuswiki</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=WavPack&amp;diff=37786</id>
		<title>WavPack</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=WavPack&amp;diff=37786"/>
		<updated>2024-03-30T10:36:32Z</updated>

		<summary type="html">&lt;p&gt;Porcuswiki: missing word&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Software Infobox&lt;br /&gt;
| name = WavPack&lt;br /&gt;
| logo = [[Image:Wavpacklogo.png|280px|Official WavPack logo]]&lt;br /&gt;
| screenshot =&lt;br /&gt;
| caption = Hybrid Lossless Audio Compression&lt;br /&gt;
| maintainer = David Bryant&lt;br /&gt;
| stable_release = 5.7.0 (2024-02-29)&lt;br /&gt;
| operating_system = Windows, MacOSX, Linux/BSD/Unix, ...&lt;br /&gt;
| use = Encoder/Decoder&lt;br /&gt;
| license = BSD license&lt;br /&gt;
| website = http://www.wavpack.com/&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;WavPack&#039;&#039;&#039; (pronounced &amp;quot;wave-pack&amp;quot;) is a [[lossless]] audio [[codec]], also offering optionally a [[hybrid codec| hybrid lossless/lossy]] mode.  It is distributed as a free open-source encoder/decoder with a library and a large number of tools, including a Windows GUI and a range of plugins for both audio players and other software.  Third party implementations are available, including ffmpeg.  WavPack supports and/or can be played back on a large number of platforms/OSes including mobile (Android, iOS), portable ([[Rockbox]]) and even web apps. &lt;br /&gt;
&lt;br /&gt;
WavPack is arguably the most feature-rich lossless compressor, supporting a unique range of audio signals including [https://en.wikipedia.org/wiki/Direct_Stream_Digital Direct-Stream Digital].  Everyday use is supported by a wide range of players and taggers, but &#039;&#039;conversion&#039;&#039; is likely safest done with applications that invoke the official tools (rather than e.g. ffmpeg&#039;s implementation) &amp;amp;ndash; and special features might require the user to apply the WavPack executable directly, for example with drag+drop, see the [[#Using WavPack]] section below.&lt;br /&gt;
&lt;br /&gt;
Performance-wise, WavPack defaults to a fast codec &amp;amp;ndash; less CPU intensive than [[ALAC]], but typically not as fast as [[FLAC]] or [[TAK]], especially in decoding CPU usage.&amp;lt;ref&amp;gt;[http://www.audiograaf.nl/losslesstest Martijn van Beurden: &amp;lt;em&amp;gt;Lossless audio codec comparison archive&amp;lt;/em&amp;gt;], all comparisons in this wiki article consistent with CDDA results up to revision 6, 2023, using WavPack 5.6.0.&amp;lt;/ref&amp;gt; In the age of low-power portable Rockbox-equipped players, WavPack could be seen as a reasonable middle ground between FLAC&#039;s low CPU footprint and long battery life, and the smaller files but more CPU-intensive [[Monkey&#039;s Audio]]&amp;lt;ref&amp;gt;[https://www.rockbox.org/wiki/CodecPerformanceComparison CodecPerformanceComparison] at the Rockbox wiki&amp;lt;/ref&amp;gt; &amp;amp;ndash; invoking WavPacks high mode and extra compression that would compress to smaller sizes than FLAC.&lt;br /&gt;
&lt;br /&gt;
WavPack has inspired other codecs&amp;lt;ref&amp;gt;Monkey&#039;s Audio historical FAQ {{webarchive|http://web.archive.org/web/20001017210206/http://www.monkeysaudio.com/faq.html|2000-10-17}}&amp;lt;/ref&amp;gt; and their features&amp;lt;ref&amp;gt;[http://losslessaudio.org/DualStream.php OptimFROG&#039;s &amp;quot;DualStream&amp;quot;] hybrid encoding &amp;amp;ndash; apparently WavPack coined this phrase&amp;lt;/ref&amp;gt;.  For more on WavPack, including on its history and technology, see the [https://en.wikipedia.org/wiki/WavPack Wikipedia entry].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Features =&lt;br /&gt;
For an end-user considering WavPack as audio format, its feature-richness might be the big selling point.  WavPack supports pretty much all the more common features noted at [[Lossless_comparison| HA Wiki&#039;s Lossless Codec Comparison]] as in the following first list, but several users might consider the more unique features listed under the subsequent headline.&lt;br /&gt;
&lt;br /&gt;
* Seekable and streaming playback.&lt;br /&gt;
* Error handling: upon playback, it will detect and report corrupted frames, mute to protect against static/noise output, and continue playback.  Since version 5, WavPack can also check for corruption without decoding, hence quicker than any decoding format.  Optional MD5 audio checksum can also be added upon encoding for file fingerprinting. &lt;br /&gt;
* High-resolution audio support (see next headline).&lt;br /&gt;
* Multichannel support: currently capped at 256 channels, supports [https://docs.microsoft.com/en-us/windows/win32/api/mmreg/ns-mmreg-waveformatextensible WAVEFORMATEXTENSIBLE] channel masks.&lt;br /&gt;
* Piping support for encoding, and support for RAW PCM input/output.&lt;br /&gt;
* Non-audio chunks (RIFF and similar) stored; by default, WavPack will not only encode/decode the audio losslessly, but store the non-audio chunks and restore them into a file bit-identical to the original.&lt;br /&gt;
* Tagging: APEv2. (ID3v1 is possible, but not advisable.) &lt;br /&gt;
* Cuesheet support. In practice, some applications handle &#039;&#039;embedded&#039;&#039; cuesheets better in WavPack than in some other formats.&lt;br /&gt;
* Unicode support.&lt;br /&gt;
* Can be used in the [[Matroska]] container. &lt;br /&gt;
* Windows GUI available.&lt;br /&gt;
* Multithreading (from version 5.7.0).&lt;br /&gt;
&lt;br /&gt;
WavPack also handles bit depths not divisible by 8, e.g. 20-bit audio (found on some DVDs).  &lt;br /&gt;
&lt;br /&gt;
== Special/unique features ==&lt;br /&gt;
Most of these features are shared with only a few if any notable codecs, or extend to signal types or file types others do not support (comparisons given).&lt;br /&gt;
* DSD support: can losslessly compress Philips DSDIFF and Sony DSF files (see &amp;quot;Using WavPack&amp;quot; below; no other end-user codec compresses DSD.) ID3v2.3 tags can be imported.  wvunpack can select between DSDIFF and DSF out (i.e. &#039;convert between the two&#039;).  wvunpack can also convert DSD to PCM, but not the other way around. (Lossy, as conversion between PCM and DSD necessarily is.)&lt;br /&gt;
* High-resolution support for bit depth 1-bit to 32-bit integer and sampling rates up to 2 GiHz in integer steps. (Officially, 1 GHz is supported &amp;amp;ndash; it is &#039;&#039;gigaherz&#039;&#039;, not MHz, the upper limit being in the UHF radio frequency band.  Monkey&#039;s Audio, OptimFROG and MPEG-4 ALS support the entire WAVE range up to 4 GiHz.) Can also compress files of &#039;&#039;non-integer sampling rates&#039;&#039; (AIFF/AIFC/CAF, as the WAVE format cannot contain such signals).   &lt;br /&gt;
* 32-bit &#039;&#039;floating-point&#039;&#039; supported &amp;amp;ndash; also including CoolEdit/Adobe Audition&#039;s own float format (use the &amp;lt;code&amp;gt;-a&amp;lt;/code&amp;gt; option only if the .wav was generated by CoolEdit/Audition).  (This line like OptimFROG.)&lt;br /&gt;
* As much as 256 channels currently supported (from version 5.5.0 on; [https://github.com/dbry/WavPack/issues/117 can be extended to the thousands] &amp;amp;ndash; more than any codec except MPEG-4 ALS (which is capped at 66536).) &lt;br /&gt;
* Hybrid lossy/lossless mode (can also be used as lossy &amp;amp;ndash; OptimFROG also has such a mode.)&lt;br /&gt;
* For LPCM it can read and output to WAVE (including the RF64 format extension used for large files and from 5.70 also BW64), to Sony&#039;s Wave64, AIFF/AIFC (both endiannesses) and CAF (ditto) &amp;amp;ndash; with full restore of also non-audio parts to bit-by-bit the original file in the original format.  (Monkey&#039;s/OptimFROG/TAK do the same to the input formats they support.)  Also WavPack can handle too large noncompliant &amp;quot;WAVE&amp;quot; files (by default, those will be restored to bit-identical the same as the flawed input file &amp;amp;ndash; optionally one can force output to compliant RF64/W64 files). &lt;br /&gt;
* Recompression: Can recompress .wv files in place, with tag transfer.  (Like FLAC on .flac files.)&lt;br /&gt;
* Drag and drop support: Dropping a file on to wavpack.exe/wvunpack.exe will encode/decode it to source directory. (Like FLAC.)  From 5.5.0, one can also apply options to drag and drop by renaming the executable, and drop several files.&lt;br /&gt;
&lt;br /&gt;
Like FLAC/TAK/OptimFROG, WavPack employs a &amp;quot;wasted bits&amp;quot; strategy to handle cases of &#039;&#039;n &amp;quot;actual bits of signal&amp;quot; zero-padded and stored as N bits&#039;&#039;; such signals can be found in certain DVDs, but also as &amp;quot;fake high resolution&amp;quot; where a 16-bit signal is merely put in a 24-bit file to look impressive.  WavPack handles more &amp;quot;fake high resolution&amp;quot; cases than just zero-padding.  5.7.0 introduces an further improvement to capture similar patterns in 32-bit integer files generated by &amp;quot;naively converting from 32-bit float&amp;quot;.  That particular mode is disabled by default and is arguably best left to power users (invoking it with &amp;lt;code&amp;gt;--optimize-int32&amp;lt;/code&amp;gt;) as only 5.7.0 can decode as lossless; to earlier versions and players they will be presented as lossy without correction file (and will indeed be lossy with differences around -138 dB down). &lt;br /&gt;
&lt;br /&gt;
== Limitations ==&lt;br /&gt;
The following bullet item list is hardly of interest except for special purposes; WavPack supports nearly every input format that any competing codec handles. One exception is the legacy AU/SND, apparently supported only by Monkey&#039;s Audio. &lt;br /&gt;
* DSD: Will reject DST-compressed DSDIFF (which are already compressed heavier than WavPack does) and Wideband Single-bit Data files (apparently, the Tascam and Korg devices which can produce these, can also export to other DSD formats).&amp;lt;br/&amp;gt; Also, DSD files cannot be encoded as hybrid with correction files.&lt;br /&gt;
* 64-bit float is not supported.  (Apparently no other lossless audio compressor can support it either.)&lt;br /&gt;
* wvunpack can &#039;&#039;force output&#039;&#039; to a different format than input, and for AIFF/CAF also select endianness, but it cannot force output to different versions of big-endian AIFF (it will avoid AIFC as long as the signal can be fit in the original AIFF container) nor select between WAVE_FORMAT_PCM and WAVE_FORMAT_EXTENSIBLE.  Few other formats do allow for such output selection; reference FLAC can from 1.4.3 offer some wider choices than wvunpack can. &lt;br /&gt;
* Although all non-audio will be stored, &amp;lt;code&amp;gt;--import-id3&amp;lt;/code&amp;gt; can not &#039;&#039;import&#039;&#039; every type of ID3 tag to APEv2. (5.70 imports more tag types than previous versions, yet some users might want use use e.g. [[Mp3tag]] to copy over more tags from the original.) Also, unless &amp;lt;code&amp;gt;--allow-huge-tags&amp;lt;/code&amp;gt; is specified, size is limited to 1 MB; there is a possibility that larger tagsets might cause compatibility issues, although such are not known.&lt;br /&gt;
* Some file formats have features stored in file headers (like loop points, or for AIFF possibly non-integer sampling rates) which will not be &#039;&#039;visible&#039;&#039;  to the end-user when trying to play back the .wv file in a typical player. They are nevertheless available to certain audio editing software plugins, and will in any case be restored upon decoding.&lt;br /&gt;
* Some features are unsupported by several applications: in particular, support for correction files is only found in a few players. &lt;br /&gt;
* The most significant third-party implementation (ffmpeg as of version 6.1) has bugs waiting to be fixed. &lt;br /&gt;
&lt;br /&gt;
As of 5.5.0 and above, MacOS versions must be built with e.g. HomeBrew, and Windows XP is only supported through a special executable (available in version 5.6.0 at wavpack.com, upgrade from previous unofficial build posted at HA is strongly advised). &lt;br /&gt;
WavPack version 5 discontinues some features, but version 4.80 is still available to convert any version 3.x files that might still exist (WavPack 4 was released in 2004). &lt;br /&gt;
&lt;br /&gt;
WavPack has traditionally had less hardware support than FLAC ([[Rockbox]] having been the most notable platform, others listed at https://www.wavpack.com/index.html#Hardware ), but with WavPack playback through Android and iOS players, the distinction between &amp;quot;hardware&amp;quot; and &amp;quot;software&amp;quot; is arguably blurred. The Android OS does not &#039;&#039;natively&#039;&#039; support other lossless audio formats than WAVE and FLAC, so there have been issues getting certain Android solutions to recognize other media files including WavPack.&amp;lt;ref&amp;gt;[https://hydrogenaud.io/index.php/topic,122768 HA thread with link to Android bug report by the Monkey&#039;s Audio author]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Information for users of other codecs (and older WavPack) == &lt;br /&gt;
Parts of this section will be less relevant to users who primarily decode and convert through player software, rather than directly invoking the executables.  WavPack is the only &amp;quot;major&amp;quot; lossless encoder with separate executables for encoding (&amp;lt;code&amp;gt;wavpack&amp;lt;/code&amp;gt;) and decoding/info (&amp;lt;code&amp;gt;wvunpack&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
Even for features that are comparable between codecs, they may behave different &amp;amp;ndash; or default to different behaviour &amp;amp;ndash; out of the purpose they were designed to address, their development, or other design choices. &lt;br /&gt;
&lt;br /&gt;
* WavPack is designed as a &#039;&#039;file compressor&#039;&#039; for audio files &amp;amp;ndash; this like Monkey&#039;s, TAK and OptimFROG, but in contrast to FLAC and ALAC which are &#039;&#039;audio compressors&#039;&#039;. The difference is in the ambition to store all non-audio information (and in the correct order).  Using reference FLAC one might &amp;quot;opt in&amp;quot; on non-audio parts by giving options; using WavPack one can &amp;quot;opt out&amp;quot; and discard this information.  &lt;br /&gt;
** &#039;&#039;Note: This difference is irrelevant for CD ripping.&#039;&#039; Contrary to a common misconception, CD audio is &#039;&#039;not&#039;&#039; stored as WAVE &amp;amp;ndash; nor in any sort of file.  Thus, using a file compressor gives no more &amp;quot;true&amp;quot; copy of a CD.  (WavPack&#039;s support for embedded cuesheets might &amp;amp;ndash; depending on player application &amp;amp;ndash; give a better user experience for those who prefer to store one file per CD, but that is not due to how CDs work.)&lt;br /&gt;
* MD5 is opt-in (the &amp;lt;code&amp;gt;-m&amp;lt;/code&amp;gt; switch) &amp;amp;ndash; even if it is calculated for verification purposes. TAK and OptimFROG also requires the user to opt-in on MD5, but FLAC, ALAC and Monkey&#039;s work different: FLAC includes MD5 (though some encoders make exceptions under some circumstance), ALAC has nothing such &amp;amp;ndash; and Monkey&#039;s MD5s are not comparable with others, as it hashes the encoded bitstream.  &lt;br /&gt;
** Also, WavPack computes MD5 using keeps source&#039;s endianness (endianness is like the distinction between &amp;quot;4th of July&amp;quot; and &amp;quot;July 4th&amp;quot;), and so MD5s may differ between WAVE source and AIFF/CAF source.  &lt;br /&gt;
* Like Monkey&#039;s/TAK/OptimFROG &amp;amp;ndash; but unlike FLAC and ALAC &amp;amp;ndash; tags are at the end of the file.  Consequences for users are that retagging will not trigger full file rewrite, but sometimes applications may spend longer time displaying art and viewing tags.&lt;br /&gt;
* Users of &amp;quot;older WavPack&amp;quot; might take note that version 5 discontinues some features, like &amp;lt;code&amp;gt;-p&amp;lt;/code&amp;gt;, and also the &amp;lt;code&amp;gt;-e&amp;lt;/code&amp;gt; for self-extracting files.  There are no self-extracting WavPack 5 files, but the old ones can converted &amp;amp;ndash; with tags &amp;amp;ndash; by renaming them from &amp;lt;code&amp;gt;.exe&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;.wv&amp;lt;/code&amp;gt;.  Older .wv files work as before, but support for the ancient WavPack 3 files in .wav container is dropped with version 5; they can be transcoded with the still-available version 4.80.0.&lt;br /&gt;
** See the [[#File formats, versions, decoding and transcoding support]] section for more details.&lt;br /&gt;
&lt;br /&gt;
=== Performance &amp;amp;ndash; file size, CPU load === &lt;br /&gt;
Rewind twenty years, to 2004 hardware costs, compression ratios did matter much more &amp;amp;ndash; also, several formats would be too heavy to even &#039;&#039;play&#039;&#039; on portable devices, and the official WavPack site would warn against the &amp;lt;code&amp;gt;-hh&amp;lt;/code&amp;gt; mode for that use even if it were not heavier than the fastest Monkey&#039;s Audio mode. &lt;br /&gt;
Fast forward to now, enthusiasts will still compare performance even if ordinary users may take note that impact on cost is often negligible. Different considerations may apply when a drive is near full.  &lt;br /&gt;
The HA wiki&#039;s [[lossless comparison]] article compares speed and compression ratio on CDDA on the respective codecs&#039; &#039;&#039;default&#039;&#039; setting, taken from van Beurden&#039;s comparison studies.  The test corpus is chosen to be a &amp;quot;wide&amp;quot; selection, and most music collections are biased in one direction or another genre-wise; users who are concerned about compression might look up the individual sources in the study and/or make a test sample from their own collection.  By and large, the following observations can be made:&lt;br /&gt;
* WavPack defaults to a fast codec, between FLAC and Monkey&#039;s; is not so heavy on decoding CPU as to cause actual practical problems, although it officially recommends against &amp;lt;code&amp;gt;-hh&amp;lt;/code&amp;gt; &amp;quot;for use on vintage portable devices&amp;quot; &amp;amp;ndash; it should be fine on anything modern.  Even &amp;lt;code&amp;gt;-hh&amp;lt;/code&amp;gt; seems to decode lighter than Monkey&#039;s fastest mode. &lt;br /&gt;
** The &amp;quot;between FLAC and Monkey&#039;s&amp;quot; hold for &amp;quot;default encoding and all decoding&amp;quot;.  Like most modern codecs, WavPack can be set to exert more encoding effort without affecting decoding load: the &amp;lt;code&amp;gt;-x&amp;lt;/code&amp;gt; switch. Thus, decoding for e.g. ReplayGain tagging will be slower than e.g. FLAC in all modes, but faster than Monkey&#039;s &amp;amp;ndash; and recompressing with a slow &amp;lt;code&amp;gt;-x&amp;lt;/code&amp;gt; setting (which can be done in the background) will not make the files any heavier to process later.   (Indeed, &amp;lt;code&amp;gt;-x&amp;lt;/code&amp;gt; sometimes makes decoding lighter, although unlikely to be noticed except by measuring it.)&lt;br /&gt;
** Playback on Android might be less battery efficient than FLAC, which can take advantage of the OS&#039; native support.  The difference is likely small for power-hungry players (like VLC).&lt;br /&gt;
** On the other hand, &#039;&#039;integrity verification&#039;&#039; can be done lightening-fast, without decoding (presuming WavPack 5 file format and WavPack 5 decoder). &lt;br /&gt;
* Compressing CDDA: WavPack can compress to slightly smaller files than (reference) FLAC; the difference has diminished with the most recent FLAC releases, but &amp;quot;in return&amp;quot;, modern CPU speeds might have made the more expensive WavPack settings more tempting, especially when one can re-encode in the background.&lt;br /&gt;
* Compressing high resolution signals and multi-channel: The &amp;quot;extra&amp;quot; resolution might be a mixed bag of upsampling artefacts, tape hiss, sometimes geniune overtones (and for bat enthusiasts, actual interesting audio).  There are different kinds of samples one might call &amp;quot;fake high resolution&amp;quot;, and different properties of such &amp;amp;ndash; upsampling or bit depth &amp;amp;ndash; are handled different by the codecs.  WavPack is known to handle some properties exceptionally well (&amp;quot;wasted bits&amp;quot; are exploited also by FLAC and TAK, but WavPack and OptimFROG are capable of detecting more &amp;quot;wasteful&amp;quot; patterns; Monkey&#039;s and ALAC cannot exploit wasted bits at all) &amp;amp;ndash; and others lesser.  Several codecs benefit from spending more effort on high resolution signals, and WavPack users might consider to (re-) compress high resolution and multi-channel with as slow setting as &amp;lt;code&amp;gt;-hx4&amp;lt;/code&amp;gt;, presuming it can be done as background recompression where time is not much of an object; decoding load is largely unaffected (sometimes slightly improved) by the high &amp;lt;code&amp;gt;-x&amp;lt;/code&amp;gt;. &lt;br /&gt;
** For 32-bit float, there is not much competition, and WavPack might be the natural choice for compatibility; it does outcompress Monkey&#039;s recently-added float mode.  Those files are not very common in the wild, and users with a sizeable collection of 32-bit files for audio processing will likely choose codec for compatibility with their DAW software.  WavPack 5.7.0&#039;s special setting for 32-bit integer converted from 32-bit float might be an option in such situations.  &lt;br /&gt;
* Users who compare nearly tied compression levels between codecs, should take into account how metadata storage affect total file size.  WavPack defaults to storing the source&#039;s metadata, which may include big album art; on the other hand, FLAC defaults to leaving some kilobytes padding in the file.  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Using WavPack =&lt;br /&gt;
WavPack files can be played back in supported players (see below), and several of these can also encode to WavPack, invoking the official tools.  However, there are situations where the appropriate WavPack features are accessible only through the WavPack executables directly.  For example, you cannot expect non-audio data (for full file restore) to be preserved when encoding/decoding through &#039;&#039;players&#039;&#039;, as they usually pass on only the audio.  Also, the input format might exceed the player&#039;s internal decoding; e.g. trying to convert 32-bit integer or DSD with foobar2000 will yield a warning that it will not be lossless (also, converting DSD to PCM leads to files many times the size, being inherently different formats).&lt;br /&gt;
&lt;br /&gt;
== Encoding/decoding by drag and drop (Windows) == &lt;br /&gt;
The simplest encoding/decoding might be &#039;&#039;dragging and dropping&#039;&#039; a (supported) file to wavpack.exe (/wvunpack.exe).  Then the file will be encoded/decoded with the default options.  Dropping a .wv file onto wavpack.exe will recompress it, prompting before overwrite (again, using default settings &amp;amp;ndash; possibly a bad deal if it was encoded with high &amp;lt;code&amp;gt;-x&amp;lt;/code&amp;gt; switches).  Drag and drop also works on a shortcut to the executable. It is not possible to drop a folder, but from version 5.5.0, there is a way to drag and drop &#039;&#039;several&#039;&#039; files.&lt;br /&gt;
&lt;br /&gt;
From version 5.5.0, drag and drop supports &#039;&#039;options&#039;&#039; by renaming the wavpack/wvunpack executable.  The user can rename a copy of the executable according to preferred settings, which will be applied to the process upon drag and drop.  The example given by the developer in [https://hydrogenaud.io/index.php/topic,122626.msg1012159.html#msg1012159 in this HA forum post]&amp;lt;ref&amp;gt;[https://hydrogenaud.io/index.php/topic,122626.msg1012159.html#msg1012159 HA forum post on how to rename executable for drag and drop]&amp;lt;/ref&amp;gt; uses encoding options that many WavPack users will recommend (better compression than default, verification and MD5 fingerprinting), and novice users can choose to copy that filename for the executable.  For fine-tuning performance or for more specialized tasks, more options are described below. &lt;br /&gt;
&lt;br /&gt;
== Basic command line encoding/decoding [[Windows_command_line_tips|(for Windows: command-line hints here)]] == &lt;br /&gt;
The basic &#039;&#039;encoding&#039;&#039; usage is &amp;lt;code&amp;gt;wavpack filename&amp;lt;/code&amp;gt; (which creates &amp;lt;code&amp;gt;filename.wv&amp;lt;/code&amp;gt;) &amp;amp;ndash; this is what drag and drop accomplishes.  Wildcards are supported, e.g. &amp;lt;code&amp;gt;wavpack *.wav&amp;lt;/code&amp;gt; (but not simply &amp;lt;code&amp;gt;wavpack *&amp;lt;/code&amp;gt;).  For a &#039;&#039;single&#039;&#039; input file, one can specify output like e.g. &amp;lt;code&amp;gt;wavpack infilename.wav -o outfilename.wv&amp;lt;/code&amp;gt; (on Windows, the &amp;lt;code&amp;gt;-o&amp;lt;/code&amp;gt; can be omitted).  Input file extension &amp;quot;.wav&amp;quot; can be dropped, and output &amp;quot;.wv&amp;quot; extension as well &amp;amp;ndash; but &amp;lt;code&amp;gt;wavpack foo&amp;lt;/code&amp;gt; will only find foo.wav, not e.g. foo.w64 &amp;amp;ndash; and not a &amp;quot;foo&amp;quot; with no file extension.  (Power users may take note that for &amp;lt;code&amp;gt;--raw-pcm&amp;lt;/code&amp;gt; input, the encoder will not look for foo.wav but rather for foo.raw.)&lt;br /&gt;
&lt;br /&gt;
The basic &#039;&#039;decoding&#039;&#039; usage &amp;amp;ndash; as will be accomplished by drag and drop &amp;amp;ndash; is &amp;lt;code&amp;gt;wvunpack filename.wv&amp;lt;/code&amp;gt;.  By default, wvunpack will restore the exact same file (metadata and file structure and all; it will know the original file name extension but not the rest of the file name &amp;amp;ndash; timestamp can be stored by using &amp;lt;code&amp;gt;-t&amp;lt;/code&amp;gt;.) If only audio was encoded (conversion from a &#039;&#039;player&#039;&#039; would usually work this way), output defaults to filename.wav.  Output filename can be specified, and just like for the wavpack encoder, file extensions can be dropped; e.g., &amp;lt;code&amp;gt;wvunpack foo -o bar&amp;lt;/code&amp;gt; (or on Windows, dropping the &amp;lt;code&amp;gt;-o&amp;lt;/code&amp;gt;) will decode foo.wv to bar.&amp;lt;original file&#039;s extension&amp;gt;.  This is arguably advisable: wvunpack will not &#039;&#039;override output format&#039;&#039; by setting file extension.  E.g. if the input was a CAF file, &amp;lt;code&amp;gt;wvunpack foo -o bar.w64&amp;lt;/code&amp;gt; is still a CAF file, and the user has only managed to mislead themselves.  To force output format, see the [[#Decoding options]] paragraph.  &lt;br /&gt;
&lt;br /&gt;
=== Several input files ===&lt;br /&gt;
To give several filenames as input to wavpack/wvunpack, other than through wildcards, there are (for historical reasons) slight differences between the Windows version and the *n*xes: &lt;br /&gt;
Windows (requires WavPack 5.5.0): use the &amp;lt;code&amp;gt;--drop&amp;lt;/code&amp;gt; option as in the above example given by the developer.  It is intended for drag and drop (hence the name of the option) and will write the output to same directory as source.  However it can also be used with command-line:  &amp;lt;code&amp;gt;wavpack --drop firstfile secondfile&amp;lt;/code&amp;gt; will compress firstfile.wav to firstfile.wv and secondfile.wav to secondfile.wv.  Note that without the &amp;lt;code&amp;gt;--drop&amp;lt;/code&amp;gt;, the command &amp;lt;code&amp;gt;wavpack firstfile secondfile&amp;lt;/code&amp;gt; will compress firstfile.wav to secondfile.wv, as &amp;lt;code&amp;gt;-o&amp;lt;/code&amp;gt; is optional on Windows &amp;amp;ndash; indeed that is why the &amp;lt;code&amp;gt;--drop&amp;lt;/code&amp;gt; had to be introduced.  An arbitrary number of files can be processed, e.g. &amp;lt;code&amp;gt;wvunpack --drop firstfile secondfile thirdfile fourthfile fifthfile&amp;lt;/code&amp;gt; will decode firstfile.wv, ..., fifthfile.wv.&lt;br /&gt;
For *n*x, one can omit the &amp;lt;code&amp;gt;--drop&amp;lt;/code&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
== Applying options ==&lt;br /&gt;
For tuning performance or other settings, one might want to apply command-line options.  Some external applications can apply options without the user having to type &amp;amp;ndash; e.g. encoding with [[foobar2000]], there are two compression sliders, one for the fast-to-extra-high and one for the &amp;lt;code&amp;gt;-x&amp;lt;/code&amp;gt; settings (see below) &amp;amp;ndash; but for command-line one will have to type them, and also in the Windows GUI.  Options can be concatenated for short, like for example writing &amp;lt;code&amp;gt;-hh -x2 -m -v -y&amp;lt;/code&amp;gt; as &amp;lt;code&amp;gt;-hhx2mvy&amp;lt;/code&amp;gt;.  &lt;br /&gt;
&lt;br /&gt;
The user should beware that the wavpack encoder and the wvunpack decoder (and wvtag/wvgain) have to &amp;quot;re-use letters&amp;quot;.  While some do the same in the wvunpack and wavpack (like &amp;lt;code&amp;gt;-d&amp;lt;/code&amp;gt; for delete input file, &amp;lt;code&amp;gt;-y&amp;lt;/code&amp;gt; for &amp;quot;yes to all&amp;quot;, &amp;lt;code&amp;gt;-t&amp;lt;/code&amp;gt; to preserve timestamp, and &amp;lt;code&amp;gt;-l&amp;lt;/code&amp;gt; for (Windows only) &amp;quot;run with low priority&amp;quot;) and others cover the same purpose in both executables (like &amp;lt;code&amp;gt;-m&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;-v&amp;lt;/code&amp;gt;), the user may be warned that certain letters do not.  E.g. &amp;lt;code&amp;gt;-b&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;-c&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;-n&amp;lt;/code&amp;gt; cover completely urelated functions upon decoding vs upon encoding.  &lt;br /&gt;
&lt;br /&gt;
5.7.0 introduces multi-threading options for both encoding and decoding, invoked with &amp;lt;code&amp;gt;--threads=&amp;lt;number 1 to 12&amp;gt;&amp;lt;/code&amp;gt;, or simply &amp;lt;code&amp;gt;--threads&amp;lt;/code&amp;gt; to let WavPack choose.  Multithreading does not reduce overall CPU load, but unless the CPU is already working at max, it will do one or a few files in fewer seconds; thus it is invoked by default for the CoolEdit plugin.  For encoding, it leads to slightly different files, with usually very small size impact.&lt;br /&gt;
&lt;br /&gt;
=== Encoding options (lossless) ===&lt;br /&gt;
Encoding using &amp;lt;code&amp;gt;-hxm&amp;lt;/code&amp;gt; seems a sensible trade-off between compression and CPU load.  Some selected options are described as follows; for an exhaustive refence, see the manual (online, or included as wavpack_doc.html in the distribution).&lt;br /&gt;
* Compression.  WavPack has four compression modes that affect compression as well as encoding &#039;&#039;and&#039;&#039; decoding time: fast (&amp;lt;code&amp;gt;-f&amp;lt;/code&amp;gt;), default, high (&amp;lt;code&amp;gt;-h&amp;lt;/code&amp;gt;) and very high (&amp;lt;code&amp;gt;-hh&amp;lt;/code&amp;gt;).  The CPU load of &amp;lt;code&amp;gt;-hh&amp;lt;/code&amp;gt; is measured to around twice that of &amp;lt;code&amp;gt;-f&amp;lt;/code&amp;gt; (and could in the early 2000s be too heavy for portable players, although it does decode faster than any Monkey&#039;s).  On top these modes, the optional extra processing &amp;lt;code&amp;gt;-x1&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;-x6&amp;lt;/code&amp;gt; settings will apply extra compression effort that does not increase &#039;&#039;decoding&#039;&#039; CPU load. &amp;lt;code&amp;gt;-x&amp;lt;/code&amp;gt; without number is synonymous to &amp;lt;code&amp;gt;-x1&amp;lt;/code&amp;gt;, which is often recommended (in all modes, fast/normal/high/extra high).  The official manual calls &amp;lt;code&amp;gt;-x4&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;-x6&amp;lt;/code&amp;gt; &amp;quot;extremely slow&amp;quot;, but the size gains might be significant for high resolution audio in particular (van Beurden&#039;s revision 5, testing &amp;lt;code&amp;gt;-x4&amp;lt;/code&amp;gt;).  &lt;br /&gt;
** 5.5.0 introduces optional switches for the default compression: &amp;lt;code&amp;gt;-g&amp;lt;/code&amp;gt; for normal mode and &amp;lt;code&amp;gt;-x0&amp;lt;/code&amp;gt; for &amp;quot;no &amp;lt;code&amp;gt;-x&amp;lt;/code&amp;gt;&amp;quot;.  These are redundant for basic use, but can be used to switch off options already given (e.g. in renamed executables, or custom builds): &amp;lt;code&amp;gt;-x6 -x0&amp;lt;/code&amp;gt; will switch off the extra processing, and &amp;lt;code&amp;gt;-h -f -g&amp;lt;/code&amp;gt; will encode as normal, whereas previous versions would abort with an error.&lt;br /&gt;
** With DSD files, there are only two compression settings, normal and high; the option &amp;lt;code&amp;gt;-f&amp;lt;/code&amp;gt; will select normal, &amp;lt;code&amp;gt;-h&amp;lt;/code&amp;gt;/&amp;lt;code&amp;gt;-hh&amp;lt;/code&amp;gt; will both select high, and the &amp;lt;code&amp;gt;-x&amp;lt;/code&amp;gt; switches are silently ignored. &lt;br /&gt;
* Guarding against errors upon encoding: The &amp;quot;&amp;lt;code&amp;gt;-m&amp;lt;/code&amp;gt;&amp;quot; switch will compute an audio MD5 sum (like FLAC does by default) and store it for later verification.  The &amp;quot;&amp;lt;code&amp;gt;-v&amp;lt;/code&amp;gt;&amp;quot; switch will verify by decoding the file after it has been written to disk&amp;lt;ref&amp;gt;[https://hydrogenaud.io/index.php?topic=121714.msg1008108#msg1008108 HA forum comment:] verification checks the written file after closing and reopening&amp;lt;/ref&amp;gt;. &amp;lt;code&amp;gt;-vm&amp;lt;/code&amp;gt; will do both &amp;amp;ndash; that is, calculate the MD5s to verify, and store it.  Using the corresponding switches in wvunpack will check without producing output file, however wvunpack also has a faster corruption check for WavPack 5-encoded files: &amp;lt;code&amp;gt;-vv&amp;lt;/code&amp;gt;.&lt;br /&gt;
* &amp;lt;code&amp;gt;--import-id3&amp;lt;/code&amp;gt; will import ID3v2.3 tags (currently not v2.4 nor v2.2) present in the source file &amp;amp;ndash; typically in Sony DSF files &amp;amp;ndash; and convert them to WavPack&#039;s preferred APE tags.  (It will still keep the chunk for restoring the original file.)  By default, importing is limited to 1 MB; for more, use &amp;lt;code&amp;gt;--allow-huge-tags&amp;lt;/code&amp;gt;.  Same option works in wvtag; indeed, one can encode first and then afterwards &amp;quot;import&amp;quot; the tags from the WavPack file using &amp;lt;code&amp;gt;wvtag --import-id3 wavpackfile.wv&amp;lt;/code&amp;gt;; this provided that these data have not been deleted by the following &amp;lt;code&amp;gt;-r&amp;lt;/code&amp;gt; option: &lt;br /&gt;
* &amp;lt;code&amp;gt;-r&amp;lt;/code&amp;gt;: remove non-audio chunks.  By default, WavPack will store these in the .wv file for later bit-by-bit restoration of everything, not only the audio. Use &amp;lt;code&amp;gt;-r&amp;lt;/code&amp;gt; to throw them away and encode audio only &amp;amp;ndash; like encoding through most players appear to do. &lt;br /&gt;
* &amp;lt;code&amp;gt;-t&amp;lt;/code&amp;gt;: copy input file&#039;s time stamp.  (To restore the file with the original time stamp, use &amp;lt;code&amp;gt;-t&amp;lt;/code&amp;gt; both when encoding and when decoding.)&lt;br /&gt;
* &amp;lt;code&amp;gt;--pause&amp;lt;/code&amp;gt;: (Windows only!) waits for keypress at the end.  Useful for reading output before exit when calling wavpack/wvunpack in a separate window (which both drag-and-drop the Windows front-end do).&lt;br /&gt;
* &amp;lt;code&amp;gt;-y&amp;lt;/code&amp;gt;: &amp;quot;yes&amp;quot; to everything.  Use with caution, will overwrite.  From 5.5.0 there is also a &amp;lt;code&amp;gt;--no-overwrite&amp;lt;/code&amp;gt; that will skip instead of asking to overwrite.&lt;br /&gt;
* &amp;lt;code&amp;gt;-d&amp;lt;/code&amp;gt;: delete source file upon successful completion.  Again, use with caution. &lt;br /&gt;
* &amp;lt;code&amp;gt;-l&amp;lt;/code&amp;gt; will force WavPack to run at low priority (Windows only)&lt;br /&gt;
* &amp;lt;code&amp;gt;-c&amp;lt;/code&amp;gt;: this is for hybrid lossless, see below. &lt;br /&gt;
&lt;br /&gt;
WavPack can recompress .wv files in place (using a temporary file until done).  For example, &amp;lt;code&amp;gt;wavpack -hx4mvy wavpackfile.wv&amp;lt;/code&amp;gt; will compress wavpackfile.wv in high mode using &amp;lt;code&amp;gt;-x4&amp;lt;/code&amp;gt; extra processing, writing everything (and an audio MD5 checksum) to a temporary file with tags transferred; close and then re-open the temp file to re-read for verification &amp;amp;ndash; and only once verified, replace the old wavpackfile.wv. &amp;lt;code&amp;gt;wavpack -hx4rlmvy wavpackfile.wv&amp;lt;/code&amp;gt; will also run with low priority (assuming the Windows platform), and will discard non-audio chunks &amp;amp;ndash; that is, the ones used to restore the original file&#039;s metadata; the .wv file&#039;s APE tags will still be copied.  Some operations do require recompression even if the user would not demand it; For example, wavpack cannot add MD5 sum to a .wv file without recompressing it. Also, if the user wants to discard the original file&#039;s headers/footers, that can be done upon decompression or recompression &amp;amp;ndash; but not by simply removing them from the .wv file. &lt;br /&gt;
There is no out-of-the-box facility to recompress based on how heavy the original file was compressed, or to keep the smallest file. &lt;br /&gt;
&lt;br /&gt;
=== (Incomplete:) hybrid lossless &amp;amp; lossy encoding ===&lt;br /&gt;
(Needs to be expanded. Notes: DSD can currently not be hybrid-encoded and floating-point files should not be.  The correction file will be omitted by a lot of applications/players, including VLC, mplayer and ffmpeg; thus, using ffmpeg or ffmpeg-based players to convert/play hybrid-encoded WavPack will be lossy. For WavPack in Matroska, there doesn&#039;t seem to be any player that will play both the lossy stream and the correction stream, although mkvmerge/mkvextract will import/extract both streams. foobar2000 can play hybrid lossless .wv+.wvc, but will omit a Matroska-encapsulated correction stream.)&lt;br /&gt;
&lt;br /&gt;
Basic use: the &amp;lt;code&amp;gt;-b&amp;lt;/code&amp;gt; switch &amp;amp;ndash; and for losslessness, use &amp;lt;code&amp;gt;-c&amp;lt;/code&amp;gt; to create a correction file. &lt;br /&gt;
A numerical argument for quality is mandatory: if &amp;lt; 24 it will signify &#039;&#039;bits per sample&#039;&#039; and if &amp;gt; 24 it will signify &#039;&#039;kbit/second&#039;&#039;. Decimal separator is . even if your locale uses the comma. &lt;br /&gt;
For example, &amp;lt;code&amp;gt;wavpack -b12.5 filename&amp;lt;/code&amp;gt; will create filename.wv of bit rate 12.5 bits per sample.  &lt;br /&gt;
For an example that creates filename.wv at at most 234.56 kilobits per second and a correction file filename.wvc, the following commands will work:&lt;br /&gt;
* In all versions, &amp;lt;code&amp;gt;wavpack -b234.56 -c filename&amp;lt;/code&amp;gt;. Or equivalently &amp;lt;code&amp;gt;wavpack -cb234.56 filename&amp;lt;/code&amp;gt;&lt;br /&gt;
* From 5.70, also &amp;lt;code&amp;gt;wavpack -c234.56 filename&amp;lt;/code&amp;gt; will do the same.  Thus, a user can avoid the &amp;quot;&amp;lt;code&amp;gt;b&amp;lt;code&amp;gt;&amp;quot; altogether, eliminating the risk of loss from forgetting the &amp;quot;&amp;lt;code&amp;gt;c&amp;lt;code&amp;gt;&amp;quot;. &lt;br /&gt;
More options can be added, like &amp;lt;code&amp;gt;wavpack -cb234.56 -mhx filename&amp;lt;/code&amp;gt; to compress in high mode with extra processing and stores the (&#039;&#039;original&#039;&#039; PCM&#039;s) MD5 sum.  &lt;br /&gt;
When filename.wv and filename.wvc are both present, the original file will be restored completely by decoding the usual way by &amp;lt;code&amp;gt;wvunpack filename&amp;lt;/code&amp;gt; (or &amp;lt;code&amp;gt;wvunpack filename.wv&amp;lt;/code&amp;gt;, but not &amp;lt;code&amp;gt;wvunpack filename.wvc&amp;lt;/code&amp;gt;).  Playback of the .wv+.wvc is also lossless provided the player application supports correction files (like foobar2000, but few do). &lt;br /&gt;
&amp;lt;code&amp;gt;filename.wv&amp;lt;/code&amp;gt; can be copied to a different location without compression file and played in the same way as if it was encoded as lossy in the first place; the decoder will only look in the same path and for same file name except with .wvc extension. &lt;br /&gt;
&lt;br /&gt;
If a high enough lossy quality is specified, it is possible that the file can losslessly contain the entire signal.  If so, WavPack will report at the end of the encoding process &amp;amp;ndash; but that information is not stored in the file.  It can be inferred later from the small .wvc file, and if that is lost: if &amp;lt;code&amp;gt;-m&amp;lt;/code&amp;gt; was used upon encoding.&lt;br /&gt;
WavPack will refuse to recompress lossy-generated .wv to &amp;quot;lossless .wv&amp;quot; as that would make a false pretense of being a lossless file.  (That goes even in the &amp;quot;that information is not stored in the file&amp;quot; case just mentioned.)  If a lossless hybrid with correction file is recompressed, the default is to create a single-file lossless .wv; from 5.7.0, the old .wvc file will then be removed (as it does no longer belong to any .wv file), but earlier version would need to use the delete switch.&lt;br /&gt;
&lt;br /&gt;
Advanced use: The encoder has several options to tune lossy quality through e.g. noise shaping. &lt;br /&gt;
&lt;br /&gt;
=== Decoding options ===&lt;br /&gt;
In addition to the basic usage above (drag and drop or &amp;lt;code&amp;gt;wvunpack filename.wv&amp;lt;/code&amp;gt;), the wvunpack executable offers several options.  For use with the Windows front-end or drag and drop, the Windows-only &amp;lt;code&amp;gt;--pause&amp;lt;/code&amp;gt; (waits for keypress at the end, like for wavpack.exe) is essential to read the output report.  Also Windows-only options like &amp;lt;code&amp;gt;--drop&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;-l&amp;lt;/code&amp;gt; work as for wavpack.exe, and so do &amp;lt;code&amp;gt;-d&amp;lt;/code&amp;gt; (use with caution!) and &amp;lt;code&amp;gt;-y&amp;lt;/code&amp;gt; (ditto!) as well as &amp;lt;code&amp;gt;-t&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
* Output &#039;&#039;filename&#039;&#039; can be set with &amp;lt;code&amp;gt;wvunpack infilename.wv -o outfilename &amp;lt;/code&amp;gt; (the &amp;lt;code&amp;gt;-o&amp;lt;/code&amp;gt; being superfluous on Windows, where &amp;amp;ndash; in the absence of &amp;lt;code&amp;gt;--drop&amp;lt;/code&amp;gt; &amp;amp;ndash; the second filename will be assumed to be output name).  Then wvunpack will affix the file extension of the original file (say, outfilename.wav if the wavpacked file was somefilename.wav).  The wavpack encoder detects the file type from content, and so wvunpack will not &amp;quot;fix misleading extensions&amp;quot; automatically; the user can provide a giving full output filename with extension, but note that this will override the &#039;&#039;name&#039;&#039; only but not the &#039;&#039;type&#039;&#039;.  To make sure that -o out.aif indeed produces an AIFF, separate switches have to be employed. &lt;br /&gt;
* To force output &#039;&#039;file format,&#039;&#039; one needs to apply options to wvunpack.  The following are for PCM output: &amp;lt;code&amp;gt;--raw-pcm&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;--wav&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;--w64&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;--caf-be&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;--caf-le&amp;lt;/code&amp;gt;, and from version 5.6.0 on also &amp;lt;code&amp;gt;--aif&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;--aif-le&amp;lt;/code&amp;gt;.  &lt;br /&gt;
** These will delete non-audio chunks and replace them with a fresh file header: there is no option to &amp;quot;unpack to WAVE and restore the original headers if the original file was WAVE&amp;quot;.   &amp;lt;code&amp;gt;wvunpack --wav&amp;lt;/code&amp;gt; will select RF64 if (and only if) exceeding WAVE&#039;s 4 GB limit, and wvunpack will select old AIFF over AIFF-C if the audio data permit it.&lt;br /&gt;
** For DSD, those format switches will also force a &amp;amp;ndash; necessarily lossy &amp;amp;ndash; conversion to PCM.  To switch losslessly &#039;&#039;between&#039;&#039; DSD formats, there are also &amp;lt;code&amp;gt;--dsf&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;--dff&amp;lt;/code&amp;gt; (the latter being synonymous to &amp;lt;code&amp;gt;--dsdiff&amp;lt;/code&amp;gt;) which again delete non-audio chunks.  Note that WavPack cannot force any (also necessarily lossy) conversion &#039;&#039;to&#039;&#039; DSD, having no DSD encoder.&lt;br /&gt;
** &amp;lt;code&amp;gt;--raw&amp;lt;/code&amp;gt; outputs both PCM and DSD as headerless streams (lossless for both; &amp;lt;code&amp;gt;-r&amp;lt;/code&amp;gt; is synonymous; beware that this is not precisely the same as the same letter switch upon encoding).&lt;br /&gt;
&lt;br /&gt;
In addition to decimating DSD for conversion to PCM, there are other options where power users can utilize certain &#039;&#039;lossy&#039;&#039; operations by wvunpack, e.g. normalizing floating-point files (recommended before conversion to integer), dropping correction files from hybrid encodes &amp;amp;ndash; and &amp;lt;code&amp;gt;--skip&amp;lt;/code&amp;gt; and/or &amp;lt;code&amp;gt;--until&amp;lt;/code&amp;gt; to decode only a segment of the file.  See the documentation.  &lt;br /&gt;
Other options include &amp;lt;code&amp;gt;-b&amp;lt;/code&amp;gt; to &amp;quot;blindly&amp;quot; decode until end disregarding errors and corruption (potentially useful to save as much as possible from a destroyed file).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;wvunpack -m&amp;lt;/code&amp;gt; will decode with MD5 sum calculation.  If the .wv file had an MD5 sum stored, it will also be displayed for comparison. However, &amp;lt;code&amp;gt;-m&amp;lt;/code&amp;gt; will not give an error if they don&#039;t match (and if the .wv is lossy without correction file, they won&#039;t: the MD5 stored is that of the original). &lt;br /&gt;
&lt;br /&gt;
wvunpack is also the utility to display information from .wv files even when it does not involve decoding or file output, see the [[#Other file handling]] subsection.  Inter alia, &amp;lt;code&amp;gt; -s&amp;lt;/code&amp;gt; will correctly report the input file &#039;&#039;type&#039;&#039; even if it had a misleading extension (like a .wav extension disguising an AIFF file). &lt;br /&gt;
&lt;br /&gt;
== &amp;lt;span id=&amp;quot;Other file handling&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Other file handling (incomplete) ==&lt;br /&gt;
The WavPack distribution includes wvunpack, wvtag and wvgain.  &lt;br /&gt;
&lt;br /&gt;
=== File information with wvunpack (without decoding to file) === &lt;br /&gt;
wvunpack can get information about WavPack files without outputting any uncompressed audio file:&lt;br /&gt;
* &amp;lt;code&amp;gt;-vv&amp;lt;/code&amp;gt;: Quick verify without decoding (WavPack 5 files only; from 5.5.0 there is also a more verbose &amp;lt;code&amp;gt;-vvv&amp;lt;/code&amp;gt;).  Quick verify seems to be unavailable outside the official wvunpack; other applications which verify will fall back to the next item, &amp;lt;code&amp;gt;-v&amp;lt;/code&amp;gt;. &lt;br /&gt;
* &amp;lt;code&amp;gt;-vm&amp;lt;/code&amp;gt;: Decode and verify, but not write output file.  The &amp;quot;m&amp;quot; will compute the the MD5 sum of the decoded PCM and output it along with the .wv file&#039;s stored MD5, if such was present.  Note that the user has to check manually that they match.  A user who never uses &amp;lt;code&amp;gt;-m&amp;lt;/code&amp;gt; upon encoding can safely drop the &amp;lt;code&amp;gt;-m&amp;lt;/code&amp;gt; from wvunpack too.  Note that absent the &amp;quot;v&amp;quot;, &amp;lt;code&amp;gt;wvunpack -m&amp;lt;/code&amp;gt; will write output file &amp;amp;ndash; and that &amp;lt;code&amp;gt;wvunpack -mvv&amp;lt;/code&amp;gt; is not allowed, as MD5 calculation requires decoding.&lt;br /&gt;
* &amp;lt;code&amp;gt;-s&amp;lt;/code&amp;gt;/&amp;lt;code&amp;gt;-ss&amp;lt;/code&amp;gt;: &amp;lt;code&amp;gt;-s&amp;lt;/code&amp;gt; displays summary of the file, &amp;lt;code&amp;gt;-ss&amp;lt;/code&amp;gt; a long summary including tags. Also there is &amp;lt;code&amp;gt;-f&amp;lt;/code&amp;gt; for parseable output, see documentation.&lt;br /&gt;
* &amp;lt;code&amp;gt;-x&amp;lt;/code&amp;gt; FIELD: Shows tag, e.g. &amp;lt;code&amp;gt; -x comment &amp;lt;/code&amp;gt; shows the &amp;lt;comment&amp;gt; field.  &amp;lt;code&amp;gt;-c&amp;lt;/code&amp;gt; is synonymous to &amp;lt;code&amp;gt; -x cuesheet&amp;lt;/code&amp;gt;.   Also &amp;lt;code&amp;gt; wvtag -x &amp;lt;/code&amp;gt; resp. &amp;lt;code&amp;gt; wvtag -c &amp;lt;/code&amp;gt; do the same thing.  &amp;lt;code&amp;gt;-xx&amp;lt;/code&amp;gt; (same option for wvtag) can output to file (use &amp;lt;code&amp;gt;-n&amp;lt;/code&amp;gt; to avoid decoding) &amp;amp;ndash; see documentation.&lt;br /&gt;
&lt;br /&gt;
=== (To fill in:) Tagging (wvtag) and replaygain management (wvgain) ===&lt;br /&gt;
(... most of these options are available in HA&#039;s fave taggers/player? Except the following, maybe?) &lt;br /&gt;
&amp;lt;code&amp;gt;wvtag --import-id3 wavpackfile.wv&amp;lt;/code&amp;gt; will read and &amp;quot;import&amp;quot; ID3 tag stored in wavpackfile.wv&#039;s non-audio chunks; this will overwrite existing APEv2. Can also be used with &amp;lt;code&amp;gt;--allow-huge-tags&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== File formats, versions, decoding and transcoding support ==&lt;br /&gt;
Even if WavPack has expanded its feature set over the years, it has gone to lengths to maintain compatibility.  Old WavPack 4.x decoders can restore WavPack 5 files to several file types it cannot encode, but not DSD.  &lt;br /&gt;
The TL;DR is that unless one has an ancient portable device or even more ancient files, one will do just fine with the most recent WavPack, and if not then WavPack 4.80 will suffice &amp;amp;ndash; it is still available and can convert ancient WavPack version 3 files.  &lt;br /&gt;
Over the years, one might have encountered WavPack files in (at least) the following variants: &lt;br /&gt;
&lt;br /&gt;
* .wv (current!) is the file extension used for file formats 4 and 5. Can in most cases be decoded by &amp;quot;anything&amp;quot; (even if the source was e.g. AIFF, which old WavPack cannot read but still restore).  Exceptions:&lt;br /&gt;
** WavPack 4 cannot play or restore compressed DSD files (that is new to WavPack 5).  Although FFmpeg&#039;s wavpack implementation is version 4-based, DSD and DSD-in-WavPack can still be &#039;&#039;played&#039;&#039; with an FFmpeg-based player. (But not restored, as FFmpeg has no DSD pipeline, so this is for playback or lossy conversion.)&lt;br /&gt;
** FFmpeg creates non-compliant files for 17 channels and up.  WavPack 5.7.0 can decode and repair (FFmpeg itself cannot!)&lt;br /&gt;
** Mono signals encoded to WavPack 5 might require WavPack version 4.3 (from 2005) or later.  If there are hardware players around using older WavPack and failing to play these files, the easiest might be to recompress using 4.80. &lt;br /&gt;
* .wvc, correction files when hybrid lossless encoding is chosen.  Honoured by official WavPack, but users might note that wvpack/wvunpack should be fed the .wv file and will err out if pointed at merely the .wvc file.&lt;br /&gt;
* .exe (deprecated): WavPack 4 could compress to Windows self-extracting file (like OptimFROG also offers).  This feature is discontinued in WavPack 5.  Newer versions of the decoder can still play and decode them &amp;amp;ndash; indeed, merely renaming them from .exe to .wv will make them play in players that use the official WavPack library (e.g. foobar2000 will, but VLC will not), and they can be tagged.&lt;br /&gt;
** How to recompress with tag transfer: Rename to .wv.  Recompressed files will not be self-extracting.&lt;br /&gt;
* The 3rd party hack &amp;quot;.iso.wv&amp;quot; can also be mentioned here: Some developer took advantage of how the official decoder might look further into a file to find WavPack headers, like it would have to on self-extracting files, and used the .iso format to contain a folder with whatever files including one single WavPack file as playable.  Due to efforts from a few enthusiasts when this hack was introduced, iso.wv is mentioned in several players&#039; official and unofficial feature lists, including Wikipedia pages.  These files are .iso files, but the .wv extension makes the official decoder search in the container and and play the WavPack file it finds &amp;amp;ndash; and so will e.g. foobar2000 which uses official WavPack to play them.  Technical reservations apply, and are beyond the scope of these article.&lt;br /&gt;
** These files can be recompressed like the self-extracting files can &amp;amp;ndash; this will however discard everything else than the WavPack file. &lt;br /&gt;
* .wav (pre-2004).  WavPack 3 used the WAVE file format (WAVE is a &#039;&#039;container format&#039;&#039;, and might for example contain MP3, although such are rare and not well supported).  If a user by by mistake tries to use wv&#039;&#039;un&#039;&#039;pack a WAVE file, the error message &amp;quot;this legacy WavPack file is deprecated, use version 4.80.0 to transcode&amp;quot; might confuse new users; it has its origins in WAVE being the container of ancient WavPack.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Using WavPack with 3rd party tools (FFmpeg &amp;amp; more) =&lt;br /&gt;
&lt;br /&gt;
Some applications may behave slightly surprising.  FFmpeg has its own WavPack implementation and has a few known peculiarities, some which are expected to be fixed and others of unknown status.  As referenced above Android users may need to use the player application&#039;s folder to get WavPack files recognized.  The tl;dr are that as long as it plays, it plays &amp;amp;ndash; but to safeguard against loss of information (e.g. upon conversion), use the official tools.  In particular, hybrid lossless correction files are usually not honoured by 3rd party tools. (A player that does, foobar2000, uses the official WavPack libraries.)&lt;br /&gt;
&lt;br /&gt;
== Splitting WavPack files by cuesheet ==&lt;br /&gt;
WavPack is a format with good support for storing an album as one .wv file with embedded cuesheets, but splitting into tracks by way of cuesheets is not straightforward without external tools. Audio players like [[foobar2000]] which support cue sheets can also split upon conversion.  Other external applications that will do this splitting &amp;amp;ndash; also with more variations of the cue sheet format(s) supported &amp;amp;ndash; include&lt;br /&gt;
* [[CUETools]] can if it is CDDA (44.1 kHz 16-bit stereo), and can re-encode back to WavPack.  &lt;br /&gt;
* refalac can decode &amp;amp; split by cuesheets with the appropriate (official) WavPack library DLL file&amp;lt;ref&amp;gt;[https://github.com/nu774/qaac/wiki/refalac-usage refalac usage] includes how to split by cuesheet&amp;lt;/ref&amp;gt;, outputting WAVE or ALAC-in-MP4.&lt;br /&gt;
Both refalac, CUETools and foobar2000 use the official WavPack tools to for the decoding(/encoding). &lt;br /&gt;
&lt;br /&gt;
== &amp;lt;span id=&amp;quot;FFmpeg&#039;s WavPack implementation&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;FFmpeg&#039;s WavPack implementation: differences and quirks ==&lt;br /&gt;
FFmpeg can encode/decode to/from WavPack &amp;amp;ndash; which may be seen as attractive from how it also can transfer metadata in one go &amp;amp;ndash; but with some limitations and maybe unfamiliar behaviour.  &amp;lt;br/&amp;gt; FFmpeg has had some bugs which may cause audio corruption.  Although some fixes were applied with FFmpeg release 6.1, users might beware that players and converters that employ FFmpeg as a decoding engine may or may not update that quickly. &lt;br /&gt;
* [Still not fixed as of ffmpeg 6.1] Encoding, multi-channel only: Above 16 channels, when the WavPack 5 format is required, FFmpeg will still attempt encoding to WavPack but will produce non-compliant files &amp;amp;ndash; that ffmpeg itself might not be able to read.&amp;lt;br/&amp;gt;Official WavPack 5.7.0 can repair those files, at least the &amp;quot;known&amp;quot; defects. &lt;br /&gt;
* [Fixed in ffmpeg 6.1] Encoding, 8-bit PCM only: FFmpeg (up to 6.0) will produce broken files with static noise, no known way to recover. &lt;br /&gt;
* [Fixed in ffmpeg 6.1] Decoding, any format but rare: A bug FFmpeg&#039;s WavPack decoder, discovered in August 2022&amp;lt;ref&amp;gt;[https://hydrogenaud.io/index.php/topic,122810 HA forum thread on the ffmpeg bug in .wv decoding]&amp;lt;/ref&amp;gt;, will cause dropouts in certain files. The bug is &#039;&#039;&amp;quot;rare&amp;quot;&#039;&#039; in that no such file was discovered in several years.&lt;br /&gt;
&lt;br /&gt;
Further limitations in FFmpeg&#039;s implementation:&lt;br /&gt;
* No md5 sum and no verification &amp;amp;ndash; although it is possible for power users to set up a command-line to compute audio-only checksums of input, decode output to checksum and compare.  FFmpeg will also only write WavPack 4 files, hence no &#039;&#039;fast verification&#039;&#039; of the bitstream.  (FFmpeg can however decode WavPack 5 files, including DSD.)&lt;br /&gt;
* As a general rule &amp;amp;ndash; not specific to .wv &amp;amp;ndash; FFmpeg will &#039;&#039;not&#039;&#039; honour the input bit depth: for example when outputting WAVE/AIFF, it will default to 16 bits regardless of input bit depth.  This default behaviour is not lossless when input bit depth is &amp;gt; 16 bits, and could even induce clipping (with no warning!) if the source is a 32-bit float.  To force lossless decoding of 24-bit/32-bit files (WavPack/FLAC/ALAC/TAK/uncompressed) to WAVE/AIFF, the user must extract the bit depth information and specify the respective 24-bit/32-bit output format using ffmpeg&#039;s command-line syntax. &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;For an extreme example: &amp;lt;code&amp;gt;FFmpeg -i DSDfile.dsf outfile.wv&amp;lt;/code&amp;gt; will not store the DSD &amp;amp;ndash; rather it will convert to floating-point PCM which is then compressed, typically making for several times the file size, with no warning that it is lossy.&amp;lt;br/&amp;gt;&lt;br /&gt;
The tl;dr for users who do not have this at their fingertips, is to use other (= official!) decoders when losslessness is desired.&lt;br /&gt;
* Correction files ignored, leading to lossy playback/conversion of hybrid-encoded WavPack files with when ffmpeg or ffmpeg-based players are used. &lt;br /&gt;
* Loss of information that is not directly audio-related: FFmpeg has no ambition of preserving file structure and (R)IFF chunks, so you will not get the non-audio chunks of the files back when using ffmpeg to encode &amp;amp;ndash; however it &#039;&#039;will&#039;&#039; by default transfer metadata it supports. &lt;br /&gt;
* FFmpeg will sometimes &amp;amp;ndash; depending on input format &amp;amp;ndash; output 32-bit WavPack files and lose the information that the source was indeed only 24. Not all players support 32-bit files, and verifying that the operation (or an attempted downconversion to 24) was lossless is not straightforward as even fewer applications are willing to compare a 32-bit and a 24-bit file for differences. &amp;lt;br/&amp;gt;Also for files with bit depth not being 8/16/24/32 is lost; WAVE/AIFF/CAF can handle &amp;quot;17 bit&amp;quot; files by storing 24 and employing a flag to disregard the 7 LSBs, and ffmpeg will lose this flag even when encoding to / decoding from codecs which support it, WavPack and FLAC. &lt;br /&gt;
&lt;br /&gt;
FFmpeg&#039;s compression settings can be set with &amp;lt;code&amp;gt;-compression_level&amp;lt;/code&amp;gt; 0 to 8, which work different than the reference implementation. Like for ALAC compression, FFmpeg has chosen a default that prioritizes speed over size &amp;lt;ref&amp;gt;[https://hydrogenaud.io/index.php?topic=118278.msg976262#msg976262  HA forum comment comparing the compression presets]&amp;lt;/ref&amp;gt; &amp;amp;ndash; while on the other end, FFmpeg&#039;s WavPack encoder offers settings even slower than &amp;lt;code&amp;gt;-hhx6&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Software support (&amp;amp; hardware) =&lt;br /&gt;
With Android support and playback through ffmpeg, it might no longer be feasible to maintain a list of applications that can play WavPack files, and the following is  most certainly incomplete &amp;amp;ndash; as is the list at https://www.wavpack.com/#Software .  Also, the distinction between &amp;quot;hardware&amp;quot; and &amp;quot;software&amp;quot; support is not clear in the age of smart devices running Android, and the list at https://www.wavpack.com/#Hardware does not cover those.&lt;br /&gt;
&lt;br /&gt;
== Players ==&lt;br /&gt;
* [[foobar2000]] advanced freeware audio player plays/decodes WavPack out of the box on both Windows, MacOS, Android and iOS (Windows: supports encoding if wavpack.exe is installed, and redistributes the official wavpack.exe through its &amp;quot;Free encoder pack&amp;quot; addon for encoding.  With ReplayGain &amp;amp; cuesheets support.) Also [[Boom]] from the same author.&lt;br /&gt;
* [http://www.videolan.org/vlc/download-windows.html VLC] multiplatform media player&lt;br /&gt;
* [http://www.vuplayer.com/vuplayer.php VUPlayer] (official plugin, supports encoding)&lt;br /&gt;
* NullSoft [[Winamp]] (plugin with ReplayGain &amp;amp; Media Library support) and Winamp-compatible players&lt;br /&gt;
* [[Windows Media Player]] and other directshow-based players (MPC, TCMP, RadLight) (with [http://www.hydrogenaudio.org/forums/index.php?showtopic=103693 CoreWavPack] directshow filter)&lt;br /&gt;
* [http://cogosx.sourceforge.net/ Cog] Audio player for MacOS X.&lt;br /&gt;
* [https://wiki.jriver.com/index.php/WavPack JRiver Media Center]&lt;br /&gt;
* [[XMMS]] (with Kuniklo&#039;s plugin)&lt;br /&gt;
* [http://fondriest.frederic.free.fr/realisations/lamip/ LAMIP] (official plugin)&lt;br /&gt;
* [http://mpxplay.sourceforge.net/ MPXplay] for DOS!&lt;br /&gt;
* [http://aqualung.sourceforge.net/ Aqualung] for GNU/Linux&lt;br /&gt;
* Cowon [http://www.jetaudio.com/ JetAudio Player] and CD ripper&lt;br /&gt;
* [http://www.un4seen.com/ XMPlay] Plugin required (WavPack input plugin) and (bass library) to play &#039;wv&#039; files&lt;br /&gt;
&lt;br /&gt;
== Converters, CD rippers etc. ==&lt;br /&gt;
For conversion (of &#039;&#039;audio&#039;&#039; only), one can use several of the &#039;&#039;players&#039;&#039; listed above, like Cowon JetAudio, foobar2000 and VUplayer &amp;amp;ndash; although some with limitations in the audio pipeline, like for example DSD handling. &amp;lt;br/&amp;gt;&lt;br /&gt;
More software that support conversion to or from WavPack include:&lt;br /&gt;
* Custom [http://www.wavpack.com/WavPack_frontend.zip WavPack frontend] (by Speekenbrink) for Windows.&lt;br /&gt;
* [http://www.dbpoweramp.com/ dBpowerAMP] Music Converter CD ripper/writer / Audio Player / (official addon)&lt;br /&gt;
* [[fre:ac]] multi-platform CD ripper/converter&lt;br /&gt;
* [[Exact Audio Copy]] CD Ripper (guide at this wiki&amp;lt;ref&amp;gt;[[EAC_and_WavPack | HA Wiki: Configuring EAC and WavPack]]&amp;lt;/ref&amp;gt;)&lt;br /&gt;
* [http://www.nero.com/eng/ Nero]&lt;br /&gt;
* [http://cdexos.sourceforge.net CDex] CD ripper&lt;br /&gt;
* [https://download.cnet.com/Ease-Audio-Converter/3000-2140_4-10390634.html Ease Audio Converter] (Discontinued; shareware / NOT Freeware)&lt;br /&gt;
* [http://media.io/ Media.io Online Audio Converter]&lt;br /&gt;
* [http://www.logipole.com/index.html Konvertor]&lt;br /&gt;
* [http://cuetools.net CUETools] converter and AccurateRip/CTDB checker&lt;br /&gt;
* [https://github.com/nu774/qaac refalac] (user must copy the wavpackdll.dll file to the appropriate directory)&lt;br /&gt;
&lt;br /&gt;
== Taggers and audio info utilities ==&lt;br /&gt;
* [http://www.mp3tag.de/en/index.html Mp3tag] Universal Tag Editor&lt;br /&gt;
* [https://picard.musicbrainz.org/ MusicBrainz Picard] Tagger with audio identification &lt;br /&gt;
* [http://www.jtclipper.eu/thegodfather/ The GodFather] Tagger / Music manager&lt;br /&gt;
* [[Tag.exe|Case&#039;s Tag]] command line tagger&lt;br /&gt;
* [https://mediaarea.net/ MediaInfo]&lt;br /&gt;
* [http://mr-questionman.en.uptodown.com/windows Mr. QuestionMan]&lt;br /&gt;
&lt;br /&gt;
== Audio editors and other tools ==&lt;br /&gt;
* [[Audacity]] has WavPack support (using official libraries) from version 3.2.0 (2022)&amp;lt;ref&amp;gt;[https://github.com/audacity/audacity/releases/tag/Audacity-3.2.0 Audacity 3.2.0 release notes]&amp;lt;/ref&amp;gt;.&lt;br /&gt;
* [[Adobe Audition]] and Cool Edit (filter with 32-bit floats &amp;amp; extra info save support)&lt;br /&gt;
* [https://sourceforge.net/projects/sox/ SoX] can read and write WavPack files.  (Write: limited to &amp;lt;code&amp;gt;-hh&amp;lt;/code&amp;gt; compression, not file format version 5.)&lt;br /&gt;
* [http://www.bunkus.org/videotools/mkvtoolnix/ mkvtoolnix] &amp;amp;ndash; tool to multiplex streams in Matroska container files.&lt;br /&gt;
&#039;&#039;It&#039;s worth mentioning the [[Matroska]] guys decided to concentrate on WavPack as the lossless compressor of choice for their container. Quite an honor... :-)&#039;&#039;&lt;br /&gt;
* [https://support.pkware.com/display/PKSZLU/PKZIP+Toolkit+for+Windows PKWare]&#039;s .zip format compresses audio by WavPack since version 6.3.2 (2007).  Beware that there is no expectation that other decompression software handles these zip files; even if PKWare co-designed the format and PKZip was the original .zip implementation, their subsequent compression methods are outside the ISO/IEC standardized zip format specification. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Links =&lt;br /&gt;
* [http://www.wavpack.com/ Official website]&lt;br /&gt;
* [https://github.com/dbry/WavPack Github repository]&lt;br /&gt;
* [http://www.rarewares.org/lossless.html Unofficial compiles] at RareWares. As of 2023: 5.50 for Windows and 4.32 multiplatform&lt;br /&gt;
* [https://en.wikipedia.org/wiki/WavPack WavPack at Wikipedia]&lt;br /&gt;
* [https://wiki.multimedia.cx/index.php/WavPack WavPack at Multimediawiki] (not updated with version 5)&lt;br /&gt;
* [[Lossless_comparison| HA Wiki&#039;s Lossless Codec Comparison]] originally by [[User:Rjamorim|Rjamorim]] &lt;br /&gt;
* An older (2005) performance comparison of lossless audio compressors {{webarchive|https://web.archive.org/web/20151027213336/http://members.home.nl/w.speek/comparison.htm|2015-10-27}} by Speek, using WavPack version 4.0 &lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{navbox audio codecs}}&lt;br /&gt;
[[Category:Codecs]]&lt;br /&gt;
[[Category:Lossless]]&lt;/div&gt;</summary>
		<author><name>Porcuswiki</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=WavPack&amp;diff=37785</id>
		<title>WavPack</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=WavPack&amp;diff=37785"/>
		<updated>2024-03-30T10:21:43Z</updated>

		<summary type="html">&lt;p&gt;Porcuswiki: Sections 1.3 and 2.5, and some other fixes&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Software Infobox&lt;br /&gt;
| name = WavPack&lt;br /&gt;
| logo = [[Image:Wavpacklogo.png|280px|Official WavPack logo]]&lt;br /&gt;
| screenshot =&lt;br /&gt;
| caption = Hybrid Lossless Audio Compression&lt;br /&gt;
| maintainer = David Bryant&lt;br /&gt;
| stable_release = 5.7.0 (2024-02-29)&lt;br /&gt;
| operating_system = Windows, MacOSX, Linux/BSD/Unix, ...&lt;br /&gt;
| use = Encoder/Decoder&lt;br /&gt;
| license = BSD license&lt;br /&gt;
| website = http://www.wavpack.com/&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;WavPack&#039;&#039;&#039; (pronounced &amp;quot;wave-pack&amp;quot;) is a [[lossless]] audio [[codec]], also offering optionally a [[hybrid codec| hybrid lossless/lossy]] mode.  It is distributed as a free open-source encoder/decoder with a library and a large number of tools, including a Windows GUI and a range of plugins for both audio players and other software.  Third party implementations are available, including ffmpeg.  WavPack supports and/or can be played back on a large number of platforms/OSes including mobile (Android, iOS), portable ([[Rockbox]]) and even web apps. &lt;br /&gt;
&lt;br /&gt;
WavPack is arguably the most feature-rich lossless compressor, supporting a unique range of audio signals including [https://en.wikipedia.org/wiki/Direct_Stream_Digital Direct-Stream Digital].  Everyday use is supported by a wide range of players and taggers, but &#039;&#039;conversion&#039;&#039; is likely safest done with applications that invoke the official tools (rather than e.g. ffmpeg&#039;s implementation) &amp;amp;ndash; and special features might require the user to apply the WavPack executable directly, for example with drag+drop, see the [[#Using WavPack]] section below.&lt;br /&gt;
&lt;br /&gt;
Performance-wise, WavPack defaults to a fast codec &amp;amp;ndash; less CPU intensive than [[ALAC]], but typically not as fast as [[FLAC]] or [[TAK]], especially in decoding CPU usage.&amp;lt;ref&amp;gt;[http://www.audiograaf.nl/losslesstest Martijn van Beurden: &amp;lt;em&amp;gt;Lossless audio codec comparison archive&amp;lt;/em&amp;gt;], all comparisons in this wiki article consistent with CDDA results up to revision 6, 2023, using WavPack 5.6.0.&amp;lt;/ref&amp;gt; In the age of low-power portable Rockbox-equipped players, WavPack could be seen as a reasonable middle ground between FLAC&#039;s low CPU footprint and long battery life, and the smaller files but more CPU-intensive [[Monkey&#039;s Audio]]&amp;lt;ref&amp;gt;[https://www.rockbox.org/wiki/CodecPerformanceComparison CodecPerformanceComparison] at the Rockbox wiki&amp;lt;/ref&amp;gt; &amp;amp;ndash; invoking WavPacks high mode and extra compression that would compress to smaller sizes than FLAC.&lt;br /&gt;
&lt;br /&gt;
WavPack has inspired other codecs&amp;lt;ref&amp;gt;Monkey&#039;s Audio historical FAQ {{webarchive|http://web.archive.org/web/20001017210206/http://www.monkeysaudio.com/faq.html|2000-10-17}}&amp;lt;/ref&amp;gt; and their features&amp;lt;ref&amp;gt;[http://losslessaudio.org/DualStream.php OptimFROG&#039;s &amp;quot;DualStream&amp;quot;] hybrid encoding &amp;amp;ndash; apparently WavPack coined this phrase&amp;lt;/ref&amp;gt;.  For more on WavPack, including on its history and technology, see the [https://en.wikipedia.org/wiki/WavPack Wikipedia entry].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Features =&lt;br /&gt;
For an end-user considering WavPack as audio format, its feature-richness might be the big selling point.  WavPack supports pretty much all the more common features noted at [[Lossless_comparison| HA Wiki&#039;s Lossless Codec Comparison]] as in the following first list, but several users might consider the more unique features listed under the subsequent headline.&lt;br /&gt;
&lt;br /&gt;
* Seekable and streaming playback.&lt;br /&gt;
* Error handling: upon playback, it will detect and report corrupted frames, mute to protect against static/noise output, and continue playback.  Since version 5, WavPack can also check for corruption without decoding, hence quicker than any decoding format.  Optional MD5 audio checksum can also be added upon encoding for file fingerprinting. &lt;br /&gt;
* High-resolution audio support (see next headline).&lt;br /&gt;
* Multichannel support: currently capped at 256 channels, supports [https://docs.microsoft.com/en-us/windows/win32/api/mmreg/ns-mmreg-waveformatextensible WAVEFORMATEXTENSIBLE] channel masks.&lt;br /&gt;
* Piping support for encoding, and support for RAW PCM input/output.&lt;br /&gt;
* Non-audio chunks (RIFF and similar) stored; by default, WavPack will not only encode/decode the audio losslessly, but store the non-audio chunks and restore them into a file bit-identical to the original.&lt;br /&gt;
* Tagging: APEv2. (ID3v1 is possible, but not advisable.) &lt;br /&gt;
* Cuesheet support. In practice, some applications handle &#039;&#039;embedded&#039;&#039; cuesheets better in WavPack than in some other formats.&lt;br /&gt;
* Unicode support.&lt;br /&gt;
* Can be used in the [[Matroska]] container. &lt;br /&gt;
* Windows GUI available.&lt;br /&gt;
* Multithreading (from version 5.7.0).&lt;br /&gt;
&lt;br /&gt;
WavPack also handles bit depths not divisible by 8, e.g. 20-bit audio (found on some DVDs).  &lt;br /&gt;
&lt;br /&gt;
== Special/unique features ==&lt;br /&gt;
Most of these features are shared with only a few if any notable codecs, or extend to signal types or file types others do not support (comparisons given).&lt;br /&gt;
* DSD support: can losslessly compress Philips DSDIFF and Sony DSF files (see &amp;quot;Using WavPack&amp;quot; below; no other end-user codec compresses DSD.) ID3v2.3 tags can be imported.  wvunpack can select between DSDIFF and DSF out (i.e. &#039;convert between the two&#039;).  wvunpack can also convert DSD to PCM, but not the other way around. (Lossy, as conversion between PCM and DSD necessarily is.)&lt;br /&gt;
* High-resolution support for bit depth 1-bit to 32-bit integer and sampling rates up to 2 GiHz in integer steps. (Officially, 1 GHz is supported &amp;amp;ndash; it is &#039;&#039;gigaherz&#039;&#039;, not MHz, the upper limit being in the UHF radio frequency band.  Monkey&#039;s Audio, OptimFROG and MPEG-4 ALS support the entire WAVE range up to 4 GiHz.) Can also compress files of &#039;&#039;non-integer sampling rates&#039;&#039; (AIFF/AIFC/CAF, as the WAVE format cannot contain such signals).   &lt;br /&gt;
* 32-bit &#039;&#039;floating-point&#039;&#039; supported &amp;amp;ndash; also including CoolEdit/Adobe Audition&#039;s own float format (use the &amp;lt;code&amp;gt;-a&amp;lt;/code&amp;gt; option only if the .wav was generated by CoolEdit/Audition).  (This line like OptimFROG.)&lt;br /&gt;
* As much as 256 channels currently supported (from version 5.5.0 on; [https://github.com/dbry/WavPack/issues/117 can be extended to the thousands] &amp;amp;ndash; more than any codec except MPEG-4 ALS (which is capped at 66536).) &lt;br /&gt;
* Hybrid lossy/lossless mode (can also be used as lossy &amp;amp;ndash; OptimFROG also has such a mode.)&lt;br /&gt;
* For LPCM it can read and output to WAVE (including the RF64 format extension used for large files and from 5.70 also BW64), to Sony&#039;s Wave64, AIFF/AIFC (both endiannesses) and CAF (ditto) &amp;amp;ndash; with full restore of also non-audio parts to bit-by-bit the original file in the original format.  (Monkey&#039;s/OptimFROG/TAK do the same to the input formats they support.)  Also WavPack can handle too large noncompliant &amp;quot;WAVE&amp;quot; files (by default, those will be restored to bit-identical the same as the flawed input file &amp;amp;ndash; optionally one can force output to compliant RF64/W64 files). &lt;br /&gt;
* Recompression: Can recompress .wv files in place, with tag transfer.  (Like FLAC on .flac files.)&lt;br /&gt;
* Drag and drop support: Dropping a file on to wavpack.exe/wvunpack.exe will encode/decode it to source directory. (Like FLAC.)  From 5.5.0, one can also apply options to drag and drop by renaming the executable, and drop several files.&lt;br /&gt;
&lt;br /&gt;
Like FLAC/TAK/OptimFROG, WavPack employs a &amp;quot;wasted bits&amp;quot; strategy to handle cases of &#039;&#039;n &amp;quot;actual bits of signal&amp;quot; zero-padded and stored as N bits&#039;&#039;; such signals can be found in certain DVDs, but also as &amp;quot;fake high resolution&amp;quot; where a 16-bit signal is merely put in a 24-bit file to look impressive.  WavPack handles more &amp;quot;fake high resolution&amp;quot; cases than just zero-padding.  5.7.0 introduces an further improvement to capture similar patterns in 32-bit integer files generated by &amp;quot;naively converting from 32-bit float&amp;quot;.  That particular mode is disabled by default and is arguably best left to power users (invoking it with &amp;lt;code&amp;gt;--optimize-int32&amp;lt;/code&amp;gt;) as only 5.7.0 can decode as lossless; to earlier versions and players they will be presented as lossy without correction file (and will indeed be lossy with differences around -138 dB down). &lt;br /&gt;
&lt;br /&gt;
== Limitations ==&lt;br /&gt;
The following bullet item list is hardly of interest except for special purposes; WavPack supports nearly every input format that any competing codec handles. One exception is the legacy AU/SND, apparently supported only by Monkey&#039;s Audio. &lt;br /&gt;
* DSD: Will reject DST-compressed DSDIFF (which are already compressed heavier than WavPack does) and Wideband Single-bit Data files (apparently, the Tascam and Korg devices which can produce these, can also export to other DSD formats).&amp;lt;br/&amp;gt; Also, DSD files cannot be encoded as hybrid with correction files.&lt;br /&gt;
* 64-bit float is not supported.  (Apparently no other lossless audio compressor can support it either.)&lt;br /&gt;
* wvunpack can &#039;&#039;force output&#039;&#039; to a different format than input, and for AIFF/CAF also select endianness, but it cannot force output to different versions of big-endian AIFF (it will avoid AIFC as long as the signal can be fit in the original AIFF container) nor select between WAVE_FORMAT_PCM and WAVE_FORMAT_EXTENSIBLE.  Few other formats do allow for such output selection; reference FLAC can from 1.4.3 offer some wider choices than wvunpack can. &lt;br /&gt;
* Although all non-audio will be stored, &amp;lt;code&amp;gt;--import-id3&amp;lt;/code&amp;gt; can not &#039;&#039;import&#039;&#039; every type of ID3 tag to APEv2. (5.70 imports more tag types than previous versions, yet some users might want use use e.g. [[Mp3tag]] to copy over more tags from the original.) Also, unless &amp;lt;code&amp;gt;--allow-huge-tags&amp;lt;/code&amp;gt; is specified, size is limited to 1 MB; there is a possibility that larger tagsets might cause compatibility issues, although such are not known.&lt;br /&gt;
* Some file formats have features stored in file headers (like loop points, or for AIFF possibly non-integer sampling rates) which will not be &#039;&#039;visible&#039;&#039;  to the end-user when trying to play back the .wv file in a typical player. They are nevertheless available to certain audio editing software plugins, and will in any case be restored upon decoding.&lt;br /&gt;
* Some features are unsupported by several applications: in particular, support for correction files is only found in a few players. &lt;br /&gt;
* The most significant third-party implementation (ffmpeg as of version 6.1) has bugs waiting to be fixed. &lt;br /&gt;
&lt;br /&gt;
As of 5.5.0 and above, MacOS versions must be built with e.g. HomeBrew, and Windows XP is only supported through a special executable (available in version 5.6.0 at wavpack.com, upgrade from previous unofficial build posted at HA is strongly advised). &lt;br /&gt;
WavPack version 5 discontinues some features, but version 4.80 is still available to convert any version 3.x files that might still exist (WavPack 4 was released in 2004). &lt;br /&gt;
&lt;br /&gt;
WavPack has traditionally had less hardware support than FLAC ([[Rockbox]] having been the most notable platform, others listed at https://www.wavpack.com/index.html#Hardware ), but with WavPack playback through Android and iOS players, the distinction between &amp;quot;hardware&amp;quot; and &amp;quot;software&amp;quot; is arguably blurred. The Android OS does not &#039;&#039;natively&#039;&#039; support other lossless audio formats than WAVE and FLAC, so there have been issues getting certain Android solutions to recognize other media files including WavPack.&amp;lt;ref&amp;gt;[https://hydrogenaud.io/index.php/topic,122768 HA thread with link to Android bug report by the Monkey&#039;s Audio author]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Information for users of other codecs (and older WavPack) == &lt;br /&gt;
Parts of this section will be less relevant to users who primarily decode and convert through player software, rather than directly invoking the executables.  WavPack is the only &amp;quot;major&amp;quot; lossless encoder with separate executables for encoding (&amp;lt;code&amp;gt;wavpack&amp;lt;/code&amp;gt;) and decoding/info (&amp;lt;code&amp;gt;wvunpack&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
Even for features that are comparable between codecs, they may behave different &amp;amp;ndash; or default to different behaviour &amp;amp;ndash; out of the purpose they were designed to address, their development, or other design choices. &lt;br /&gt;
&lt;br /&gt;
* WavPack is designed as a &#039;&#039;file compressor&#039;&#039; for audio files &amp;amp;ndash; this like Monkey&#039;s, TAK and OptimFROG, but in contrast to FLAC and ALAC which are &#039;&#039;audio compressors&#039;&#039;. The difference is in the ambition to store all non-audio information (and in the correct order).  Using reference FLAC one might &amp;quot;opt in&amp;quot; on non-audio parts by giving options; using WavPack one can &amp;quot;opt out&amp;quot; and discard this information.  &lt;br /&gt;
** &#039;&#039;Note: This difference is irrelevant for CD ripping.&#039;&#039; Contrary to a common misconception, CD audio is &#039;&#039;not&#039;&#039; stored as WAVE &amp;amp;ndash; nor in any sort of file.  Thus, using a file compressor gives no more &amp;quot;true&amp;quot; copy of a CD.  (WavPack&#039;s support for embedded cuesheets might &amp;amp;ndash; depending on player application &amp;amp;ndash; give a better user experience for those who prefer to store one file per CD, but that is not due to how CDs work.)&lt;br /&gt;
* MD5 is opt-in (the &amp;lt;code&amp;gt;-m&amp;lt;/code&amp;gt; switch) &amp;amp;ndash; even if it is calculated for verification purposes. TAK and OptimFROG also requires the user to opt-in on MD5, but FLAC, ALAC and Monkey&#039;s work different: FLAC includes MD5 (though some encoders make exceptions under some circumstance), ALAC has nothing such &amp;amp;ndash; and Monkey&#039;s MD5s are not comparable with others, as it hashes the encoded bitstream.  &lt;br /&gt;
** Also, WavPack computes MD5 using keeps source&#039;s endianness (endianness is like the distinction between &amp;quot;4th of July&amp;quot; and &amp;quot;July 4th&amp;quot;), and so MD5s may differ between WAVE source and AIFF/CAF source.  &lt;br /&gt;
* Like Monkey&#039;s/TAK/OptimFROG &amp;amp;ndash; but unlike FLAC and ALAC &amp;amp;ndash; tags are at the end of the file.  Consequences for users are that retagging will not trigger full file rewrite, but sometimes applications may spend longer time displaying art and viewing tags.&lt;br /&gt;
* Users of &amp;quot;older WavPack&amp;quot; might take note that version 5 discontinues some features, like &amp;lt;code&amp;gt;-p&amp;lt;/code&amp;gt;, and also the &amp;lt;code&amp;gt;-e&amp;lt;/code&amp;gt; for self-extracting files.  There are no self-extracting WavPack 5 files, but the old ones can converted &amp;amp;ndash; with tags &amp;amp;ndash; by renaming them from &amp;lt;code&amp;gt;.exe&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;.wv&amp;lt;/code&amp;gt;.  Older .wv files work as before, but support for the ancient WavPack 3 files in .wav container is dropped with version 5; they can be transcoded with the still-available version 4.80.0.&lt;br /&gt;
** See the [[#File formats, versions, decoding and transcoding support]] section for more details.&lt;br /&gt;
&lt;br /&gt;
=== Performance &amp;amp;ndash; file size, CPU load === &lt;br /&gt;
Rewind twenty years, to 2004 hardware costs, compression ratios did matter much more &amp;amp;ndash; also, several formats would be too heavy to even &#039;&#039;play&#039;&#039; on portable devices, and the official WavPack site would warn against the &amp;lt;code&amp;gt;-hh&amp;lt;/code&amp;gt; mode for that use even if it were not heavier than the fastest Monkey&#039;s Audio mode. &lt;br /&gt;
Fast forward to now, enthusiasts will still compare performance even if ordinary users may take note that impact on cost is often negligible. Different considerations may apply when a drive is near full.  &lt;br /&gt;
The HA wiki&#039;s [[lossless comparison]] article compares speed and compression ratio on CDDA on the respective codecs&#039; &#039;&#039;default&#039;&#039; setting, taken from van Beurden&#039;s comparison studies.  The test corpus is chosen to be a &amp;quot;wide&amp;quot; selection, and most music collections are biased in one direction or another genre-wise; users who are concerned about compression might look up the individual sources in the study and/or make a test sample from their own collection.  By and large, the following observations can be made:&lt;br /&gt;
* WavPack defaults to a fast codec, between FLAC and Monkey&#039;s; is not so heavy on decoding CPU as to cause actual practical problems, although it officially recommends against &amp;lt;code&amp;gt;-hh&amp;lt;/code&amp;gt; &amp;quot;for use on vintage portable devices&amp;quot; &amp;amp;ndash; it should be fine on anything modern.  Even &amp;lt;code&amp;gt;-hh&amp;lt;/code&amp;gt; seems to decode lighter than Monkey&#039;s fastest mode. &lt;br /&gt;
** The &amp;quot;between FLAC Monkey&#039;s&amp;quot; hold for &amp;quot;default encoding and all decoding&amp;quot;.  Like most modern codecs, WavPack can be set to exert more encoding effort without affecting decoding load: the &amp;lt;code&amp;gt;-x&amp;lt;/code&amp;gt; switch. Thus, decoding for e.g. ReplayGain tagging will be slower than e.g. FLAC in all modes, but faster than Monkey&#039;s &amp;amp;ndash; and recompressing with a slow &amp;lt;code&amp;gt;-x&amp;lt;/code&amp;gt; setting (which can be done in the background) will not make the files any heavier to process later.   (Indeed, &amp;lt;code&amp;gt;-x&amp;lt;/code&amp;gt; sometimes makes decoding lighter, although unlikely to be noticed except by measuring it.)&lt;br /&gt;
** Playback on Android might be less battery efficient than FLAC, which can take advantage of the OS&#039; native support.  The difference is likely small for power-hungry players (like VLC).&lt;br /&gt;
** On the other hand, &#039;&#039;integrity verification&#039;&#039; can be done lightening-fast, without decoding (presuming WavPack 5 file format and WavPack 5 decoder). &lt;br /&gt;
* Compressing CDDA: WavPack can compress to slightly smaller files than (reference) FLAC; the difference has diminished with the most recent FLAC releases, but &amp;quot;in return&amp;quot;, modern CPU speeds might have made the more expensive WavPack settings more tempting, especially when one can re-encode in the background.&lt;br /&gt;
* Compressing high resolution signals and multi-channel: The &amp;quot;extra&amp;quot; resolution might be a mixed bag of upsampling artefacts, tape hiss, sometimes geniune overtones (and for bat enthusiasts, actual interesting audio).  There are different kinds of samples one might call &amp;quot;fake high resolution&amp;quot;, and different properties of such &amp;amp;ndash; upsampling or bit depth &amp;amp;ndash; are handled different by the codecs.  WavPack is known to handle some properties exceptionally well (&amp;quot;wasted bits&amp;quot; are exploited also by FLAC and TAK, but WavPack and OptimFROG are capable of detecting more &amp;quot;wasteful&amp;quot; patterns; Monkey&#039;s and ALAC cannot exploit wasted bits at all) &amp;amp;ndash; and others lesser.  Several codecs benefit from spending more effort on high resolution signals, and WavPack users might consider to (re-) compress high resolution and multi-channel with as slow setting as &amp;lt;code&amp;gt;-hx4&amp;lt;/code&amp;gt;, presuming it can be done as background recompression where time is not much of an object; decoding load is largely unaffected (sometimes slightly improved) by the high &amp;lt;code&amp;gt;-x&amp;lt;/code&amp;gt;. &lt;br /&gt;
** For 32-bit float, there is not much competition, and WavPack might be the natural choice for compatibility; it does outcompress Monkey&#039;s recently-added float mode.  Those files are not very common in the wild, and users with a sizeable collection of 32-bit files for audio processing will likely choose codec for compatibility with their DAW software.  WavPack 5.7.0&#039;s special setting for 32-bit integer converted from 32-bit float might be an option in such situations.  &lt;br /&gt;
* Users who compare nearly tied compression levels between codecs, should take into account how metadata storage affect total file size.  WavPack defaults to storing the source&#039;s metadata, which may include big album art; on the other hand, FLAC defaults to leaving some kilobytes padding in the file.  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Using WavPack =&lt;br /&gt;
WavPack files can be played back in supported players (see below), and several of these can also encode to WavPack, invoking the official tools.  However, there are situations where the appropriate WavPack features are accessible only through the WavPack executables directly.  For example, you cannot expect non-audio data (for full file restore) to be preserved when encoding/decoding through &#039;&#039;players&#039;&#039;, as they usually pass on only the audio.  Also, the input format might exceed the player&#039;s internal decoding; e.g. trying to convert 32-bit integer or DSD with foobar2000 will yield a warning that it will not be lossless (also, converting DSD to PCM leads to files many times the size, being inherently different formats).&lt;br /&gt;
&lt;br /&gt;
== Encoding/decoding by drag and drop (Windows) == &lt;br /&gt;
The simplest encoding/decoding might be &#039;&#039;dragging and dropping&#039;&#039; a (supported) file to wavpack.exe (/wvunpack.exe).  Then the file will be encoded/decoded with the default options.  Dropping a .wv file onto wavpack.exe will recompress it, prompting before overwrite (again, using default settings &amp;amp;ndash; possibly a bad deal if it was encoded with high &amp;lt;code&amp;gt;-x&amp;lt;/code&amp;gt; switches).  Drag and drop also works on a shortcut to the executable. It is not possible to drop a folder, but from version 5.5.0, there is a way to drag and drop &#039;&#039;several&#039;&#039; files.&lt;br /&gt;
&lt;br /&gt;
From version 5.5.0, drag and drop supports &#039;&#039;options&#039;&#039; by renaming the wavpack/wvunpack executable.  The user can rename a copy of the executable according to preferred settings, which will be applied to the process upon drag and drop.  The example given by the developer in [https://hydrogenaud.io/index.php/topic,122626.msg1012159.html#msg1012159 in this HA forum post]&amp;lt;ref&amp;gt;[https://hydrogenaud.io/index.php/topic,122626.msg1012159.html#msg1012159 HA forum post on how to rename executable for drag and drop]&amp;lt;/ref&amp;gt; uses encoding options that many WavPack users will recommend (better compression than default, verification and MD5 fingerprinting), and novice users can choose to copy that filename for the executable.  For fine-tuning performance or for more specialized tasks, more options are described below. &lt;br /&gt;
&lt;br /&gt;
== Basic command line encoding/decoding [[Windows_command_line_tips|(for Windows: command-line hints here)]] == &lt;br /&gt;
The basic &#039;&#039;encoding&#039;&#039; usage is &amp;lt;code&amp;gt;wavpack filename&amp;lt;/code&amp;gt; (which creates &amp;lt;code&amp;gt;filename.wv&amp;lt;/code&amp;gt;) &amp;amp;ndash; this is what drag and drop accomplishes.  Wildcards are supported, e.g. &amp;lt;code&amp;gt;wavpack *.wav&amp;lt;/code&amp;gt; (but not simply &amp;lt;code&amp;gt;wavpack *&amp;lt;/code&amp;gt;).  For a &#039;&#039;single&#039;&#039; input file, one can specify output like e.g. &amp;lt;code&amp;gt;wavpack infilename.wav -o outfilename.wv&amp;lt;/code&amp;gt; (on Windows, the &amp;lt;code&amp;gt;-o&amp;lt;/code&amp;gt; can be omitted).  Input file extension &amp;quot;.wav&amp;quot; can be dropped, and output &amp;quot;.wv&amp;quot; extension as well &amp;amp;ndash; but &amp;lt;code&amp;gt;wavpack foo&amp;lt;/code&amp;gt; will only find foo.wav, not e.g. foo.w64 &amp;amp;ndash; and not a &amp;quot;foo&amp;quot; with no file extension.  (Power users may take note that for &amp;lt;code&amp;gt;--raw-pcm&amp;lt;/code&amp;gt; input, the encoder will not look for foo.wav but rather for foo.raw.)&lt;br /&gt;
&lt;br /&gt;
The basic &#039;&#039;decoding&#039;&#039; usage &amp;amp;ndash; as will be accomplished by drag and drop &amp;amp;ndash; is &amp;lt;code&amp;gt;wvunpack filename.wv&amp;lt;/code&amp;gt;.  By default, wvunpack will restore the exact same file (metadata and file structure and all; it will know the original file name extension but not the rest of the file name &amp;amp;ndash; timestamp can be stored by using &amp;lt;code&amp;gt;-t&amp;lt;/code&amp;gt;.) If only audio was encoded (conversion from a &#039;&#039;player&#039;&#039; would usually work this way), output defaults to filename.wav.  Output filename can be specified, and just like for the wavpack encoder, file extensions can be dropped; e.g., &amp;lt;code&amp;gt;wvunpack foo -o bar&amp;lt;/code&amp;gt; (or on Windows, dropping the &amp;lt;code&amp;gt;-o&amp;lt;/code&amp;gt;) will decode foo.wv to bar.&amp;lt;original file&#039;s extension&amp;gt;.  This is arguably advisable: wvunpack will not &#039;&#039;override output format&#039;&#039; by setting file extension.  E.g. if the input was a CAF file, &amp;lt;code&amp;gt;wvunpack foo -o bar.w64&amp;lt;/code&amp;gt; is still a CAF file, and the user has only managed to mislead themselves.  To force output format, see the [[#Decoding options]] paragraph.  &lt;br /&gt;
&lt;br /&gt;
=== Several input files ===&lt;br /&gt;
To give several filenames as input to wavpack/wvunpack, other than through wildcards, there are (for historical reasons) slight differences between the Windows version and the *n*xes: &lt;br /&gt;
Windows (requires WavPack 5.5.0): use the &amp;lt;code&amp;gt;--drop&amp;lt;/code&amp;gt; option as in the above example given by the developer.  It is intended for drag and drop (hence the name of the option) and will write the output to same directory as source.  However it can also be used with command-line:  &amp;lt;code&amp;gt;wavpack --drop firstfile secondfile&amp;lt;/code&amp;gt; will compress firstfile.wav to firstfile.wv and secondfile.wav to secondfile.wv.  Note that without the &amp;lt;code&amp;gt;--drop&amp;lt;/code&amp;gt;, the command &amp;lt;code&amp;gt;wavpack firstfile secondfile&amp;lt;/code&amp;gt; will compress firstfile.wav to secondfile.wv, as &amp;lt;code&amp;gt;-o&amp;lt;/code&amp;gt; is optional on Windows &amp;amp;ndash; indeed that is why the &amp;lt;code&amp;gt;--drop&amp;lt;/code&amp;gt; had to be introduced.  An arbitrary number of files can be processed, e.g. &amp;lt;code&amp;gt;wvunpack --drop firstfile secondfile thirdfile fourthfile fifthfile&amp;lt;/code&amp;gt; will decode firstfile.wv, ..., fifthfile.wv.&lt;br /&gt;
For *n*x, one can omit the &amp;lt;code&amp;gt;--drop&amp;lt;/code&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
== Applying options ==&lt;br /&gt;
For tuning performance or other settings, one might want to apply command-line options.  Some external applications can apply options without the user having to type &amp;amp;ndash; e.g. encoding with [[foobar2000]], there are two compression sliders, one for the fast-to-extra-high and one for the &amp;lt;code&amp;gt;-x&amp;lt;/code&amp;gt; settings (see below) &amp;amp;ndash; but for command-line one will have to type them, and also in the Windows GUI.  Options can be concatenated for short, like for example writing &amp;lt;code&amp;gt;-hh -x2 -m -v -y&amp;lt;/code&amp;gt; as &amp;lt;code&amp;gt;-hhx2mvy&amp;lt;/code&amp;gt;.  &lt;br /&gt;
&lt;br /&gt;
The user should beware that the wavpack encoder and the wvunpack decoder (and wvtag/wvgain) have to &amp;quot;re-use letters&amp;quot;.  While some do the same in the wvunpack and wavpack (like &amp;lt;code&amp;gt;-d&amp;lt;/code&amp;gt; for delete input file, &amp;lt;code&amp;gt;-y&amp;lt;/code&amp;gt; for &amp;quot;yes to all&amp;quot;, &amp;lt;code&amp;gt;-t&amp;lt;/code&amp;gt; to preserve timestamp, and &amp;lt;code&amp;gt;-l&amp;lt;/code&amp;gt; for (Windows only) &amp;quot;run with low priority&amp;quot;) and others cover the same purpose in both executables (like &amp;lt;code&amp;gt;-m&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;-v&amp;lt;/code&amp;gt;), the user may be warned that certain letters do not.  E.g. &amp;lt;code&amp;gt;-b&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;-c&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;-n&amp;lt;/code&amp;gt; cover completely urelated functions upon decoding vs upon encoding.  &lt;br /&gt;
&lt;br /&gt;
5.7.0 introduces multi-threading options for both encoding and decoding, invoked with &amp;lt;code&amp;gt;--threads=&amp;lt;number 1 to 12&amp;gt;&amp;lt;/code&amp;gt;, or simply &amp;lt;code&amp;gt;--threads&amp;lt;/code&amp;gt; to let WavPack choose.  Multithreading does not reduce overall CPU load, but unless the CPU is already working at max, it will do one or a few files in fewer seconds; thus it is invoked by default for the CoolEdit plugin.  For encoding, it leads to slightly different files, with usually very small size impact.&lt;br /&gt;
&lt;br /&gt;
=== Encoding options (lossless) ===&lt;br /&gt;
Encoding using &amp;lt;code&amp;gt;-hxm&amp;lt;/code&amp;gt; seems a sensible trade-off between compression and CPU load.  Some selected options are described as follows; for an exhaustive refence, see the manual (online, or included as wavpack_doc.html in the distribution).&lt;br /&gt;
* Compression.  WavPack has four compression modes that affect compression as well as encoding &#039;&#039;and&#039;&#039; decoding time: fast (&amp;lt;code&amp;gt;-f&amp;lt;/code&amp;gt;), default, high (&amp;lt;code&amp;gt;-h&amp;lt;/code&amp;gt;) and very high (&amp;lt;code&amp;gt;-hh&amp;lt;/code&amp;gt;).  The CPU load of &amp;lt;code&amp;gt;-hh&amp;lt;/code&amp;gt; is measured to around twice that of &amp;lt;code&amp;gt;-f&amp;lt;/code&amp;gt; (and could in the early 2000s be too heavy for portable players, although it does decode faster than any Monkey&#039;s).  On top these modes, the optional extra processing &amp;lt;code&amp;gt;-x1&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;-x6&amp;lt;/code&amp;gt; settings will apply extra compression effort that does not increase &#039;&#039;decoding&#039;&#039; CPU load. &amp;lt;code&amp;gt;-x&amp;lt;/code&amp;gt; without number is synonymous to &amp;lt;code&amp;gt;-x1&amp;lt;/code&amp;gt;, which is often recommended (in all modes, fast/normal/high/extra high).  The official manual calls &amp;lt;code&amp;gt;-x4&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;-x6&amp;lt;/code&amp;gt; &amp;quot;extremely slow&amp;quot;, but the size gains might be significant for high resolution audio in particular (van Beurden&#039;s revision 5, testing &amp;lt;code&amp;gt;-x4&amp;lt;/code&amp;gt;).  &lt;br /&gt;
** 5.5.0 introduces optional switches for the default compression: &amp;lt;code&amp;gt;-g&amp;lt;/code&amp;gt; for normal mode and &amp;lt;code&amp;gt;-x0&amp;lt;/code&amp;gt; for &amp;quot;no &amp;lt;code&amp;gt;-x&amp;lt;/code&amp;gt;&amp;quot;.  These are redundant for basic use, but can be used to switch off options already given (e.g. in renamed executables, or custom builds): &amp;lt;code&amp;gt;-x6 -x0&amp;lt;/code&amp;gt; will switch off the extra processing, and &amp;lt;code&amp;gt;-h -f -g&amp;lt;/code&amp;gt; will encode as normal, whereas previous versions would abort with an error.&lt;br /&gt;
** With DSD files, there are only two compression settings, normal and high; the option &amp;lt;code&amp;gt;-f&amp;lt;/code&amp;gt; will select normal, &amp;lt;code&amp;gt;-h&amp;lt;/code&amp;gt;/&amp;lt;code&amp;gt;-hh&amp;lt;/code&amp;gt; will both select high, and the &amp;lt;code&amp;gt;-x&amp;lt;/code&amp;gt; switches are silently ignored. &lt;br /&gt;
* Guarding against errors upon encoding: The &amp;quot;&amp;lt;code&amp;gt;-m&amp;lt;/code&amp;gt;&amp;quot; switch will compute an audio MD5 sum (like FLAC does by default) and store it for later verification.  The &amp;quot;&amp;lt;code&amp;gt;-v&amp;lt;/code&amp;gt;&amp;quot; switch will verify by decoding the file after it has been written to disk&amp;lt;ref&amp;gt;[https://hydrogenaud.io/index.php?topic=121714.msg1008108#msg1008108 HA forum comment:] verification checks the written file after closing and reopening&amp;lt;/ref&amp;gt;. &amp;lt;code&amp;gt;-vm&amp;lt;/code&amp;gt; will do both &amp;amp;ndash; that is, calculate the MD5s to verify, and store it.  Using the corresponding switches in wvunpack will check without producing output file, however wvunpack also has a faster corruption check for WavPack 5-encoded files: &amp;lt;code&amp;gt;-vv&amp;lt;/code&amp;gt;.&lt;br /&gt;
* &amp;lt;code&amp;gt;--import-id3&amp;lt;/code&amp;gt; will import ID3v2.3 tags (currently not v2.4 nor v2.2) present in the source file &amp;amp;ndash; typically in Sony DSF files &amp;amp;ndash; and convert them to WavPack&#039;s preferred APE tags.  (It will still keep the chunk for restoring the original file.)  By default, importing is limited to 1 MB; for more, use &amp;lt;code&amp;gt;--allow-huge-tags&amp;lt;/code&amp;gt;.  Same option works in wvtag; indeed, one can encode first and then afterwards &amp;quot;import&amp;quot; the tags from the WavPack file using &amp;lt;code&amp;gt;wvtag --import-id3 wavpackfile.wv&amp;lt;/code&amp;gt;; this provided that these data have not been deleted by the following &amp;lt;code&amp;gt;-r&amp;lt;/code&amp;gt; option: &lt;br /&gt;
* &amp;lt;code&amp;gt;-r&amp;lt;/code&amp;gt;: remove non-audio chunks.  By default, WavPack will store these in the .wv file for later bit-by-bit restoration of everything, not only the audio. Use &amp;lt;code&amp;gt;-r&amp;lt;/code&amp;gt; to throw them away and encode audio only &amp;amp;ndash; like encoding through most players appear to do. &lt;br /&gt;
* &amp;lt;code&amp;gt;-t&amp;lt;/code&amp;gt;: copy input file&#039;s time stamp.  (To restore the file with the original time stamp, use &amp;lt;code&amp;gt;-t&amp;lt;/code&amp;gt; both when encoding and when decoding.)&lt;br /&gt;
* &amp;lt;code&amp;gt;--pause&amp;lt;/code&amp;gt;: (Windows only!) waits for keypress at the end.  Useful for reading output before exit when calling wavpack/wvunpack in a separate window (which both drag-and-drop the Windows front-end do).&lt;br /&gt;
* &amp;lt;code&amp;gt;-y&amp;lt;/code&amp;gt;: &amp;quot;yes&amp;quot; to everything.  Use with caution, will overwrite.  From 5.5.0 there is also a &amp;lt;code&amp;gt;--no-overwrite&amp;lt;/code&amp;gt; that will skip instead of asking to overwrite.&lt;br /&gt;
* &amp;lt;code&amp;gt;-d&amp;lt;/code&amp;gt;: delete source file upon successful completion.  Again, use with caution. &lt;br /&gt;
* &amp;lt;code&amp;gt;-l&amp;lt;/code&amp;gt; will force WavPack to run at low priority (Windows only)&lt;br /&gt;
* &amp;lt;code&amp;gt;-c&amp;lt;/code&amp;gt;: this is for hybrid lossless, see below. &lt;br /&gt;
&lt;br /&gt;
WavPack can recompress .wv files in place (using a temporary file until done).  For example, &amp;lt;code&amp;gt;wavpack -hx4mvy wavpackfile.wv&amp;lt;/code&amp;gt; will compress wavpackfile.wv in high mode using &amp;lt;code&amp;gt;-x4&amp;lt;/code&amp;gt; extra processing, writing everything (and an audio MD5 checksum) to a temporary file with tags transferred; close and then re-open the temp file to re-read for verification &amp;amp;ndash; and only once verified, replace the old wavpackfile.wv. &amp;lt;code&amp;gt;wavpack -hx4rlmvy wavpackfile.wv&amp;lt;/code&amp;gt; will also run with low priority (assuming the Windows platform), and will discard non-audio chunks &amp;amp;ndash; that is, the ones used to restore the original file&#039;s metadata; the .wv file&#039;s APE tags will still be copied.  Some operations do require recompression even if the user would not demand it; For example, wavpack cannot add MD5 sum to a .wv file without recompressing it. Also, if the user wants to discard the original file&#039;s headers/footers, that can be done upon decompression or recompression &amp;amp;ndash; but not by simply removing them from the .wv file. &lt;br /&gt;
There is no out-of-the-box facility to recompress based on how heavy the original file was compressed, or to keep the smallest file. &lt;br /&gt;
&lt;br /&gt;
=== (Incomplete:) hybrid lossless &amp;amp; lossy encoding ===&lt;br /&gt;
(Needs to be expanded. Notes: DSD can currently not be hybrid-encoded and floating-point files should not be.  The correction file will be omitted by a lot of applications/players, including VLC, mplayer and ffmpeg; thus, using ffmpeg or ffmpeg-based players to convert/play hybrid-encoded WavPack will be lossy. For WavPack in Matroska, there doesn&#039;t seem to be any player that will play both the lossy stream and the correction stream, although mkvmerge/mkvextract will import/extract both streams. foobar2000 can play hybrid lossless .wv+.wvc, but will omit a Matroska-encapsulated correction stream.)&lt;br /&gt;
&lt;br /&gt;
Basic use: the &amp;lt;code&amp;gt;-b&amp;lt;/code&amp;gt; switch &amp;amp;ndash; and for losslessness, use &amp;lt;code&amp;gt;-c&amp;lt;/code&amp;gt; to create a correction file. &lt;br /&gt;
A numerical argument for quality is mandatory: if &amp;lt; 24 it will signify &#039;&#039;bits per sample&#039;&#039; and if &amp;gt; 24 it will signify &#039;&#039;kbit/second&#039;&#039;. Decimal separator is . even if your locale uses the comma. &lt;br /&gt;
For example, &amp;lt;code&amp;gt;wavpack -b12.5 filename&amp;lt;/code&amp;gt; will create filename.wv of bit rate 12.5 bits per sample.  &lt;br /&gt;
For an example that creates filename.wv at at most 234.56 kilobits per second and a correction file filename.wvc, the following commands will work:&lt;br /&gt;
* In all versions, &amp;lt;code&amp;gt;wavpack -b234.56 -c filename&amp;lt;/code&amp;gt;. Or equivalently &amp;lt;code&amp;gt;wavpack -cb234.56 filename&amp;lt;/code&amp;gt;&lt;br /&gt;
* From 5.70, also &amp;lt;code&amp;gt;wavpack -c234.56 filename&amp;lt;/code&amp;gt; will do the same.  Thus, a user can avoid the &amp;quot;&amp;lt;code&amp;gt;b&amp;lt;code&amp;gt;&amp;quot; altogether, eliminating the risk of loss from forgetting the &amp;quot;&amp;lt;code&amp;gt;c&amp;lt;code&amp;gt;&amp;quot;. &lt;br /&gt;
More options can be added, like &amp;lt;code&amp;gt;wavpack -cb234.56 -mhx filename&amp;lt;/code&amp;gt; to compress in high mode with extra processing and stores the (&#039;&#039;original&#039;&#039; PCM&#039;s) MD5 sum.  &lt;br /&gt;
When filename.wv and filename.wvc are both present, the original file will be restored completely by decoding the usual way by &amp;lt;code&amp;gt;wvunpack filename&amp;lt;/code&amp;gt; (or &amp;lt;code&amp;gt;wvunpack filename.wv&amp;lt;/code&amp;gt;, but not &amp;lt;code&amp;gt;wvunpack filename.wvc&amp;lt;/code&amp;gt;).  Playback of the .wv+.wvc is also lossless provided the player application supports correction files (like foobar2000, but few do). &lt;br /&gt;
&amp;lt;code&amp;gt;filename.wv&amp;lt;/code&amp;gt; can be copied to a different location without compression file and played in the same way as if it was encoded as lossy in the first place; the decoder will only look in the same path and for same file name except with .wvc extension. &lt;br /&gt;
&lt;br /&gt;
If a high enough lossy quality is specified, it is possible that the file can losslessly contain the entire signal.  If so, WavPack will report at the end of the encoding process &amp;amp;ndash; but that information is not stored in the file.  It can be inferred later from the small .wvc file, and if that is lost: if &amp;lt;code&amp;gt;-m&amp;lt;/code&amp;gt; was used upon encoding.&lt;br /&gt;
WavPack will refuse to recompress lossy-generated .wv to &amp;quot;lossless .wv&amp;quot; as that would make a false pretense of being a lossless file.  (That goes even in the &amp;quot;that information is not stored in the file&amp;quot; case just mentioned.)  If a lossless hybrid with correction file is recompressed, the default is to create a single-file lossless .wv; from 5.7.0, the old .wvc file will then be removed (as it does no longer belong to any .wv file), but earlier version would need to use the delete switch.&lt;br /&gt;
&lt;br /&gt;
Advanced use: The encoder has several options to tune lossy quality through e.g. noise shaping. &lt;br /&gt;
&lt;br /&gt;
=== Decoding options ===&lt;br /&gt;
In addition to the basic usage above (drag and drop or &amp;lt;code&amp;gt;wvunpack filename.wv&amp;lt;/code&amp;gt;), the wvunpack executable offers several options.  For use with the Windows front-end or drag and drop, the Windows-only &amp;lt;code&amp;gt;--pause&amp;lt;/code&amp;gt; (waits for keypress at the end, like for wavpack.exe) is essential to read the output report.  Also Windows-only options like &amp;lt;code&amp;gt;--drop&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;-l&amp;lt;/code&amp;gt; work as for wavpack.exe, and so do &amp;lt;code&amp;gt;-d&amp;lt;/code&amp;gt; (use with caution!) and &amp;lt;code&amp;gt;-y&amp;lt;/code&amp;gt; (ditto!) as well as &amp;lt;code&amp;gt;-t&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
* Output &#039;&#039;filename&#039;&#039; can be set with &amp;lt;code&amp;gt;wvunpack infilename.wv -o outfilename &amp;lt;/code&amp;gt; (the &amp;lt;code&amp;gt;-o&amp;lt;/code&amp;gt; being superfluous on Windows, where &amp;amp;ndash; in the absence of &amp;lt;code&amp;gt;--drop&amp;lt;/code&amp;gt; &amp;amp;ndash; the second filename will be assumed to be output name).  Then wvunpack will affix the file extension of the original file (say, outfilename.wav if the wavpacked file was somefilename.wav).  The wavpack encoder detects the file type from content, and so wvunpack will not &amp;quot;fix misleading extensions&amp;quot; automatically; the user can provide a giving full output filename with extension, but note that this will override the &#039;&#039;name&#039;&#039; only but not the &#039;&#039;type&#039;&#039;.  To make sure that -o out.aif indeed produces an AIFF, separate switches have to be employed. &lt;br /&gt;
* To force output &#039;&#039;file format,&#039;&#039; one needs to apply options to wvunpack.  The following are for PCM output: &amp;lt;code&amp;gt;--raw-pcm&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;--wav&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;--w64&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;--caf-be&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;--caf-le&amp;lt;/code&amp;gt;, and from version 5.6.0 on also &amp;lt;code&amp;gt;--aif&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;--aif-le&amp;lt;/code&amp;gt;.  &lt;br /&gt;
** These will delete non-audio chunks and replace them with a fresh file header: there is no option to &amp;quot;unpack to WAVE and restore the original headers if the original file was WAVE&amp;quot;.   &amp;lt;code&amp;gt;wvunpack --wav&amp;lt;/code&amp;gt; will select RF64 if (and only if) exceeding WAVE&#039;s 4 GB limit, and wvunpack will select old AIFF over AIFF-C if the audio data permit it.&lt;br /&gt;
** For DSD, those format switches will also force a &amp;amp;ndash; necessarily lossy &amp;amp;ndash; conversion to PCM.  To switch losslessly &#039;&#039;between&#039;&#039; DSD formats, there are also &amp;lt;code&amp;gt;--dsf&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;--dff&amp;lt;/code&amp;gt; (the latter being synonymous to &amp;lt;code&amp;gt;--dsdiff&amp;lt;/code&amp;gt;) which again delete non-audio chunks.  Note that WavPack cannot force any (also necessarily lossy) conversion &#039;&#039;to&#039;&#039; DSD, having no DSD encoder.&lt;br /&gt;
** &amp;lt;code&amp;gt;--raw&amp;lt;/code&amp;gt; outputs both PCM and DSD as headerless streams (lossless for both; &amp;lt;code&amp;gt;-r&amp;lt;/code&amp;gt; is synonymous; beware that this is not precisely the same as the same letter switch upon encoding).&lt;br /&gt;
&lt;br /&gt;
In addition to decimating DSD for conversion to PCM, there are other options where power users can utilize certain &#039;&#039;lossy&#039;&#039; operations by wvunpack, e.g. normalizing floating-point files (recommended before conversion to integer), dropping correction files from hybrid encodes &amp;amp;ndash; and &amp;lt;code&amp;gt;--skip&amp;lt;/code&amp;gt; and/or &amp;lt;code&amp;gt;--until&amp;lt;/code&amp;gt; to decode only a segment of the file.  See the documentation.  &lt;br /&gt;
Other options include &amp;lt;code&amp;gt;-b&amp;lt;/code&amp;gt; to &amp;quot;blindly&amp;quot; decode until end disregarding errors and corruption (potentially useful to save as much as possible from a destroyed file).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;wvunpack -m&amp;lt;/code&amp;gt; will decode with MD5 sum calculation.  If the .wv file had an MD5 sum stored, it will also be displayed for comparison. However, &amp;lt;code&amp;gt;-m&amp;lt;/code&amp;gt; will not give an error if they don&#039;t match (and if the .wv is lossy without correction file, they won&#039;t: the MD5 stored is that of the original). &lt;br /&gt;
&lt;br /&gt;
wvunpack is also the utility to display information from .wv files even when it does not involve decoding or file output, see the [[#Other file handling]] subsection.  Inter alia, &amp;lt;code&amp;gt; -s&amp;lt;/code&amp;gt; will correctly report the input file &#039;&#039;type&#039;&#039; even if it had a misleading extension (like a .wav extension disguising an AIFF file). &lt;br /&gt;
&lt;br /&gt;
== &amp;lt;span id=&amp;quot;Other file handling&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Other file handling (incomplete) ==&lt;br /&gt;
The WavPack distribution includes wvunpack, wvtag and wvgain.  &lt;br /&gt;
&lt;br /&gt;
=== File information with wvunpack (without decoding to file) === &lt;br /&gt;
wvunpack can get information about WavPack files without outputting any uncompressed audio file:&lt;br /&gt;
* &amp;lt;code&amp;gt;-vv&amp;lt;/code&amp;gt;: Quick verify without decoding (WavPack 5 files only; from 5.5.0 there is also a more verbose &amp;lt;code&amp;gt;-vvv&amp;lt;/code&amp;gt;).  Quick verify seems to be unavailable outside the official wvunpack; other applications which verify will fall back to the next item, &amp;lt;code&amp;gt;-v&amp;lt;/code&amp;gt;. &lt;br /&gt;
* &amp;lt;code&amp;gt;-vm&amp;lt;/code&amp;gt;: Decode and verify, but not write output file.  The &amp;quot;m&amp;quot; will compute the the MD5 sum of the decoded PCM and output it along with the .wv file&#039;s stored MD5, if such was present.  Note that the user has to check manually that they match.  A user who never uses &amp;lt;code&amp;gt;-m&amp;lt;/code&amp;gt; upon encoding can safely drop the &amp;lt;code&amp;gt;-m&amp;lt;/code&amp;gt; from wvunpack too.  Note that absent the &amp;quot;v&amp;quot;, &amp;lt;code&amp;gt;wvunpack -m&amp;lt;/code&amp;gt; will write output file &amp;amp;ndash; and that &amp;lt;code&amp;gt;wvunpack -mvv&amp;lt;/code&amp;gt; is not allowed, as MD5 calculation requires decoding.&lt;br /&gt;
* &amp;lt;code&amp;gt;-s&amp;lt;/code&amp;gt;/&amp;lt;code&amp;gt;-ss&amp;lt;/code&amp;gt;: &amp;lt;code&amp;gt;-s&amp;lt;/code&amp;gt; displays summary of the file, &amp;lt;code&amp;gt;-ss&amp;lt;/code&amp;gt; a long summary including tags. Also there is &amp;lt;code&amp;gt;-f&amp;lt;/code&amp;gt; for parseable output, see documentation.&lt;br /&gt;
* &amp;lt;code&amp;gt;-x&amp;lt;/code&amp;gt; FIELD: Shows tag, e.g. &amp;lt;code&amp;gt; -x comment &amp;lt;/code&amp;gt; shows the &amp;lt;comment&amp;gt; field.  &amp;lt;code&amp;gt;-c&amp;lt;/code&amp;gt; is synonymous to &amp;lt;code&amp;gt; -x cuesheet&amp;lt;/code&amp;gt;.   Also &amp;lt;code&amp;gt; wvtag -x &amp;lt;/code&amp;gt; resp. &amp;lt;code&amp;gt; wvtag -c &amp;lt;/code&amp;gt; do the same thing.  &amp;lt;code&amp;gt;-xx&amp;lt;/code&amp;gt; (same option for wvtag) can output to file (use &amp;lt;code&amp;gt;-n&amp;lt;/code&amp;gt; to avoid decoding) &amp;amp;ndash; see documentation.&lt;br /&gt;
&lt;br /&gt;
=== (To fill in:) Tagging (wvtag) and replaygain management (wvgain) ===&lt;br /&gt;
(... most of these options are available in HA&#039;s fave taggers/player? Except the following, maybe?) &lt;br /&gt;
&amp;lt;code&amp;gt;wvtag --import-id3 wavpackfile.wv&amp;lt;/code&amp;gt; will read and &amp;quot;import&amp;quot; ID3 tag stored in wavpackfile.wv&#039;s non-audio chunks; this will overwrite existing APEv2. Can also be used with &amp;lt;code&amp;gt;--allow-huge-tags&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== File formats, versions, decoding and transcoding support ==&lt;br /&gt;
Even if WavPack has expanded its feature set over the years, it has gone to lengths to maintain compatibility.  Old WavPack 4.x decoders can restore WavPack 5 files to several file types it cannot encode, but not DSD.  &lt;br /&gt;
The TL;DR is that unless one has an ancient portable device or even more ancient files, one will do just fine with the most recent WavPack, and if not then WavPack 4.80 will suffice &amp;amp;ndash; it is still available and can convert ancient WavPack version 3 files.  &lt;br /&gt;
Over the years, one might have encountered WavPack files in (at least) the following variants: &lt;br /&gt;
&lt;br /&gt;
* .wv (current!) is the file extension used for file formats 4 and 5. Can in most cases be decoded by &amp;quot;anything&amp;quot; (even if the source was e.g. AIFF, which old WavPack cannot read but still restore).  Exceptions:&lt;br /&gt;
** WavPack 4 cannot play or restore compressed DSD files (that is new to WavPack 5).  Although FFmpeg&#039;s wavpack implementation is version 4-based, DSD and DSD-in-WavPack can still be &#039;&#039;played&#039;&#039; with an FFmpeg-based player. (But not restored, as FFmpeg has no DSD pipeline, so this is for playback or lossy conversion.)&lt;br /&gt;
** FFmpeg creates non-compliant files for 17 channels and up.  WavPack 5.7.0 can decode and repair (FFmpeg itself cannot!)&lt;br /&gt;
** Mono signals encoded to WavPack 5 might require WavPack version 4.3 (from 2005) or later.  If there are hardware players around using older WavPack and failing to play these files, the easiest might be to recompress using 4.80. &lt;br /&gt;
* .wvc, correction files when hybrid lossless encoding is chosen.  Honoured by official WavPack, but users might note that wvpack/wvunpack should be fed the .wv file and will err out if pointed at merely the .wvc file.&lt;br /&gt;
* .exe (deprecated): WavPack 4 could compress to Windows self-extracting file (like OptimFROG also offers).  This feature is discontinued in WavPack 5.  Newer versions of the decoder can still play and decode them &amp;amp;ndash; indeed, merely renaming them from .exe to .wv will make them play in players that use the official WavPack library (e.g. foobar2000 will, but VLC will not), and they can be tagged.&lt;br /&gt;
** How to recompress with tag transfer: Rename to .wv.  Recompressed files will not be self-extracting.&lt;br /&gt;
* The 3rd party hack &amp;quot;.iso.wv&amp;quot; can also be mentioned here: Some developer took advantage of how the official decoder might look further into a file to find WavPack headers, like it would have to on self-extracting files, and used the .iso format to contain a folder with whatever files including one single WavPack file as playable.  Due to efforts from a few enthusiasts when this hack was introduced, iso.wv is mentioned in several players&#039; official and unofficial feature lists, including Wikipedia pages.  These files are .iso files, but the .wv extension makes the official decoder search in the container and and play the WavPack file it finds &amp;amp;ndash; and so will e.g. foobar2000 which uses official WavPack to play them.  Technical reservations apply, and are beyond the scope of these article.&lt;br /&gt;
** These files can be recompressed like the self-extracting files can &amp;amp;ndash; this will however discard everything else than the WavPack file. &lt;br /&gt;
* .wav (pre-2004).  WavPack 3 used the WAVE file format (WAVE is a &#039;&#039;container format&#039;&#039;, and might for example contain MP3, although such are rare and not well supported).  If a user by by mistake tries to use wv&#039;&#039;un&#039;&#039;pack a WAVE file, the error message &amp;quot;this legacy WavPack file is deprecated, use version 4.80.0 to transcode&amp;quot; might confuse new users; it has its origins in WAVE being the container of ancient WavPack.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Using WavPack with 3rd party tools (FFmpeg &amp;amp; more) =&lt;br /&gt;
&lt;br /&gt;
Some applications may behave slightly surprising.  FFmpeg has its own WavPack implementation and has a few known peculiarities, some which are expected to be fixed and others of unknown status.  As referenced above Android users may need to use the player application&#039;s folder to get WavPack files recognized.  The tl;dr are that as long as it plays, it plays &amp;amp;ndash; but to safeguard against loss of information (e.g. upon conversion), use the official tools.  In particular, hybrid lossless correction files are usually not honoured by 3rd party tools. (A player that does, foobar2000, uses the official WavPack libraries.)&lt;br /&gt;
&lt;br /&gt;
== Splitting WavPack files by cuesheet ==&lt;br /&gt;
WavPack is a format with good support for storing an album as one .wv file with embedded cuesheets, but splitting into tracks by way of cuesheets is not straightforward without external tools. Audio players like [[foobar2000]] which support cue sheets can also split upon conversion.  Other external applications that will do this splitting &amp;amp;ndash; also with more variations of the cue sheet format(s) supported &amp;amp;ndash; include&lt;br /&gt;
* [[CUETools]] can if it is CDDA (44.1 kHz 16-bit stereo), and can re-encode back to WavPack.  &lt;br /&gt;
* refalac can decode &amp;amp; split by cuesheets with the appropriate (official) WavPack library DLL file&amp;lt;ref&amp;gt;[https://github.com/nu774/qaac/wiki/refalac-usage refalac usage] includes how to split by cuesheet&amp;lt;/ref&amp;gt;, outputting WAVE or ALAC-in-MP4.&lt;br /&gt;
Both refalac, CUETools and foobar2000 use the official WavPack tools to for the decoding(/encoding). &lt;br /&gt;
&lt;br /&gt;
== &amp;lt;span id=&amp;quot;FFmpeg&#039;s WavPack implementation&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;FFmpeg&#039;s WavPack implementation: differences and quirks ==&lt;br /&gt;
FFmpeg can encode/decode to/from WavPack &amp;amp;ndash; which may be seen as attractive from how it also can transfer metadata in one go &amp;amp;ndash; but with some limitations and maybe unfamiliar behaviour.  &amp;lt;br/&amp;gt; FFmpeg has had some bugs which may cause audio corruption.  Although some fixes were applied with FFmpeg release 6.1, users might beware that players and converters that employ FFmpeg as a decoding engine may or may not update that quickly. &lt;br /&gt;
* [Still not fixed as of ffmpeg 6.1] Encoding, multi-channel only: Above 16 channels, when the WavPack 5 format is required, FFmpeg will still attempt encoding to WavPack but will produce non-compliant files &amp;amp;ndash; that ffmpeg itself might not be able to read.&amp;lt;br/&amp;gt;Official WavPack 5.7.0 can repair those files, at least the &amp;quot;known&amp;quot; defects. &lt;br /&gt;
* [Fixed in ffmpeg 6.1] Encoding, 8-bit PCM only: FFmpeg (up to 6.0) will produce broken files with static noise, no known way to recover. &lt;br /&gt;
* [Fixed in ffmpeg 6.1] Decoding, any format but rare: A bug FFmpeg&#039;s WavPack decoder, discovered in August 2022&amp;lt;ref&amp;gt;[https://hydrogenaud.io/index.php/topic,122810 HA forum thread on the ffmpeg bug in .wv decoding]&amp;lt;/ref&amp;gt;, will cause dropouts in certain files. The bug is &#039;&#039;&amp;quot;rare&amp;quot;&#039;&#039; in that no such file was discovered in several years.&lt;br /&gt;
&lt;br /&gt;
Further limitations in FFmpeg&#039;s implementation:&lt;br /&gt;
* No md5 sum and no verification &amp;amp;ndash; although it is possible for power users to set up a command-line to compute audio-only checksums of input, decode output to checksum and compare.  FFmpeg will also only write WavPack 4 files, hence no &#039;&#039;fast verification&#039;&#039; of the bitstream.  (FFmpeg can however decode WavPack 5 files, including DSD.)&lt;br /&gt;
* As a general rule &amp;amp;ndash; not specific to .wv &amp;amp;ndash; FFmpeg will &#039;&#039;not&#039;&#039; honour the input bit depth: for example when outputting WAVE/AIFF, it will default to 16 bits regardless of input bit depth.  This default behaviour is not lossless when input bit depth is &amp;gt; 16 bits, and could even induce clipping (with no warning!) if the source is a 32-bit float.  To force lossless decoding of 24-bit/32-bit files (WavPack/FLAC/ALAC/TAK/uncompressed) to WAVE/AIFF, the user must extract the bit depth information and specify the respective 24-bit/32-bit output format using ffmpeg&#039;s command-line syntax. &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;For an extreme example: &amp;lt;code&amp;gt;FFmpeg -i DSDfile.dsf outfile.wv&amp;lt;/code&amp;gt; will not store the DSD &amp;amp;ndash; rather it will convert to floating-point PCM which is then compressed, typically making for several times the file size, with no warning that it is lossy.&amp;lt;br/&amp;gt;&lt;br /&gt;
The tl;dr for users who do not have this at their fingertips, is to use other (= official!) decoders when losslessness is desired.&lt;br /&gt;
* Correction files ignored, leading to lossy playback/conversion of hybrid-encoded WavPack files with when ffmpeg or ffmpeg-based players are used. &lt;br /&gt;
* Loss of information that is not directly audio-related: FFmpeg has no ambition of preserving file structure and (R)IFF chunks, so you will not get the non-audio chunks of the files back when using ffmpeg to encode &amp;amp;ndash; however it &#039;&#039;will&#039;&#039; by default transfer metadata it supports. &lt;br /&gt;
* FFmpeg will sometimes &amp;amp;ndash; depending on input format &amp;amp;ndash; output 32-bit WavPack files and lose the information that the source was indeed only 24. Not all players support 32-bit files, and verifying that the operation (or an attempted downconversion to 24) was lossless is not straightforward as even fewer applications are willing to compare a 32-bit and a 24-bit file for differences. &amp;lt;br/&amp;gt;Also for files with bit depth not being 8/16/24/32 is lost; WAVE/AIFF/CAF can handle &amp;quot;17 bit&amp;quot; files by storing 24 and employing a flag to disregard the 7 LSBs, and ffmpeg will lose this flag even when encoding to / decoding from codecs which support it, WavPack and FLAC. &lt;br /&gt;
&lt;br /&gt;
FFmpeg&#039;s compression settings can be set with &amp;lt;code&amp;gt;-compression_level&amp;lt;/code&amp;gt; 0 to 8, which work different than the reference implementation. Like for ALAC compression, FFmpeg has chosen a default that prioritizes speed over size &amp;lt;ref&amp;gt;[https://hydrogenaud.io/index.php?topic=118278.msg976262#msg976262  HA forum comment comparing the compression presets]&amp;lt;/ref&amp;gt; &amp;amp;ndash; while on the other end, FFmpeg&#039;s WavPack encoder offers settings even slower than &amp;lt;code&amp;gt;-hhx6&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Software support (&amp;amp; hardware) =&lt;br /&gt;
With Android support and playback through ffmpeg, it might no longer be feasible to maintain a list of applications that can play WavPack files, and the following is  most certainly incomplete &amp;amp;ndash; as is the list at https://www.wavpack.com/#Software .  Also, the distinction between &amp;quot;hardware&amp;quot; and &amp;quot;software&amp;quot; support is not clear in the age of smart devices running Android, and the list at https://www.wavpack.com/#Hardware does not cover those.&lt;br /&gt;
&lt;br /&gt;
== Players ==&lt;br /&gt;
* [[foobar2000]] advanced freeware audio player plays/decodes WavPack out of the box on both Windows, MacOS, Android and iOS (Windows: supports encoding if wavpack.exe is installed, and redistributes the official wavpack.exe through its &amp;quot;Free encoder pack&amp;quot; addon for encoding.  With ReplayGain &amp;amp; cuesheets support.) Also [[Boom]] from the same author.&lt;br /&gt;
* [http://www.videolan.org/vlc/download-windows.html VLC] multiplatform media player&lt;br /&gt;
* [http://www.vuplayer.com/vuplayer.php VUPlayer] (official plugin, supports encoding)&lt;br /&gt;
* NullSoft [[Winamp]] (plugin with ReplayGain &amp;amp; Media Library support) and Winamp-compatible players&lt;br /&gt;
* [[Windows Media Player]] and other directshow-based players (MPC, TCMP, RadLight) (with [http://www.hydrogenaudio.org/forums/index.php?showtopic=103693 CoreWavPack] directshow filter)&lt;br /&gt;
* [http://cogosx.sourceforge.net/ Cog] Audio player for MacOS X.&lt;br /&gt;
* [https://wiki.jriver.com/index.php/WavPack JRiver Media Center]&lt;br /&gt;
* [[XMMS]] (with Kuniklo&#039;s plugin)&lt;br /&gt;
* [http://fondriest.frederic.free.fr/realisations/lamip/ LAMIP] (official plugin)&lt;br /&gt;
* [http://mpxplay.sourceforge.net/ MPXplay] for DOS!&lt;br /&gt;
* [http://aqualung.sourceforge.net/ Aqualung] for GNU/Linux&lt;br /&gt;
* Cowon [http://www.jetaudio.com/ JetAudio Player] and CD ripper&lt;br /&gt;
* [http://www.un4seen.com/ XMPlay] Plugin required (WavPack input plugin) and (bass library) to play &#039;wv&#039; files&lt;br /&gt;
&lt;br /&gt;
== Converters, CD rippers etc. ==&lt;br /&gt;
For conversion (of &#039;&#039;audio&#039;&#039; only), one can use several of the &#039;&#039;players&#039;&#039; listed above, like Cowon JetAudio, foobar2000 and VUplayer &amp;amp;ndash; although some with limitations in the audio pipeline, like for example DSD handling. &amp;lt;br/&amp;gt;&lt;br /&gt;
More software that support conversion to or from WavPack include:&lt;br /&gt;
* Custom [http://www.wavpack.com/WavPack_frontend.zip WavPack frontend] (by Speekenbrink) for Windows.&lt;br /&gt;
* [http://www.dbpoweramp.com/ dBpowerAMP] Music Converter CD ripper/writer / Audio Player / (official addon)&lt;br /&gt;
* [[fre:ac]] multi-platform CD ripper/converter&lt;br /&gt;
* [[Exact Audio Copy]] CD Ripper (guide at this wiki&amp;lt;ref&amp;gt;[[EAC_and_WavPack | HA Wiki: Configuring EAC and WavPack]]&amp;lt;/ref&amp;gt;)&lt;br /&gt;
* [http://www.nero.com/eng/ Nero]&lt;br /&gt;
* [http://cdexos.sourceforge.net CDex] CD ripper&lt;br /&gt;
* [https://download.cnet.com/Ease-Audio-Converter/3000-2140_4-10390634.html Ease Audio Converter] (Discontinued; shareware / NOT Freeware)&lt;br /&gt;
* [http://media.io/ Media.io Online Audio Converter]&lt;br /&gt;
* [http://www.logipole.com/index.html Konvertor]&lt;br /&gt;
* [http://cuetools.net CUETools] converter and AccurateRip/CTDB checker&lt;br /&gt;
* [https://github.com/nu774/qaac refalac] (user must copy the wavpackdll.dll file to the appropriate directory)&lt;br /&gt;
&lt;br /&gt;
== Taggers and audio info utilities ==&lt;br /&gt;
* [http://www.mp3tag.de/en/index.html Mp3tag] Universal Tag Editor&lt;br /&gt;
* [https://picard.musicbrainz.org/ MusicBrainz Picard] Tagger with audio identification &lt;br /&gt;
* [http://www.jtclipper.eu/thegodfather/ The GodFather] Tagger / Music manager&lt;br /&gt;
* [[Tag.exe|Case&#039;s Tag]] command line tagger&lt;br /&gt;
* [https://mediaarea.net/ MediaInfo]&lt;br /&gt;
* [http://mr-questionman.en.uptodown.com/windows Mr. QuestionMan]&lt;br /&gt;
&lt;br /&gt;
== Audio editors and other tools ==&lt;br /&gt;
* [[Audacity]] has WavPack support (using official libraries) from version 3.2.0 (2022)&amp;lt;ref&amp;gt;[https://github.com/audacity/audacity/releases/tag/Audacity-3.2.0 Audacity 3.2.0 release notes]&amp;lt;/ref&amp;gt;.&lt;br /&gt;
* [[Adobe Audition]] and Cool Edit (filter with 32-bit floats &amp;amp; extra info save support)&lt;br /&gt;
* [https://sourceforge.net/projects/sox/ SoX] can read and write WavPack files.  (Write: limited to &amp;lt;code&amp;gt;-hh&amp;lt;/code&amp;gt; compression, not file format version 5.)&lt;br /&gt;
* [http://www.bunkus.org/videotools/mkvtoolnix/ mkvtoolnix] &amp;amp;ndash; tool to multiplex streams in Matroska container files.&lt;br /&gt;
&#039;&#039;It&#039;s worth mentioning the [[Matroska]] guys decided to concentrate on WavPack as the lossless compressor of choice for their container. Quite an honor... :-)&#039;&#039;&lt;br /&gt;
* [https://support.pkware.com/display/PKSZLU/PKZIP+Toolkit+for+Windows PKWare]&#039;s .zip format compresses audio by WavPack since version 6.3.2 (2007).  Beware that there is no expectation that other decompression software handles these zip files; even if PKWare co-designed the format and PKZip was the original .zip implementation, their subsequent compression methods are outside the ISO/IEC standardized zip format specification. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Links =&lt;br /&gt;
* [http://www.wavpack.com/ Official website]&lt;br /&gt;
* [https://github.com/dbry/WavPack Github repository]&lt;br /&gt;
* [http://www.rarewares.org/lossless.html Unofficial compiles] at RareWares. As of 2023: 5.50 for Windows and 4.32 multiplatform&lt;br /&gt;
* [https://en.wikipedia.org/wiki/WavPack WavPack at Wikipedia]&lt;br /&gt;
* [https://wiki.multimedia.cx/index.php/WavPack WavPack at Multimediawiki] (not updated with version 5)&lt;br /&gt;
* [[Lossless_comparison| HA Wiki&#039;s Lossless Codec Comparison]] originally by [[User:Rjamorim|Rjamorim]] &lt;br /&gt;
* An older (2005) performance comparison of lossless audio compressors {{webarchive|https://web.archive.org/web/20151027213336/http://members.home.nl/w.speek/comparison.htm|2015-10-27}} by Speek, using WavPack version 4.0 &lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{navbox audio codecs}}&lt;br /&gt;
[[Category:Codecs]]&lt;br /&gt;
[[Category:Lossless]]&lt;/div&gt;</summary>
		<author><name>Porcuswiki</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=WavPack&amp;diff=37782</id>
		<title>WavPack</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=WavPack&amp;diff=37782"/>
		<updated>2024-03-28T12:26:12Z</updated>

		<summary type="html">&lt;p&gt;Porcuswiki: code tag&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Software Infobox&lt;br /&gt;
| name = WavPack&lt;br /&gt;
| logo = [[Image:Wavpacklogo.png|280px|Official WavPack logo]]&lt;br /&gt;
| screenshot =&lt;br /&gt;
| caption = Hybrid Lossless Audio Compression&lt;br /&gt;
| maintainer = David Bryant&lt;br /&gt;
| stable_release = 5.7.0 (2024-02-29)&lt;br /&gt;
| operating_system = Windows, MacOSX, Linux/BSD/Unix, ...&lt;br /&gt;
| use = Encoder/Decoder&lt;br /&gt;
| license = BSD license&lt;br /&gt;
| website = http://www.wavpack.com/&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;WavPack&#039;&#039;&#039; (pronounced &amp;quot;wave-pack&amp;quot;) is a [[lossless]] audio [[codec]], also offering optionally a [[hybrid codec| hybrid lossless/lossy]] mode.  It is distributed as a free open-source encoder/decoder with a library and a large number of tools, including a Windows GUI and a range of plugins for both audio players and other software.  Third party implementations are available, including ffmpeg.  WavPack supports and/or can be played back on a large number of platforms/OSes including mobile (Android, iOS), portable ([[Rockbox]]) and even web apps. &lt;br /&gt;
&lt;br /&gt;
WavPack is arguably the most feature-rich lossless compressor, supporting a unique range of audio signals including [https://en.wikipedia.org/wiki/Direct_Stream_Digital Direct-Stream Digital].  Everyday use is supported by a wide range of players and taggers, but conversion is likely safest done with applications that invoke the official tools (rather than e.g. ffmpeg&#039;s implementation) &amp;amp;ndash; and special features might require the user to apply the WavPack executable directly, for example with drag+drop, see the [[#Using WavPack]] section below.&lt;br /&gt;
&lt;br /&gt;
Performance-wise, WavPack defaults to a fast codec &amp;amp;ndash; less CPU intensive than [[ALAC]], but typically not as fast as [[FLAC]] or [[TAK]], especially in decoding CPU usage.&amp;lt;ref&amp;gt;[http://www.audiograaf.nl/losslesstest Martijn van Beurden: &amp;lt;em&amp;gt;Lossless audio codec comparison archive&amp;lt;/em&amp;gt;], all comparisons in this wiki article consistent with CDDA results up to revision 6, 2023, using WavPack 5.6.0.&amp;lt;/ref&amp;gt; In the age of low-power portable Rockbox-equipped players, WavPack could be seen as a reasonable middle ground between FLAC&#039;s low CPU footprint and long battery life, and the smaller files but more CPU-intensive [[Monkey&#039;s Audio]]&amp;lt;ref&amp;gt;[https://www.rockbox.org/wiki/CodecPerformanceComparison CodecPerformanceComparison] at the Rockbox wiki&amp;lt;/ref&amp;gt; &amp;amp;ndash; invoking WavPacks high mode and extra compression that would compress to smaller sizes than FLAC.&lt;br /&gt;
&lt;br /&gt;
WavPack has inspired other codecs&amp;lt;ref&amp;gt;Monkey&#039;s Audio historical FAQ {{webarchive|http://web.archive.org/web/20001017210206/http://www.monkeysaudio.com/faq.html|2000-10-17}}&amp;lt;/ref&amp;gt; and their features&amp;lt;ref&amp;gt;[http://losslessaudio.org/DualStream.php OptimFROG&#039;s &amp;quot;DualStream&amp;quot;] hybrid encoding &amp;amp;ndash; apparently WavPack coined this phrase&amp;lt;/ref&amp;gt;.  For more on WavPack, including on its history and technology, see the [https://en.wikipedia.org/wiki/WavPack Wikipedia entry].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Features =&lt;br /&gt;
For an end-user considering WavPack as audio format, its feature-richness might be the big selling point.  WavPack supports pretty much all the more common features noted at [[Lossless_comparison| HA Wiki&#039;s Lossless Codec Comparison]] as in the following first list, but several users might consider the more unique features listed under the subsequent headline.&lt;br /&gt;
&lt;br /&gt;
* Seekable and streaming playback.&lt;br /&gt;
* Error handling: upon playback, it will detect and report corrupted frames, mute to protect against static/noise output, and continue playback.  Since version 5, WavPack can also check for corruption without decoding, hence quicker than any decoding format.  Optional MD5 audio checksum can also be added upon encoding for file fingerprinting. &lt;br /&gt;
* High-resolution audio support (see next headline).&lt;br /&gt;
* Multichannel support: currently capped at 256 channels, supports [https://docs.microsoft.com/en-us/windows/win32/api/mmreg/ns-mmreg-waveformatextensible WAVEFORMATEXTENSIBLE] channel masks.&lt;br /&gt;
* Piping support for encoding, and support for RAW PCM input/output.&lt;br /&gt;
* Non-audio chunks (RIFF and similar) stored; by default, WavPack will not only encode/decode the audio losslessly, but store the non-audio chunks and restore them into a file bit-identical to the original.&lt;br /&gt;
* Tagging: APEv2. (ID3v1 is possible, but not advisable.) &lt;br /&gt;
* Cuesheet support. In practice, some applications handle &#039;&#039;embedded&#039;&#039; cuesheets better in WavPack than in some other formats.&lt;br /&gt;
* Unicode support.&lt;br /&gt;
* Can be used in the [[Matroska]] container. &lt;br /&gt;
* Windows GUI available.&lt;br /&gt;
* Multithreading (from version 5.7.0).&lt;br /&gt;
&lt;br /&gt;
WavPack also handles bit depths not divisible by 8, e.g. 20-bit audio (found on some DVDs).  &lt;br /&gt;
&lt;br /&gt;
== Special/unique features ==&lt;br /&gt;
Most of these features are shared with only a few if any notable codecs, or extend to signal types or file types others do not support (comparisons given).&lt;br /&gt;
* DSD support: can losslessly compress Philips DSDIFF and Sony DSF files (see &amp;quot;Using WavPack&amp;quot; below; no other end-user codec compresses DSD.) ID3v2.3 tags can be imported.  wvunpack can select between DSDIFF and DSF out (i.e. &#039;convert between the two&#039;).  wvunpack can also convert DSD to PCM, but not the other way around. (Lossy, as conversion between PCM and DSD necessarily is.)&lt;br /&gt;
* High-resolution support for bit depth 1-bit to 32-bit integer and sampling rates up to 2 GiHz in integer steps. (Officially, 1 GHz is supported &amp;amp;ndash; it is &#039;&#039;gigaherz&#039;&#039;, not MHz, the upper limit being in the UHF radio frequency band.  Monkey&#039;s Audio, OptimFROG and MPEG-4 ALS support the entire WAVE range up to 4 GiHz.) Can also compress files of &#039;&#039;non-integer sampling rates&#039;&#039; (AIFF/AIFC/CAF, as the WAVE format cannot contain such signals).   &lt;br /&gt;
* 32-bit &#039;&#039;floating-point&#039;&#039; supported &amp;amp;ndash; also including CoolEdit/Adobe Audition&#039;s own float format (use the &amp;lt;code&amp;gt;-a&amp;lt;/code&amp;gt; option only if the .wav was generated by CoolEdit/Audition).  (This line like OptimFROG.)&lt;br /&gt;
* As much as 256 channels currently supported (from version 5.5.0 on; [https://github.com/dbry/WavPack/issues/117 can be extended to the thousands] &amp;amp;ndash; more than any codec except MPEG-4 ALS (which is capped at 66536).) &lt;br /&gt;
* Hybrid lossy/lossless mode (can also be used as lossy &amp;amp;ndash; OptimFROG also has such a mode.)&lt;br /&gt;
* For LPCM it can read and output to WAVE (including the RF64 format extension used for large files and from 5.70 also BW64), to Sony&#039;s Wave64, AIFF/AIFC (both endiannesses) and CAF (ditto) &amp;amp;ndash; with full restore of also non-audio parts to bit-by-bit the original file in the original format.  (Monkey&#039;s/OptimFROG/TAK do the same to the input formats they support.)  Also WavPack can handle too large noncompliant &amp;quot;WAVE&amp;quot; files (by default, those will be restored to bit-identical the same as the flawed input file &amp;amp;ndash; optionally one can force output to compliant RF64/W64 files). &lt;br /&gt;
* Recompression: Can recompress .wv files in place, with tag transfer.  (Like FLAC on .flac files.)&lt;br /&gt;
* Drag and drop support: Dropping a file on to wavpack.exe/wvunpack.exe will encode/decode it to source directory. (Like FLAC.)  From 5.5.0, one can also apply options to drag and drop by renaming the executable, and drop several files.&lt;br /&gt;
&lt;br /&gt;
Like FLAC/TAK/OptimFROG, WavPack employs a &amp;quot;wasted bits&amp;quot; strategy to handle cases of &#039;&#039;n &amp;quot;actual bits of signal&amp;quot; zero-padded and stored as N bits&#039;&#039;; such signals can be found in certain DVDs, but also as &amp;quot;fake high resolution&amp;quot; where a 16-bit signal is merely put in a 24-bit file to look impressive.  WavPack handles more &amp;quot;fake high resolution&amp;quot; cases than just zero-padding.  5.7.0 introduces an further improvement to capture similar patterns in 32-bit integer files generated by &amp;quot;naively converting from 32-bit float&amp;quot;.  That particular mode is disabled by default and is arguably best left to power users (invoking it with &amp;lt;code&amp;gt;--optimize-int32&amp;lt;/code&amp;gt;) as only 5.7.0 can decode as lossless; to earlier versions and players they will be presented as lossy without correction file (and will indeed be lossy with differences around -138 dB down). &lt;br /&gt;
&lt;br /&gt;
== Limitations ==&lt;br /&gt;
The following bullet item list is hardly of interest except for special purposes; WavPack supports nearly every input format that any competing codec handles. One exception is the legacy AU/SND, apparently supported only by Monkey&#039;s Audio. &lt;br /&gt;
* DSD: Will reject DST-compressed DSDIFF (which are already compressed heavier than WavPack does) and Wideband Single-bit Data files (apparently, the Tascam and Korg devices which can produce these, can also export to other DSD formats).&amp;lt;br/&amp;gt; Also, DSD files cannot be encoded as hybrid with correction files.&lt;br /&gt;
* 64-bit float is not supported.  (Apparently no other lossless audio compressor can support it either.)&lt;br /&gt;
* wvunpack can &#039;&#039;force output&#039;&#039; to a different format than input, and for AIFF/CAF also select endianness, but it cannot force output to different versions of big-endian AIFF (it will avoid AIFC as long as the signal can be fit in the original AIFF container) nor select between WAVE_FORMAT_PCM and WAVE_FORMAT_EXTENSIBLE.  Few other formats do allow for such output selection; reference FLAC can from 1.4.3 offer some wider choices than wvunpack can. &lt;br /&gt;
* Although all non-audio will be stored, &amp;lt;code&amp;gt;--import-id3&amp;lt;/code&amp;gt; can not &#039;&#039;import&#039;&#039; every type of ID3 tag to APEv2. (5.70 imports more tag types than previous versions, yet some users might want use use e.g. [[Mp3tag]] to copy over more tags from the original.) Also, unless &amp;lt;code&amp;gt;--allow-huge-tags&amp;lt;/code&amp;gt; is specified, size is limited to 1 MB; there is a possibility that larger tagsets might cause compatibility issues, although such are not known.&lt;br /&gt;
* Some file formats have features stored in file headers (like loop points, or for AIFF possibly non-integer sampling rates) which will not be &#039;&#039;visible&#039;&#039;  to the end-user when trying to play back the .wv file in a typical player. They are nevertheless available to certain audio editing software plugins, and will in any case be restored upon decoding.&lt;br /&gt;
* Some features are unsupported by several applications: in particular, support for correction files is only found in a few players. &lt;br /&gt;
* The most significant third-party implementation (ffmpeg as of version 6.1) has bugs waiting to be fixed. &lt;br /&gt;
&lt;br /&gt;
As of 5.5.0 and above, MacOS versions must be built with e.g. HomeBrew, and Windows XP is only supported through a special executable (available in version 5.6.0 at wavpack.com, upgrade from previous unofficial build posted at HA is strongly advised). &lt;br /&gt;
&lt;br /&gt;
WavPack version 5 discontinues some features, like compression to Windows .sfx self-extracting file (cf. OptimFROG) and the &amp;lt;code&amp;gt;-p&amp;lt;/code&amp;gt; feature.  Furthermore, WavPack version 3.x files are no longer supported.  If any such files are still around (WavPack 4 was released in 2004) they must be recompressed with the still available WavPack 4.80.  Then optionally one can recompress another time with WavPack 5.x to file format version 5 for the fast decoding-free error checking feature.  WavPack 3 files had the .wav extension, which explains why the error message &amp;quot;this legacy WavPack file is deprecated, use version 4.80.0 to transcode&amp;quot; shows up to a user who by mistake tries to wvunpack a WAVE file.&lt;br /&gt;
&lt;br /&gt;
WavPack has traditionally had less hardware support than FLAC ([[Rockbox]] having been the most notable platform, others listed at https://www.wavpack.com/index.html#Hardware ), but with WavPack playback through Android and iOS players, the distinction between &amp;quot;hardware&amp;quot; and &amp;quot;software&amp;quot; is arguably blurred. The Android OS does not &#039;&#039;natively&#039;&#039; support other lossless audio formats than WAVE and FLAC, so there have been issues getting certain Android solutions to recognize other media files including WavPack.&amp;lt;ref&amp;gt;[https://hydrogenaud.io/index.php/topic,122768 HA thread with link to Android bug report by the Monkey&#039;s Audio author]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Using WavPack =&lt;br /&gt;
WavPack files can be played back in supported players (see below), and several of these can also encode to WavPack, invoking the official tools.  However, there are situations where the appropriate WavPack features are accessible only through the WavPack executables directly.  For example, you cannot expect non-audio data (for full file restore) to be preserved when encoding/decoding through &#039;&#039;players&#039;&#039;, as they usually pass on only the audio.  Also, the input format might exceed the player&#039;s internal decoding; e.g. trying to convert 32-bit integer or DSD with foobar2000 will yield a warning that it will not be lossless (also, converting DSD to PCM leads to files many times the size, being inherently different formats).&lt;br /&gt;
&lt;br /&gt;
Unlike most other codecs, WavPack has separate encoding and decoding executables (wavpack and wvunpack).&lt;br /&gt;
&lt;br /&gt;
== Encoding/decoding by drag and drop (Windows) == &lt;br /&gt;
The simplest encoding/decoding might be &#039;&#039;dragging and dropping&#039;&#039; a (supported) file to wavpack.exe (/wvunpack.exe).  Then the file will be encoded/decoded with the default options.  Dropping a .wv file onto wavpack.exe will recompress it, prompting before overwrite (again, using default settings &amp;amp;ndash; possibly a bad deal if it was encoded with high &amp;lt;code&amp;gt;-x&amp;lt;/code&amp;gt; switches).  Drag and drop also works on a shortcut to the executable. It is not possible to drop a folder, but from version 5.5.0, there is a way to drag and drop &#039;&#039;several&#039;&#039; files.&lt;br /&gt;
&lt;br /&gt;
From version 5.5.0, drag and drop supports &#039;&#039;options&#039;&#039; by renaming the wavpack/wvunpack executable.  The user can rename a copy of the executable according to preferred settings, which will be applied to the process upon drag and drop.  The example given by the developer in [https://hydrogenaud.io/index.php/topic,122626.msg1012159.html#msg1012159 in this HA forum post]&amp;lt;ref&amp;gt;[https://hydrogenaud.io/index.php/topic,122626.msg1012159.html#msg1012159 HA forum post on how to rename executable for drag and drop]&amp;lt;/ref&amp;gt; uses encoding options that many WavPack users will recommend (better compression than default, verification and MD5 fingerprinting), and novice users can choose to copy that filename for the executable.  For fine-tuning performance or for more specialized tasks, more options are described below. &lt;br /&gt;
&lt;br /&gt;
== Basic command line encoding/decoding [[Windows_command_line_tips|(for Windows: command-line hints here)]] == &lt;br /&gt;
The basic &#039;&#039;encoding&#039;&#039; usage is &amp;lt;code&amp;gt;wavpack filename&amp;lt;/code&amp;gt; (which creates &amp;lt;code&amp;gt;filename.wv&amp;lt;/code&amp;gt;) &amp;amp;ndash; this is what drag and drop accomplishes.  Wildcards are supported, e.g. &amp;lt;code&amp;gt;wavpack *.wav&amp;lt;/code&amp;gt; (but not simply &amp;lt;code&amp;gt;wavpack *&amp;lt;/code&amp;gt;).  For a &#039;&#039;single&#039;&#039; input file, one can specify output like e.g. &amp;lt;code&amp;gt;wavpack infilename.wav -o outfilename.wv&amp;lt;/code&amp;gt; (on Windows, the &amp;lt;code&amp;gt;-o&amp;lt;/code&amp;gt; can be omitted).  Input file extension &amp;quot;.wav&amp;quot; can be dropped, and output &amp;quot;.wv&amp;quot; extension as well &amp;amp;ndash; but &amp;lt;code&amp;gt;wavpack foo&amp;lt;/code&amp;gt; will only find foo.wav, not e.g. foo.w64 &amp;amp;ndash; and not a &amp;quot;foo&amp;quot; with no file extension.  (Power users may take note that for &amp;lt;code&amp;gt;--raw-pcm&amp;lt;/code&amp;gt; input, the encoder will not look for foo.wav but rather for foo.raw.)&lt;br /&gt;
&lt;br /&gt;
The basic &#039;&#039;decoding&#039;&#039; usage &amp;amp;ndash; as will be accomplished by drag and drop &amp;amp;ndash; is &amp;lt;code&amp;gt;wvunpack filename.wv&amp;lt;/code&amp;gt;.  By default, wvunpack will restore the exact same file (metadata and file structure and all; it will know the original file name extension but not the rest of the file name &amp;amp;ndash; timestamp can be stored by using &amp;lt;code&amp;gt;-t&amp;lt;/code&amp;gt;.) If only audio was encoded (conversion from a &#039;&#039;player&#039;&#039; would usually work this way), output defaults to filename.wav.  Output filename can be specified, and just like for the wavpack encoder, file extensions can be dropped; e.g., &amp;lt;code&amp;gt;wvunpack foo -o bar&amp;lt;/code&amp;gt; (or on Windows, dropping the &amp;lt;code&amp;gt;-o&amp;lt;/code&amp;gt;) will decode foo.wv to bar.&amp;lt;original file&#039;s extension&amp;gt;.  This is arguably advisable: wvunpack will not &#039;&#039;override output format&#039;&#039; by setting file extension.  E.g. if the input was a CAF file, &amp;lt;code&amp;gt;wvunpack foo -o bar.w64&amp;lt;/code&amp;gt; is still a CAF file, and the user has only managed to mislead themselves.  To force output format, see the [[#Decoding options]] paragraph.  &lt;br /&gt;
&lt;br /&gt;
=== Several input files ===&lt;br /&gt;
To give several filenames as input to wavpack/wvunpack, other than through wildcards, there are (for historical reasons) slight differences between the Windows version and the *n*xes: &lt;br /&gt;
Windows (requires WavPack 5.5.0): use the &amp;lt;code&amp;gt;--drop&amp;lt;/code&amp;gt; option as in the above example given by the developer.  It is intended for drag and drop (hence the name of the option) and will write the output to same directory as source.  However it can also be used with command-line:  &amp;lt;code&amp;gt;wavpack --drop firstfile secondfile&amp;lt;/code&amp;gt; will compress firstfile.wav to firstfile.wv and secondfile.wav to secondfile.wv.  Note that without the &amp;lt;code&amp;gt;--drop&amp;lt;/code&amp;gt;, the command &amp;lt;code&amp;gt;wavpack firstfile secondfile&amp;lt;/code&amp;gt; will compress firstfile.wav to secondfile.wv, as &amp;lt;code&amp;gt;-o&amp;lt;/code&amp;gt; is optional on Windows &amp;amp;ndash; indeed that is why the &amp;lt;code&amp;gt;--drop&amp;lt;/code&amp;gt; had to be introduced.  An arbitrary number of files can be processed, e.g. &amp;lt;code&amp;gt;wvunpack --drop firstfile secondfile thirdfile fourthfile fifthfile&amp;lt;/code&amp;gt; will decode firstfile.wv, ..., fifthfile.wv.&lt;br /&gt;
For *n*x, one can omit the &amp;lt;code&amp;gt;--drop&amp;lt;/code&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
== Applying options ==&lt;br /&gt;
For tuning performance or other settings, one might want to apply command-line options.  Some external applications can apply options without the user having to type &amp;amp;ndash; e.g. encoding with [[foobar2000]], there are two compression sliders, one for the fast-to-extra-high and one for the &amp;lt;code&amp;gt;-x&amp;lt;/code&amp;gt; settings (see below) &amp;amp;ndash; but for command-line one will have to type them, and also in the Windows GUI.  Options can be concatenated for short, like for example writing &amp;lt;code&amp;gt;-hh -x2 -m -v -y&amp;lt;/code&amp;gt; as &amp;lt;code&amp;gt;-hhx2mvy&amp;lt;/code&amp;gt;.  &lt;br /&gt;
&lt;br /&gt;
The user should beware that the wavpack encoder and the wvunpack decoder (and wvtag/wvgain) have to &amp;quot;re-use letters&amp;quot;.  While some do the same in the wvunpack and wavpack (like &amp;lt;code&amp;gt;-d&amp;lt;/code&amp;gt; for delete input file, &amp;lt;code&amp;gt;-y&amp;lt;/code&amp;gt; for &amp;quot;yes to all&amp;quot;, &amp;lt;code&amp;gt;-t&amp;lt;/code&amp;gt; to preserve timestamp, and &amp;lt;code&amp;gt;-l&amp;lt;/code&amp;gt; for (Windows only) &amp;quot;run with low priority&amp;quot;) and others cover the same purpose in both executables (like &amp;lt;code&amp;gt;-m&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;-v&amp;lt;/code&amp;gt;), the user may be warned that certain letters do not.  E.g. &amp;lt;code&amp;gt;-b&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;-c&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;-n&amp;lt;/code&amp;gt; cover completely urelated functions upon decoding vs upon encoding.  &lt;br /&gt;
&lt;br /&gt;
5.7.0 introduces multi-threading options for both encoding and decoding, invoked with &amp;lt;code&amp;gt;--threads=&amp;lt;number 1 to 12&amp;gt;&amp;lt;/code&amp;gt;, or simply &amp;lt;code&amp;gt;--threads&amp;lt;/code&amp;gt; to let WavPack choose.  Multithreading does not reduce overall CPU load, but unless the CPU is already working at max, it will do one or a few files in fewer seconds; thus it is invoked by default for the CoolEdit plugin.  For encoding, it leads to slightly different filesizes. &lt;br /&gt;
&lt;br /&gt;
=== Encoding options (lossless) ===&lt;br /&gt;
Encoding using &amp;lt;code&amp;gt;-hxm&amp;lt;/code&amp;gt; seems a sensible trade-off between compression and CPU load.  Some selected options are described as follows; for an exhaustive refence, see the manual (online, or included as wavpack_doc.html in the distribution).&lt;br /&gt;
* Compression.  WavPack has four compression modes that affect compression as well as encoding &#039;&#039;and&#039;&#039; decoding time: fast (&amp;lt;code&amp;gt;-f&amp;lt;/code&amp;gt;), default, high (&amp;lt;code&amp;gt;-h&amp;lt;/code&amp;gt;) and very high (&amp;lt;code&amp;gt;-hh&amp;lt;/code&amp;gt;).  The CPU load of &amp;lt;code&amp;gt;-hh&amp;lt;/code&amp;gt; is measured to around twice that of &amp;lt;code&amp;gt;-f&amp;lt;/code&amp;gt; (and could in the early 2000s be too heavy for portable players, although it does decode faster than any Monkey&#039;s).  On top these modes, the optional extra processing &amp;lt;code&amp;gt;-x1&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;-x6&amp;lt;/code&amp;gt; settings will apply extra compression effort that does not increase &#039;&#039;decoding&#039;&#039; CPU load. &amp;lt;code&amp;gt;-x&amp;lt;/code&amp;gt; without number is synonymous to &amp;lt;code&amp;gt;-x1&amp;lt;/code&amp;gt;, which is often recommended (in all modes, fast/normal/high/extra high).  The official manual calls &amp;lt;code&amp;gt;-x4&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;-x6&amp;lt;/code&amp;gt; &amp;quot;extremely slow&amp;quot;, but the size gains might be significant for high resolution audio in particular (van Beurden&#039;s revision 5, testing &amp;lt;code&amp;gt;-x4&amp;lt;/code&amp;gt;).  &lt;br /&gt;
** 5.5.0 introduces optional switches for the default compression: &amp;lt;code&amp;gt;-g&amp;lt;/code&amp;gt; for normal mode and &amp;lt;code&amp;gt;-x0&amp;lt;/code&amp;gt; for &amp;quot;no &amp;lt;code&amp;gt;-x&amp;lt;/code&amp;gt;&amp;quot;.  These are redundant for basic use, but can be used to switch off options already given (e.g. in renamed executables, or custom builds): &amp;lt;code&amp;gt;-x6 -x0&amp;lt;/code&amp;gt; will switch off the extra processing, and &amp;lt;code&amp;gt;-h -f -g&amp;lt;/code&amp;gt; will encode as normal, whereas previous versions would abort with an error.&lt;br /&gt;
** With DSD files, there are only two compression settings, normal and high; the option &amp;lt;code&amp;gt;-f&amp;lt;/code&amp;gt; will select normal, &amp;lt;code&amp;gt;-h&amp;lt;/code&amp;gt;/&amp;lt;code&amp;gt;-hh&amp;lt;/code&amp;gt; will both select high, and the &amp;lt;code&amp;gt;-x&amp;lt;/code&amp;gt; switches are silently ignored. &lt;br /&gt;
* Guarding against errors upon encoding: The &amp;quot;&amp;lt;code&amp;gt;-m&amp;lt;/code&amp;gt;&amp;quot; switch will compute an audio MD5 sum (like FLAC does by default) and store it for later verification.  The &amp;quot;&amp;lt;code&amp;gt;-v&amp;lt;/code&amp;gt;&amp;quot; switch will verify by decoding the file after it has been written to disk&amp;lt;ref&amp;gt;[https://hydrogenaud.io/index.php?topic=121714.msg1008108#msg1008108 HA forum comment:] verification checks the written file after closing and reopening&amp;lt;/ref&amp;gt;. &amp;lt;code&amp;gt;-vm&amp;lt;/code&amp;gt; will do both &amp;amp;ndash; that is, calculate the MD5s to verify, and store it.  Using the corresponding switches in wvunpack will check without producing output file, however wvunpack also has a faster corruption check for WavPack 5-encoded files: &amp;lt;code&amp;gt;-vv&amp;lt;/code&amp;gt;.&lt;br /&gt;
* &amp;lt;code&amp;gt;--import-id3&amp;lt;/code&amp;gt; will import ID3v2.3 tags (currently not v2.4 nor v2.2) present in the source file &amp;amp;ndash; typically in Sony DSF files &amp;amp;ndash; and convert them to WavPack&#039;s preferred APE tags.  (It will still keep the chunk for restoring the original file.)  By default, importing is limited to 1 MB; for more, use &amp;lt;code&amp;gt;--allow-huge-tags&amp;lt;/code&amp;gt;.  Same option works in wvtag; indeed, one can encode first and then afterwards &amp;quot;import&amp;quot; the tags from the WavPack file using &amp;lt;code&amp;gt;wvtag --import-id3 wavpackfile.wv&amp;lt;/code&amp;gt;; this provided that these data have not been deleted by the following &amp;lt;code&amp;gt;-r&amp;lt;/code&amp;gt; option: &lt;br /&gt;
* &amp;lt;code&amp;gt;-r&amp;lt;/code&amp;gt;: remove non-audio chunks.  By default, WavPack will store these in the .wv file for later bit-by-bit restoration of everything, not only the audio. Use &amp;lt;code&amp;gt;-r&amp;lt;/code&amp;gt; to throw them away and encode audio only &amp;amp;ndash; like encoding through most players appear to do. &lt;br /&gt;
* &amp;lt;code&amp;gt;-t&amp;lt;/code&amp;gt;: copy input file&#039;s time stamp.  (To restore the file with the original time stamp, use &amp;lt;code&amp;gt;-t&amp;lt;/code&amp;gt; both when encoding and when decoding.)&lt;br /&gt;
* &amp;lt;code&amp;gt;--pause&amp;lt;/code&amp;gt;: (Windows only!) waits for keypress at the end.  Useful for reading output before exit when calling wavpack/wvunpack in a separate window (which both drag-and-drop the Windows front-end do).&lt;br /&gt;
* &amp;lt;code&amp;gt;-y&amp;lt;/code&amp;gt;: &amp;quot;yes&amp;quot; to everything.  Use with caution, will overwrite.  From 5.5.0 there is also a &amp;lt;code&amp;gt;--no-overwrite&amp;lt;/code&amp;gt; that will skip instead of asking to overwrite.&lt;br /&gt;
* &amp;lt;code&amp;gt;-d&amp;lt;/code&amp;gt;: delete source file upon successful completion.  Again, use with caution. &lt;br /&gt;
* &amp;lt;code&amp;gt;-l&amp;lt;/code&amp;gt; will force WavPack to run at low priority (Windows only)&lt;br /&gt;
* &amp;lt;code&amp;gt;-c&amp;lt;/code&amp;gt;: this is for hybrid lossless, see below. &lt;br /&gt;
&lt;br /&gt;
WavPack can recompress .wv files in place (using a temporary file until done).  For example, &amp;lt;code&amp;gt;wavpack -hx4mvy wavpackfile.wv&amp;lt;/code&amp;gt; will compress wavpackfile.wv in high mode using &amp;lt;code&amp;gt;-x4&amp;lt;/code&amp;gt; extra processing, writing everything (and an audio MD5 checksum) to a temporary file with tags transferred; close and then re-open the temp file to re-read for verification &amp;amp;ndash; and only once verified, replace the old wavpackfile.wv. &amp;lt;code&amp;gt;wavpack -hx4rlmvy wavpackfile.wv&amp;lt;/code&amp;gt; will also run with low priority (assuming the Windows platform), and will discard non-audio chunks &amp;amp;ndash; that is, the ones used to restore the original file&#039;s metadata; the .wv file&#039;s APE tags will still be copied.  Some operations do require recompression even if the user would not demand it; For example, wavpack cannot add MD5 sum to a .wv file without recompressing it. Also, if the user wants to discard the original file&#039;s headers/footers, that can be done upon decompression or recompression &amp;amp;ndash; but not by simply removing them from the .wv file. &lt;br /&gt;
&lt;br /&gt;
=== (Incomplete:) hybrid lossless &amp;amp; lossy encoding ===&lt;br /&gt;
(Needs to be expanded. Notes: DSD can currently not be hybrid-encoded and floating-point files should not be.  The correction file will be omitted by a lot of applications/players, including VLC, mplayer and ffmpeg; thus, using ffmpeg or ffmpeg-based players to convert/play hybrid-encoded WavPack will be lossy. For WavPack in Matroska, there doesn&#039;t seem to be any player that will play both the lossy stream and the correction stream, although mkvmerge/mkvextract will import/extract both streams. foobar2000 can play hybrid lossless .wv+.wvc, but will omit a Matroska-encapsulated correction stream.)&lt;br /&gt;
&lt;br /&gt;
Basic use: the &amp;lt;code&amp;gt;-b&amp;lt;/code&amp;gt; switch &amp;amp;ndash; and for losslessness, use &amp;lt;code&amp;gt;-c&amp;lt;/code&amp;gt; to create a correction file. &lt;br /&gt;
A numerical argument for quality is mandatory: if &amp;lt; 24 it will signify &#039;&#039;bits per sample&#039;&#039; and if &amp;gt; 24 it will signify &#039;&#039;kbit/second&#039;&#039;. Decimal separator is . even if your locale uses the comma. &lt;br /&gt;
For example, &amp;lt;code&amp;gt;wavpack -b12.5 filename&amp;lt;/code&amp;gt; will create filename.wv of bit rate 12.5 bits per sample.  &lt;br /&gt;
For an example that creates filename.wv at at most 234.56 kilobits per second and a correction file filename.wvc, the following commands will work:&lt;br /&gt;
* &amp;lt;code&amp;gt;wavpack -b234.56 -c filename&amp;lt;/code&amp;gt; or equivalently &amp;lt;code&amp;gt;wavpack -cb234.56 filename&amp;lt;/code&amp;gt;, will work in all versions.&lt;br /&gt;
* From 5.70, also &amp;lt;code&amp;gt;wavpack -c234.56 filename&amp;lt;/code&amp;gt; will do the same.  Thus, a user can avoid the &amp;quot;b&amp;quot; altogether, eliminating the risk of loss from forgetting the &amp;quot;c&amp;quot;. &lt;br /&gt;
More options can be added, like &amp;lt;code&amp;gt;wavpack -cb234.56 -mhx filename&amp;lt;/code&amp;gt; to compress in high mode with extra processing and stores the (&#039;&#039;original&#039;&#039; PCM&#039;s) MD5 sum.  &amp;lt;br/&amp;gt;&lt;br /&gt;
When filename.wv and filename.wvc are both present, decoding the usual way by &amp;lt;code&amp;gt;wvunpack filename&amp;lt;/code&amp;gt;, will restore the original file completely.  Playback of the .wv+.wvc is also lossless provided the player application supports correction files (like foobar2000). &amp;lt;br/&amp;gt;&lt;br /&gt;
filename.wv can be copied to a different location without compression file and played in the same way as if it was encoded as lossy in the first place; the decoder will only look in the same path and for same file name except with .wvc extension. &lt;br /&gt;
&lt;br /&gt;
If a high enough lossy quality is specified, it is possible that the file can losslessly contain the entire signal.  If so, WavPack will report at the end of the encoding process &amp;amp;ndash; but that information is not stored in the file.  It can be inferred later from the small .wvc file, and if that is lost: if &amp;lt;code&amp;gt;-m&amp;lt;/code&amp;gt; was used upon encoding.&amp;lt;br/&amp;gt;&lt;br /&gt;
WavPack will refuse to recompress lossy-generated .wv to &amp;quot;lossless .wv&amp;quot; as that would make a false pretense of being a lossless file.  (That goes even in the &amp;quot;that information is not stored in the file&amp;quot; case just mentioned.)  If a lossless hybrid with correction file is recompressed, the default is to create a single-file lossless .wv; from 5.7.0, the old .wvc file will then be removed (as it does no longer belong to any .wv file), but earlier version would need to use the delete switch.&lt;br /&gt;
&lt;br /&gt;
Advanced use: The encoder has several options to tune lossy quality through e.g. noise shaping. &lt;br /&gt;
&lt;br /&gt;
=== Decoding options ===&lt;br /&gt;
In addition to the basic usage above (drag and drop or &amp;lt;code&amp;gt;wvunpack filename.wv&amp;lt;/code&amp;gt;), the wvunpack executable offers several options.  For use with the Windows front-end or drag and drop, the Windows-only &amp;lt;code&amp;gt;--pause&amp;lt;/code&amp;gt; (waits for keypress at the end, like for wavpack.exe) is essential to read the output report.  Also Windows-only options like &amp;lt;code&amp;gt;--drop&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;-l&amp;lt;/code&amp;gt; work as for wavpack.exe, and so do &amp;lt;code&amp;gt;-d&amp;lt;/code&amp;gt; (use with caution!) and &amp;lt;code&amp;gt;-y&amp;lt;/code&amp;gt; (ditto!) as well as &amp;lt;code&amp;gt;-t&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
* Output &#039;&#039;filename&#039;&#039; can be set with &amp;lt;code&amp;gt;wvunpack infilename.wv -o outfilename &amp;lt;/code&amp;gt; (the &amp;lt;code&amp;gt;-o&amp;lt;/code&amp;gt; being superfluous on Windows, where &amp;amp;ndash; in the absence of &amp;lt;code&amp;gt;--drop&amp;lt;/code&amp;gt; &amp;amp;ndash; the second filename will be assumed to be output name).  Then wvunpack will affix the file extension of the original file (say, outfilename.wav if the wavpacked file was somefilename.wav).  The wavpack encoder detects the file type from content, and so wvunpack will not &amp;quot;fix misleading extensions&amp;quot; automatically; the user can provide a giving full output filename with extension, but note that this will override the &#039;&#039;name&#039;&#039; only but not the &#039;&#039;type&#039;&#039;.  To make sure that -o out.aif indeed produces an AIFF, separate switches have to be employed. &lt;br /&gt;
* To force output &#039;&#039;file format,&#039;&#039; one needs to apply options to wvunpack.  The following are for PCM output: &amp;lt;code&amp;gt;--raw-pcm&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;--wav&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;--w64&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;--caf-be&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;--caf-le&amp;lt;/code&amp;gt;, and from version 5.6.0 on also &amp;lt;code&amp;gt;--aif&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;--aif-le&amp;lt;/code&amp;gt;.  &lt;br /&gt;
** These will delete non-audio chunks and replace them with a fresh file header: there is no option to &amp;quot;unpack to WAVE and restore the original headers if the original file was WAVE&amp;quot;.   &amp;lt;code&amp;gt;wvunpack --wav&amp;lt;/code&amp;gt; will select RF64 if (and only if) exceeding WAVE&#039;s 4 GB limit, and wvunpack will select old AIFF over AIFF-C if the audio data permit it.&lt;br /&gt;
** For DSD, those format switches will also force a &amp;amp;ndash; necessarily lossy &amp;amp;ndash; conversion to PCM.  To switch losslessly &#039;&#039;between&#039;&#039; DSD formats, there are also &amp;lt;code&amp;gt;--dsf&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;--dff&amp;lt;/code&amp;gt; (the latter being synonymous to &amp;lt;code&amp;gt;--dsdiff&amp;lt;/code&amp;gt;) which again delete non-audio chunks.  Note that WavPack cannot force any (also necessarily lossy) conversion &#039;&#039;to&#039;&#039; DSD, having no DSD encoder.&lt;br /&gt;
** &amp;lt;code&amp;gt;--raw&amp;lt;/code&amp;gt; outputs both PCM and DSD as headerless streams (lossless for both; &amp;lt;code&amp;gt;-r&amp;lt;/code&amp;gt; is synonymous; beware that this is not precisely the same as the same letter switch upon encoding).&lt;br /&gt;
&lt;br /&gt;
In addition to decimating DSD for conversion to PCM, there are other options where power users can utilize certain &#039;&#039;lossy&#039;&#039; operations by wvunpack, e.g. normalizing floating-point files (recommended before conversion to integer), dropping correction files from hybrid encodes &amp;amp;ndash; and &amp;lt;code&amp;gt;--skip&amp;lt;/code&amp;gt; and/or &amp;lt;code&amp;gt;--until&amp;lt;/code&amp;gt; to decode only a segment of the file.  See the documentation.  &amp;lt;br/&amp;gt;&lt;br /&gt;
Other options include &amp;lt;code&amp;gt;-b&amp;lt;/code&amp;gt; to &amp;quot;blindly&amp;quot; decode until end disregarding errors and corruption (potentially useful to save as much as possible from a destroyed file).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;wvunpack -m&amp;lt;/code&amp;gt; will decode with MD5 sum calculation.  If the .wv file had an MD5 sum stored, it will also be displayed for comparison. However, &amp;lt;code&amp;gt;-m&amp;lt;/code&amp;gt; will not give an error if they don&#039;t match (and if the .wv is lossy without correction file, they won&#039;t: the MD5 stored is that of the original). &lt;br /&gt;
&lt;br /&gt;
wvunpack is also the utility to display information from .wv files even when it does not involve decoding or file output, see the next section.  Inter alia, &amp;lt;code&amp;gt; -s&amp;lt;/code&amp;gt; will correctly report the input file &#039;&#039;type&#039;&#039; even if it had a misleading extension (like a .wav extension disguising an AIFF file). &lt;br /&gt;
&lt;br /&gt;
=== Other file handling: verification / error checking, and other file info (incomplete) ===&lt;br /&gt;
wvunpack can get information about WavPack files without decoding to file: &lt;br /&gt;
* &amp;lt;code&amp;gt;-vv&amp;lt;/code&amp;gt;: Quick verify without decoding (WavPack 5 files only; from 5.5.0 there is also a more verbose &amp;lt;code&amp;gt;-vvv&amp;lt;/code&amp;gt;).  Quick verify seems to be unavailable outside the official wvunpack; other applications which verify will fall back to the next item, &amp;lt;code&amp;gt;-v&amp;lt;/code&amp;gt;. &lt;br /&gt;
* &amp;lt;code&amp;gt;-vm&amp;lt;/code&amp;gt;: Decode and verify, but not write output file.  The &amp;quot;m&amp;quot; will compute the the MD5 sum of the decoded PCM and output it along with the .wv file&#039;s stored MD5, if such was present.  Note that the user has to check manually that they match.  A user who never uses &amp;lt;code&amp;gt;-m&amp;lt;/code&amp;gt; upon encoding can safely drop the &amp;lt;code&amp;gt;-m&amp;lt;/code&amp;gt; from wvunpack too.  Note that absent the &amp;quot;v&amp;quot;, &amp;lt;code&amp;gt;wvunpack -m&amp;lt;/code&amp;gt; will write output file &amp;amp;ndash; and that &amp;lt;code&amp;gt;wvunpack -mvv&amp;lt;/code&amp;gt; is not allowed, as MD5 calculation requires decoding.&lt;br /&gt;
* &amp;lt;code&amp;gt;-s&amp;lt;/code&amp;gt;/&amp;lt;code&amp;gt;-ss&amp;lt;/code&amp;gt;: &amp;lt;code&amp;gt;-s&amp;lt;/code&amp;gt; displays summary of the file, &amp;lt;code&amp;gt;-ss&amp;lt;/code&amp;gt; a long summary including tags. Also there is &amp;lt;code&amp;gt;-f&amp;lt;/code&amp;gt; for parseable output, see documentation.&lt;br /&gt;
* &amp;lt;code&amp;gt;-x&amp;lt;/code&amp;gt; FIELD: Shows tag, e.g. &amp;lt;code&amp;gt; -x comment &amp;lt;/code&amp;gt; shows the &amp;lt;comment&amp;gt; field.  &amp;lt;code&amp;gt;-c&amp;lt;/code&amp;gt; is synonymous to &amp;lt;code&amp;gt; -x cuesheet&amp;lt;/code&amp;gt;.   Also &amp;lt;code&amp;gt; wvtag -x &amp;lt;/code&amp;gt; resp. &amp;lt;code&amp;gt; wvtag -c &amp;lt;/code&amp;gt; do the same thing.  &amp;lt;code&amp;gt;-xx&amp;lt;/code&amp;gt; (same option for wvtag) can output to file (use &amp;lt;code&amp;gt;-n&amp;lt;/code&amp;gt; to avoid decoding) &amp;amp;ndash see documentation.&lt;br /&gt;
&lt;br /&gt;
=== (To fill in:) Tagging (wvtag) and replaygain management (wvgain) ===&lt;br /&gt;
(... most of these options are available in HA&#039;s fave taggers/player? Except &amp;lt;code&amp;gt;wvtag --import-id3 wavpackfile.wv&amp;lt;/code&amp;gt; which reads and &amp;quot;imports&amp;quot; ID3 tag stored in wavpackfile.wv&#039;s non-audio chunks; this will overwrite existing APEv2. Can also be used with &amp;lt;code&amp;gt;--allow-huge-tags&amp;lt;/code&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Using WavPack with 3rd party tools (FFmpeg &amp;amp; more) =&lt;br /&gt;
&lt;br /&gt;
Some applications may behave slightly surprising.  FFmpeg has its own WavPack implementation and has a few known peculiarities, some which are expected to be fixed and others of unknown status.  As referenced above Android users may need to use the player application&#039;s folder to get WavPack files recognized.  The tl;dr are that as long as it plays, it plays &amp;amp;ndash; but to safeguard against loss of information (e.g. upon conversion), use the official tools.  In particular, hybrid lossless correction files are usually not honoured by 3rd party tools. (A player that does, foobar2000, uses the official WavPack libraries.)&lt;br /&gt;
&lt;br /&gt;
== Splitting WavPack files by cuesheet ==&lt;br /&gt;
WavPack is a format with good support for storing an album as one .wv file with embedded cuesheets, but splitting into tracks by way of cuesheets is not straightforward without external tools. Audio players like [[foobar2000]] which support cue sheets can also split upon conversion.  Other external applications that will do this splitting &amp;amp;ndash; also with more variations of the cue sheet format(s) supported &amp;amp;ndash; include&lt;br /&gt;
* [[CUETools]] can if it is CDDA (44.1 kHz 16-bit stereo), and can re-encode back to WavPack.  &lt;br /&gt;
* refalac can decode &amp;amp; split by cuesheets with the appropriate (official) WavPack library DLL file&amp;lt;ref&amp;gt;[https://github.com/nu774/qaac/wiki/refalac-usage refalac usage] includes how to split by cuesheet&amp;lt;/ref&amp;gt;, outputting WAVE or ALAC-in-MP4.&lt;br /&gt;
Both refalac, CUETools and foobar2000 use the official WavPack tools to for the decoding(/encoding). &lt;br /&gt;
&lt;br /&gt;
== FFmpeg&#039;s WavPack implementation: differences and quirks ==&lt;br /&gt;
FFmpeg can encode/decode to/from WavPack &amp;amp;ndash; which may be seen as attractive from how it also can transfer metadata in one go &amp;amp;ndash; but with some limitations and maybe unfamiliar behaviour.  &amp;lt;br/&amp;gt; FFmpeg has had some bugs which may cause audio corruption.  Although some fixes were applied with FFmpeg release 6.1, users might beware that players and converters that employ FFmpeg as a decoding engine may or may not update that quickly. &lt;br /&gt;
* [Still not fixed as of ffmpeg 6.1] Encoding, multi-channel only: Above 16 channels, when the WavPack 5 format is required, FFmpeg will still attempt encoding to WavPack but will produce non-compliant files &amp;amp;ndash; that ffmpeg itself might not be able to read.&amp;lt;br/&amp;gt;Official WavPack 5.7.0 can repair those files, at least the &amp;quot;known&amp;quot; defects. &lt;br /&gt;
* [Fixed in ffmpeg 6.1] Encoding, 8-bit PCM only: FFmpeg (up to 6.0) will produce broken files with static noise, no known way to recover. &lt;br /&gt;
* [Fixed in ffmpeg 6.1] Decoding, any format but rare: A bug FFmpeg&#039;s WavPack decoder, discovered in August 2022&amp;lt;ref&amp;gt;[https://hydrogenaud.io/index.php/topic,122810 HA forum thread on the ffmpeg bug in .wv decoding]&amp;lt;/ref&amp;gt;, will cause dropouts in certain files. The bug is &#039;&#039;&amp;quot;rare&amp;quot;&#039;&#039; in that no such file was discovered in several years.&lt;br /&gt;
&lt;br /&gt;
Further limitations in FFmpeg&#039;s implementation:&lt;br /&gt;
* No md5 sum and no verification &amp;amp;ndash; although it is possible for power users to set up a command-line to compute audio-only checksums of input, decode output to checksum and compare.  FFmpeg will also only write WavPack 4 files, hence no &#039;&#039;fast verification&#039;&#039; of the bitstream.  (FFmpeg can however decode WavPack 5 files, including DSD.)&lt;br /&gt;
* As a general rule &amp;amp;ndash; not specific to .wv &amp;amp;ndash; FFmpeg will &#039;&#039;not&#039;&#039; honour the input bit depth: for example when outputting WAVE/AIFF, it will default to 16 bits regardless of input bit depth.  This default behaviour is not lossless when input bit depth is &amp;gt; 16 bits, and could even induce clipping (with no warning!) if the source is a 32-bit float.  To force lossless decoding of 24-bit/32-bit files (WavPack/FLAC/ALAC/TAK/uncompressed) to WAVE/AIFF, the user must extract the bit depth information and specify the respective 24-bit/32-bit output format using ffmpeg&#039;s command-line syntax. &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;For an extreme example: &amp;lt;code&amp;gt;FFmpeg -i DSDfile.dsf outfile.wv&amp;lt;/code&amp;gt; will not store the DSD &amp;amp;ndash; rather it will convert to floating-point PCM which is then compressed, typically making for several times the file size, with no warning that it is lossy.&amp;lt;br/&amp;gt;&lt;br /&gt;
The tl;dr for users who do not have this at their fingertips, is to use other (= official!) decoders when losslessness is desired.&lt;br /&gt;
* Correction files ignored, leading to lossy playback/conversion of hybrid-encoded WavPack files with when ffmpeg or ffmpeg-based players are used. &lt;br /&gt;
* Loss of information that is not directly audio-related: FFmpeg has no ambition of preserving file structure and (R)IFF chunks, so you will not get the non-audio chunks of the files back when using ffmpeg to encode &amp;amp;ndash; however it &#039;&#039;will&#039;&#039; by default transfer metadata it supports. &lt;br /&gt;
* FFmpeg will sometimes &amp;amp;ndash; depending on input format &amp;amp;ndash; output 32-bit WavPack files and lose the information that the source was indeed only 24. Not all players support 32-bit files, and verifying that the operation (or an attempted downconversion to 24) was lossless is not straightforward as even fewer applications are willing to compare a 32-bit and a 24-bit file for differences. &amp;lt;br/&amp;gt;Also for files with bit depth not being 8/16/24/32 is lost; WAVE/AIFF/CAF can handle &amp;quot;17 bit&amp;quot; files by storing 24 and employing a flag to disregard the 7 LSBs, and ffmpeg will lose this flag even when encoding to / decoding from codecs which support it, WavPack and FLAC. &lt;br /&gt;
&lt;br /&gt;
FFmpeg&#039;s compression settings can be set with &amp;lt;code&amp;gt;-compression_level&amp;lt;/code&amp;gt; 0 to 8, which work different than the reference implementation. Like for ALAC compression, FFmpeg has chosen a default that prioritizes speed over size &amp;lt;ref&amp;gt;[https://hydrogenaud.io/index.php?topic=118278.msg976262#msg976262  HA forum comment comparing the compression presets]&amp;lt;/ref&amp;gt; &amp;amp;ndash; while on the other end, FFmpeg&#039;s WavPack encoder offers settings even slower than &amp;lt;code&amp;gt;-hhx6&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Software support (&amp;amp; hardware) =&lt;br /&gt;
With Android support and playback through ffmpeg, it might no longer be feasible to maintain a list of applications that can play WavPack files, and the following is  most certainly incomplete &amp;amp;ndash; as is the list at https://www.wavpack.com/#Software .  Also, the distinction between &amp;quot;hardware&amp;quot; and &amp;quot;software&amp;quot; support is not clear in the age of smart devices running Android, and the list at https://www.wavpack.com/#Hardware does not cover those.&lt;br /&gt;
&lt;br /&gt;
== Players ==&lt;br /&gt;
* [[foobar2000]] advanced freeware audio player plays/decodes WavPack out of the box on both Windows, MacOS, Android and iOS (Windows: supports encoding if wavpack.exe is installed, and redistributes the official wavpack.exe through its &amp;quot;Free encoder pack&amp;quot; addon for encoding.  With ReplayGain &amp;amp; cuesheets support.) Also [[Boom]] from the same author.&lt;br /&gt;
* [http://www.videolan.org/vlc/download-windows.html VLC] multiplatform media player&lt;br /&gt;
* [http://www.vuplayer.com/vuplayer.php VUPlayer] (official plugin, supports encoding)&lt;br /&gt;
* NullSoft [[Winamp]] (plugin with ReplayGain &amp;amp; Media Library support) and Winamp-compatible players&lt;br /&gt;
* [[Windows Media Player]] and other directshow-based players (MPC, TCMP, RadLight) (with [http://www.hydrogenaudio.org/forums/index.php?showtopic=103693 CoreWavPack] directshow filter)&lt;br /&gt;
* [http://cogosx.sourceforge.net/ Cog] Audio player for MacOS X.&lt;br /&gt;
* [https://wiki.jriver.com/index.php/WavPack JRiver Media Center]&lt;br /&gt;
* [[XMMS]] (with Kuniklo&#039;s plugin)&lt;br /&gt;
* [http://fondriest.frederic.free.fr/realisations/lamip/ LAMIP] (official plugin)&lt;br /&gt;
* [http://mpxplay.sourceforge.net/ MPXplay] for DOS!&lt;br /&gt;
* [http://aqualung.sourceforge.net/ Aqualung] for GNU/Linux&lt;br /&gt;
* Cowon [http://www.jetaudio.com/ JetAudio Player] and CD ripper&lt;br /&gt;
* [http://www.un4seen.com/ XMPlay] Plugin required (WavPack input plugin) and (bass library) to play &#039;wv&#039; files&lt;br /&gt;
&lt;br /&gt;
== Converters, CD rippers etc. ==&lt;br /&gt;
For conversion (of &#039;&#039;audio&#039;&#039; only), one can use several of the &#039;&#039;players&#039;&#039; listed above, like Cowon JetAudio, foobar2000 and VUplayer &amp;amp;ndash; although some with limitations in the audio pipeline, like for example DSD handling. &amp;lt;br/&amp;gt;&lt;br /&gt;
More software that support conversion to or from WavPack include:&lt;br /&gt;
* Custom [http://www.wavpack.com/WavPack_frontend.zip WavPack frontend] (by Speekenbrink) for Windows.&lt;br /&gt;
* [http://www.dbpoweramp.com/ dBpowerAMP] Music Converter CD ripper/writer / Audio Player / (official addon)&lt;br /&gt;
* [[fre:ac]] multi-platform CD ripper/converter&lt;br /&gt;
* [[Exact Audio Copy]] CD Ripper (guide at this wiki&amp;lt;ref&amp;gt;[[EAC_and_WavPack | HA Wiki: Configuring EAC and WavPack]]&amp;lt;/ref&amp;gt;)&lt;br /&gt;
* [http://www.nero.com/eng/ Nero]&lt;br /&gt;
* [http://cdexos.sourceforge.net CDex] CD ripper&lt;br /&gt;
* [https://download.cnet.com/Ease-Audio-Converter/3000-2140_4-10390634.html Ease Audio Converter] (Discontinued; shareware / NOT Freeware)&lt;br /&gt;
* [http://media.io/ Media.io Online Audio Converter]&lt;br /&gt;
* [http://www.logipole.com/index.html Konvertor]&lt;br /&gt;
* [http://cuetools.net CUETools] converter and AccurateRip/CTDB checker&lt;br /&gt;
* [https://github.com/nu774/qaac refalac] (user must copy the wavpackdll.dll file to the appropriate directory)&lt;br /&gt;
&lt;br /&gt;
== Taggers and audio info utilities ==&lt;br /&gt;
* [http://www.mp3tag.de/en/index.html Mp3tag] Universal Tag Editor&lt;br /&gt;
* [https://picard.musicbrainz.org/ MusicBrainz Picard] Tagger with audio identification &lt;br /&gt;
* [http://www.jtclipper.eu/thegodfather/ The GodFather] Tagger / Music manager&lt;br /&gt;
* [[Tag.exe|Case&#039;s Tag]] command line tagger&lt;br /&gt;
* [https://mediaarea.net/ MediaInfo]&lt;br /&gt;
* [http://mr-questionman.en.uptodown.com/windows Mr. QuestionMan]&lt;br /&gt;
&lt;br /&gt;
== Audio editors and other tools ==&lt;br /&gt;
* [[Audacity]] has WavPack support (using official libraries) from version 3.2.0 (2022)&amp;lt;ref&amp;gt;[https://github.com/audacity/audacity/releases/tag/Audacity-3.2.0 Audacity 3.2.0 release notes]&amp;lt;/ref&amp;gt;.&lt;br /&gt;
* [[Adobe Audition]] and Cool Edit (filter with 32-bit floats &amp;amp; extra info save support)&lt;br /&gt;
* [https://sourceforge.net/projects/sox/ SoX] can read and write WavPack files.  (Write: limited to &amp;lt;code&amp;gt;-hh&amp;lt;/code&amp;gt; compression, not file format version 5.)&lt;br /&gt;
* [http://www.bunkus.org/videotools/mkvtoolnix/ mkvtoolnix] &amp;amp;ndash; tool to multiplex streams in Matroska container files.&lt;br /&gt;
&#039;&#039;It&#039;s worth mentioning the [[Matroska]] guys decided to concentrate on WavPack as the lossless compressor of choice for their container. Quite an honor... :-)&#039;&#039;&lt;br /&gt;
* [https://support.pkware.com/display/PKSZLU/PKZIP+Toolkit+for+Windows PKWare]&#039;s .zip format compresses audio by WavPack since version 6.3.2 (2007).  Beware that there is no expectation that other decompression software handles these zip files; even if PKWare co-designed the format and PKZip was the original .zip implementation, their subsequent compression methods are outside the ISO/IEC standardized zip format specification. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Links =&lt;br /&gt;
* [http://www.wavpack.com/ Official website]&lt;br /&gt;
* [https://github.com/dbry/WavPack Github repository]&lt;br /&gt;
* [http://www.rarewares.org/lossless.html Unofficial compiles] at RareWares. As of 2023: 5.50 for Windows and 4.32 multiplatform&lt;br /&gt;
* [https://en.wikipedia.org/wiki/WavPack WavPack at Wikipedia]&lt;br /&gt;
* [https://wiki.multimedia.cx/index.php/WavPack WavPack at Multimediawiki] (not updated with version 5)&lt;br /&gt;
* [[Lossless_comparison| HA Wiki&#039;s Lossless Codec Comparison]] originally by [[User:Rjamorim|Rjamorim]] &lt;br /&gt;
* An older (2005) performance comparison of lossless audio compressors {{webarchive|https://web.archive.org/web/20151027213336/http://members.home.nl/w.speek/comparison.htm|2015-10-27}} by Speek, using WavPack version 4.0 &lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{navbox audio codecs}}&lt;br /&gt;
[[Category:Codecs]]&lt;br /&gt;
[[Category:Lossless]]&lt;/div&gt;</summary>
		<author><name>Porcuswiki</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=Sac&amp;diff=37746</id>
		<title>Sac</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=Sac&amp;diff=37746"/>
		<updated>2024-03-22T11:47:58Z</updated>

		<summary type="html">&lt;p&gt;Porcuswiki: Two sacs&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{stub}} &#039;&#039;&#039;Sac&#039;&#039;&#039; can refer to (at least) one out of two lesser-known audio [[codec|codecs]], which are not aimed at end-users.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Sac&#039;&#039;&#039; &amp;amp;ndash; also referred to as &#039;&#039;State-of-the-Art lossless compression&#039;&#039; &amp;amp;ndash; by Sebastian Lehmann&amp;lt;ref&amp;gt;https://github.com/slmdev/sac  Sebastian Lehmann&#039;s Sac at github&amp;lt;/ref&amp;gt;: a [[lossless]] (on given architecture&amp;lt;ref&amp;gt;https://github.com/slmdev/sac/issues/7  Github issue: losslessness not preserved across CPU architectures&amp;lt;/ref&amp;gt;) codec, described by the author as &#039;&#039;a lossless audio compression intended as a research project to find the limits on compression ratio&#039;&#039;&amp;lt;ref&amp;gt;https://encode.su/threads/1137-Sac-(State-of-the-Art)-Lossless-Audio-Compression  Lehmann&#039;s 2010 post at encode.su, updated&amp;lt;/ref&amp;gt;. It comes with source code and a Windows 64-bit executable. &amp;lt;br/&amp;gt;&lt;br /&gt;
Being a an experimental research project, it lacks pretty much all the features of an end-user codec (including playback support, see also the [[Lossless_comparison|HA Wiki&#039;s Lossless Codec Comparison]]).  Rather, Sac is dedicated to achieving smaller file size than any other lossless codec, at great expenses in computing power: Decoding might fall severely short of real-time speeds. The developer uses as benchmark [[OptimFROG]]&#039;s max preset, which in the 2023 edition of Martin van Beurden&#039;s lossless test&amp;lt;ref&amp;gt;http://www.audiograaf.nl/losslesstest/Lossless%20audio%20codec%20comparison%20-%20revision%206%20-%20cdda.html Martijn van Beurden&#039;s 2023 lossless comparison study&amp;lt;/ref&amp;gt; was measured to decode at 10x realtime speed on current hardware; cursory testing indicates that Sac (v0.5.1) is order of magnitude ten times as CPU intensive.  Independent comparison measured Sac does to smaller files size on average (but not all) material.&amp;lt;ref&amp;gt;http://www.squeezechart.com/audio.html  Squeezechart&#039;s comparison of (lossless) compressors&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Sac&#039;&#039;&#039; &amp;amp;ndash;  &#039;&#039;Simple Audio Compression&#039;&#039; &amp;amp;ndash; by Marcus Geelnard&amp;lt;ref&amp;gt;https://www.bitsnbites.eu/hiqh-quality-dpcm-attempts  Marcus Geelnard&#039;s 2014 blog post&amp;lt;/ref&amp;gt;: a simple codec for 4-bit and 8-bit DDPCM. Released as a library.&amp;lt;ref&amp;gt;https://gitlab.com/mbitsnbites/libsac  Marcus Geelnard&#039;s Sac at gitlab&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;References:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Codecs]]&lt;/div&gt;</summary>
		<author><name>Porcuswiki</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=WavPack&amp;diff=37722</id>
		<title>WavPack</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=WavPack&amp;diff=37722"/>
		<updated>2024-03-03T13:05:10Z</updated>

		<summary type="html">&lt;p&gt;Porcuswiki: 5.7.0 update&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Software Infobox&lt;br /&gt;
| name = WavPack&lt;br /&gt;
| logo = [[Image:Wavpacklogo.png|280px|Official WavPack logo]]&lt;br /&gt;
| screenshot =&lt;br /&gt;
| caption = Hybrid Lossless Audio Compression&lt;br /&gt;
| maintainer = David Bryant&lt;br /&gt;
| stable_release = 5.7.0 (2024-02-29)&lt;br /&gt;
| operating_system = Windows, MacOSX, Linux/BSD/Unix, ...&lt;br /&gt;
| use = Encoder/Decoder&lt;br /&gt;
| license = BSD license&lt;br /&gt;
| website = http://www.wavpack.com/&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;WavPack&#039;&#039;&#039; (pronounced &amp;quot;wave-pack&amp;quot;) is a [[lossless]] audio [[codec]], also offering optionally a [[hybrid codec| hybrid lossless/lossy]] mode.  It is distributed as a free open-source encoder/decoder with a library and a large number of tools, including a Windows GUI and a range of plugins for both audio players and other software.  Third party implementations are available, including ffmpeg.  WavPack supports and/or can be played back on a large number of platforms/OSes including mobile (Android, iOS), portable ([[Rockbox]]) and even web apps. &lt;br /&gt;
&lt;br /&gt;
WavPack is arguably the most feature-rich lossless compressor, supporting a unique range of audio signals including [https://en.wikipedia.org/wiki/Direct_Stream_Digital Direct-Stream Digital].  Everyday use is supported by a wide range of players and taggers, but conversion is likely safest done with applications that invoke the official tools (rather than e.g. ffmpeg&#039;s implementation) &amp;amp;ndash; and special features might require the user to apply the WavPack executable directly, for example with drag+drop, see the [[#Using WavPack]] section below.&lt;br /&gt;
&lt;br /&gt;
Performance-wise, WavPack defaults to a fast codec &amp;amp;ndash; less CPU intensive than [[ALAC]], but typically not as fast as [[FLAC]] or [[TAK]], especially in decoding CPU usage.&amp;lt;ref&amp;gt;[http://www.audiograaf.nl/losslesstest Martijn van Beurden: &amp;lt;em&amp;gt;Lossless audio codec comparison archive&amp;lt;/em&amp;gt;], all comparisons in this wiki article consistent with CDDA results up to revision 6, 2023, using WavPack 5.6.0.&amp;lt;/ref&amp;gt; In the age of low-power portable Rockbox-equipped players, WavPack could be seen as a reasonable middle ground between FLAC&#039;s low CPU footprint and long battery life, and the smaller files but more CPU-intensive [[Monkey&#039;s Audio]]&amp;lt;ref&amp;gt;[https://www.rockbox.org/wiki/CodecPerformanceComparison CodecPerformanceComparison] at the Rockbox wiki&amp;lt;/ref&amp;gt; &amp;amp;ndash; invoking WavPacks high mode and extra compression that would compress to smaller sizes than FLAC.&lt;br /&gt;
&lt;br /&gt;
WavPack has inspired other codecs&amp;lt;ref&amp;gt;Monkey&#039;s Audio historical FAQ {{webarchive|http://web.archive.org/web/20001017210206/http://www.monkeysaudio.com/faq.html|2000-10-17}}&amp;lt;/ref&amp;gt; and their features&amp;lt;ref&amp;gt;[http://losslessaudio.org/DualStream.php OptimFROG&#039;s &amp;quot;DualStream&amp;quot;] hybrid encoding &amp;amp;ndash; apparently WavPack coined this phrase&amp;lt;/ref&amp;gt;.  For more on WavPack, including on its history and technology, see the [https://en.wikipedia.org/wiki/WavPack Wikipedia entry].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Features =&lt;br /&gt;
For an end-user considering WavPack as audio format, its feature-richness might be the big selling point.  WavPack supports pretty much all the more common features noted at [[Lossless_comparison| HA Wiki&#039;s Lossless Codec Comparison]] as in the following first list, but several users might consider the more unique features listed under the subsequent headline.&lt;br /&gt;
&lt;br /&gt;
* Seekable and streaming playback.&lt;br /&gt;
* Error handling: upon playback, it will detect and report corrupted frames, mute to protect against static/noise output, and continue playback.  Since version 5, WavPack can also check for corruption without decoding, hence quicker than any decoding format.  Optional MD5 audio checksum can also be added upon encoding for file fingerprinting. &lt;br /&gt;
* High-resolution audio support (see next headline).&lt;br /&gt;
* Multichannel support: currently capped at 256 channels, supports [https://docs.microsoft.com/en-us/windows/win32/api/mmreg/ns-mmreg-waveformatextensible WAVEFORMATEXTENSIBLE] channel masks.&lt;br /&gt;
* Piping support for encoding, and support for RAW PCM input/output.&lt;br /&gt;
* Non-audio chunks (RIFF and similar) stored; by default, WavPack will not only encode/decode the audio losslessly, but store the non-audio chunks and restore them into a file bit-identical to the original.&lt;br /&gt;
* Tagging: APEv2. (ID3v1 is possible, but not advisable.) &lt;br /&gt;
* Cuesheet support. In practice, some applications handle &#039;&#039;embedded&#039;&#039; cuesheets better in WavPack than in some other formats.&lt;br /&gt;
* Unicode support.&lt;br /&gt;
* Can be used in the [[Matroska]] container. &lt;br /&gt;
* Windows GUI available.&lt;br /&gt;
* Multithreading (from version 5.7.0).&lt;br /&gt;
&lt;br /&gt;
WavPack also handles bit depths not divisible by 8, e.g. 20-bit audio (found on some DVDs).  &lt;br /&gt;
&lt;br /&gt;
== Special/unique features ==&lt;br /&gt;
Most of these features are shared with only a few if any notable codecs, or extend to signal types or file types others do not support (comparisons given).&lt;br /&gt;
* DSD support: can losslessly compress Philips DSDIFF and Sony DSF files (see &amp;quot;Using WavPack&amp;quot; below; no other end-user codec compresses DSD.) ID3v2.3 tags can be imported.  wvunpack can select between DSDIFF and DSF out (i.e. &#039;convert between the two&#039;).  wvunpack can also convert DSD to PCM, but not the other way around. (Lossy, as conversion between PCM and DSD necessarily is.)&lt;br /&gt;
* High-resolution support for bit depth 1-bit to 32-bit integer and sampling rates up to 2 GiHz in integer steps. (Officially, 1 GHz is supported &amp;amp;ndash; it is &#039;&#039;gigaherz&#039;&#039;, not MHz, the upper limit being in the UHF radio frequency band.  Monkey&#039;s Audio, OptimFROG and MPEG-4 ALS support the entire WAVE range up to 4 GiHz.) Can also compress files of &#039;&#039;non-integer sampling rates&#039;&#039; (AIFF/AIFC/CAF, as the WAVE format cannot contain such signals).   &lt;br /&gt;
* 32-bit &#039;&#039;floating-point&#039;&#039; supported &amp;amp;ndash; also including CoolEdit/Adobe Audition&#039;s own float format (use the &amp;lt;tt&amp;gt;-a&amp;lt;/tt&amp;gt; option only if the .wav was generated by CoolEdit/Audition).  (This line like OptimFROG.)&lt;br /&gt;
* As much as 256 channels currently supported (from version 5.5.0 on; [https://github.com/dbry/WavPack/issues/117 can be extended to the thousands] &amp;amp;ndash; more than any codec except MPEG-4 ALS (which is capped at 66536).) &lt;br /&gt;
* Hybrid lossy/lossless mode (can also be used as lossy &amp;amp;ndash; OptimFROG also has such a mode.)&lt;br /&gt;
* For LPCM it can read and output to WAVE (including the RF64 format extension used for large files and from 5.70 also BW64), to Sony&#039;s Wave64, AIFF/AIFC (both endiannesses) and CAF (ditto) &amp;amp;ndash; with full restore of also non-audio parts to bit-by-bit the original file in the original format.  (Monkey&#039;s/OptimFROG/TAK do the same to the input formats they support.)  Also WavPack can handle too large noncompliant &amp;quot;WAVE&amp;quot; files (by default, those will be restored to bit-identical the same as the flawed input file &amp;amp;ndash; optionally one can force output to compliant RF64/W64 files). &lt;br /&gt;
* Recompression: Can recompress .wv files in place, with tag transfer.  (Like FLAC on .flac files.)&lt;br /&gt;
* Drag and drop support: Dropping a file on to wavpack.exe/wvunpack.exe will encode/decode it to source directory. (Like FLAC.)  From 5.5.0, one can also apply options to drag and drop by renaming the executable, and drop several files.&lt;br /&gt;
&lt;br /&gt;
Like FLAC/TAK/OptimFROG, WavPack employs a &amp;quot;wasted bits&amp;quot; strategy to handle cases of &#039;&#039;n &amp;quot;actual bits of signal&amp;quot; zero-padded and stored as N bits&#039;&#039;; such signals can be found in certain DVDs, but also as &amp;quot;fake high resolution&amp;quot; where a 16-bit signal is merely put in a 24-bit file to look impressive.  WavPack handles more &amp;quot;fake high resolution&amp;quot; cases than just zero-padding.  5.7.0 introduces an further improvement to capture similar patterns in 32-bit integer files generated by &amp;quot;naively converting from 32-bit float&amp;quot;.  That particular mode is disabled by default and is arguably best left to power users (invoking it with &amp;lt;tt&amp;gt;--optimize-int32&amp;lt;/tt&amp;gt;) as only 5.7.0 can decode as lossless; to earlier versions and players they will be presented as lossy without correction file (and will indeed be lossy with differences around -138 dB down). &lt;br /&gt;
&lt;br /&gt;
== Limitations ==&lt;br /&gt;
The following bullet item list is hardly of interest except for special purposes; WavPack supports nearly every input format that any competing codec handles. One exception is the legacy AU/SND, apparently supported only by Monkey&#039;s Audio. &lt;br /&gt;
* DSD: Will reject DST-compressed DSDIFF (which are already compressed heavier than WavPack does) and Wideband Single-bit Data files (apparently, the Tascam and Korg devices which can produce these, can also export to other DSD formats).&amp;lt;br/&amp;gt; Also, DSD files cannot be encoded as hybrid with correction files.&lt;br /&gt;
* 64-bit float is not supported.  (Apparently no other lossless audio compressor can support it either.)&lt;br /&gt;
* wvunpack can &#039;&#039;force output&#039;&#039; to a different format than input, and for AIFF/CAF also select endianness, but it cannot force output to different versions of big-endian AIFF (it will avoid AIFC as long as the signal can be fit in the original AIFF container) nor select between WAVE_FORMAT_PCM and WAVE_FORMAT_EXTENSIBLE.  Few other formats do allow for such output selection; reference FLAC can from 1.4.3 offer some wider choices than wvunpack can. &lt;br /&gt;
* Although all non-audio will be stored, &amp;lt;tt&amp;gt;--import-id3&amp;lt;/tt&amp;gt; can not &#039;&#039;import&#039;&#039; every type of ID3 tag to APEv2. (5.70 imports more tag types than previous versions, yet some users might want use use e.g. [[Mp3tag]] to copy over more tags from the original.) Also, unless &amp;lt;tt&amp;gt;--allow-huge-tags&amp;lt;/tt&amp;gt; is specified, size is limited to 1 MB; there is a possibility that larger tagsets might cause compatibility issues, although such are not known.&lt;br /&gt;
* Some file formats have features stored in file headers (like loop points, or for AIFF possibly non-integer sampling rates) which will not be &#039;&#039;visible&#039;&#039;  to the end-user when trying to play back the .wv file in a typical player. They are nevertheless available to certain audio editing software plugins, and will in any case be restored upon decoding.&lt;br /&gt;
* Some features are unsupported by several applications: in particular, support for correction files is only found in a few players. &lt;br /&gt;
* The most significant third-party implementation (ffmpeg as of version 6.1) has bugs waiting to be fixed. &lt;br /&gt;
&lt;br /&gt;
As of 5.5.0 and above, MacOS versions must be built with e.g. HomeBrew, and Windows XP is only supported through a special executable (available in version 5.6.0 at wavpack.com, upgrade from previous unofficial build posted at HA is strongly advised). &lt;br /&gt;
&lt;br /&gt;
WavPack version 5 discontinues some features, like compression to Windows .sfx self-extracting file (cf. OptimFROG) and the &amp;lt;tt&amp;gt;-p&amp;lt;/tt&amp;gt; feature.  Furthermore, WavPack version 3.x files are no longer supported.  If any such files are still around (WavPack 4 was released in 2004) they must be recompressed with the still available WavPack 4.80.  Then optionally one can recompress another time with WavPack 5.x to file format version 5 for the fast decoding-free error checking feature.  WavPack 3 files had the .wav extension, which explains why the error message &amp;quot;this legacy WavPack file is deprecated, use version 4.80.0 to transcode&amp;quot; shows up to a user who by mistake tries to wvunpack a WAVE file.&lt;br /&gt;
&lt;br /&gt;
WavPack has traditionally had less hardware support than FLAC ([[Rockbox]] having been the most notable platform, others listed at https://www.wavpack.com/index.html#Hardware ), but with WavPack playback through Android and iOS players, the distinction between &amp;quot;hardware&amp;quot; and &amp;quot;software&amp;quot; is arguably blurred. The Android OS does not &#039;&#039;natively&#039;&#039; support other lossless audio formats than WAVE and FLAC, so there have been issues getting certain Android solutions to recognize other media files including WavPack.&amp;lt;ref&amp;gt;[https://hydrogenaud.io/index.php/topic,122768 HA thread with link to Android bug report by the Monkey&#039;s Audio author]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Using WavPack =&lt;br /&gt;
WavPack files can be played back in supported players (see below), and several of these can also encode to WavPack, invoking the official tools.  However, there are situations where the appropriate WavPack features are accessible only through the WavPack executables directly.  For example, you cannot expect non-audio data (for full file restore) to be preserved when encoding/decoding through &#039;&#039;players&#039;&#039;, as they usually pass on only the audio.  Also, the input format might exceed the player&#039;s internal decoding; e.g. trying to convert 32-bit integer or DSD with foobar2000 will yield a warning that it will not be lossless (also, converting DSD to PCM leads to files many times the size, being inherently different formats).&lt;br /&gt;
&lt;br /&gt;
Unlike most other codecs, WavPack has separate encoding and decoding executables (wavpack and wvunpack).&lt;br /&gt;
&lt;br /&gt;
== Encoding/decoding by drag and drop (Windows) == &lt;br /&gt;
The simplest encoding/decoding might be &#039;&#039;dragging and dropping&#039;&#039; a (supported) file to wavpack.exe (/wvunpack.exe).  Then the file will be encoded/decoded with the default options.  Dropping a .wv file onto wavpack.exe will recompress it, prompting before overwrite (again, using default settings &amp;amp;ndash; possibly a bad deal if it was encoded with high &amp;lt;tt&amp;gt;-x&amp;lt;/tt&amp;gt; switches).  Drag and drop also works on a shortcut to the executable. It is not possible to drop a folder, but from version 5.5.0, there is a way to drag and drop &#039;&#039;several&#039;&#039; files.&lt;br /&gt;
&lt;br /&gt;
From version 5.5.0, drag and drop supports &#039;&#039;options&#039;&#039; by renaming the wavpack/wvunpack executable.  The user can rename a copy of the executable according to preferred settings, which will be applied to the process upon drag and drop.  The example given by the developer in [https://hydrogenaud.io/index.php/topic,122626.msg1012159.html#msg1012159 in this HA forum post]&amp;lt;ref&amp;gt;[https://hydrogenaud.io/index.php/topic,122626.msg1012159.html#msg1012159 HA forum post on how to rename executable for drag and drop]&amp;lt;/ref&amp;gt; uses encoding options that many WavPack users will recommend (better compression than default, verification and MD5 fingerprinting), and novice users can choose to copy that filename for the executable.  For fine-tuning performance or for more specialized tasks, more options are described below. &lt;br /&gt;
&lt;br /&gt;
== Basic command line encoding/decoding [[Windows_command_line_tips|(for Windows: command-line hints here)]] == &lt;br /&gt;
The basic &#039;&#039;encoding&#039;&#039; usage is &amp;lt;tt&amp;gt;wavpack filename&amp;lt;/tt&amp;gt; (which creates &amp;lt;tt&amp;gt;filename.wv&amp;lt;/tt&amp;gt;) &amp;amp;ndash; this is what drag and drop accomplishes.  Wildcards are supported, e.g. &amp;lt;tt&amp;gt;wavpack *.wav&amp;lt;/tt&amp;gt; (but not simply &amp;lt;tt&amp;gt;wavpack *&amp;lt;/tt&amp;gt;).  For a &#039;&#039;single&#039;&#039; input file, one can specify output like e.g. &amp;lt;tt&amp;gt;wavpack infilename.wav -o outfilename.wv&amp;lt;/tt&amp;gt; (on Windows, the &amp;lt;tt&amp;gt;-o&amp;lt;/tt&amp;gt; can be omitted).  Input file extension &amp;quot;.wav&amp;quot; can be dropped, and output &amp;quot;.wv&amp;quot; extension as well &amp;amp;ndash; but &amp;lt;tt&amp;gt;wavpack foo&amp;lt;/tt&amp;gt; will only find foo.wav, not e.g. foo.w64 &amp;amp;ndash; and not a &amp;quot;foo&amp;quot; with no file extension.  (Power users may take note that for &amp;lt;tt&amp;gt;--raw-pcm&amp;lt;/tt&amp;gt; input, the encoder will not look for foo.wav but rather for foo.raw.)&lt;br /&gt;
&lt;br /&gt;
The basic &#039;&#039;decoding&#039;&#039; usage &amp;amp;ndash; as will be accomplished by drag and drop &amp;amp;ndash; is &amp;lt;tt&amp;gt;wvunpack filename.wv&amp;lt;/tt&amp;gt;.  By default, wvunpack will restore the exact same file (metadata and file structure and all; it will know the original file name extension but not the rest of the file name &amp;amp;ndash; timestamp can be stored by using &amp;lt;tt&amp;gt;-t&amp;lt;/tt&amp;gt;.) If only audio was encoded (conversion from a &#039;&#039;player&#039;&#039; would usually work this way), output defaults to filename.wav.  Output filename can be specified, and just like for the wavpack encoder, file extensions can be dropped; e.g., &amp;lt;tt&amp;gt;wvunpack foo -o bar&amp;lt;/tt&amp;gt; (or on Windows, dropping the &amp;lt;tt&amp;gt;-o&amp;lt;/tt&amp;gt;) will decode foo.wv to bar.&amp;lt;original file&#039;s extension&amp;gt;.  This is arguably advisable: wvunpack will not &#039;&#039;override output format&#039;&#039; by setting file extension.  E.g. if the input was a CAF file, &amp;lt;tt&amp;gt;wvunpack foo -o bar.w64&amp;lt;/tt&amp;gt; is still a CAF file, and the user has only managed to mislead themselves.  To force output format, see the [[#Decoding options]] paragraph.  &lt;br /&gt;
&lt;br /&gt;
=== Several input files ===&lt;br /&gt;
To give several filenames as input to wavpack/wvunpack, other than through wildcards, there are (for historical reasons) slight differences between the Windows version and the *n*xes: &lt;br /&gt;
Windows (requires WavPack 5.5.0): use the &amp;lt;tt&amp;gt;--drop&amp;lt;/tt&amp;gt; option as in the above example given by the developer.  It is intended for drag and drop (hence the name of the option) and will write the output to same directory as source.  However it can also be used with command-line:  &amp;lt;tt&amp;gt;wavpack --drop firstfile secondfile&amp;lt;/tt&amp;gt; will compress firstfile.wav to firstfile.wv and secondfile.wav to secondfile.wv.  Note that without the &amp;lt;tt&amp;gt;--drop&amp;lt;/tt&amp;gt;, the command &amp;lt;tt&amp;gt;wavpack firstfile secondfile&amp;lt;/tt&amp;gt; will compress firstfile.wav to secondfile.wv, as &amp;lt;tt&amp;gt;-o&amp;lt;/tt&amp;gt; is optional on Windows &amp;amp;ndash; indeed that is why the &amp;lt;tt&amp;gt;--drop&amp;lt;/tt&amp;gt; had to be introduced.  An arbitrary number of files can be processed, e.g. &amp;lt;tt&amp;gt;wvunpack --drop firstfile secondfile thirdfile fourthfile fifthfile&amp;lt;/tt&amp;gt; will decode firstfile.wv, ..., fifthfile.wv.&lt;br /&gt;
For *n*x, one can omit the &amp;lt;tt&amp;gt;--drop&amp;lt;/tt&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
== Applying options ==&lt;br /&gt;
For tuning performance or other settings, one might want to apply command-line options.  Some external applications can apply options without the user having to type &amp;amp;ndash; e.g. encoding with [[foobar2000]], there are two compression sliders, one for the fast-to-extra-high and one for the &amp;lt;tt&amp;gt;-x&amp;lt;/tt&amp;gt; settings (see below) &amp;amp;ndash; but for command-line one will have to type them, and also in the Windows GUI.  Options can be concatenated for short, like for example writing &amp;lt;tt&amp;gt;-hh -x2 -m -v -y&amp;lt;/tt&amp;gt; as &amp;lt;tt&amp;gt;-hhx2mvy&amp;lt;/tt&amp;gt;.  &lt;br /&gt;
&lt;br /&gt;
The user should beware that the wavpack encoder and the wvunpack decoder (and wvtag/wvgain) have to &amp;quot;re-use letters&amp;quot;.  While some do the same in the wvunpack and wavpack (like &amp;lt;tt&amp;gt;-d&amp;lt;/tt&amp;gt; for delete input file, &amp;lt;tt&amp;gt;-y&amp;lt;/tt&amp;gt; for &amp;quot;yes to all&amp;quot;, &amp;lt;tt&amp;gt;-t&amp;lt;/tt&amp;gt; to preserve timestamp, and &amp;lt;tt&amp;gt;-l&amp;lt;/tt&amp;gt; for (Windows only) &amp;quot;run with low priority&amp;quot;) and others cover the same purpose in both executables (like &amp;lt;tt&amp;gt;-m&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;-v&amp;lt;/tt&amp;gt;), the user may be warned that certain letters do not.  E.g. &amp;lt;tt&amp;gt;-b&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;-c&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;-n&amp;lt;/tt&amp;gt; cover completely urelated functions upon decoding vs upon encoding.  &lt;br /&gt;
&lt;br /&gt;
5.7.0 introduces multi-threading options for both encoding and decoding, invoked with &amp;lt;tt&amp;gt;--threads=&amp;lt;number 1 to 12&amp;gt;&amp;lt;/tt&amp;gt;, or simply &amp;lt;tt&amp;gt;--threads&amp;lt;/tt&amp;gt; to let WavPack choose.  Multithreading does not reduce overall CPU load, but unless the CPU is already working at max, it will do one or a few files in fewer seconds; thus it is invoked by default for the CoolEdit plugin.  For encoding, it leads to slightly different filesizes. &lt;br /&gt;
&lt;br /&gt;
=== Encoding options (lossless) ===&lt;br /&gt;
Encoding using &amp;lt;tt&amp;gt;-hxm&amp;lt;/tt&amp;gt; seems a sensible trade-off between compression and CPU load.  Some selected options are described as follows; for an exhaustive refence, see the manual (online, or included as wavpack_doc.html in the distribution).&lt;br /&gt;
* Compression.  WavPack has four compression modes that affect compression as well as encoding &#039;&#039;and&#039;&#039; decoding time: fast (&amp;lt;tt&amp;gt;-f&amp;lt;/tt&amp;gt;), default, high (&amp;lt;tt&amp;gt;-h&amp;lt;/tt&amp;gt;) and very high (&amp;lt;tt&amp;gt;-hh&amp;lt;/tt&amp;gt;).  The CPU load of &amp;lt;tt&amp;gt;-hh&amp;lt;/tt&amp;gt; is measured to around twice that of &amp;lt;tt&amp;gt;-f&amp;lt;/tt&amp;gt; (and could in the early 2000s be too heavy for portable players, although it does decode faster than any Monkey&#039;s).  On top these modes, the optional extra processing &amp;lt;tt&amp;gt;-x1&amp;lt;/tt&amp;gt; to &amp;lt;tt&amp;gt;-x6&amp;lt;/tt&amp;gt; settings will apply extra compression effort that does not increase &#039;&#039;decoding&#039;&#039; CPU load. &amp;lt;tt&amp;gt;-x&amp;lt;/tt&amp;gt; without number is synonymous to &amp;lt;tt&amp;gt;-x1&amp;lt;/tt&amp;gt;, which is often recommended (in all modes, fast/normal/high/extra high).  The official manual calls &amp;lt;tt&amp;gt;-x4&amp;lt;/tt&amp;gt; to &amp;lt;tt&amp;gt;-x6&amp;lt;/tt&amp;gt; &amp;quot;extremely slow&amp;quot;, but the size gains might be significant for high resolution audio in particular (van Beurden&#039;s revision 5, testing &amp;lt;tt&amp;gt;-x4&amp;lt;/tt&amp;gt;).  &lt;br /&gt;
** 5.5.0 introduces optional switches for the default compression: &amp;lt;tt&amp;gt;-g&amp;lt;/tt&amp;gt; for normal mode and &amp;lt;tt&amp;gt;-x0&amp;lt;/tt&amp;gt; for &amp;quot;no &amp;lt;tt&amp;gt;-x&amp;lt;/tt&amp;gt;&amp;quot;.  These are redundant for basic use, but can be used to switch off options already given (e.g. in renamed executables, or custom builds): &amp;lt;tt&amp;gt;-x6 -x0&amp;lt;/tt&amp;gt; will switch off the extra processing, and &amp;lt;tt&amp;gt;-h -f -g&amp;lt;/tt&amp;gt; will encode as normal, whereas previous versions would abort with an error.&lt;br /&gt;
** With DSD files, there are only two compression settings, normal and high; the option &amp;lt;tt&amp;gt;-f&amp;lt;/tt&amp;gt; will select normal, &amp;lt;tt&amp;gt;-h&amp;lt;/tt&amp;gt;/&amp;lt;tt&amp;gt;-hh&amp;lt;/tt&amp;gt; will both select high, and the &amp;lt;tt&amp;gt;-x&amp;lt;/tt&amp;gt; switches are silently ignored. &lt;br /&gt;
* Guarding against errors upon encoding: The &amp;quot;&amp;lt;tt&amp;gt;-m&amp;lt;/tt&amp;gt;&amp;quot; switch will compute an audio MD5 sum (like FLAC does by default) and store it for later verification.  The &amp;quot;&amp;lt;tt&amp;gt;-v&amp;lt;/tt&amp;gt;&amp;quot; switch will verify by decoding the file after it has been written to disk&amp;lt;ref&amp;gt;[https://hydrogenaud.io/index.php?topic=121714.msg1008108#msg1008108 HA forum comment:] verification checks the written file after closing and reopening&amp;lt;/ref&amp;gt;. &amp;lt;tt&amp;gt;-vm&amp;lt;/tt&amp;gt; will do both &amp;amp;ndash; that is, calculate the MD5s to verify, and store it.  Using the corresponding switches in wvunpack will check without producing output file, however wvunpack also has a faster corruption check for WavPack 5-encoded files: &amp;lt;tt&amp;gt;-vv&amp;lt;/tt&amp;gt;.&lt;br /&gt;
* &amp;lt;tt&amp;gt;--import-id3&amp;lt;/tt&amp;gt; will import ID3v2.3 tags (currently not v2.4 nor v2.2) present in the source file &amp;amp;ndash; typically in Sony DSF files &amp;amp;ndash; and convert them to WavPack&#039;s preferred APE tags.  (It will still keep the chunk for restoring the original file.)  By default, importing is limited to 1 MB; for more, use &amp;lt;tt&amp;gt;--allow-huge-tags&amp;lt;/tt&amp;gt;.  Same option works in wvtag; indeed, one can encode first and then afterwards &amp;quot;import&amp;quot; the tags from the WavPack file using &amp;lt;tt&amp;gt;wvtag --import-id3 wavpackfile.wv&amp;lt;/tt&amp;gt;; this provided that these data have not been deleted by the following &amp;lt;tt&amp;gt;-r&amp;lt;/tt&amp;gt; option: &lt;br /&gt;
* &amp;lt;tt&amp;gt;-r&amp;lt;/tt&amp;gt;: remove non-audio chunks.  By default, WavPack will store these in the .wv file for later bit-by-bit restoration of everything, not only the audio. Use &amp;lt;tt&amp;gt;-r&amp;lt;/tt&amp;gt; to throw them away and encode audio only &amp;amp;ndash; like encoding through most players appear to do. &lt;br /&gt;
* &amp;lt;tt&amp;gt;-t&amp;lt;/tt&amp;gt;: copy input file&#039;s time stamp.  (To restore the file with the original time stamp, use &amp;lt;tt&amp;gt;-t&amp;lt;/tt&amp;gt; both when encoding and when decoding.)&lt;br /&gt;
* &amp;lt;tt&amp;gt;--pause&amp;lt;/tt&amp;gt;: (Windows only!) waits for keypress at the end.  Useful for reading output before exit when calling wavpack/wvunpack in a separate window (which both drag-and-drop the Windows front-end do).&lt;br /&gt;
* &amp;lt;tt&amp;gt;-y&amp;lt;/tt&amp;gt;: &amp;quot;yes&amp;quot; to everything.  Use with caution, will overwrite.  From 5.5.0 there is also a &amp;lt;tt&amp;gt;--no-overwrite&amp;lt;/tt&amp;gt; that will skip instead of asking to overwrite.&lt;br /&gt;
* &amp;lt;tt&amp;gt;-d&amp;lt;/tt&amp;gt;: delete source file upon successful completion.  Again, use with caution. &lt;br /&gt;
* &amp;lt;tt&amp;gt;-l&amp;lt;/tt&amp;gt; will force WavPack to run at low priority (Windows only)&lt;br /&gt;
* &amp;lt;tt&amp;gt;-c&amp;lt;/tt&amp;gt;: this is for hybrid lossless, see below. &lt;br /&gt;
&lt;br /&gt;
WavPack can recompress .wv files in place (using a temporary file until done).  For example, &amp;lt;tt&amp;gt;wavpack -hx4mvy wavpackfile.wv&amp;lt;/tt&amp;gt; will compress wavpackfile.wv in high mode using &amp;lt;tt&amp;gt;-x4&amp;lt;/tt&amp;gt; extra processing, writing everything (and an audio MD5 checksum) to a temporary file with tags transferred; close and then re-open the temp file to re-read for verification &amp;amp;ndash; and only once verified, replace the old wavpackfile.wv. &amp;lt;tt&amp;gt;wavpack -hx4rlmvy wavpackfile.wv&amp;lt;/tt&amp;gt; will also run with low priority (assuming the Windows platform), and will discard non-audio chunks &amp;amp;ndash; that is, the ones used to restore the original file&#039;s metadata; the .wv file&#039;s APE tags will still be copied.  Some operations do require recompression even if the user would not demand it; For example, wavpack cannot add MD5 sum to a .wv file without recompressing it. Also, if the user wants to discard the original file&#039;s headers/footers, that can be done upon decompression or recompression &amp;amp;ndash; but not by simply removing them from the .wv file. &lt;br /&gt;
&lt;br /&gt;
=== (Incomplete:) hybrid lossless &amp;amp; lossy encoding ===&lt;br /&gt;
(Needs to be expanded. Notes: DSD can currently not be hybrid-encoded and floating-point files should not be.  The correction file will be omitted by a lot of applications/players, including VLC, mplayer and ffmpeg; thus, using ffmpeg or ffmpeg-based players to convert/play hybrid-encoded WavPack will be lossy. For WavPack in Matroska, there doesn&#039;t seem to be any player that will play both the lossy stream and the correction stream, although mkvmerge/mkvextract will import/extract both streams. foobar2000 can play hybrid lossless .wv+.wvc, but will omit a Matroska-encapsulated correction stream.)&lt;br /&gt;
&lt;br /&gt;
Basic use: the &amp;lt;tt&amp;gt;-b&amp;lt;/tt&amp;gt; switch &amp;amp;ndash; and for losslessness, use &amp;lt;tt&amp;gt;-c&amp;lt;/tt&amp;gt; to create a correction file. &lt;br /&gt;
A numerical argument for quality is mandatory: if &amp;lt; 24 it will signify &#039;&#039;bits per sample&#039;&#039; and if &amp;gt; 24 it will signify &#039;&#039;kbit/second&#039;&#039;. Decimal separator is . even if your locale uses the comma. &lt;br /&gt;
For example, &amp;lt;tt&amp;gt;wavpack -b12.5 filename&amp;lt;/tt&amp;gt; will create filename.wv of bit rate 12.5 bits per sample.  &lt;br /&gt;
For an example that creates filename.wv at at most 234.56 kilobits per second and a correction file filename.wvc, the following commands will work:&lt;br /&gt;
* &amp;lt;tt&amp;gt;wavpack -b234.56 -c filename&amp;lt;/tt&amp;gt; or equivalently &amp;lt;tt&amp;gt;wavpack -cb234.56 filename&amp;lt;/tt&amp;gt;, will work in all versions.&lt;br /&gt;
* From 5.70, also &amp;lt;tt&amp;gt;wavpack -c234.56 filename&amp;lt;/tt&amp;gt; will do the same.  Thus, a user can avoid the &amp;quot;b&amp;quot; altogether, eliminating the risk of loss from forgetting the &amp;quot;c&amp;quot;. &lt;br /&gt;
More options can be added, like &amp;lt;tt&amp;gt;wavpack -cb234.56 -mhx filename&amp;lt;/tt&amp;gt; to compress in high mode with extra processing and stores the (&#039;&#039;original&#039;&#039; PCM&#039;s) MD5 sum.  &amp;lt;br/&amp;gt;&lt;br /&gt;
When filename.wv and filename.wvc are both present, decoding the usual way by &amp;lt;tt&amp;gt;wvunpack filename&amp;lt;/tt&amp;gt;, will restore the original file completely.  Playback of the .wv+.wvc is also lossless provided the player application supports correction files (like foobar2000). &amp;lt;br/&amp;gt;&lt;br /&gt;
filename.wv can be copied to a different location without compression file and played in the same way as if it was encoded as lossy in the first place; the decoder will only look in the same path and for same file name except with .wvc extension. &lt;br /&gt;
&lt;br /&gt;
If a high enough lossy quality is specified, it is possible that the file can losslessly contain the entire signal.  If so, WavPack will report at the end of the encoding process &amp;amp;ndash; but that information is not stored in the file.  It can be inferred later from the small .wvc file, and if that is lost: if &amp;lt;tt&amp;gt;-m&amp;lt;/tt&amp;gt; was used upon encoding.&amp;lt;br/&amp;gt;&lt;br /&gt;
WavPack will refuse to recompress lossy-generated .wv to &amp;quot;lossless .wv&amp;quot; as that would make a false pretense of being a lossless file.  (That goes even in the &amp;quot;that information is not stored in the file&amp;quot; case just mentioned.)  If a lossless hybrid with correction file is recompressed, the default is to create a single-file lossless .wv; from 5.7.0, the old .wvc file will then be removed (as it does no longer belong to any .wv file), but earlier version would need to use the delete switch.&lt;br /&gt;
&lt;br /&gt;
Advanced use: The encoder has several options to tune lossy quality through e.g. noise shaping. &lt;br /&gt;
&lt;br /&gt;
=== Decoding options ===&lt;br /&gt;
In addition to the basic usage above (drag and drop or &amp;lt;tt&amp;gt;wvunpack filename.wv&amp;lt;/tt&amp;gt;), the wvunpack executable offers several options.  For use with the Windows front-end or drag and drop, the Windows-only &amp;lt;tt&amp;gt;--pause&amp;lt;/tt&amp;gt; (waits for keypress at the end, like for wavpack.exe) is essential to read the output report.  Also Windows-only options like &amp;lt;tt&amp;gt;--drop&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;-l&amp;lt;/tt&amp;gt; work as for wavpack.exe, and so do &amp;lt;tt&amp;gt;-d&amp;lt;/tt&amp;gt; (use with caution!) and &amp;lt;tt&amp;gt;-y&amp;lt;/tt&amp;gt; (ditto!) as well as &amp;lt;tt&amp;gt;-t&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
* Output &#039;&#039;filename&#039;&#039; can be set with &amp;lt;tt&amp;gt;wvunpack infilename.wv -o outfilename &amp;lt;/tt&amp;gt; (the &amp;lt;tt&amp;gt;-o&amp;lt;/tt&amp;gt; being superfluous on Windows, where &amp;amp;ndash; in the absence of &amp;lt;tt&amp;gt;--drop&amp;lt;/tt&amp;gt; &amp;amp;ndash; the second filename will be assumed to be output name).  Then wvunpack will affix the file extension of the original file (say, outfilename.wav if the wavpacked file was somefilename.wav).  The wavpack encoder detects the file type from content, and so wvunpack will not &amp;quot;fix misleading extensions&amp;quot; automatically; the user can provide a giving full output filename with extension, but note that this will override the &#039;&#039;name&#039;&#039; only but not the &#039;&#039;type&#039;&#039;.  To make sure that -o out.aif indeed produces an AIFF, separate switches have to be employed. &lt;br /&gt;
* To force output &#039;&#039;file format,&#039;&#039; one needs to apply options to wvunpack.  The following are for PCM output: &amp;lt;tt&amp;gt;--raw-pcm&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;--wav&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;--w64&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;--caf-be&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;--caf-le&amp;lt;/tt&amp;gt;, and from version 5.6.0 on also &amp;lt;tt&amp;gt;--aif&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;--aif-le&amp;lt;/tt&amp;gt;.  &lt;br /&gt;
** These will delete non-audio chunks and replace them with a fresh file header: there is no option to &amp;quot;unpack to WAVE and restore the original headers if the original file was WAVE&amp;quot;.   &amp;lt;tt&amp;gt;wvunpack --wav&amp;lt;/tt&amp;gt; will select RF64 if (and only if) exceeding WAVE&#039;s 4 GB limit, and wvunpack will select old AIFF over AIFF-C if the audio data permit it.&lt;br /&gt;
** For DSD, those format switches will also force a &amp;amp;ndash; necessarily lossy &amp;amp;ndash; conversion to PCM.  To switch losslessly &#039;&#039;between&#039;&#039; DSD formats, there are also &amp;lt;tt&amp;gt;--dsf&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;--dff&amp;lt;/tt&amp;gt; (the latter being synonymous to &amp;lt;tt&amp;gt;--dsdiff&amp;lt;/tt&amp;gt;) which again delete non-audio chunks.  Note that WavPack cannot force any (also necessarily lossy) conversion &#039;&#039;to&#039;&#039; DSD, having no DSD encoder.&lt;br /&gt;
** &amp;lt;tt&amp;gt;--raw&amp;lt;/tt&amp;gt; outputs both PCM and DSD as headerless streams (lossless for both; &amp;lt;tt&amp;gt;-r&amp;lt;/tt&amp;gt; is synonymous; beware that this is not precisely the same as the same letter switch upon encoding).&lt;br /&gt;
&lt;br /&gt;
In addition to decimating DSD for conversion to PCM, there are other options where power users can utilize certain &#039;&#039;lossy&#039;&#039; operations by wvunpack, e.g. normalizing floating-point files (recommended before conversion to integer), dropping correction files from hybrid encodes &amp;amp;ndash; and &amp;lt;tt&amp;gt;--skip&amp;lt;/tt&amp;gt; and/or &amp;lt;tt&amp;gt;--until&amp;lt;/tt&amp;gt; to decode only a segment of the file.  See the documentation.  &amp;lt;br/&amp;gt;&lt;br /&gt;
Other options include &amp;lt;tt&amp;gt;-b&amp;lt;/tt&amp;gt; to &amp;quot;blindly&amp;quot; decode until end disregarding errors and corruption (potentially useful to save as much as possible from a destroyed file).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;wvunpack -m&amp;lt;/tt&amp;gt; will decode with MD5 sum calculation.  If the .wv file had an MD5 sum stored, it will also be displayed for comparison. However, &amp;lt;tt&amp;gt;-m&amp;lt;/tt&amp;gt; will not give an error if they don&#039;t match (and if the .wv is lossy without correction file, they won&#039;t: the MD5 stored is that of the original). &lt;br /&gt;
&lt;br /&gt;
wvunpack is also the utility to display information from .wv files even when it does not involve decoding or file output, see the next section.  Inter alia, &amp;lt;tt&amp;gt; -s&amp;lt;/tt&amp;gt; will correctly report the input file &#039;&#039;type&#039;&#039; even if it had a misleading extension (like a .wav extension disguising an AIFF file). &lt;br /&gt;
&lt;br /&gt;
=== Other file handling: verification / error checking, and other file info (incomplete) ===&lt;br /&gt;
wvunpack can get information about WavPack files without decoding to file: &lt;br /&gt;
* &amp;lt;tt&amp;gt;-vv&amp;lt;/tt&amp;gt;: Quick verify without decoding (WavPack 5 files only; from 5.5.0 there is also a more verbose &amp;lt;tt&amp;gt;-vvv&amp;lt;/tt&amp;gt;).  Quick verify seems to be unavailable outside the official wvunpack; other applications which verify will fall back to the next item, &amp;lt;tt&amp;gt;-v&amp;lt;/tt&amp;gt;. &lt;br /&gt;
* &amp;lt;tt&amp;gt;-vm&amp;lt;/tt&amp;gt;: Decode and verify, but not write output file.  The &amp;quot;m&amp;quot; will compute the the MD5 sum of the decoded PCM and output it along with the .wv file&#039;s stored MD5, if such was present.  Note that the user has to check manually that they match.  A user who never uses &amp;lt;tt&amp;gt;-m&amp;lt;/tt&amp;gt; upon encoding can safely drop the &amp;lt;tt&amp;gt;-m&amp;lt;/tt&amp;gt; from wvunpack too.  Note that absent the &amp;quot;v&amp;quot;, &amp;lt;tt&amp;gt;wvunpack -m&amp;lt;/tt&amp;gt; will write output file &amp;amp;ndash; and that &amp;lt;tt&amp;gt;wvunpack -mvv&amp;lt;/tt&amp;gt; is not allowed, as MD5 calculation requires decoding.&lt;br /&gt;
* &amp;lt;tt&amp;gt;-s&amp;lt;/tt&amp;gt;/&amp;lt;tt&amp;gt;-ss&amp;lt;/tt&amp;gt;: &amp;lt;tt&amp;gt;-s&amp;lt;/tt&amp;gt; displays summary of the file, &amp;lt;tt&amp;gt;-ss&amp;lt;/tt&amp;gt; a long summary including tags. Also there is &amp;lt;tt&amp;gt;-f&amp;lt;/tt&amp;gt; for parseable output, see documentation.&lt;br /&gt;
* &amp;lt;tt&amp;gt;-x&amp;lt;/tt&amp;gt; FIELD: Shows tag, e.g. &amp;lt;tt&amp;gt; -x comment &amp;lt;/tt&amp;gt; shows the &amp;lt;comment&amp;gt; field.  &amp;lt;tt&amp;gt;-c&amp;lt;/tt&amp;gt; is synonymous to &amp;lt;tt&amp;gt; -x cuesheet&amp;lt;/tt&amp;gt;.   Also &amp;lt;tt&amp;gt; wvtag -x &amp;lt;/tt&amp;gt; resp. &amp;lt;tt&amp;gt; wvtag -c &amp;lt;/tt&amp;gt; do the same thing.  &amp;lt;tt&amp;gt;-xx&amp;lt;/tt&amp;gt; (same option for wvtag) can output to file (use &amp;lt;tt&amp;gt;-n&amp;lt;/tt&amp;gt; to avoid decoding) &amp;amp;ndash see documentation.&lt;br /&gt;
&lt;br /&gt;
=== (To fill in:) Tagging (wvtag) and replaygain management (wvgain) ===&lt;br /&gt;
(... most of these options are available in HA&#039;s fave taggers/player? Except &amp;lt;tt&amp;gt;wvtag --import-id3 wavpackfile.wv&amp;lt;/tt&amp;gt; which reads and &amp;quot;imports&amp;quot; ID3 tag stored in wavpackfile.wv&#039;s non-audio chunks; this will overwrite existing APEv2. Can also be used with &amp;lt;tt&amp;gt;--allow-huge-tags&amp;lt;/tt&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Using WavPack with 3rd party tools (FFmpeg &amp;amp; more) =&lt;br /&gt;
&lt;br /&gt;
Some applications may behave slightly surprising.  FFmpeg has its own WavPack implementation and has a few known peculiarities, some which are expected to be fixed and others of unknown status.  As referenced above Android users may need to use the player application&#039;s folder to get WavPack files recognized.  The tl;dr are that as long as it plays, it plays &amp;amp;ndash; but to safeguard against loss of information (e.g. upon conversion), use the official tools.  In particular, hybrid lossless correction files are usually not honoured by 3rd party tools. (A player that does, foobar2000, uses the official WavPack libraries.)&lt;br /&gt;
&lt;br /&gt;
== Splitting WavPack files by cuesheet ==&lt;br /&gt;
WavPack is a format with good support for storing an album as one .wv file with embedded cuesheets, but splitting into tracks by way of cuesheets is not straightforward without external tools. Audio players like [[foobar2000]] which support cue sheets can also split upon conversion.  Other external applications that will do this splitting &amp;amp;ndash; also with more variations of the cue sheet format(s) supported &amp;amp;ndash; include&lt;br /&gt;
* [[CUETools]] can if it is CDDA (44.1 kHz 16-bit stereo), and can re-encode back to WavPack.  &lt;br /&gt;
* refalac can decode &amp;amp; split by cuesheets with the appropriate (official) WavPack library DLL file&amp;lt;ref&amp;gt;[https://github.com/nu774/qaac/wiki/refalac-usage refalac usage] includes how to split by cuesheet&amp;lt;/ref&amp;gt;, outputting WAVE or ALAC-in-MP4.&lt;br /&gt;
Both refalac, CUETools and foobar2000 use the official WavPack tools to for the decoding(/encoding). &lt;br /&gt;
&lt;br /&gt;
== FFmpeg&#039;s WavPack implementation: differences and quirks ==&lt;br /&gt;
FFmpeg can encode/decode to/from WavPack &amp;amp;ndash; which may be seen as attractive from how it also can transfer metadata in one go &amp;amp;ndash; but with some limitations and maybe unfamiliar behaviour.  &amp;lt;br/&amp;gt; FFmpeg has had some bugs which may cause audio corruption.  Although some fixes were applied with FFmpeg release 6.1, users might beware that players and converters that employ FFmpeg as a decoding engine may or may not update that quickly. &lt;br /&gt;
* [Still not fixed as of ffmpeg 6.1] Encoding, multi-channel only: Above 16 channels, when the WavPack 5 format is required, FFmpeg will still attempt encoding to WavPack but will produce non-compliant files &amp;amp;ndash; that ffmpeg itself might not be able to read.&amp;lt;br/&amp;gt;Official WavPack 5.7.0 can repair those files, at least the &amp;quot;known&amp;quot; defects. &lt;br /&gt;
* [Fixed in ffmpeg 6.1] Encoding, 8-bit PCM only: FFmpeg (up to 6.0) will produce broken files with static noise, no known way to recover. &lt;br /&gt;
* [Fixed in ffmpeg 6.1] Decoding, any format but rare: A bug FFmpeg&#039;s WavPack decoder, discovered in August 2022&amp;lt;ref&amp;gt;[https://hydrogenaud.io/index.php/topic,122810 HA forum thread on the ffmpeg bug in .wv decoding]&amp;lt;/ref&amp;gt;, will cause dropouts in certain files. The bug is &#039;&#039;&amp;quot;rare&amp;quot;&#039;&#039; in that no such file was discovered in several years.&lt;br /&gt;
&lt;br /&gt;
Further limitations in FFmpeg&#039;s implementation:&lt;br /&gt;
* No md5 sum and no verification &amp;amp;ndash; although it is possible for power users to set up a command-line to compute audio-only checksums of input, decode output to checksum and compare.  FFmpeg will also only write WavPack 4 files, hence no &#039;&#039;fast verification&#039;&#039; of the bitstream.  (FFmpeg can however decode WavPack 5 files, including DSD.)&lt;br /&gt;
* As a general rule &amp;amp;ndash; not specific to .wv &amp;amp;ndash; FFmpeg will &#039;&#039;not&#039;&#039; honour the input bit depth: for example when outputting WAVE/AIFF, it will default to 16 bits regardless of input bit depth.  This default behaviour is not lossless when input bit depth is &amp;gt; 16 bits, and could even induce clipping (with no warning!) if the source is a 32-bit float.  To force lossless decoding of 24-bit/32-bit files (WavPack/FLAC/ALAC/TAK/uncompressed) to WAVE/AIFF, the user must extract the bit depth information and specify the respective 24-bit/32-bit output format using ffmpeg&#039;s command-line syntax. &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;For an extreme example: &amp;lt;tt&amp;gt;FFmpeg -i DSDfile.dsf outfile.wv&amp;lt;/tt&amp;gt; will not store the DSD &amp;amp;ndash; rather it will convert to floating-point PCM which is then compressed, typically making for several times the file size, with no warning that it is lossy.&amp;lt;br/&amp;gt;&lt;br /&gt;
The tl;dr for users who do not have this at their fingertips, is to use other (= official!) decoders when losslessness is desired.&lt;br /&gt;
* Correction files ignored, leading to lossy playback/conversion of hybrid-encoded WavPack files with when ffmpeg or ffmpeg-based players are used. &lt;br /&gt;
* Loss of information that is not directly audio-related: FFmpeg has no ambition of preserving file structure and (R)IFF chunks, so you will not get the non-audio chunks of the files back when using ffmpeg to encode &amp;amp;ndash; however it &#039;&#039;will&#039;&#039; by default transfer metadata it supports. &lt;br /&gt;
* FFmpeg will sometimes &amp;amp;ndash; depending on input format &amp;amp;ndash; output 32-bit WavPack files and lose the information that the source was indeed only 24. Not all players support 32-bit files, and verifying that the operation (or an attempted downconversion to 24) was lossless is not straightforward as even fewer applications are willing to compare a 32-bit and a 24-bit file for differences. &amp;lt;br/&amp;gt;Also for files with bit depth not being 8/16/24/32 is lost; WAVE/AIFF/CAF can handle &amp;quot;17 bit&amp;quot; files by storing 24 and employing a flag to disregard the 7 LSBs, and ffmpeg will lose this flag even when encoding to / decoding from codecs which support it, WavPack and FLAC. &lt;br /&gt;
&lt;br /&gt;
FFmpeg&#039;s compression settings can be set with &amp;lt;tt&amp;gt;-compression_level&amp;lt;/tt&amp;gt; 0 to 8, which work different than the reference implementation. Like for ALAC compression, FFmpeg has chosen a default that prioritizes speed over size &amp;lt;ref&amp;gt;[https://hydrogenaud.io/index.php?topic=118278.msg976262#msg976262  HA forum comment comparing the compression presets]&amp;lt;/ref&amp;gt; &amp;amp;ndash; while on the other end, FFmpeg&#039;s WavPack encoder offers settings even slower than &amp;lt;tt&amp;gt;-hhx6&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Software support (&amp;amp; hardware) =&lt;br /&gt;
With Android support and playback through ffmpeg, it might no longer be feasible to maintain a list of applications that can play WavPack files, and the following is  most certainly incomplete &amp;amp;ndash; as is the list at https://www.wavpack.com/#Software .  Also, the distinction between &amp;quot;hardware&amp;quot; and &amp;quot;software&amp;quot; support is not clear in the age of smart devices running Android, and the list at https://www.wavpack.com/#Hardware does not cover those.&lt;br /&gt;
&lt;br /&gt;
== Players ==&lt;br /&gt;
* [[foobar2000]] advanced freeware audio player plays/decodes WavPack out of the box on both Windows, MacOS, Android and iOS (Windows: supports encoding if wavpack.exe is installed, and redistributes the official wavpack.exe through its &amp;quot;Free encoder pack&amp;quot; addon for encoding.  With ReplayGain &amp;amp; cuesheets support.) Also [[Boom]] from the same author.&lt;br /&gt;
* [http://www.videolan.org/vlc/download-windows.html VLC] multiplatform media player&lt;br /&gt;
* [http://www.vuplayer.com/vuplayer.php VUPlayer] (official plugin, supports encoding)&lt;br /&gt;
* NullSoft [[Winamp]] (plugin with ReplayGain &amp;amp; Media Library support) and Winamp-compatible players&lt;br /&gt;
* [[Windows Media Player]] and other directshow-based players (MPC, TCMP, RadLight) (with [http://www.hydrogenaudio.org/forums/index.php?showtopic=103693 CoreWavPack] directshow filter)&lt;br /&gt;
* [http://cogosx.sourceforge.net/ Cog] Audio player for MacOS X.&lt;br /&gt;
* [https://wiki.jriver.com/index.php/WavPack JRiver Media Center]&lt;br /&gt;
* [[XMMS]] (with Kuniklo&#039;s plugin)&lt;br /&gt;
* [http://fondriest.frederic.free.fr/realisations/lamip/ LAMIP] (official plugin)&lt;br /&gt;
* [http://mpxplay.sourceforge.net/ MPXplay] for DOS!&lt;br /&gt;
* [http://aqualung.sourceforge.net/ Aqualung] for GNU/Linux&lt;br /&gt;
* Cowon [http://www.jetaudio.com/ JetAudio Player] and CD ripper&lt;br /&gt;
* [http://www.un4seen.com/ XMPlay] Plugin required (WavPack input plugin) and (bass library) to play &#039;wv&#039; files&lt;br /&gt;
&lt;br /&gt;
== Converters, CD rippers etc. ==&lt;br /&gt;
For conversion (of &#039;&#039;audio&#039;&#039; only), one can use several of the &#039;&#039;players&#039;&#039; listed above, like Cowon JetAudio, foobar2000 and VUplayer &amp;amp;ndash; although some with limitations in the audio pipeline, like for example DSD handling. &amp;lt;br/&amp;gt;&lt;br /&gt;
More software that support conversion to or from WavPack include:&lt;br /&gt;
* Custom [http://www.wavpack.com/WavPack_frontend.zip WavPack frontend] (by Speekenbrink) for Windows.&lt;br /&gt;
* [http://www.dbpoweramp.com/ dBpowerAMP] Music Converter CD ripper/writer / Audio Player / (official addon)&lt;br /&gt;
* [[fre:ac]] multi-platform CD ripper/converter&lt;br /&gt;
* [[Exact Audio Copy]] CD Ripper (guide at this wiki&amp;lt;ref&amp;gt;[[EAC_and_WavPack | HA Wiki: Configuring EAC and WavPack]]&amp;lt;/ref&amp;gt;)&lt;br /&gt;
* [http://www.nero.com/eng/ Nero]&lt;br /&gt;
* [http://cdexos.sourceforge.net CDex] CD ripper&lt;br /&gt;
* [https://download.cnet.com/Ease-Audio-Converter/3000-2140_4-10390634.html Ease Audio Converter] (Discontinued; shareware / NOT Freeware)&lt;br /&gt;
* [http://media.io/ Media.io Online Audio Converter]&lt;br /&gt;
* [http://www.logipole.com/index.html Konvertor]&lt;br /&gt;
* [http://cuetools.net CUETools] converter and AccurateRip/CTDB checker&lt;br /&gt;
* [https://github.com/nu774/qaac refalac] (user must copy the wavpackdll.dll file to the appropriate directory)&lt;br /&gt;
&lt;br /&gt;
== Taggers and audio info utilities ==&lt;br /&gt;
* [http://www.mp3tag.de/en/index.html Mp3tag] Universal Tag Editor&lt;br /&gt;
* [https://picard.musicbrainz.org/ MusicBrainz Picard] Tagger with audio identification &lt;br /&gt;
* [http://www.jtclipper.eu/thegodfather/ The GodFather] Tagger / Music manager&lt;br /&gt;
* [[Tag.exe|Case&#039;s Tag]] command line tagger&lt;br /&gt;
* [https://mediaarea.net/ MediaInfo]&lt;br /&gt;
* [http://mr-questionman.en.uptodown.com/windows Mr. QuestionMan]&lt;br /&gt;
&lt;br /&gt;
== Audio editors and other tools ==&lt;br /&gt;
* [[Audacity]] has WavPack support (using official libraries) from version 3.2.0 (2022)&amp;lt;ref&amp;gt;[https://github.com/audacity/audacity/releases/tag/Audacity-3.2.0 Audacity 3.2.0 release notes]&amp;lt;/ref&amp;gt;.&lt;br /&gt;
* [[Adobe Audition]] and Cool Edit (filter with 32-bit floats &amp;amp; extra info save support)&lt;br /&gt;
* [https://sourceforge.net/projects/sox/ SoX] can read and write WavPack files.  (Write: limited to &amp;lt;tt&amp;gt;-hh&amp;lt;/tt&amp;gt; compression, not file format version 5.)&lt;br /&gt;
* [http://www.bunkus.org/videotools/mkvtoolnix/ mkvtoolnix] &amp;amp;ndash; tool to multiplex streams in Matroska container files.&lt;br /&gt;
&#039;&#039;It&#039;s worth mentioning the [[Matroska]] guys decided to concentrate on WavPack as the lossless compressor of choice for their container. Quite an honor... :-)&#039;&#039;&lt;br /&gt;
* [https://support.pkware.com/display/PKSZLU/PKZIP+Toolkit+for+Windows PKWare]&#039;s .zip format compresses audio by WavPack since version 6.3.2 (2007).  Beware that there is no expectation that other decompression software handles these zip files; even if PKWare co-designed the format and PKZip was the original .zip implementation, their subsequent compression methods are outside the ISO/IEC standardized zip format specification. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Links =&lt;br /&gt;
* [http://www.wavpack.com/ Official website]&lt;br /&gt;
* [https://github.com/dbry/WavPack Github repository]&lt;br /&gt;
* [http://www.rarewares.org/lossless.html Unofficial compiles] at RareWares. As of 2023: 5.50 for Windows and 4.32 multiplatform&lt;br /&gt;
* [https://en.wikipedia.org/wiki/WavPack WavPack at Wikipedia]&lt;br /&gt;
* [https://wiki.multimedia.cx/index.php/WavPack WavPack at Multimediawiki] (not updated with version 5)&lt;br /&gt;
* [[Lossless_comparison| HA Wiki&#039;s Lossless Codec Comparison]] originally by [[User:Rjamorim|Rjamorim]] &lt;br /&gt;
* An older (2005) performance comparison of lossless audio compressors {{webarchive|https://web.archive.org/web/20151027213336/http://members.home.nl/w.speek/comparison.htm|2015-10-27}} by Speek, using WavPack version 4.0 &lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{navbox audio codecs}}&lt;br /&gt;
[[Category:Codecs]]&lt;br /&gt;
[[Category:Lossless]]&lt;/div&gt;</summary>
		<author><name>Porcuswiki</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=MPEG-4_ALS&amp;diff=37693</id>
		<title>MPEG-4 ALS</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=MPEG-4_ALS&amp;diff=37693"/>
		<updated>2024-02-09T21:41:41Z</updated>

		<summary type="html">&lt;p&gt;Porcuswiki: ffmpeg doesn&amp;#039;t do float.  And, why it doesn&amp;#039;t do -z: source was not available.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;MPEG-4 Audio Lossless Coding&#039;&#039;&#039; (&#039;&#039;&#039;MPEG-4 ALS&#039;&#039;&#039;) is a [[lossless]] audio [[codec]], developed to extend the [[MPEG-4]] Part 3 audio standard to allow lossless audio compression. First released in 2006, it is standardized as ISO/IEC 14496-3.  A reference encoder is available as an executable for Windows, with the most significant part of the codec also being released as source code compilable for Windows/Linux/Mac.  Its primary developer was Tilman Liebchen, then at the Technische Universität Berlin, and it was based on his earlier LPAC codec.&lt;br /&gt;
&lt;br /&gt;
The codec has not gained significant popularity and the reference encoder appears to be unmaintained since 2009. The current development team has however published several tests in (mainly) IEEE journals. &lt;br /&gt;
&lt;br /&gt;
== Features and performance ==&lt;br /&gt;
The format supports both integer and 32-bit floating-point PCM, arbitrary sample rates and multi-channel (up to 65536, higher than any widespread lossless codec).  The reference encoder can enforce an MPEG-4 audio profile, but also provides for several parameters and two encoding modes. It can output the encoded stream in an MP4 container, or as .als files. By default it compresses files for full restore (not only lossless audio, but also recreating the original file bit by bit with the same metadata and structure) of WAVE and big-endian AIFF files.&lt;br /&gt;
&lt;br /&gt;
In [http://audiograaf.nl/downloads.html Martijn van Beurden&#039;s lossless performance test], the reference encoder (at default setting) did perform like other popular codecs (comparable to WavPack&#039;s -hx setting at CDDA). The higher compression settings could encode very slowly, but can make for certain size gains on non-CDDA sources.  According to the README file, the &amp;quot;ALS reference software is not optimized, particularly not in terms of encoder speed.&amp;quot; &lt;br /&gt;
&lt;br /&gt;
== Software support ==&lt;br /&gt;
The Windows executable can be integrated in e.g. [[Exact Audio Copy]] (instructions on the codec&#039;s website) or [[foobar2000]]. When used in an MP4 container, tagging is possible. &lt;br /&gt;
&lt;br /&gt;
[[ffmpeg]] can decode MPEG-4 ALS files, fixed-point only, and only in the default encoding mode, which is the one documented with source.  Unsupported are floating-point files, and the -z mode which was not published as source in the reference encoder/decoder.&lt;br /&gt;
&lt;br /&gt;
There are currently no known hardware players supporting it. &lt;br /&gt;
&lt;br /&gt;
== Predecessors: LPAC and LTAC ==&lt;br /&gt;
MPEG-4 ALS was based on Liebchen&#039;s earlier &#039;&#039;Lossless Predictive Audio Compression&#039;&#039; (&#039;&#039;LPAC&#039;&#039;) codec, which in turn succeeded his &#039;&#039;LTAC&#039;&#039; codec.  Thus, LPAC development was frozen in 2003 in favour of MPEG-4 ALS development. &lt;br /&gt;
&lt;br /&gt;
LPAC was at some point relatively popular among lossless formats, as an encoder/decoder was available free of charge (for noncommercial purposes, and closed-source) for Windows, Linux and Solaris, along with a library that made integration of LPAC encoding and decoding into other applications relatively easy.  Also for LPAC, the website offered instructions for [[Exact Audio Copy]] integration.  Furthermore, LPAC was also much more efficient and featureful than the major lossless audio format of the 1990s, [[Shorten]].&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* [https://en.wikipedia.org/wiki/Audio_Lossless_Coding Wikipedia entry]&lt;br /&gt;
* [https://www.nue.tu-berlin.de/menue/forschung/forschungsgebiete/datenkompression_und_uebertragung/mpeg_4_audio_lossless_coding_als/parameter/en/ MPEG-4 ALS website with source/executable download]&lt;br /&gt;
* [http://www.nue.tu-berlin.de/menue/mitarbeiter/ehemalige_mitarbeiter/tilman_liebchen/lpac_-_lossless_audio_codec_for_windows_and_linux/ LPAC website]&lt;br /&gt;
* [https://www.nue.tu-berlin.de/fileadmin/fg97/03_Team/Liebchen/LPAC/lpacarc.html Further description of the LPAC algorithm]&lt;br /&gt;
* [https://www.rarewares.org/rrw/lpac.php LTAC/LPAC at ReallyRareWares]&lt;br /&gt;
* [http://audiograaf.nl/downloads.html Martijn van Beurden&#039;s lossless performance tests (revision 4 for comparison to WavPack -hx, revisions 5 and 6 for non-CDDA)]&lt;br /&gt;
* [[Lossless_comparison|HA Wiki&#039;s Lossless Codec Comparison]] originally by [[User:Rjamorim|Rjamorim]]&lt;br /&gt;
&lt;br /&gt;
{{navbox audio codecs}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Codecs]]&lt;/div&gt;</summary>
		<author><name>Porcuswiki</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=Windows_Media_Audio&amp;diff=37692</id>
		<title>Windows Media Audio</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=Windows_Media_Audio&amp;diff=37692"/>
		<updated>2024-02-09T21:03:57Z</updated>

		<summary type="html">&lt;p&gt;Porcuswiki: A linebreak too many&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Windows Media Audio&#039;&#039;&#039; (&#039;&#039;&#039;WMA&#039;&#039;&#039;) are Microsoft&#039;s compressed audio formats; &amp;quot;WMA&amp;quot; is a generic name for several [[codec|codecs]].  .wma &#039;&#039;files&#039;&#039; (and .wmv files) are [[ASF]] container files with a suffix indicating content, much like would later be done by renaming audio-only mp4 files into &amp;quot;.m4a&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
Use of these codecs largely depend on Windows components, and support has waned over the years to the point where they might be considered abandonware: by 2011, Microsoft&#039;s own music store abandoned WMA lossy completely in favour of MP3&amp;lt;ref&amp;gt;https://support.microsoft.com/en-us/topic/support-for-rights-managed-purchases-in-zune-69161d07-acae-1fdf-f98f-e0916758e49b&amp;lt;/ref&amp;gt;, and certain Windows versions have been shipped with broken WMA Lossless decoding.&amp;lt;ref&amp;gt;https://hydrogenaud.io/index.php?topic=121732&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;https://forum.dbpoweramp.com/showthread.php?39459-WMA-Lossless-Encoder-is-BROKEN&amp;lt;/ref&amp;gt;. As of 2024, there is only one major music store offering WMA downloads&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Comparison_of_digital_music_stores&amp;lt;/ref&amp;gt; (Qobuz, offering both lossy and lossless WMA&amp;lt;ref&amp;gt;https://help.qobuz.com/en/articles/10167-what-are-the-different-audio-formats-available-for-download&amp;lt;/ref&amp;gt;). &lt;br /&gt;
&lt;br /&gt;
Hardware WMA-enabled players are still around &amp;amp;ndash; including in-car units; anectodally, several hardware &amp;quot;WMA&amp;quot; players fail to support WMA Lossless, and support for the &amp;quot;Pro&amp;quot; variant is unknown.   FFmpeg offers decoding of all the format variants described on this page, and so ffmpeg-based players should be able to handle them. &lt;br /&gt;
&lt;br /&gt;
== Windows Media Audio (Standard)  ==&lt;br /&gt;
The original WMA codec, later referred to as WMA Standard or WMA Std, was created by Microsoft to compete against [[MP3]], the market leading format for lossy compression.  It was released in 1999, and an upgrade later the same year; those are sometimes referred to as WMA 1 and WMA 2.&lt;br /&gt;
&lt;br /&gt;
Upon release, WMA was aggressively pushed by Microsoft with promises of MP3 quality at half the bitrate, a claim debunked by independent listening tests&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Codec_listening_test#Results&amp;lt;/ref&amp;gt;.  WMA did become widespread; at one point in time it was the second-most widespread lossy format for end-users.&lt;br /&gt;
&lt;br /&gt;
== Windows Media Audio Professional ==&lt;br /&gt;
Windows Media Audio Professional (WMA Pro) was an early 2000s further development to address limitations in WMA Standard. It supports [[multichannel]] encoding and high resolutions (24bit, high [[sampling rate]]s).  Improving over WMA standard, WMA Pro scored as statistically tied with top encoders in independent listening tests at the time (without lending credibility to Microsoft&#039;s claim of MP3 quality at half bitrate).  Supporting multichannel, it was at some time seen as a potential competition to [[DTS]].&lt;br /&gt;
&lt;br /&gt;
Like WMA Standard, WMA Pro also came in revised versions: WMA Pro 10 offers an additional layer atop the original WMA Pro 9, information that will be lost on a &amp;quot;WMA 9&amp;quot; player. &lt;br /&gt;
&lt;br /&gt;
== Windows Media Audio Lossless ==&lt;br /&gt;
This is the mathematically [[lossless]] codec in the Windows Media family, first released in 2003 (and like WMA Standard and WMA Pro, the format has later been extended). Compression efficiency-wise, it doesn&#039;t come close to the default settings of [[FLAC]], [[WavPack]], [[Monkey&#039;s Audio]] and [[ALAC]], see [[Lossless comparison]] for more details. [https://hydrogenaud.io/index.php?topic=117275.0 Several releases of Windows 10 had faulty decoders built-in] and, lacking a specification, few independent implementations exist and [https://hydrogenaud.io/index.php?topic=121732 decoding is not always lossless]. &lt;br /&gt;
&lt;br /&gt;
== Windows Media Audio Voice ==&lt;br /&gt;
This codec, introduced with Windows Media 9, was used in the Microsoft telephones. It was considered to deliver very acceptable voice quality at bitrates around 4 and 20 kbps.  It would allow switching over to the WMA Standard algorithm for signals with both voice and music, and Microsoft&#039;s encoder could detect music and switch over automatically.&lt;br /&gt;
&lt;br /&gt;
== Additional Reading ==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
* [https://learn.microsoft.com/en-us/windows/win32/medfound/windows-media-codecs Description of Windows Media codecs] (including Windows Media Video codecs) at Microsoft&lt;br /&gt;
* [[Lossless_comparison|HA Wiki&#039;s Lossless Codec Comparison]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{navbox audio codecs}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Codecs]]&lt;/div&gt;</summary>
		<author><name>Porcuswiki</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=Windows_Media_Audio&amp;diff=37691</id>
		<title>Windows Media Audio</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=Windows_Media_Audio&amp;diff=37691"/>
		<updated>2024-02-09T21:03:39Z</updated>

		<summary type="html">&lt;p&gt;Porcuswiki: microsoft.com source, and some faulty information fixed. And, apparently Qobuz offers WMAL in 2024 (!)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Windows Media Audio&#039;&#039;&#039; (&#039;&#039;&#039;WMA&#039;&#039;&#039;) are Microsoft&#039;s compressed audio formats; &amp;quot;WMA&amp;quot; is a generic name for several [[codec|codecs]].  .wma &#039;&#039;files&#039;&#039; (and .wmv files) are [[ASF]] container files with a suffix indicating content, much like would later be done by renaming audio-only mp4 files into &amp;quot;.m4a&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
Use of these codecs largely depend on Windows components, and support has waned over the years to the point where they might be considered abandonware: by 2011, Microsoft&#039;s own music store abandoned WMA lossy completely in favour of MP3&amp;lt;ref&amp;gt;https://support.microsoft.com/en-us/topic/support-for-rights-managed-purchases-in-zune-69161d07-acae-1fdf-f98f-e0916758e49b&amp;lt;/ref&amp;gt;, and certain Windows versions have been shipped with broken WMA Lossless decoding.&amp;lt;ref&amp;gt;https://hydrogenaud.io/index.php?topic=121732&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;https://forum.dbpoweramp.com/showthread.php?39459-WMA-Lossless-Encoder-is-BROKEN&amp;lt;/ref&amp;gt;. As of 2024, there is only one major music store offering WMA downloads&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Comparison_of_digital_music_stores&amp;lt;/ref&amp;gt; (Qobuz, offering both lossy and lossless WMA&amp;lt;ref&amp;gt;https://help.qobuz.com/en/articles/10167-what-are-the-different-audio-formats-available-for-download&amp;lt;/ref&amp;gt;). &lt;br /&gt;
&lt;br /&gt;
Hardware WMA-enabled players are still around &amp;amp;ndash; including in-car units; anectodally, several hardware &amp;quot;WMA&amp;quot; players fail to support WMA Lossless, and support for the &amp;quot;Pro&amp;quot; variant is unknown.   FFmpeg offers decoding of all the format variants described on this page, and so ffmpeg-based players should be able to handle them. &lt;br /&gt;
&lt;br /&gt;
== Windows Media Audio (Standard)  ==&lt;br /&gt;
The original WMA codec, later referred to as WMA Standard or WMA Std, was created by Microsoft to compete against [[MP3]], the market leading format for lossy compression.  It was released in 1999, and an upgrade later the same year; those are sometimes referred to as WMA 1 and WMA 2.&lt;br /&gt;
&lt;br /&gt;
Upon release, WMA was aggressively pushed by Microsoft with promises of MP3 quality at half the bitrate, a claim debunked by independent listening tests&amp;lt;ref&amp;gt;https://en.wikipedia.org/wiki/Codec_listening_test#Results&amp;lt;/ref&amp;gt;.  WMA did become widespread; at one point in time it was the second-most widespread lossy format for end-users.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Windows Media Audio Professional ==&lt;br /&gt;
Windows Media Audio Professional (WMA Pro) was an early 2000s further development to address limitations in WMA Standard. It supports [[multichannel]] encoding and high resolutions (24bit, high [[sampling rate]]s).  Improving over WMA standard, WMA Pro scored as statistically tied with top encoders in independent listening tests at the time (without lending credibility to Microsoft&#039;s claim of MP3 quality at half bitrate).  Supporting multichannel, it was at some time seen as a potential competition to [[DTS]].&lt;br /&gt;
&lt;br /&gt;
Like WMA Standard, WMA Pro also came in revised versions: WMA Pro 10 offers an additional layer atop the original WMA Pro 9, information that will be lost on a &amp;quot;WMA 9&amp;quot; player. &lt;br /&gt;
&lt;br /&gt;
== Windows Media Audio Lossless ==&lt;br /&gt;
This is the mathematically [[lossless]] codec in the Windows Media family, first released in 2003 (and like WMA Standard and WMA Pro, the format has later been extended). Compression efficiency-wise, it doesn&#039;t come close to the default settings of [[FLAC]], [[WavPack]], [[Monkey&#039;s Audio]] and [[ALAC]], see [[Lossless comparison]] for more details. [https://hydrogenaud.io/index.php?topic=117275.0 Several releases of Windows 10 had faulty decoders built-in] and, lacking a specification, few independent implementations exist and [https://hydrogenaud.io/index.php?topic=121732 decoding is not always lossless]. &lt;br /&gt;
&lt;br /&gt;
== Windows Media Audio Voice ==&lt;br /&gt;
This codec, introduced with Windows Media 9, was used in the Microsoft telephones. It was considered to deliver very acceptable voice quality at bitrates around 4 and 20 kbps.  It would allow switching over to the WMA Standard algorithm for signals with both voice and music, and Microsoft&#039;s encoder could detect music and switch over automatically.&lt;br /&gt;
&lt;br /&gt;
== Additional Reading ==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
* [https://learn.microsoft.com/en-us/windows/win32/medfound/windows-media-codecs Description of Windows Media codecs] (including Windows Media Video codecs) at Microsoft&lt;br /&gt;
* [[Lossless_comparison|HA Wiki&#039;s Lossless Codec Comparison]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{navbox audio codecs}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Codecs]]&lt;/div&gt;</summary>
		<author><name>Porcuswiki</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=WavPack&amp;diff=37690</id>
		<title>WavPack</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=WavPack&amp;diff=37690"/>
		<updated>2024-02-09T15:36:27Z</updated>

		<summary type="html">&lt;p&gt;Porcuswiki: Correction on FFmpeg behaviour + lines under Converters ...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Software Infobox&lt;br /&gt;
| name = WavPack&lt;br /&gt;
| logo = [[Image:Wavpacklogo.png|280px|Official WavPack logo]]&lt;br /&gt;
| screenshot =&lt;br /&gt;
| caption = Hybrid Lossless Audio Compression&lt;br /&gt;
| maintainer = David Bryant&lt;br /&gt;
| stable_release = 5.6.0 (2022-11-23)&lt;br /&gt;
| preview_release = [https://hydrogenaud.io/index.php/topic,124142.msg1028865.html#msg1028865 5.6.6]&lt;br /&gt;
| operating_system = Windows, MacOSX, Linux/BSD/Unix, ...&lt;br /&gt;
| use = Encoder/Decoder&lt;br /&gt;
| license = BSD license&lt;br /&gt;
| website = http://www.wavpack.com/&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;WavPack&#039;&#039;&#039; (pronounced &amp;quot;wave-pack&amp;quot;) is a [[lossless]] audio [[codec]], also offering optionally a [[hybrid codec| hybrid lossless/lossy]] mode.  It is distributed as a free open-source encoder/decoder with a library and a large number of tools, including a Windows GUI and a range of plugins for both audio players and other software.  Third party implementations are available, including ffmpeg.  WavPack supports and/or can be played back on a large number of platforms/OSes including mobile (Android, iOS), portable ([[Rockbox]]) and even web apps. &lt;br /&gt;
&lt;br /&gt;
WavPack is arguably the most feature-rich lossless compressor, supporting a unique range of audio signals including [https://en.wikipedia.org/wiki/Direct_Stream_Digital Direct-Stream Digital].  Everyday use is supported by a wide range of players and taggers, but conversion is likely safest done with applications that invoke the official tools (rather than e.g. ffmpeg&#039;s implementation) &amp;amp;ndash; and special features might require the user to apply the WavPack executable directly, for example with drag+drop, see the [[#Using WavPack]] section below.&lt;br /&gt;
&lt;br /&gt;
Performance-wise, WavPack defaults to a fast codec &amp;amp;ndash; less CPU intensive than [[ALAC]], but typically not as fast as [[FLAC]] or [[TAK]], especially in decoding CPU usage.&amp;lt;ref&amp;gt;[http://www.audiograaf.nl/losslesstest Martijn van Beurden: &amp;lt;em&amp;gt;Lossless audio codec comparison archive&amp;lt;/em&amp;gt;], all comparisons in this wiki article consistent with CDDA results up to revision 6, 2023, using WavPack 5.6.0.&amp;lt;/ref&amp;gt; In the age of low-power portable Rockbox-equipped players, WavPack could be seen as a reasonable middle ground between FLAC&#039;s low CPU footprint and long battery life, and the smaller files but more CPU-intensive [[Monkey&#039;s Audio]]&amp;lt;ref&amp;gt;[https://www.rockbox.org/wiki/CodecPerformanceComparison CodecPerformanceComparison] at the Rockbox wiki&amp;lt;/ref&amp;gt; &amp;amp;ndash; invoking WavPacks high mode and extra compression that would compress to smaller sizes than FLAC.&lt;br /&gt;
&lt;br /&gt;
WavPack has inspired other codecs&amp;lt;ref&amp;gt;Monkey&#039;s Audio historical FAQ {{webarchive|http://web.archive.org/web/20001017210206/http://www.monkeysaudio.com/faq.html|2000-10-17}}&amp;lt;/ref&amp;gt; and their features&amp;lt;ref&amp;gt;[http://losslessaudio.org/DualStream.php OptimFROG&#039;s &amp;quot;DualStream&amp;quot;] hybrid encoding &amp;amp;ndash; apparently WavPack coined this phrase&amp;lt;/ref&amp;gt;.  For more on WavPack, including on its history and technology, see the [https://en.wikipedia.org/wiki/WavPack Wikipedia entry].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Features =&lt;br /&gt;
For an end-user considering WavPack as an audio format, its feature-richness might be the big selling point.  WavPack supports pretty much all the more common features noted at [[Lossless_comparison| HA Wiki&#039;s Lossless Codec Comparison]] as in the following first list, but several users might consider the more unique features listed under the subsequent headline.&lt;br /&gt;
&lt;br /&gt;
* Seekable and streaming playback.&lt;br /&gt;
* Error handling: upon playback, it will detect and report corrupted frames, mute to protect against static/noise output, and continue playback.  Since version 5, WavPack can also check for corruption without decoding, hence quicker than any decoding format.  Optional MD5 audio checksum can also be added upon encoding for file fingerprinting. &lt;br /&gt;
* High-resolution audio support (see next headline).&lt;br /&gt;
* Multichannel support: currently capped at 256 channels, supports [https://docs.microsoft.com/en-us/windows/win32/api/mmreg/ns-mmreg-waveformatextensible WAVEFORMATEXTENSIBLE] channel masks.&lt;br /&gt;
* Piping support for encoding, and support for RAW PCM input/output.&lt;br /&gt;
* Non-audio chunks (RIFF and similar) stored; by default, WavPack will not only decode the audio losslessly, but restore the non-audio chunks to file bit-identical to the original.&lt;br /&gt;
* Tagging: APEv2. (ID3v1 is possible, but not advisable.) &lt;br /&gt;
* Cuesheet support. In practice, some applications handle &#039;&#039;embedded&#039;&#039; cuesheets better in WavPack than in some other formats.&lt;br /&gt;
* Unicode support.&lt;br /&gt;
* Can be used in the [[Matroska]] container. &lt;br /&gt;
* Windows GUI available.&lt;br /&gt;
&lt;br /&gt;
WavPack also handles bit depths not divisible by 8, and is known to employ a &amp;quot;wasted bits&amp;quot; strategy for a signal that is &#039;&#039;n &amp;quot;actual bits of signal&amp;quot; zero-padded and stored as N bits&#039;&#039; where certain other codecs may get tricked into a size penalty when the &#039;&#039;n&#039;&#039; is not a multiple of 8, or for &amp;quot;fake high resolution&amp;quot; (say the signal is 16 bits, but wrapped in a 24-bit file).  Wasted bits detection is also found in FLAC, TAK and OptimFROG.  &lt;br /&gt;
&lt;br /&gt;
== Special/unique features ==&lt;br /&gt;
Most of these features are shared with only a few if any notable codecs, or extend to signal types or file types others do not support (comparisons given).&lt;br /&gt;
* DSD support: can losslessly compress Philips DSDIFF and Sony DSF files (see &amp;quot;Using WavPack&amp;quot; below; no other end-user codec compresses DSD.) ID3v2.3 tags can be imported.  wvunpack can select between DSDIFF and DSF out (i.e. &#039;convert between the two&#039;).  wvunpack can also convert DSD to PCM, but not the other way around. (Lossy, as conversion between PCM and DSD necessarily is.)&lt;br /&gt;
* High-resolution support for bit depth 1-bit to 32-bit integer and sampling rates up to 2 GiHz in integer steps. (Officially, 1 GHz is supported &amp;amp;ndash; it is &#039;&#039;gigaherz&#039;&#039;, not MHz, the upper limit being in the UHF radio frequency band.  Monkey&#039;s Audio, OptimFROG and MPEG-4 ALS support the entire WAVE range up to 4 GiHz.) Can also compress files of &#039;&#039;non-integer sampling rates&#039;&#039; (AIFF/AIFC/CAF, as the WAVE format cannot contain such signals).   &lt;br /&gt;
* 32-bit &#039;&#039;floating-point&#039;&#039; supported &amp;amp;ndash; also including CoolEdit/Adobe Audition&#039;s own float format (use the &amp;lt;tt&amp;gt;-a&amp;lt;/tt&amp;gt; option only if the .wav was generated by CoolEdit/Audition).  (This line like OptimFROG.)&lt;br /&gt;
* As much as 256 channels currently supported (from version 5.5.0 on; [https://github.com/dbry/WavPack/issues/117 can be extended to the thousands] &amp;amp;ndash; for even more, MPEG-4 ALS supports 66536.) &lt;br /&gt;
* Hybrid lossy/lossless mode (can also be used as lossy &amp;amp;ndash; OptimFROG also has such a mode.)&lt;br /&gt;
* For LPCM it can read and output to WAVE (including the RF64 format extension used for large files), to Sony&#039;s Wave64, AIFF/AIFC (both endiannesses) and CAF (ditto) &amp;amp;ndash; with full restore of also non-audio parts to bit-by-bit the original file in the original format.  (Monkey&#039;s/OptimFROG/TAK do the same to the input formats they support.)  Also WavPack can handle too large noncompliant &amp;quot;WAVE&amp;quot; files (can still be restored to bit-identical the same as the flawed input file &amp;amp;ndash; or to formats that provide for larger files). &lt;br /&gt;
* Recompression: Can recompress .wv files in place, with tag transfer.  (Like FLAC on .flac files.)&lt;br /&gt;
* Drag and drop support: Dropping a file on to wavpack.exe/wvunpack.exe will encode/decode it to source directory. (Like FLAC.)  From 5.5.0, one can also apply options to drag and drop by renaming the executable, and drop several files.&lt;br /&gt;
&lt;br /&gt;
== Limitations ==&lt;br /&gt;
The following bullet item list is hardly of interest except for special purposes; WavPack supports nearly every input format that any competing codec handles. One exception is the legacy AU/SND, apparently supported only by Monkey&#039;s Audio. &lt;br /&gt;
* DSD: Will reject DST-compressed DSDIFF (which are already compressed heavier than WavPack does) and Wideband Single-bit Data files (apparently, the Tascam and Korg devices which can produce these, can also export to other DSD formats).&amp;lt;br/&amp;gt; Also, DSD files cannot be encoded as hybrid with correction files.&lt;br /&gt;
* 64-bit float is not supported.  (Apparently no other lossless audio compressor can support it either.)&lt;br /&gt;
* wvunpack can &#039;&#039;force output&#039;&#039; to a different format than input, and for AIFF/CAF also select endianness, but it cannot force output to different versions of big-endian AIFF (it will avoid AIFC as long as the signal can be fit in the original AIFF container) nor select between WAVE_FORMAT_PCM and WAVE_FORMAT_EXTENSIBLE.  Few other formats do allow for such output selection; reference FLAC can from 1.4.3 offer some wider choices than wvunpack can. &lt;br /&gt;
* &amp;lt;tt&amp;gt;--import-id3&amp;lt;/tt&amp;gt; can not import every type of ID3 tag, and unless &amp;lt;tt&amp;gt;--allow-huge-tags&amp;lt;/tt&amp;gt; is specified, size is limited to 1 MB; larger tagsets might possibly cause compatibility issues, although such are not known.  (To copy unsupported tags, use e.g. [[Mp3tag]].)&lt;br /&gt;
* Some file formats have features stored in headers (like loop points, or for AIFF possibly non-integer sampling rates) which will not be visible when trying to &#039;&#039;play back&#039;&#039; a WavPack-compressed file (but will be restored upon unpacking to original file &amp;amp;ndash; thus audio editing software plugins may do precisely that).&lt;br /&gt;
* Some third-party implementations have limitations and bugs waiting to be fixed. &lt;br /&gt;
&lt;br /&gt;
WavPack version 5 discontinues some features, like compression to Windows .sfx self-extracting file (cf. OptimFROG) and the &amp;lt;tt&amp;gt;-p&amp;lt;/tt&amp;gt; feature.  Furthermore, WavPack version 3.x files are no longer supported. To recompress these files (if any are still around, WavPack 4 was released in 2004) to WavPack 5 files (for the fast decoding-free error checking feature), one must first recompress by WavPack version 4.80 (still available) or lower, and then by WavPack 5. &lt;br /&gt;
&lt;br /&gt;
As of 5.5.0 and above, MacOS versions must be built with e.g. HomeBrew.  For Windows XP, a special executable is required, available at wavpack.com (brought back as of 5.6.0, upgrade from previous unofficial build posted at HA is advised). &lt;br /&gt;
&lt;br /&gt;
WavPack has traditionally had less hardware support than FLAC ([[Rockbox]] having been the most notable platform, others listed at https://www.wavpack.com/index.html#Hardware ), but with WavPack playback through Android and iOS players, the distinction between &amp;quot;hardware&amp;quot; and &amp;quot;software&amp;quot; is arguably blurred. The Android OS does not &#039;&#039;natively&#039;&#039; support other lossless audio formats than WAVE and FLAC, so there have been issues getting certain Android solutions to recognize other media files including WavPack.&amp;lt;ref&amp;gt;[https://hydrogenaud.io/index.php/topic,122768 HA thread with link to Android bug report by the Monkey&#039;s Audio author]&amp;lt;/ref&amp;gt;&lt;br /&gt;
Third-party support for hybrid-encoded lossless playback (the correction files, see below) is known to be limited.&lt;br /&gt;
&lt;br /&gt;
== Features in beta ==&lt;br /&gt;
As of October 2023, the 5.6.6 beta posted in the Hydrogenaudio forums&amp;lt;ref&amp;gt;[https://hydrogenaud.io/index.php/topic,124142 HA thread with 5.6.6 beta and updated CoolEdit plugin]&amp;lt;/ref&amp;gt; offers new features not (yet) in an official release:&lt;br /&gt;
* A new option &amp;lt;tt&amp;gt;--threads&amp;lt;/tt&amp;gt; for multi-threading.  Encoding using &amp;lt;tt&amp;gt;--threads&amp;lt;/tt&amp;gt; makes for fully compatible files at a slightly worse compression level on some material; user might consider to apply a higher &amp;lt;tt&amp;gt;-x&amp;lt;/tt&amp;gt;.&lt;br /&gt;
* A special &amp;lt;tt&amp;gt;--optimize-32bit&amp;lt;/tt&amp;gt; option to improve compression for 32-bit integer PCM which originate from 32-bit float PCM (and in some cases vice versa).  WavPack files produced this way will need the 5.6.6 version to wvunpack losslessly. A beta of a CoolEdit plugin that can read such files is also available.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Using WavPack =&lt;br /&gt;
WavPack files can be played back in supported players (see below), and several of these can encode to WavPack, invoking the official tools.  However, there are situations where certain WavPack features are accessible only through the WavPack executables directly.  For example, you cannot expect non-audio data (for full file restore) to be preserved when encoding/decoding through &#039;&#039;players&#039;&#039;, as they usually pass on only the audio.  Also, the input format might exceed the player&#039;s internal decoding; e.g. trying to convert 32-bit integer or DSD with foobar2000 will yield a warning that it will not be lossless (also, converting DSD to PCM leads to files many times the size, being inherently different formats).&lt;br /&gt;
&lt;br /&gt;
Unlike most other codecs, WavPack has separate encoding and decoding executables (wavpack and wvunpack).&lt;br /&gt;
&lt;br /&gt;
== Encoding/decoding by drag and drop (Windows) == &lt;br /&gt;
The simplest encoding/decoding might be &#039;&#039;dragging and dropping&#039;&#039; a (supported) file to wavpack.exe (/wvunpack.exe).  Then the file will be encoded/decoded with the default options.  Dropping a .wv file onto wavpack.exe will recompress it, prompting before overwrite (again, using default settings &amp;amp;ndash; possibly a bad deal if it was encoded with high &amp;lt;tt&amp;gt;-x&amp;lt;/tt&amp;gt; switches).  Drag and drop also works on a shortcut to the executable. It is not possible to drop a folder, but from version 5.5.0, there is a way to drag and drop &#039;&#039;several&#039;&#039; files.&lt;br /&gt;
&lt;br /&gt;
From version 5.5.0, drag and drop supports &#039;&#039;options&#039;&#039; by renaming the executable.  The user can rename a copy of the executable according to preferred settings, which will be applied to the process upon drag and drop.  The example given by the developer in [https://hydrogenaud.io/index.php/topic,122626.msg1012159.html#msg1012159 in this HA forum post]&amp;lt;ref&amp;gt;[https://hydrogenaud.io/index.php/topic,122626.msg1012159.html#msg1012159 HA forum post on how to rename executable for drag and drop]&amp;lt;/ref&amp;gt; uses encoding options that many WavPack users will recommend (better compression than default, verification and MD5 fingerprinting), and novice users can choose to copy that filename for the executable.  For fine-tuning performance or for more specialized tasks, more options are described below. &lt;br /&gt;
&lt;br /&gt;
== Basic command line encoding/decoding [[Windows_command_line_tips|(for Windows: command-line hints here)]] == &lt;br /&gt;
The basic &#039;&#039;encoding&#039;&#039; usage is &amp;lt;tt&amp;gt;wavpack filename&amp;lt;/tt&amp;gt; (which creates &amp;lt;tt&amp;gt;filename.wv&amp;lt;/tt&amp;gt;) &amp;amp;ndash; this is what drag and drop accomplishes.  Wildcards are supported, e.g. &amp;lt;tt&amp;gt;wavpack *.wav&amp;lt;/tt&amp;gt; (but not simply &amp;lt;tt&amp;gt;wavpack *&amp;lt;/tt&amp;gt;).  For a &#039;&#039;single&#039;&#039; input file, one can specify output like e.g. &amp;lt;tt&amp;gt;wavpack infilename.wav -o outfilename.wv&amp;lt;/tt&amp;gt; (on Windows, the &amp;lt;tt&amp;gt;-o&amp;lt;/tt&amp;gt; can be omitted).  Input file extension &amp;quot;.wav&amp;quot; can be dropped, and output &amp;quot;.wv&amp;quot; extension as well &amp;amp;ndash; but &amp;lt;tt&amp;gt;wavpack foo&amp;lt;/tt&amp;gt; will only find foo.wav, not e.g. foo.w64 &amp;amp;ndash; and not a &amp;quot;foo&amp;quot; with no file extension.  (Power users may take note that for &amp;lt;tt&amp;gt;--raw-pcm&amp;lt;/tt&amp;gt; input, the encoder will not look for foo.wav but rather for foo.raw.)&lt;br /&gt;
&lt;br /&gt;
The basic &#039;&#039;decoding&#039;&#039; usage &amp;amp;ndash; as will be accomplished by drag and drop &amp;amp;ndash; is &amp;lt;tt&amp;gt;wvunpack -o filename.wv&amp;lt;/tt&amp;gt; where again the &amp;lt;tt&amp;gt;-o&amp;lt;/tt&amp;gt; can be dropped on Windows.  By default, wvunpack will restore the exact same file (metadata and file structure and all; it will know the original file name extension but not the rest of the file name &amp;amp;ndash; timestamp can be stored by using &amp;lt;tt&amp;gt;-t&amp;lt;/tt&amp;gt;.) If only audio was encoded (conversion from a &#039;&#039;player&#039;&#039; would usually work this way), output defaults to filename.wav. &lt;br /&gt;
Just like for the wavpack encoder, file extensions can be dropped; e.g., &amp;lt;tt&amp;gt;wvunpack foo -o bar&amp;lt;/tt&amp;gt; will decode foo.wv to bar.&amp;lt;original file&#039;s extension&amp;gt;.  This is arguably advisable, as setting a full filename is &#039;&#039;not going to override format&#039;&#039;, only make a potentially misleading output extension: E.g. if the input was a CAF file, &amp;lt;tt&amp;gt;wvunpack foo -o bar.w64&amp;lt;/tt&amp;gt; is still a CAF file.  To force output format, see the [[#Decoding options]] paragraph.&lt;br /&gt;
&lt;br /&gt;
=== Several input files ===&lt;br /&gt;
To give several filenames as input to wavpack/wvunpack, other than through wildcards, there are slight differences between the Windows version and the *n*xes: &lt;br /&gt;
Windows (requires WavPack 5.5.0): use the &amp;lt;tt&amp;gt;--drop&amp;lt;/tt&amp;gt; option as in the above example given by the developer.  It is intended for drag and drop (hence the name of the option) and will write the output to same directory as source.  However it can also be used with command-line:  &amp;lt;tt&amp;gt;wavpack --drop firstfile secondfile&amp;lt;/tt&amp;gt; will compress firstfile.wav to firstfile.wv and secondfile.wav to secondfile.wv.  Note that without the &amp;lt;tt&amp;gt;--drop&amp;lt;/tt&amp;gt;, the command &amp;lt;tt&amp;gt;wavpack firstfile secondfile&amp;lt;/tt&amp;gt; will compress firstfile.wav to secondfile.wv, as &amp;lt;tt&amp;gt;-o&amp;lt;/tt&amp;gt; is optional on Windows &amp;amp;ndash; indeed that is why the &amp;lt;tt&amp;gt;--drop&amp;lt;/tt&amp;gt; had to be introduced.  An arbitrary number of files can be processed, e.g. &amp;lt;tt&amp;gt;wvunpack --drop firstfile secondfile thirdfile fourthfile fifthfile&amp;lt;/tt&amp;gt; will decode firstfile.wv, ..., fifthfile.wv.&lt;br /&gt;
For *n*x, one can omit the &amp;lt;tt&amp;gt;--drop&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Applying options ==&lt;br /&gt;
For tuning performance or other settings, one might want to apply command-line options.  Some external applications can apply options without the user having to type &amp;amp;ndash; e.g. encoding with [[foobar2000]], there are two compression sliders, one for the fast-to-extra-high and one for the &amp;lt;tt&amp;gt;-x&amp;lt;/tt&amp;gt; settings (see below) &amp;amp;ndash; but in the Windows GUI one will want to type them in.  Options can be concatenated for short, like for example writing &amp;lt;tt&amp;gt;-hh -x2 -m -v -y&amp;lt;/tt&amp;gt; as &amp;lt;tt&amp;gt;-hhx2mvy&amp;lt;/tt&amp;gt;.  &lt;br /&gt;
&lt;br /&gt;
The user should beware that the wavpack encoder and the wvunpack decoder (and wvtag/wvgain) have to &amp;quot;re-use letters&amp;quot;.  While some do the same in the wvunpack and wavpack (like &amp;lt;tt&amp;gt;-d&amp;lt;/tt&amp;gt; for delete input file, &amp;lt;tt&amp;gt;-y&amp;lt;/tt&amp;gt; for &amp;quot;yes to all&amp;quot;, &amp;lt;tt&amp;gt;-t&amp;lt;/tt&amp;gt; to preserve timestamp, and &amp;lt;tt&amp;gt;-l&amp;lt;/tt&amp;gt; for (Windows only) &amp;quot;run with low priority&amp;quot;) and others cover the same purpose in both executables (like &amp;lt;tt&amp;gt;-m&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;-v&amp;lt;/tt&amp;gt;), the user may be warned that certain letters do not.  E.g. &amp;lt;tt&amp;gt;-b&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;-c&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;-n&amp;lt;/tt&amp;gt; cover completely urelated functions upon decoding vs upon encoding.  &lt;br /&gt;
&lt;br /&gt;
=== Encoding options (lossless) ===&lt;br /&gt;
Encoding using &amp;lt;tt&amp;gt;-hxm&amp;lt;/tt&amp;gt; seems a sensible trade-off between compression and CPU load.  Some selected options are described as follows; for an exhaustive refence, see the manual (online, or included as wavpack_doc.html in the distribution).&lt;br /&gt;
* Compression.  WavPack has four compression modes that affect compression as well as encoding &#039;&#039;and&#039;&#039; decoding time: fast (&amp;lt;tt&amp;gt;-f&amp;lt;/tt&amp;gt;), default, high (&amp;lt;tt&amp;gt;-h&amp;lt;/tt&amp;gt;) and very high (&amp;lt;tt&amp;gt;-hh&amp;lt;/tt&amp;gt;).  The CPU load of &amp;lt;tt&amp;gt;-hh&amp;lt;/tt&amp;gt; is measured to around twice that of &amp;lt;tt&amp;gt;-f&amp;lt;/tt&amp;gt; (and could in the early 2000s be too heavy for portable players, although it does decode faster than any Monkey&#039;s).  On top these modes, the optional extra processing &amp;lt;tt&amp;gt;-x1&amp;lt;/tt&amp;gt; to &amp;lt;tt&amp;gt;-x6&amp;lt;/tt&amp;gt; settings will apply extra compression effort that does not increase &#039;&#039;decoding&#039;&#039; CPU load. &amp;lt;tt&amp;gt;-x&amp;lt;/tt&amp;gt; without number is synonymous to &amp;lt;tt&amp;gt;-x1&amp;lt;/tt&amp;gt;, which is often recommended (in all modes, fast/normal/high/extra high).  The official manual calls &amp;lt;tt&amp;gt;-x4&amp;lt;/tt&amp;gt; to &amp;lt;tt&amp;gt;-x6&amp;lt;/tt&amp;gt; &amp;quot;extremely slow&amp;quot;, but the size gains might be significant for high resolution audio in particular (van Beurden&#039;s revision 5, testing &amp;lt;tt&amp;gt;-x4&amp;lt;/tt&amp;gt;).  &lt;br /&gt;
** 5.5.0 introduces optional switches for the default compression: &amp;lt;tt&amp;gt;-g&amp;lt;/tt&amp;gt; for normal mode and &amp;lt;tt&amp;gt;-x0&amp;lt;/tt&amp;gt; for &amp;quot;no &amp;lt;tt&amp;gt;-x&amp;lt;/tt&amp;gt;&amp;quot;.  These are redundant for basic use, but can be used to switch off options already given (e.g. in renamed executables, or custom builds): &amp;lt;tt&amp;gt;-x6 -x0&amp;lt;/tt&amp;gt; will switch off the extra processing, and &amp;lt;tt&amp;gt;-h -f -g&amp;lt;/tt&amp;gt; will encode as normal, whereas previous versions would abort with an error.&lt;br /&gt;
** With DSD files, there are only two compression settings, normal and high; the option &amp;lt;tt&amp;gt;-f&amp;lt;/tt&amp;gt; will select normal, &amp;lt;tt&amp;gt;-h&amp;lt;/tt&amp;gt;/&amp;lt;tt&amp;gt;-hh&amp;lt;/tt&amp;gt; will both select high, and the &amp;lt;tt&amp;gt;-x&amp;lt;/tt&amp;gt; switches are silently ignored. &lt;br /&gt;
* Guarding against errors upon encoding: The &amp;quot;&amp;lt;tt&amp;gt;-m&amp;lt;/tt&amp;gt;&amp;quot; switch will compute an audio MD5 sum (like FLAC does by default) and store it for later verification.  The &amp;quot;&amp;lt;tt&amp;gt;-v&amp;lt;/tt&amp;gt;&amp;quot; switch will verify by decoding the file after it has been written to disk&amp;lt;ref&amp;gt;[https://hydrogenaud.io/index.php?topic=121714.msg1008108#msg1008108 HA forum comment:] verification checks the written file after closing and reopening&amp;lt;/ref&amp;gt;. &amp;lt;tt&amp;gt;-vm&amp;lt;/tt&amp;gt; will do both &amp;amp;ndash; that is, calculate the MD5s to verify, and store it.  Using the corresponding switches in wvunpack will check without producing output file, however wvunpack also has a faster corruption check for WavPack 5-encoded files: &amp;lt;tt&amp;gt;-vv&amp;lt;/tt&amp;gt;.&lt;br /&gt;
* &amp;lt;tt&amp;gt;--import-id3&amp;lt;/tt&amp;gt; will import ID3v2.3 tags (currently not v2.4 nor v2.2) present in the source file &amp;amp;ndash; typically in Sony DSF files &amp;amp;ndash; and convert them to WavPack&#039;s preferred APE tags.  (It will still keep the chunk for restoring the original file.)  By default, importing is limited to 1 MB; for more, use &amp;lt;tt&amp;gt;--allow-huge-tags&amp;lt;/tt&amp;gt;.  Same option works in wvtag; indeed, one can encode first and then afterwards &amp;quot;import&amp;quot; the tags from the WavPack file using &amp;lt;tt&amp;gt;wvtag --import-id3 wavpackfile.wv&amp;lt;/tt&amp;gt;; this provided that these data have not been deleted by the following &amp;lt;tt&amp;gt;-r&amp;lt;/tt&amp;gt; option: &lt;br /&gt;
* &amp;lt;tt&amp;gt;-r&amp;lt;/tt&amp;gt;: remove non-audio chunks.  By default, WavPack will store these in the .wv file for later bit-by-bit restoration of everything, not only the audio. Use &amp;lt;tt&amp;gt;-r&amp;lt;/tt&amp;gt; to throw them away and encode audio only &amp;amp;ndash; like encoding through most players appear to do. &lt;br /&gt;
* &amp;lt;tt&amp;gt;-t&amp;lt;/tt&amp;gt;: copy input file&#039;s time stamp.  (To restore the file with the original time stamp, use &amp;lt;tt&amp;gt;-t&amp;lt;/tt&amp;gt; both when encoding and when decoding.)&lt;br /&gt;
* &amp;lt;tt&amp;gt;--pause&amp;lt;/tt&amp;gt;: (Windows only!) waits for keypress at the end.  Useful for reading output before exit when calling wavpack/wvunpack in a separate window (which both drag-and-drop the Windows front-end do).&lt;br /&gt;
* &amp;lt;tt&amp;gt;-y&amp;lt;/tt&amp;gt;: &amp;quot;yes&amp;quot; to everything.  Use with caution, will overwrite.  From 5.5.0 there is also a &amp;lt;tt&amp;gt;--no-overwrite&amp;lt;/tt&amp;gt; that will skip instead of asking to overwrite.&lt;br /&gt;
* &amp;lt;tt&amp;gt;-d&amp;lt;/tt&amp;gt;: delete source file upon successful completion.  Again, use with caution. &lt;br /&gt;
* &amp;lt;tt&amp;gt;-l&amp;lt;/tt&amp;gt; will force WavPack to run at low priority (Windows only)&lt;br /&gt;
* &amp;lt;tt&amp;gt;-c&amp;lt;/tt&amp;gt; with &amp;lt;tt&amp;gt;-b&amp;lt;/tt&amp;gt; to select lossy quality: hybrid lossless/lossy use, see below.&lt;br /&gt;
&lt;br /&gt;
WavPack can recompress .wv files in place (using a temporary file until done).  For example, &amp;lt;tt&amp;gt;wavpack -hx4mvy wavpackfile.wv&amp;lt;/tt&amp;gt; will compress wavpackfile.wv in high mode using &amp;lt;tt&amp;gt;-x4&amp;lt;/tt&amp;gt; extra processing, writing everything (and an audio MD5 checksum) to a temporary file with tags transferred; close and then re-open the temp file to re-read for verification &amp;amp;ndash; and only once verified, replace the old wavpackfile.wv. &amp;lt;tt&amp;gt;wavpack -hx4rlmvy wavpackfile.wv&amp;lt;/tt&amp;gt; will also run with low priority (assuming the Windows platform), and will discard non-audio chunks &amp;amp;ndash; that is, the ones used to restore the original file&#039;s metadata; the .wv file&#039;s APE tags will still be copied.  As an example, one can compress an ID3v2.4-tagged DSF file by drag and drop; WavPack will then store the tag chunk, but WavPack cannot &#039;&#039;import&#039;&#039; v2.4 to its own (APEv2) tags.  Therefore, open both in Mp3tag, and copy the ID3v2.4 tags to the WavPack file. If then you decide that there is no need to restore the original file&#039;s ID3v2.4 upon any unpacking, you can apply the &amp;lt;tt&amp;gt;wavpack -hx4rlmvy wavpackfile.wv&amp;lt;/tt&amp;gt; command; it will then discard that chunk (but keep the tags that Mp3tag wrote!), recompress using high (silently ignoring the -x4 that has no effect on DSD) with low priority, write an MD5 sum, verify the process and replace the .wv file by the new recompressed file. &lt;br /&gt;
&lt;br /&gt;
=== (Incomplete:) hybrid lossless &amp;amp; lossy encoding ===&lt;br /&gt;
(Needs to be expanded. Notes: DSD can currently not be hybrid-encoded and floating-point files should not be.  The correction file will be omitted by a lot of applications/players, including VLC, mplayer and ffmpeg; thus, using ffmpeg or ffmpeg-based players to convert/play hybrid-encoded WavPack will be lossy. For WavPack in Matroska, there doesn&#039;t seem to be any player that will play both the lossy stream and the correction stream, although mkvmerge/mkvextract will import/extract both streams. foobar2000 can play hybrid lossless .wv+.wvc, but will omit a Matroska-encapsulated correction stream.)&lt;br /&gt;
&lt;br /&gt;
Basic use: the &amp;lt;tt&amp;gt;-b&amp;lt;/tt&amp;gt; switch &amp;amp;ndash; and for losslessness, with &amp;lt;tt&amp;gt;-c&amp;lt;/tt&amp;gt; to create a correction file. The &amp;lt;tt&amp;gt;b&amp;lt;/tt&amp;gt; takes a numerical value signifying &#039;&#039;bits per sample&#039;&#039; if &amp;lt; 24 and &#039;&#039;kbit/second&#039;&#039; if 24 to 9600. E.g. &amp;lt;tt&amp;gt;-b12.5&amp;lt;/tt&amp;gt; (no space in between, with . even if your locale uses comma for decimal point).&lt;br /&gt;
&amp;lt;tt&amp;gt;wavpack -b234.56 -c filename&amp;lt;/tt&amp;gt; will create filename.wv file and correction file filename.wvc.  As long as both are present, playback and decoding (by &amp;lt;tt&amp;gt;wvunpack filename&amp;lt;/tt&amp;gt; the ordinary way) will be lossless.&lt;br /&gt;
The file filename.wv &amp;amp;ndash; which is at most 234.56 kbit/s &amp;amp;ndash; can be copied to a different location and played back stand-alone as a lossy compressed file.  The same will happen if the .wvc file is deleted or not found (it has to be same path/filename except with the &amp;quot;.wvc&amp;quot; suffix in place of &amp;quot;.wv&amp;quot;) &amp;amp;ndash; or equivalently, if the &amp;lt;tt&amp;gt;-c&amp;lt;/tt&amp;gt; is omitted during encoding, then no correction file will be created in the first place.  For example:&lt;br /&gt;
&amp;lt;tt&amp;gt;wavpack -b13.5 -hx filename&amp;lt;/tt&amp;gt; will create a &#039;&#039;lossy&#039;&#039; filename.wv compressed with the &amp;lt;tt&amp;gt;-hx&amp;lt;/tt&amp;gt; option, size constrained to 13.5 bits per sample. (Should 13.5 bits be sufficient for lossless encoding, WavPack will tell you at the end of the encoding process &amp;amp;ndash; but that information is not stored in the file.)&lt;br /&gt;
&lt;br /&gt;
WavPack will refuse to recompress lossy-generated .wv to &amp;quot;lossless .wv&amp;quot; as that would make a false pretense of being a lossless file.  (That goes even in the &amp;quot;that information is not stored in the file&amp;quot; case just mentioned.)  If recompressing a hybrid with correction file, the .wvc file will remain even if it isn&#039;t overwritten. (&amp;lt;tt&amp;gt;-d&amp;lt;/tt&amp;gt; deletes original file.)&lt;br /&gt;
&lt;br /&gt;
=== Decoding options ===&lt;br /&gt;
In addition to the basic usage above (drag and drop or &amp;lt;tt&amp;gt;wvunpack filename.wv&amp;lt;/tt&amp;gt;), the wvunpack executable offers several options.  For use with the Windows front-end or drag and drop, the Windows-only &amp;lt;tt&amp;gt;--pause&amp;lt;/tt&amp;gt; (waits for keypress at the end, like for wavpack.exe) is essential to read the output report.  Also Windows-only options like &amp;lt;tt&amp;gt;--drop&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;-l&amp;lt;/tt&amp;gt; work as for wavpack.exe, and so do &amp;lt;tt&amp;gt;-d&amp;lt;/tt&amp;gt; (use with caution!) and &amp;lt;tt&amp;gt;-y&amp;lt;/tt&amp;gt; (ditto!) as well as &amp;lt;tt&amp;gt;-t&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
* Output &#039;&#039;filename&#039;&#039; can be set with &amp;lt;tt&amp;gt;wvunpack infilename.wv -o outfilename &amp;lt;/tt&amp;gt; (the &amp;lt;tt&amp;gt;-o&amp;lt;/tt&amp;gt; being superfluous on Windows, where &amp;amp;ndash; in the absence of &amp;lt;tt&amp;gt;--drop&amp;lt;/tt&amp;gt; &amp;amp;ndash; the second filename will be assumed to be output name).  Then wvunpack will affix the file extension of the original file (say, outfilename.wav if the wavpacked file was somefilename.wav).  The wavpack encoder detects the file type from content, and so wvunpack will not &amp;quot;fix misleading extensions&amp;quot; automatically; the user can provide a giving full output filename with extension, but note that this will override the &#039;&#039;name&#039;&#039; only but not the &#039;&#039;type&#039;&#039;.  To make sure that -o out.aif indeed produces an AIFF, separate switches have to be employed. &lt;br /&gt;
* To force output &#039;&#039;file format,&#039;&#039; one needs to apply options to wvunpack.  The following are for PCM output: &amp;lt;tt&amp;gt;--raw-pcm&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;--wav&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;--w64&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;--caf-be&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;--caf-le&amp;lt;/tt&amp;gt;, and from version 5.6.0 on also &amp;lt;tt&amp;gt;--aif&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;--aif-le&amp;lt;/tt&amp;gt;.  &lt;br /&gt;
** These will delete non-audio chunks and replace them with a fresh file header: there is no option to &amp;quot;unpack to WAVE and restore the original headers if the original file was WAVE&amp;quot;.   &amp;lt;tt&amp;gt;wvunpack --wav&amp;lt;/tt&amp;gt; will select RF64 if (and only if) exceeding WAVE&#039;s 4 GB limit, and wvunpack will select old AIFF over AIFF-C if the audio data permit it.&lt;br /&gt;
** For DSD, those format switches will also force a &amp;amp;ndash; necessarily lossy &amp;amp;ndash; conversion to PCM.  To switch losslessly &#039;&#039;between&#039;&#039; DSD formats, there are also &amp;lt;tt&amp;gt;--dsf&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;--dff&amp;lt;/tt&amp;gt; (the latter being synonymous to &amp;lt;tt&amp;gt;--dsdiff&amp;lt;/tt&amp;gt;) which again delete non-audio chunks.  Note that WavPack cannot force any (also necessarily lossy) conversion &#039;&#039;to&#039;&#039; DSD, having no DSD encoder.&lt;br /&gt;
** &amp;lt;tt&amp;gt;--raw&amp;lt;/tt&amp;gt; outputs both PCM and DSD as headerless streams (lossless for both; &amp;lt;tt&amp;gt;-r&amp;lt;/tt&amp;gt; is synonymous; beware that this is not precisely the same as the same letter switch upon encoding).&lt;br /&gt;
&lt;br /&gt;
In addition to decimating DSD for conversion to PCM, there are other options where power users can utilize certain &#039;&#039;lossy&#039;&#039; operations by wvunpack, e.g. normalizing floating-point files (recommended before conversion to integer), dropping correction files from hybrid encodes &amp;amp;ndash; and &amp;lt;tt&amp;gt;--skip&amp;lt;/tt&amp;gt; and/or &amp;lt;tt&amp;gt;--until&amp;lt;/tt&amp;gt; to decode only a segment of the file.  See the documentation.  &amp;lt;br/&amp;gt;&lt;br /&gt;
Other options include &amp;lt;tt&amp;gt;-b&amp;lt;/tt&amp;gt; to &amp;quot;blindly&amp;quot; decode until end disregarding errors and corruption (potentially useful to save as much as possible from a destroyed file).&lt;br /&gt;
&lt;br /&gt;
wvunpack is also the utility to display information from .wv files even when it does not involve decoding, see the next section.  Inter alia, &amp;lt;tt&amp;gt; -s&amp;lt;/tt&amp;gt; can be used to find the input file type in case the output extension is misleading (like a .wav extension disguising an AIFF file). &lt;br /&gt;
&lt;br /&gt;
=== Other file handling: verification / error checking, and other file info (incomplete) ===&lt;br /&gt;
wvunpack can get information about WavPack files without decoding to file: &lt;br /&gt;
* &amp;lt;tt&amp;gt;-vv&amp;lt;/tt&amp;gt;: Quick verify without decoding (WavPack 5 files only; from 5.5.0 there is also a more verbose &amp;lt;tt&amp;gt;-vvv&amp;lt;/tt&amp;gt;).  Quick verify seems to be unavailable outside the official wvunpack; other applications which verify will fall back to the next item, &amp;lt;tt&amp;gt;-v&amp;lt;/tt&amp;gt;. &lt;br /&gt;
* &amp;lt;tt&amp;gt;-v&amp;lt;/tt&amp;gt;: Verify (will do a decode to check that everything is OK &amp;amp;ndash; but not write any file). &lt;br /&gt;
* &amp;lt;tt&amp;gt;-s&amp;lt;/tt&amp;gt;/&amp;lt;tt&amp;gt;-ss&amp;lt;/tt&amp;gt;: &amp;lt;tt&amp;gt;-s&amp;lt;/tt&amp;gt; displays summary of the file, &amp;lt;tt&amp;gt;-ss&amp;lt;/tt&amp;gt; a long summary including tags. Also there is &amp;lt;tt&amp;gt;-f&amp;lt;/tt&amp;gt; for parseable output, see documentation.&lt;br /&gt;
* &amp;lt;tt&amp;gt;-n&amp;lt;/tt&amp;gt; is the generic &amp;quot;do not decode&amp;quot; for use e.g. to extract tags (which can also be accomplished with the &amp;lt;tt&amp;gt;wvtag&amp;lt;/tt&amp;gt; utility, but wvunpack will do if one does not want to write tags): &lt;br /&gt;
* &amp;lt;tt&amp;gt;-x&amp;lt;/tt&amp;gt; FIELD: Shows tag, e.g. &amp;lt;tt&amp;gt; -x comment &amp;lt;/tt&amp;gt; shows the &amp;lt;comment&amp;gt; field.  &amp;lt;tt&amp;gt;-c&amp;lt;/tt&amp;gt; is synonymous to &amp;lt;tt&amp;gt; -x cuesheet&amp;lt;/tt&amp;gt;.   Also &amp;lt;tt&amp;gt; wvtag -x &amp;lt;/tt&amp;gt; resp. &amp;lt;tt&amp;gt; wvtag -c &amp;lt;/tt&amp;gt; do the same thing.  &amp;lt;tt&amp;gt;-xx&amp;lt;/tt&amp;gt; (same option for wvtag) can output to file, see documentation.&lt;br /&gt;
&lt;br /&gt;
=== (To fill in:) Tagging (wvtag) and replaygain management (wvgain) ===&lt;br /&gt;
(... most of these options are available in HA&#039;s fave taggers/player? Except &amp;lt;tt&amp;gt;wvtag --import-id3 wavpackfile.wv&amp;lt;/tt&amp;gt; which reads and &amp;quot;imports&amp;quot; ID3 tag stored in wavpackfile.wv&#039;s non-audio chunks; this will overwrite existing APEv2. Can also be used with &amp;lt;tt&amp;gt;--allow-huge-tags&amp;lt;/tt&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Using WavPack with 3rd party tools (FFmpeg &amp;amp; more) =&lt;br /&gt;
&lt;br /&gt;
Some applications may behave slightly surprising.  FFmpeg has its own WavPack implementation and has a few known peculiarities, some which are expected to be fixed and others of unknown status.  As referenced above Android users may need to use the player application&#039;s folder to get WavPack files recognized.  The tl;dr are that as long as it plays, it plays &amp;amp;ndash; but to safeguard against loss of information (e.g. upon conversion), use the official tools.  In particular, hybrid lossless correction files are usually not honoured by 3rd party tools. (A player that does, foobar2000, uses the official WavPack libraries.)&lt;br /&gt;
&lt;br /&gt;
== Splitting WavPack files by cuesheet ==&lt;br /&gt;
WavPack is a format with good support for storing an album as one .wv file with embedded cuesheets, but splitting into tracks by way of cuesheets is not straightforward without external tools. Audio players like [[foobar2000]] which support cue sheets can also split upon conversion.  Other external applications that will do this splitting &amp;amp;ndash; also with more variations of the cue sheet format(s) supported &amp;amp;ndash; include&lt;br /&gt;
* [[CUETools]] can if it is CDDA (44.1 kHz 16-bit stereo), and can re-encode back to WavPack.  &lt;br /&gt;
* refalac can decode &amp;amp; split by cuesheets with the appropriate (official) WavPack library DLL file&amp;lt;ref&amp;gt;[https://github.com/nu774/qaac/wiki/refalac-usage refalac usage] includes how to split by cuesheet&amp;lt;/ref&amp;gt;, outputting WAVE or ALAC-in-MP4.&lt;br /&gt;
Both refalac, CUETools and foobar2000 use the official WavPack tools to for the decoding(/encoding). &lt;br /&gt;
&lt;br /&gt;
== FFmpeg&#039;s WavPack implementation: differences and quirks ==&lt;br /&gt;
FFmpeg can encode/decode to/from WavPack &amp;amp;ndash; which may be seen as attractive from how it also can transfer metadata in one go &amp;amp;ndash; but with some limitations and maybe unfamiliar behaviour.  &amp;lt;br/&amp;gt; FFmpeg has had some bugs which may cause audio corruption.  Although some fixes were applied with FFmpeg release 6.1, users might beware that players and converters that employ FFmpeg as a decoding engine may or may not update that quickly. &lt;br /&gt;
* [Still not fixed as of ffmpeg 6.1] Encoding, multi-channel only: Above 16 channels, when the WavPack 5 format is required, FFmpeg will still attempt encoding to WavPack but will produce non-compliant files.  FFmpeg 6.1 improves decoding abilities, but there is no guarantee that anything can decode FFmpeg-produced WavPack files of many channels. &lt;br /&gt;
* [Fixed in ffmpeg 6.1] Encoding, 8-bit PCM only: FFmpeg (6.0) will produce broken files with static noise, no known way to recover. &lt;br /&gt;
* [Fixed in ffmpeg 6.1] Decoding, any format but rare: A bug FFmpeg&#039;s WavPack decoder, discovered in August 2022&amp;lt;ref&amp;gt;[https://hydrogenaud.io/index.php/topic,122810 HA forum thread on the ffmpeg bug in .wv decoding]&amp;lt;/ref&amp;gt;, will cause dropouts in certain files. The bug is &#039;&#039;&amp;quot;rare&amp;quot;&#039;&#039; in that no such file was discovered in several years. &lt;br /&gt;
&lt;br /&gt;
Further limitations in FFmpeg&#039;s implementation:&lt;br /&gt;
* As a general rule &amp;amp;ndash; not specific to .wv &amp;amp;ndash; FFmpeg will &#039;&#039;not&#039;&#039; honour the input bit depth: for example when outputting WAVE/AIFF, it will default to 16 bits regardless of input bit depth.  This default behaviour is not lossless when input bit depth is &amp;gt; 16 bits, and could even induce clipping (with no warning!) if the source is a 32-bit float.  To force lossless decoding of 24-bit/32-bit files (WavPack/FLAC/ALAC/TAK/uncompressed) to WAVE/AIFF, the user must extract the bit depth information and specify the respective 24-bit/32-bit output format using ffmpeg&#039;s command-line syntax. &amp;lt;br/&amp;gt; &amp;lt;br/&amp;gt;For an extreme example: &amp;lt;tt&amp;gt;FFmpeg -i DSDfile.dsf outfile.wv&amp;lt;/tt&amp;gt; will not store the DSD &amp;amp;ndash; rather it will convert to floating-point PCM which is then compressed, typically making for several times the file size, with no warning that it is lossy.&amp;lt;br/&amp;gt;&lt;br /&gt;
The tl;dr for users who do not have this at their fingertips, is to use other (= official!) decoders when losslessness is desired.&lt;br /&gt;
* Correction files ignored, leading to lossy playback/conversion of hybrid-encoded WavPack files with when ffmpeg or ffmpeg-based players are used. &lt;br /&gt;
* Loss of information that is not directly audio-related: FFmpeg has no ambition of preserving file structure and (R)IFF chunks, so you will not get the non-audio chunks of the files back when using ffmpeg to encode &amp;amp;ndash; however it &#039;&#039;will&#039;&#039; by default transfer metadata it supports. &lt;br /&gt;
* FFmpeg will sometimes &amp;amp;ndash; depending on input format &amp;amp;ndash; output 32-bit WavPack files and lose the information that the source was indeed only 24. Not all players support 32-bit files, and verifying that the operation (or an attempted downconversion to 24) was lossless is not straightforward as even fewer applications are willing to compare a 32-bit and a 24-bit file for differences. &amp;lt;br/&amp;gt;Also for files with bit depth not being 8/16/24/32 is lost; WAVE/AIFF/CAF can handle &amp;quot;17 bit&amp;quot; files by storing 24 and employing a flag to disregard the 7 LSBs, and ffmpeg will lose this flag even when encoding to / decoding from codecs which support it, WavPack and FLAC. &lt;br /&gt;
* FFmpeg can decode WavPack 5 files, but will only write WavPack 4 files (hence no &#039;&#039;fast verification&#039;&#039;).&lt;br /&gt;
&lt;br /&gt;
FFmpeg&#039;s compression settings can be set with &amp;lt;tt&amp;gt;-compression_level&amp;lt;/tt&amp;gt; 0 to 8, which work different than the reference implementation. Like for ALAC compression, FFmpeg has chosen a default that prioritizes speed over size &amp;lt;ref&amp;gt;[https://hydrogenaud.io/index.php?topic=118278.msg976262#msg976262  HA forum comment comparing the compression presets]&amp;lt;/ref&amp;gt; &amp;amp;ndash; while on the other end, FFmpeg&#039;s WavPack encoder offers settings even slower than &amp;lt;tt&amp;gt;-hhx6&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Software support (&amp;amp; hardware) =&lt;br /&gt;
With Android support and playback through ffmpeg, it might no longer be feasible to maintain a list of applications that can play WavPack files, and the following is  most certainly incomplete &amp;amp;ndash; as is the list at https://www.wavpack.com/#Software .  Also, the distinction between &amp;quot;hardware&amp;quot; and &amp;quot;software&amp;quot; support is not clear in the age of smart devices running Android, and the list at https://www.wavpack.com/#Hardware does not cover those.&lt;br /&gt;
&lt;br /&gt;
== Players ==&lt;br /&gt;
* [[foobar2000]] advanced freeware audio player plays/decodes WavPack out of the box on both Windows, MacOS, Android and iOS (Windows: supports encoding if wavpack.exe is installed, and redistributes the official wavpack.exe through its &amp;quot;Free encoder pack&amp;quot; addon for encoding.  With ReplayGain &amp;amp; cuesheets support.) Also [[Boom]] from the same author.&lt;br /&gt;
* [http://www.videolan.org/vlc/download-windows.html VLC] multiplatform media player&lt;br /&gt;
* [http://www.vuplayer.com/vuplayer.php VUPlayer] (official plugin, supports encoding)&lt;br /&gt;
* NullSoft [[Winamp]] (plugin with ReplayGain &amp;amp; Media Library support) and Winamp-compatible players&lt;br /&gt;
* [[Windows Media Player]] and other directshow-based players (MPC, TCMP, RadLight) (with [http://www.hydrogenaudio.org/forums/index.php?showtopic=103693 CoreWavPack] directshow filter)&lt;br /&gt;
* [http://cogosx.sourceforge.net/ Cog] Audio player for MacOS X.&lt;br /&gt;
* [https://wiki.jriver.com/index.php/WavPack JRiver Media Center]&lt;br /&gt;
* [[XMMS]] (with Kuniklo&#039;s plugin)&lt;br /&gt;
* [http://fondriest.frederic.free.fr/realisations/lamip/ LAMIP] (official plugin)&lt;br /&gt;
* [http://mpxplay.sourceforge.net/ MPXplay] for DOS!&lt;br /&gt;
* [http://aqualung.sourceforge.net/ Aqualung] for GNU/Linux&lt;br /&gt;
* Cowon [http://www.jetaudio.com/ JetAudio Player] and CD ripper&lt;br /&gt;
* [http://www.un4seen.com/ XMPlay] Plugin required (WavPack input plugin) and (bass library) to play &#039;wv&#039; files&lt;br /&gt;
&lt;br /&gt;
== Converters, CD rippers etc. ==&lt;br /&gt;
For conversion (of &#039;&#039;audio&#039;&#039; only), one can use several of the &#039;&#039;players&#039;&#039; listed above, like Cowon JetAudio, foobar2000 and VUplayer &amp;amp;ndash; although some with limitations in the audio pipeline, like for example DSD handling. &amp;lt;br/&amp;gt;&lt;br /&gt;
More software that support conversion to or from WavPack include:&lt;br /&gt;
* Custom [http://www.wavpack.com/WavPack_frontend.zip WavPack frontend] (by Speekenbrink) for Windows.&lt;br /&gt;
* [http://www.dbpoweramp.com/ dBpowerAMP] Music Converter CD ripper/writer / Audio Player / (official addon)&lt;br /&gt;
* [[fre:ac]] multi-platform CD ripper/converter&lt;br /&gt;
* [[Exact Audio Copy]] CD Ripper (guide at this wiki&amp;lt;ref&amp;gt;[[EAC_and_WavPack | HA Wiki: Configuring EAC and WavPack]]&amp;lt;/ref&amp;gt;)&lt;br /&gt;
* [http://www.nero.com/eng/ Nero]&lt;br /&gt;
* [http://cdexos.sourceforge.net CDex] CD ripper&lt;br /&gt;
* [https://download.cnet.com/Ease-Audio-Converter/3000-2140_4-10390634.html Ease Audio Converter] (Discontinued; shareware / NOT Freeware)&lt;br /&gt;
* [http://media.io/ Media.io Online Audio Converter]&lt;br /&gt;
* [http://www.logipole.com/index.html Konvertor]&lt;br /&gt;
* [http://cuetools.net CUETools] converter and AccurateRip/CTDB checker&lt;br /&gt;
* [https://github.com/nu774/qaac refalac] (user must copy the wavpackdll.dll file to the appropriate directory)&lt;br /&gt;
&lt;br /&gt;
== Taggers and audio info utilities ==&lt;br /&gt;
* [http://www.mp3tag.de/en/index.html Mp3tag] Universal Tag Editor&lt;br /&gt;
* [https://picard.musicbrainz.org/ MusicBrainz Picard] Tagger with audio identification &lt;br /&gt;
* [http://www.jtclipper.eu/thegodfather/ The GodFather] Tagger / Music manager&lt;br /&gt;
* [[Tag.exe|Case&#039;s Tag]] command line tagger&lt;br /&gt;
* [https://mediaarea.net/ MediaInfo]&lt;br /&gt;
* [http://mr-questionman.en.uptodown.com/windows Mr. QuestionMan]&lt;br /&gt;
&lt;br /&gt;
== Audio editors and other tools ==&lt;br /&gt;
* [[Audacity]] has WavPack support (using official libraries) from version 3.2.0 (2022)&amp;lt;ref&amp;gt;[https://github.com/audacity/audacity/releases/tag/Audacity-3.2.0 Audacity 3.2.0 release notes]&amp;lt;/ref&amp;gt;.&lt;br /&gt;
* [[Adobe Audition]] and Cool Edit (filter with 32-bit floats &amp;amp; extra info save support)&lt;br /&gt;
* [https://sourceforge.net/projects/sox/ SoX] can read and write WavPack files.  (Write: limited to &amp;lt;tt&amp;gt;-hh&amp;lt;/tt&amp;gt; compression, not file format version 5.)&lt;br /&gt;
* [http://www.bunkus.org/videotools/mkvtoolnix/ mkvtoolnix] &amp;amp;ndash; tool to multiplex streams in Matroska container files.&lt;br /&gt;
&#039;&#039;It&#039;s worth mentioning the [[Matroska]] guys decided to concentrate on WavPack as the lossless compressor of choice for their container. Quite an honor... :-)&#039;&#039;&lt;br /&gt;
* [https://support.pkware.com/display/PKSZLU/PKZIP+Toolkit+for+Windows PKWare]&#039;s .zip format compresses audio by WavPack since version 6.3.2 (2007).  Beware that there is no expectation that other decompression software handles these zip files; even if PKWare co-designed the format and PKZip was the original .zip implementation, their subsequent compression methods are outside the ISO/IEC standardized zip format specification. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Links =&lt;br /&gt;
* [http://www.wavpack.com/ Official website]&lt;br /&gt;
* [https://github.com/dbry/WavPack Github repository]&lt;br /&gt;
* [http://www.rarewares.org/lossless.html Unofficial compiles] at RareWares. As of 2023: 5.50 for Windows and 4.32 multiplatform&lt;br /&gt;
* [https://en.wikipedia.org/wiki/WavPack WavPack at Wikipedia]&lt;br /&gt;
* [https://wiki.multimedia.cx/index.php/WavPack WavPack at Multimediawiki] (not updated with version 5)&lt;br /&gt;
* [[Lossless_comparison| HA Wiki&#039;s Lossless Codec Comparison]] originally by [[User:Rjamorim|Rjamorim]] &lt;br /&gt;
* An older (2005) performance comparison of lossless audio compressors {{webarchive|https://web.archive.org/web/20151027213336/http://members.home.nl/w.speek/comparison.htm|2015-10-27}} by Speek, using WavPack version 4.0 &lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{navbox audio codecs}}&lt;br /&gt;
[[Category:Codecs]]&lt;br /&gt;
[[Category:Lossless]]&lt;/div&gt;</summary>
		<author><name>Porcuswiki</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=FLAC_decoder_testbench&amp;diff=37638</id>
		<title>FLAC decoder testbench</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=FLAC_decoder_testbench&amp;diff=37638"/>
		<updated>2023-12-16T21:24:38Z</updated>

		<summary type="html">&lt;p&gt;Porcuswiki: JRiver update (and ffplay). And added that volume change is tolerated for lime. (It was, at least for the old JRiver entry.)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;To further the use and development of [[Free Lossless Audio Codec|FLAC]], a testbench containing files with different parameters was constructed. The testbench consists of 64 FLAC files, each one having a different combination of characteristics (like samplerate, bitdepth and number of channels) and FLAC features (like blocksize, maximum partition order, maximum predictor order, maximum predictor precision etc.) However, all combinations fall within the so called subset: a limited set of FLAC parameters that fit in the frame header and are supposed to be &#039;streamable&#039;. Please be aware that certain tested features (such as blocksize 16 or a samplerate of 38457Hz) are pretty much useless in day-to-day usage, and that failure to properly decode such a file is mostly of interest to developers than to users.&lt;br /&gt;
&lt;br /&gt;
The testbench can be [https://drive.google.com/file/d/1ECjkAyqV56xd9IZV-6zccG1Y-iE_hDMj/view?usp=sharing downloaded here (revision 7)] and [https://github.com/ietf-wg-cellar/flac-test-files is maintained here].  It is licensed under [https://creativecommons.org/publicdomain/zero/1.0/ CC0 1.0].&lt;br /&gt;
&lt;br /&gt;
Revision 6 adds four new files (60 to 63); files 1 through 59 are the same as in revision 5. For more information on which file tests what characteristics and features, please refer to the [https://github.com/ietf-wg-cellar/flac-test-files/blob/main/subset/README.txt readme.txt file]. Revision 7 replaces file 63 (which was faulty in revision 6) and adds file 64.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; cellspacing=&amp;quot;2&amp;quot;&lt;br /&gt;
!&lt;br /&gt;
! colspan=&amp;quot;5&amp;quot; | CDDA (44.1kHz/16-bit and less)&lt;br /&gt;
! colspan=&amp;quot;5&amp;quot; | High-res (96kHz/24-bit and more)&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | Multichannel&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; | Metadata&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; | Various&lt;br /&gt;
!&lt;br /&gt;
|-&lt;br /&gt;
!&#039;&#039;&#039;Decoder&#039;&#039;&#039;&lt;br /&gt;
! Block&amp;amp;shy;sizes&lt;br /&gt;
! Features&lt;br /&gt;
! Sample&amp;amp;shy;rates&lt;br /&gt;
! Bit&amp;amp;shy;depths&lt;br /&gt;
! {{tooltip|Var. bl.size|Variable blocksize}}&lt;br /&gt;
! General&lt;br /&gt;
! Block&amp;amp;shy;size&lt;br /&gt;
! Features&lt;br /&gt;
! Sample&amp;amp;shy;rates&lt;br /&gt;
! Bit&amp;amp;shy;depths&lt;br /&gt;
! General&lt;br /&gt;
! Features&lt;br /&gt;
! Missing&lt;br /&gt;
! Extreme&lt;br /&gt;
! MIME&lt;br /&gt;
! Mono&lt;br /&gt;
! Overfl.&lt;br /&gt;
! Zero esc.&lt;br /&gt;
! Remarks&lt;br /&gt;
|-&lt;br /&gt;
! Files in test set&lt;br /&gt;
| 1-10&lt;br /&gt;
| 11-18&lt;br /&gt;
| 19-21&lt;br /&gt;
| 22-23&lt;br /&gt;
| 24-27&lt;br /&gt;
| 28&lt;br /&gt;
| 29-30&lt;br /&gt;
| 31-32,&amp;amp;nbsp;34&lt;br /&gt;
| 33-36&lt;br /&gt;
| 37&lt;br /&gt;
| 38-43&lt;br /&gt;
| 44&lt;br /&gt;
| 45-47&lt;br /&gt;
| 48-55&lt;br /&gt;
| 56-59&lt;br /&gt;
| 60&lt;br /&gt;
| 61-63&lt;br /&gt;
| 64&lt;br /&gt;
|-&lt;br /&gt;
! Albrecht DR 460 C&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|Slightly distorts 34567Hz file (sizzling sound)}}&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|Very low volume on 12 bps file}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; colspan=&amp;quot;5&amp;quot; | {{tooltip|Skips|Skips all high-res files}}&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|Skips 3, 4, 5 channel files, plays back 6, 7 and 8 channel files at high speed (chipmunk audio)}}&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | Skips&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|Skips extremely large seektable, plays silence on other large metadata blocks, plays large cuesheet and repeating vorbiscomment fine}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Skips|Skips with delay of about 10 seconds}}&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Fails|Skips all three files, with a delay of about 10 seconds for the 16-bit file}}&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Skips|Skips with delay of about 10 seconds}}&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
! Android&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|Heavy stuttering on blocksize 16}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Skips|Skips all variable blocksize files}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|No sound on 20 bit file}}&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Skips|Skips 3.0, 4.0, 5.0 and 6.1}}&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Skips|File skipped}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|No sound on 20 bit file}}&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|Short bursts of static}}&lt;br /&gt;
| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; | Android 13 with Google Play updates of 1st of Febuary 2023 on Samsung XCover 5&lt;br /&gt;
|-&lt;br /&gt;
! Chromecast&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|Heavy stutter with blocksize 16}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|Mangles non-standard samplerates}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|Never starts playing on old format blocksize}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|Mangles non-standard samplerates}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Skips|Skips file with avif embedded picture}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Skips|Skips file with 24-bit overflow check}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; | Tested with system firmware 275994 and cast firmware 1.56.275994, testbench revision 7&lt;br /&gt;
|-&lt;br /&gt;
! Citroën DS5&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Skips|Skips files with a non-standard samplerate, plays 22050Hz}}&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|Extreme distortion on playback of 20-bit file}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; colspan=&amp;quot;7&amp;quot; | {{tooltip|Skips|Skips all high-res and multichannel files}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: red;&amp;quot;    | {{tooltip|Hangs|Files with large seektable are skipped (after long delay) and file with combined extreme metadata causes player to hang, requiring removal of USB stick}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|Extreme distortion on playback of 20-bit file}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
! Cowon iAudio 7&lt;br /&gt;
| style=&amp;quot;background: red;&amp;quot;    | {{tooltip|Freezes|Freezes on blocksizes 254 and 725; skips file with blocksize 1937}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|35467Hz and 39kHz are speeded up; 22050 plays at correct speed}}&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Rejects|All files with bitdepth other than 16 are skipped}}&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Rejects|All files with variable block size are skipped}}&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | Rejects&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | Rejects&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | Rejects&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | Rejects&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | Rejects&lt;br /&gt;
| style=&amp;quot;background: red;&amp;quot;    | {{tooltip|Freezes|3.0 plays as silence, others 16/44 multichannel files make freeze}}&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Rejects|File is skipped}}&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Rejects|File 61 plays normally. Files 62 and 63 are skipped because device doesn&#039;t support FLAC with bitdepth other than 16 at all.}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; | Device doesn&#039;t support FLAC with bitdepth other than 16 and samplerate higher than 44.1 kHz. So actual features of files 45-54 and 62-63 cannot be tested. File 55 plays, but takes long time to start.&lt;br /&gt;
|-&lt;br /&gt;
! Ford SYNC&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Skips|Skips 12 bit per sample file}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Skips|Skips 20 bit per sample file}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | {{tooltip|Plays|Only plays left and right channels, does not downmix}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot;    | {{tooltip|Skips|Files with large seektable are skipped (after long delay) and file with combined extreme metadata causes player to hang, requiring removal of USB stick}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; |  Tested with revision 5, SYNC version 3.3, build 18201_PRODUCT&lt;br /&gt;
|-&lt;br /&gt;
! JVC KD-R871BT&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | Fails&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | Fails&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | Rejects&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: red;&amp;quot;    | Freezes&lt;br /&gt;
| style=&amp;quot;background: red;&amp;quot;    | Reboots&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | Fails&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | Rejects&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; colspan=&amp;quot;2&amp;quot; | Rejects&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | Rejects&lt;br /&gt;
| style=&amp;quot;background: red;&amp;quot;    | Reboots&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | Rejects&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; | Heavy stutter with blocksize 16. Stretches non-standard samplerates. Samplerates above 96kHz, variable blocksize files and multichannel files &#039;not supported&#039;. Freezes on blocksize 16384 and 13456. 192kHz is played back very slow. Skips all multichannel, files with cover image, extreme metadata. Reboot loop on extreme large VORBISCOMMENT&lt;br /&gt;
|-&lt;br /&gt;
! Kenwood KMM-BT304&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | Fails&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | Rejects&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot; | Plays&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | Rejects&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot; | Plays&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | Rejects&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | Rejects&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | Rejects&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot; | Plays&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | Rejects&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | Rejects&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot; | Plays&lt;br /&gt;
| style=&amp;quot;background: red;&amp;quot;    | Reboots&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot; | Plays&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; | File 03 plays extremely noisily, barely recognizable. File 51 produces a &amp;quot;NO DEVICE&amp;quot; error and a reboot. File 54 produces a reboot with no message. These files produce a &amp;quot;NA FILE&amp;quot; error and the player skips to the next: 19 21 24 25 26 27 29 30 31 34 35 36 38 39 40 41 42 43 44 45 46 48 55. (firmware: te1706k.krm from 2020-03-05)&lt;br /&gt;
|-&lt;br /&gt;
! Lenco Xemio-240&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: red;&amp;quot;    | {{tooltip|Freezes|Freezes on non-standard sample rates (34567Hz and 39kHz)}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot;  colspan=&amp;quot;8&amp;quot; | {{tooltip|Rejects|Returns message &#039;File format not supported!&#039;}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | {{tooltip|Plays|Player is unresponsive during loading, which takes a while}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|20 bit and 24 bit files are played back with shorts bursts of loud static}}&lt;br /&gt;
| -&lt;br /&gt;
| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; | Tested with revision 6, firmware version V5.15, dated 2020-04-24&lt;br /&gt;
|-&lt;br /&gt;
! Onkyo TX-NR686&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|Heavy stutter with blocksize 16}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Rejects|Non-standard sample rates (34567Hz and 39kHz) are skipped}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Rejects|Does not play current format variable blocksize files but does play &#039;pre-2007 format&#039; variable blocksize files}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Rejects|Non-standard sample rates (134560Hz and 384kHz) are skipped}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; colspan=&amp;quot;2&amp;quot; | {{tooltip|Rejects|Does not play 4.0, 5.1 and 7.1 files but does play 5.0 and 6.1 as stereo and 3.0 as 3.1}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: red;&amp;quot;    | {{tooltip|Reboots|Crashes on file with 1000x repeating VORBISCOMMENT}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| -&lt;br /&gt;
| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; | Tested with revision 6, firmware version 1071-2000-1070-0011.&lt;br /&gt;
|-&lt;br /&gt;
! Panasonic TX-60CX750E&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|Non-standard sample rates (34567Hz and 39kHz) are stretched i.e. played at wrong speed}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|Non-standard sample rates (134560Hz and 384kHz) are stretched i.e. played at wrong speed}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | {{tooltip|Plays|Multichannel condensed into 2 channels}}&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|Does not start playing}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|Does not start playing on extremely large vorbiscomment}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| -&lt;br /&gt;
| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; | Based on libFLAC 1.2.1, according to copyright notice. Firmware version 3.228, testbench revision 6&lt;br /&gt;
|-&lt;br /&gt;
! Pioneer BDP-150&lt;br /&gt;
| style=&amp;quot;background: red;&amp;quot;    | {{tooltip|Freezes|Freezes on non-standard blocksizes (16, 254, 725, 1000 and 1937)}}&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|Garbled audio when playing file with LPC with qlp precision of 2}}&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|Stretches non-standard samplerates to 44.1kHz}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: red;&amp;quot;    | {{tooltip|Freezes|Freezes on variable blocksize files with non-standard blocksizes, stutters on variable blocksize files with standard blocksizes}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: red;&amp;quot;    | {{tooltip|Freezes|Freezes on non-standard blocksize (13456)}}&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|Incorrect decoding (clicks) of RICE2 partitions with escape codes}}&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|Stretches non-standard samplerates to 44.1kHz. Stutters on 192kHz with 32th order predictors}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: red;&amp;quot; colspan=&amp;quot;2&amp;quot; | {{tooltip|Freezes|Freezes on files with more than 6 channels}}&lt;br /&gt;
| style=&amp;quot;background: red;&amp;quot;    | {{tooltip|Freezes|Freezes on files with an unknown number of total samples}}&lt;br /&gt;
| style=&amp;quot;background: red;&amp;quot;    | {{tooltip|Freezes|Freezes on files with 1000x repeated vorbiscomments, rejects files with too many seekpoints}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|Plays but skips parts of 24-bit file}}&lt;br /&gt;
| -&lt;br /&gt;
| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; | Firmware v1.08, testbench revision 6&lt;br /&gt;
|-&lt;br /&gt;
! Pioneer DEH-1900UB &lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Skips|Skips non-standard blocksizes (16, 254, 725, 1000 and 1937)}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays &lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Skips|Skips non-standard samplerates}}&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | Skips&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Skips|Skips file 24 and 25}}&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; colspan=&amp;quot;7&amp;quot; | Skips&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Other|Plays, but takes about a minute time to start playing. During this wait, track can be skipped, unit does not become unresponsive}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; | Testbench revision 5&lt;br /&gt;
|-&lt;br /&gt;
! Rockbox&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;  | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;  | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;  | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;  | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;  | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;  | Plays&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot;| {{tooltip|Skips|Skips blocksizes 16384 and 13456}}&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot;| {{tooltip|Skips|Skips file with only 32nd order predictors}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;  | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;  | Plays&lt;br /&gt;
| style=&amp;quot;background: red;&amp;quot; colspan=&amp;quot;2&amp;quot; | {{tooltip|Freezes|Freezes on files with more than 6 channels}}&lt;br /&gt;
| style=&amp;quot;background: red;&amp;quot;   | {{tooltip|Freezes|Crashes on filewith no total number of samples set}}&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot;| {{tooltip|Fails|Plays extremely slowly on file with APPLICATION metadata block}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;  | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|Plays 20-bit and 24-bit file but with loud bursts of static}}&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|PLays, but with short ticks}}&lt;br /&gt;
| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; |  Tested with Rockbox 3.15 (latest stable) on Sansa Fuze with testbench revision 7&lt;br /&gt;
|-&lt;br /&gt;
! Samsung F5100WWB&lt;br /&gt;
| style=&amp;quot;background: red;&amp;quot;    | {{tooltip|Crashes|Freezes on blocksizes 254, 725 and 1000, crashes on blocksize 1937, skips blocksize 16}}&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|Garbled audio when playing file with LPC with qlp precision of 2}}&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|Stretches non-standard samplerates to 44.1kHz}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: red;&amp;quot;    | {{tooltip|Freezes|Freezes on variable blocksize files with non-standard blocksizes, stutters on variable blocksize files with standard blocksizes, rejects CUETools and old format variable blocksize file}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: red;&amp;quot;    | {{tooltip|Skips|Skips non-standard blocksize (13456)}}&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|Mangles file with RICE2 partitions with escape codes}}&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|Stretches non-standard samplerates to 44.1kHz. Mangles 192kHz with 32th order predictors}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: red;&amp;quot; colspan=&amp;quot;2&amp;quot; | {{tooltip|Freezes|Freezes on files with more than 6 channels}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Freezes|Becomes unresponsive on file with 1000x repeating vorbis comment}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|Plays but skips parts of 24-bit file}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; | Testbench revision 7&lt;br /&gt;
|-&lt;br /&gt;
! Sony BDP-1700&lt;br /&gt;
| style=&amp;quot;background: red;&amp;quot;    | {{tooltip|Freezes|Freezes on non-standard blocksizes (254, 725, 1000 and 1937)}}&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|Garbled audio when playing file with LPC with qlp precision of 2}}&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|Stretches non-standard samplerates to 44.1kHz}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: red;&amp;quot;    | {{tooltip|Freezes|Freezes on variable blocksize files with non-standard blocksizes, stutters on variable blocksize files with standard blocksizes}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: red;&amp;quot;    | {{tooltip|Freezes|Freezes on non-standard blocksize (13456)}}&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|Incorrect decoding (clicks) of RICE2 partitions with escape codes}}&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|Stretches non-standard samplerates to 44.1kHz. Stutters on 192kHz with 32th order predictors}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: red;&amp;quot; colspan=&amp;quot;2&amp;quot; | {{tooltip|Freezes|Freezes on files with more than 6 channels}}&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Skips|Skips file with an unknown number of total samples}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|Plays but skips parts of 24-bit file}}&lt;br /&gt;
| -&lt;br /&gt;
| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; | Firmware m30.R.0527, testbench revision 6&lt;br /&gt;
|-&lt;br /&gt;
! Toyota Entune 3.0&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Skips|Skips files with a non-standard samplerate, plays 22050Hz}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Skips|Skips files with a non-standard samplerate (here 134560 and 384000)}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Skips|Skips 6.1 and 7.1}}&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | Skips&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Skips|Skips unknown minimum/maximum framesize}}&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Skips|Skips 51 and 54 with abnormal VORBISCOMMENT}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; | Testbench revision 7&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;16&amp;quot; | Software players&lt;br /&gt;
|-&lt;br /&gt;
! AIMP 5.03 build 2398 (Windows)&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|Stuttering playback}}&lt;br /&gt;
| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; | Testbench revision 7.&lt;br /&gt;
|-&lt;br /&gt;
! Album Player 2.114 (Windows)&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|Gives out error on 12 bit. Only noise on 8 bit.}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Rejects|Gives out error on 20 bit}}&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Rejects|Gives out error on 6.1 and 7.1}}&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Rejects|Gives out error}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Rejects|Gives out error on 20 bit}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; | Testbench revision 7.&lt;br /&gt;
|-&lt;br /&gt;
! Amarok (Windows)&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot;   | {{tooltip|Fails|Plays silence on blocksizes 16, 254, 725, 1000, 1937, 2304. (Could be provoked to play a split second of one.)}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: red;&amp;quot;   | {{tooltip|Crashes|Crashes on 8 bits. And plays silence on 12 bits}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot;   | {{tooltip|Fails|Silence on blocksize 13456}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot;   | {{tooltip|Skips|Skips 384 kHz}}&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot;   | {{tooltip|Fails|Silence on 20 bits}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot;   | {{tooltip|Fails|Silence on 20 bits, like on number 37}}&lt;br /&gt;
| -&lt;br /&gt;
| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; | Amarok version 2.8.0 with testbench revision 5 and 60-63&lt;br /&gt;
|-&lt;br /&gt;
! Cog&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | {{tooltip|Plays|Versions before 1630 will reject the 12 bit file, because they did not properly handle files with bit depths that aren&#039;t a multiple of 8.}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | {{tooltip|Plays|Versions before 1630 will reject this 20 bit file, because they did not properly handle files with bit depths that aren&#039;t a multiple of 8.}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | {{tooltip|Plays|Versions before 1647 will downmix 8 channel files such as test 43 incorrectly, but they will decode properly, and play back properly if the sound output device supports 8 channels directly.}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | {{tooltip|Plays|Versions before 1647 will downmix 8 channel files such as this test incorrectly, but they will decode properly, and play back properly if the sound output device supports 8 channels directly.}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   |{{tooltip|Plays|Versions before 1630 will reject the 20 bit file, because they did not properly handle files with bit depths that aren&#039;t a multiple of 8.}}&lt;br /&gt;
| -&lt;br /&gt;
| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; | version 2169 (2169-gbf54c452) with testbench revision 6&lt;br /&gt;
|-&lt;br /&gt;
! DeaDBeeF 1.9.3 (Windows)&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
|    colspan=&amp;quot;2&amp;quot; | {{tooltip|(not tested - )|Could not test multichannel}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; | deadbeef 1.9.3 [static] [portable].  Testbench revision 7&lt;br /&gt;
|-&lt;br /&gt;
! Exaile (Windows)&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot;    | {{tooltip|Fails|Version 4.1.2 beta1: File 25 Flake smaller blocksize is played back noisy. File 27 old format mutes after a split second. Version 4.1.1: Skips all variable blocksize files, except: stops upon the old format flake 0.11 (but can resume playback on different file)}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| -&lt;br /&gt;
| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; | First tested version 4.1.1  (GStreamer: 1.18.4) with testbench revision 5. Then updated with 4.1.2-beta1 (GStreamer: 1.18.5) for variable blocksize and 60-63&lt;br /&gt;
|-&lt;br /&gt;
! ffplay N-108161-gaaf6d85283-20220916 (Windows)&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot;   | {{tooltip|Fails|Wrong speed on blocksize 16}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | {{tooltip|Plays|But output channel layout for 6.1 is incorrect: FL,FR,FC,LFE,BL,BR,BC instead of FL,FR,FC,LFE,BC,SL,SR}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | {{tooltip|Plays|Takes about 30 seconds before starts to play file 55}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; | Testbench revision 7. File 03 still broken in versions N-109368-gcc11afe502-20221206 and 6.1-essentials_build-www.gyan.dev&lt;br /&gt;
|-&lt;br /&gt;
! foobar2000 1.6.14 and 2.0 beta 7 [x86]&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | {{tooltip|Plays|Since version 1.6.8}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot; | Plays&lt;br /&gt;
| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; | Testbench revision 7&lt;br /&gt;
|-&lt;br /&gt;
! GoneMAD (Android)&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: red;&amp;quot;    | Crashes&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: red;&amp;quot;    | {{tooltip|Hangs|Hangs on 55. Also unresponsible UI on 51, but plays.}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; | testbench revision 5&lt;br /&gt;
|-&lt;br /&gt;
! JRiver Media Center (Windows 64; portable)&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | {{tooltip|Plays|lowers volume on 12 bit and 8 bit}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | {{tooltip|Plays|lowers volume on 20 bit}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | {{tooltip|Plays|lowers volume on 20 bit}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; | Windows version 31.0.84 64-bit with testbench version 7.1. (Version 28.0.88 would reject number 54.)&lt;br /&gt;
|-&lt;br /&gt;
! Mediamonkey 5&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot;    | {{tooltip|Skips|5.0.4 skips 12-bit file. (Old 5.0.1 crashed.)}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Silence|Plays silence on 20-bit file.}}&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|Only plays first 2 seconds of all spoken multichannel files}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | {{tooltip|Plays|Fixed in 5.0.4. Version 5.0.1 got unresponsive when (and after) playing files with 1000x repeating vorbiscomments}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|Only plays first 2 seconds}}&lt;br /&gt;
| style=&amp;quot;background: red;&amp;quot;    | {{tooltip|Freezes|File 62 most often skipped, but freeze (to be killed with Task Manager) was provoked. Files 61/63 play first 2 seconds)}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; | Updated with version 5.0.4.2690 testing files 60-64 and the ones 5.0.1.2433 failed (22) / froze (54-55) upon testing revision 5.&lt;br /&gt;
|-&lt;br /&gt;
! MacOS&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Skips|Skips blocksize 16 file}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Skips|Skips 8-bit and 12-bit file}}&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Skips|Skips all variable blocksize files}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; | Testbench revision 7, tested with Quicktime and Safari on MacOS 13&lt;br /&gt;
|-&lt;br /&gt;
! Mplayer (Windows)&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|Stuck at beginning of 384 kHz file, but one can skip with arrow button to play last part}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: red;&amp;quot;    | {{tooltip|Unresp.|Took over a minute before starting to playing the &#039;55 - file 48-53 combined.flac&#039;}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|Stutters on 24-bit predictor overflow check}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; | SMPlayer-bundled version Redxii-SVN-r37955-6.2.0 (x86_64) (using ffmpeg N-87137-g6ccd32c367) with testbench revision 5 &amp;amp; files 60-64&lt;br /&gt;
|-&lt;br /&gt;
! mpv (Windows)&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: red;&amp;quot;    | {{tooltip|Hangs|Hangs on files with 1000x repeating vorbiscomments}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot; | {{tooltip|Plays|Fixed during November 2022; version mpv-x86_64-20211031-git-4a80de9 (Windows) did stutter on 24-bit predictor overflow check}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; | mpv-0.35.0-x86_64 for Windows, testbench revision 7; this build (November 14) fixes one more file than mpv-x86_64-20211031-git-4a80de9.&lt;br /&gt;
|-&lt;br /&gt;
! MusicBee 3.4.8033 (Windows; portable)&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot; | Plays&lt;br /&gt;
| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; | Testbench revision 7. Only tested on headphones, does left/right correctly on multichannel.&lt;br /&gt;
|-&lt;br /&gt;
! Quod Libet (Windows)&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot;    | {{tooltip|Fails|Chirp sounds on old-format 0.11.  Other variable blocksize files makes player skip subsequent file(s) in the playlist.}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot;   | {{tooltip|Skips|Skips 384 kHz}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| -&lt;br /&gt;
| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; | version 4.4.0 (portable version) with testbench revision 5 and 4.5.0 (portable) with revision 6.&lt;br /&gt;
|-&lt;br /&gt;
! Resoniq 0.9.3 (portable, Windows)&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot;   |  {{tooltip|Fails?|Suspicious channel allocation on 6.1 and 7.1. Tested only on stereo set, but side-right not spoken even when side-left is.}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot; | Plays&lt;br /&gt;
| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; | Apparently uses FLAC 1.3.2. Testbench revision 7. &lt;br /&gt;
|-&lt;br /&gt;
! Spotify (Windows)&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Skips|Skips 12 bits per sample}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot;   | {{tooltip|Skips|Skips 384 kHz}}&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot;   | {{tooltip|Skips|Skips 20 bits}}&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot;   | {{tooltip|Skips (?)|Skips all multi-channel}}&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot;   | {{tooltip|Skips (?)|Skips all multi-channel}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot;    | {{tooltip|Rejects|Does not index any of the &#039;extremely large&#039; 48-52 &amp;amp; 55}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| -&lt;br /&gt;
| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; | Spotify for Windows version 1.1.72.439.gc253025e, testbench revision 5; files 60-63 with version 1.1.83.956.gbe7ea9a7. Note, tested a stereo soundcard only (hence the question mark on multichannel).&lt;br /&gt;
|-&lt;br /&gt;
! VLC&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | {{tooltip|Fails|Unable to play old-style variable blocksize}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: red;&amp;quot;    | {{tooltip|Crashes|Crashes occasionally on files with extremely large VORBISCOMMENT}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; | VLC 3.0.16 on testbench revision 5 &amp;lt;br&amp;gt;VLC 3.0.17.4 on files 60 to 63.&amp;lt;br&amp;gt;VLC 3.0.16 on file 64&lt;br /&gt;
|-&lt;br /&gt;
! VUPlayer 4.15&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; | Testbench revision 7.&lt;br /&gt;
|-&lt;br /&gt;
! Winamp 5.8&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: red;&amp;quot;    | {{tooltip|Freezes|Freezes on 12 bit file}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: red;&amp;quot;    | {{tooltip|Freezes|Freezes on 384kHz}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: red;&amp;quot; colspan=&amp;quot;2&amp;quot; | {{tooltip|Freezes|Freezes on 3.0, 5.0, 6.1 and 7.1 files}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; | Winamp 5.8 build 3660, testbench revision 5&lt;br /&gt;
|-&lt;br /&gt;
! Windows Media Player&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Rejects|Rejects 12 bit file}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Rejects|Rejects 20 bit file}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | {{tooltip|Rejects|Rejects all}}&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; | Tested version 12.0.19041.1288 on testbench revision 5&lt;br /&gt;
|-&lt;br /&gt;
! XMPlay&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays&lt;br /&gt;
| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; | XMPlay 3.8.5.42 with FLAC decoder revision 14 tested with testbench revision 7.&lt;br /&gt;
|-}&lt;br /&gt;
|-}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; cellspacing=&amp;quot;2&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | Table legend&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: lime;&amp;quot;   | Plays   || all files in this category are played as intended, without glitches, changes etc.; changed volume tolerated (but indicated)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: yellow;&amp;quot; | Rejects || One or more files are rejected by the player, either by skipping the file or mentioning a message like: &amp;quot;file not supported&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: orange;&amp;quot; | Fails   || One or more files are not played back as intended, for example by stuttering, garbling or playing at incorrect speed, or by never starting playing (though not skipping, freezing or rebooting)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: red;&amp;quot;    | Freezes || On one or more files, the player crashes on decoding, leaving the unit inoperable until reboot, or the unit reboots by itself&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | The order of precedence is from bottom to top, so if one file freezes the player, one file is rejected and the other play fine, the table reads &#039;Freezes&#039; for that category.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | For the metadata tests, the (absence of) rendering of the metadata is not a criterium, simply whether its presence is an obstacle to playing&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Porcuswiki</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=WavPack&amp;diff=37569</id>
		<title>WavPack</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=WavPack&amp;diff=37569"/>
		<updated>2023-11-17T22:02:50Z</updated>

		<summary type="html">&lt;p&gt;Porcuswiki: Updated with new ffmpeg. Also some rephrasing not to make &amp;quot;features with limitations&amp;quot; look like &amp;quot;limitations&amp;quot;.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Software Infobox&lt;br /&gt;
| name = WavPack&lt;br /&gt;
| logo = [[Image:Wavpacklogo.png|280px|Official WavPack logo]]&lt;br /&gt;
| screenshot =&lt;br /&gt;
| caption = Hybrid Lossless Audio Compression&lt;br /&gt;
| maintainer = David Bryant&lt;br /&gt;
| stable_release = 5.6.0 (2022-11-23)&lt;br /&gt;
| preview_release = [https://hydrogenaud.io/index.php/topic,124142.msg1028865.html#msg1028865 5.6.6]&lt;br /&gt;
| operating_system = Windows, MacOSX, Linux/BSD/Unix, ...&lt;br /&gt;
| use = Encoder/Decoder&lt;br /&gt;
| license = BSD license&lt;br /&gt;
| website = http://www.wavpack.com/&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;WavPack&#039;&#039;&#039; (pronounced &amp;quot;wave-pack&amp;quot;) is a [[lossless]] audio [[codec]], also offering optionally a [[hybrid codec| hybrid lossless/lossy]] mode.  It is distributed as a free open-source encoder/decoder with a library and a large number of tools, including a Windows GUI and a range of plugins for both audio players and other software.  Third party implementations are available, including ffmpeg.  WavPack supports and/or can be played back on a large number of platforms/OSes including mobile (Android, iOS), portable ([[Rockbox]]) and even web apps. &lt;br /&gt;
&lt;br /&gt;
WavPack is arguably the most feature-rich lossless compressor, supporting a unique range of audio signals including [https://en.wikipedia.org/wiki/Direct_Stream_Digital Direct-Stream Digital].  Everyday use is supported by a wide range of players and taggers, but conversion is likely safest done with applications that invoke the official tools (rather than e.g. ffmpeg&#039;s implementation) &amp;amp;ndash; and special features might require the user to apply the WavPack executable directly, for example with drag+drop, see the [[#Using WavPack]] section below.&lt;br /&gt;
&lt;br /&gt;
Performance-wise, WavPack defaults to a fast codec &amp;amp;ndash; less CPU intensive than [[ALAC]], but typically not as fast as [[FLAC]] or [[TAK]], especially in decoding CPU usage.&amp;lt;ref&amp;gt;[http://www.audiograaf.nl/losslesstest Martijn van Beurden: &amp;lt;em&amp;gt;Lossless audio codec comparison archive&amp;lt;/em&amp;gt;], all comparisons in this wiki article consistent with CDDA results up to revision 6, 2023, using WavPack 5.6.0.&amp;lt;/ref&amp;gt; In the age of low-power portable Rockbox-equipped players, WavPack could be seen as a reasonable middle ground between FLAC&#039;s low CPU footprint and long battery life, and the smaller files but more CPU-intensive [[Monkey&#039;s Audio]]&amp;lt;ref&amp;gt;[https://www.rockbox.org/wiki/CodecPerformanceComparison CodecPerformanceComparison] at the Rockbox wiki&amp;lt;/ref&amp;gt; &amp;amp;ndash; invoking WavPacks high mode and extra compression that would compress to smaller sizes than FLAC.&lt;br /&gt;
&lt;br /&gt;
WavPack has inspired other codecs&amp;lt;ref&amp;gt;Monkey&#039;s Audio historical FAQ {{webarchive|http://web.archive.org/web/20001017210206/http://www.monkeysaudio.com/faq.html|2000-10-17}}&amp;lt;/ref&amp;gt; and their features&amp;lt;ref&amp;gt;[http://losslessaudio.org/DualStream.php OptimFROG&#039;s &amp;quot;DualStream&amp;quot;] hybrid encoding &amp;amp;ndash; apparently WavPack coined this phrase&amp;lt;/ref&amp;gt;.  For more on WavPack, including on its history and technology, see the [https://en.wikipedia.org/wiki/WavPack Wikipedia entry].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Features =&lt;br /&gt;
For an end-user considering WavPack as an audio format, its feature-richness might be the big selling point.  WavPack supports pretty much all the more common features noted at [[Lossless_comparison| HA Wiki&#039;s Lossless Codec Comparison]] as in the following first list, but several users might consider the more unique features listed under the subsequent headline.&lt;br /&gt;
&lt;br /&gt;
* Seekable and streaming playback.&lt;br /&gt;
* Error handling: upon playback, it will detect and report corrupted frames, mute to protect against static/noise output, and continue playback.  Since version 5, WavPack can also check for corruption without decoding, hence quicker than any decoding format.  Optional MD5 audio checksum can also be added upon encoding for file fingerprinting. &lt;br /&gt;
* High-resolution audio support (see next headline).&lt;br /&gt;
* Multichannel support: currently capped at 256 channels, supports [https://docs.microsoft.com/en-us/windows/win32/api/mmreg/ns-mmreg-waveformatextensible WAVEFORMATEXTENSIBLE] channel masks.&lt;br /&gt;
* Piping support for encoding, and support for RAW PCM input/output.&lt;br /&gt;
* Non-audio chunks (RIFF and similar) stored; by default, WavPack will not only decode the audio losslessly, but restore the non-audio chunks to file bit-identical to the original.&lt;br /&gt;
* Tagging: APEv2. (ID3v1 is possible, but not advisable.) &lt;br /&gt;
* Cuesheet support. In practice, some applications handle &#039;&#039;embedded&#039;&#039; cuesheets better in WavPack than in some other formats.&lt;br /&gt;
* Unicode support.&lt;br /&gt;
* Can be used in the [[Matroska]] container. &lt;br /&gt;
* Windows GUI available.&lt;br /&gt;
&lt;br /&gt;
WavPack also handles bit depths not divisible by 8, and is known to employ a &amp;quot;wasted bits&amp;quot; strategy for a signal that is &#039;&#039;n &amp;quot;actual bits of signal&amp;quot; zero-padded and stored as N bits&#039;&#039; where certain other codecs may get tricked into a size penalty when the &#039;&#039;n&#039;&#039; is not a multiple of 8, or for &amp;quot;fake high resolution&amp;quot; (say the signal is 16 bits, but wrapped in a 24-bit file).  Wasted bits detection is also found in FLAC, TAK and OptimFROG.  &lt;br /&gt;
&lt;br /&gt;
== Special/unique features ==&lt;br /&gt;
Most of these features are shared with only a few if any notable codecs, or extend to signal types or file types others do not support (comparisons given).&lt;br /&gt;
* DSD support: can losslessly compress Philips DSDIFF and Sony DSF files (see &amp;quot;Using WavPack&amp;quot; below; no other end-user codec compresses DSD.) ID3v2.3 tags can be imported.  wvunpack can select between DSDIFF and DSF out (i.e. &#039;convert between the two&#039;).  wvunpack can also convert DSD to PCM, but not the other way around. (Lossy, as conversion between PCM and DSD necessarily is.)&lt;br /&gt;
* High-resolution support for bit depth 1-bit to 32-bit integer and sampling rates up to 2 GiHz in integer steps. (Officially, 1 GHz is supported &amp;amp;ndash; it is &#039;&#039;gigaherz&#039;&#039;, not MHz, the upper limit being in the UHF radio frequency band.  Monkey&#039;s Audio, OptimFROG and MPEG-4 ALS support the entire WAVE range up to 4 GiHz.) Can also compress files of &#039;&#039;non-integer sampling rates&#039;&#039; (AIFF/AIFC/CAF, as the WAVE format cannot contain such signals).   &lt;br /&gt;
* 32-bit &#039;&#039;floating-point&#039;&#039; supported &amp;amp;ndash; also including CoolEdit/Adobe Audition&#039;s own float format (use the &amp;lt;tt&amp;gt;-a&amp;lt;/tt&amp;gt; option only if the .wav was generated by CoolEdit/Audition).  (This line like OptimFROG.)&lt;br /&gt;
* As much as 256 channels currently supported (from version 5.5.0 on; [https://github.com/dbry/WavPack/issues/117 can be extended to the thousands] &amp;amp;ndash; for even more, MPEG-4 ALS supports 66536.) &lt;br /&gt;
* Hybrid lossy/lossless mode (can also be used as lossy &amp;amp;ndash; OptimFROG also has such a mode.)&lt;br /&gt;
* For LPCM it can read and output to WAVE (including the RF64 format extension used for large files), to Sony&#039;s Wave64, AIFF/AIFC (both endiannesses) and CAF (ditto) &amp;amp;ndash; with full restore of also non-audio parts to bit-by-bit the original file in the original format.  (Monkey&#039;s/OptimFROG/TAK do the same to the input formats they support.)  Also WavPack can handle too large noncompliant &amp;quot;WAVE&amp;quot; files (can still be restored to bit-identical the same as the flawed input file &amp;amp;ndash; or to formats that provide for larger files). &lt;br /&gt;
* Recompression: Can recompress .wv files in place, with tag transfer.  (Like FLAC on .flac files.)&lt;br /&gt;
* Drag and drop support: Dropping a file on to wavpack.exe/wvunpack.exe will encode/decode it to source directory. (Like FLAC.)  From 5.5.0, one can also apply options to drag and drop by renaming the executable, and drop several files.&lt;br /&gt;
&lt;br /&gt;
== Limitations ==&lt;br /&gt;
The following bullet item list is hardly of interest except for special purposes; WavPack supports nearly every input format that any competing codec handles. One exception is the legacy AU/SND, apparently supported only by Monkey&#039;s Audio. &lt;br /&gt;
* DSD: Will reject DST-compressed DSDIFF (which are already compressed heavier than WavPack does) and Wideband Single-bit Data files (apparently, the Tascam and Korg devices which can produce these, can also export to other DSD formats).&amp;lt;br/&amp;gt; Also, DSD files cannot be encoded as hybrid with correction files.&lt;br /&gt;
* 64-bit float is not supported.  (Apparently no other lossless audio compressor can support it either.)&lt;br /&gt;
* wvunpack can &#039;&#039;force output&#039;&#039; to a different format than input, and for AIFF/CAF also select endianness, but it cannot force output to different versions of big-endian AIFF (it will avoid AIFC as long as the signal can be fit in the original AIFF container) nor select between WAVE_FORMAT_PCM and WAVE_FORMAT_EXTENSIBLE.  Few other formats do allow for such output selection; reference FLAC can from 1.4.3 offer some wider choices than wvunpack can. &lt;br /&gt;
* &amp;lt;tt&amp;gt;--import-id3&amp;lt;/tt&amp;gt; can not import every type of ID3 tag, and unless &amp;lt;tt&amp;gt;--allow-huge-tags&amp;lt;/tt&amp;gt; is specified, size is limited to 1 MB; larger tagsets might possibly cause compatibility issues, although such are not known.  (To copy unsupported tags, use e.g. [[Mp3tag]].)&lt;br /&gt;
* Some file formats have features stored in headers (like loop points, or for AIFF possibly non-integer sampling rates) which will not be visible when trying to &#039;&#039;play back&#039;&#039; a WavPack-compressed file (but will be restored upon unpacking to original file &amp;amp;ndash; thus audio editing software plugins may do precisely that).&lt;br /&gt;
* Some third-party implementations have limitations and bugs waiting to be fixed. &lt;br /&gt;
&lt;br /&gt;
WavPack version 5 discontinues some features, like compression to Windows .sfx self-extracting file (cf. OptimFROG) and the &amp;lt;tt&amp;gt;-p&amp;lt;/tt&amp;gt; feature.  Furthermore, WavPack version 3.x files are no longer supported. To recompress these files (if any are still around, WavPack 4 was released in 2004) to WavPack 5 files (for the fast decoding-free error checking feature), one must first recompress by WavPack version 4.80 (still available) or lower, and then by WavPack 5. &lt;br /&gt;
&lt;br /&gt;
As of 5.5.0 and above, MacOS versions must be built with e.g. HomeBrew.  For Windows XP, a special executable is required, available at wavpack.com (brought back as of 5.6.0, upgrade from previous unofficial build posted at HA is advised). &lt;br /&gt;
&lt;br /&gt;
WavPack has traditionally had less hardware support than FLAC ([[Rockbox]] having been the most notable platform, others listed at https://www.wavpack.com/index.html#Hardware ), but with WavPack playback through Android and iOS players, the distinction between &amp;quot;hardware&amp;quot; and &amp;quot;software&amp;quot; is arguably blurred. The Android OS does not &#039;&#039;natively&#039;&#039; support other lossless audio formats than WAVE and FLAC, so there have been issues getting certain Android solutions to recognize other media files including WavPack.&amp;lt;ref&amp;gt;[https://hydrogenaud.io/index.php/topic,122768 HA thread with link to Android bug report by the Monkey&#039;s Audio author]&amp;lt;/ref&amp;gt;&lt;br /&gt;
Third-party support for hybrid-encoded lossless playback (the correction files, see below) is known to be limited.&lt;br /&gt;
&lt;br /&gt;
== Features in beta ==&lt;br /&gt;
As of October 2023, the 5.6.6 beta posted in the Hydrogenaudio forums&amp;lt;ref&amp;gt;[https://hydrogenaud.io/index.php/topic,124142 HA thread with 5.6.6 beta and updated CoolEdit plugin]&amp;lt;/ref&amp;gt; offers new features not (yet) in an official release:&lt;br /&gt;
* A new option &amp;lt;tt&amp;gt;--threads&amp;lt;/tt&amp;gt; for multi-threading.  Encoding using &amp;lt;tt&amp;gt;--threads&amp;lt;/tt&amp;gt; makes for fully compatible files at a slightly worse compression level on some material; user might consider to apply a higher &amp;lt;tt&amp;gt;-x&amp;lt;/tt&amp;gt;.&lt;br /&gt;
* A special &amp;lt;tt&amp;gt;--optimize-32bit&amp;lt;/tt&amp;gt; option to improve compression for 32-bit integer PCM which originate from 32-bit float PCM (and in some cases vice versa).  WavPack files produced this way will need the 5.6.6 version to wvunpack losslessly. A beta of a CoolEdit plugin that can read such files is also available.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Using WavPack =&lt;br /&gt;
WavPack files can be played back in supported players (see below), and several of these can encode to WavPack, invoking the official tools.  However, there are situations where certain WavPack features are accessible only through the WavPack executables directly.  For example, you cannot expect non-audio data (for full file restore) to be preserved when encoding/decoding through &#039;&#039;players&#039;&#039;, as they usually pass on only the audio.  Also, the input format might exceed the player&#039;s internal decoding; e.g. trying to convert 32-bit integer or DSD with foobar2000 will yield a warning that it will not be lossless (also, converting DSD to PCM leads to files many times the size, being inherently different formats).&lt;br /&gt;
&lt;br /&gt;
Unlike most other codecs, WavPack has separate encoding and decoding executables (wavpack and wvunpack).&lt;br /&gt;
&lt;br /&gt;
== Encoding/decoding by drag and drop (Windows) == &lt;br /&gt;
The simplest encoding/decoding might be &#039;&#039;dragging and dropping&#039;&#039; a (supported) file to wavpack.exe (/wvunpack.exe).  Then the file will be encoded/decoded with the default options.  Dropping a .wv file onto wavpack.exe will recompress it, prompting before overwrite (again, using default settings &amp;amp;ndash; possibly a bad deal if it was encoded with high &amp;lt;tt&amp;gt;-x&amp;lt;/tt&amp;gt; switches).  Drag and drop also works on a shortcut to the executable. It is not possible to drop a folder, but from version 5.5.0, there is a way to drag and drop &#039;&#039;several&#039;&#039; files.&lt;br /&gt;
&lt;br /&gt;
From version 5.5.0, drag and drop supports &#039;&#039;options&#039;&#039; by renaming the executable.  The user can rename a copy of the executable according to preferred settings, which will be applied to the process upon drag and drop.  The example given by the developer in [https://hydrogenaud.io/index.php/topic,122626.msg1012159.html#msg1012159 in this HA forum post]&amp;lt;ref&amp;gt;[https://hydrogenaud.io/index.php/topic,122626.msg1012159.html#msg1012159 HA forum post on how to rename executable for drag and drop]&amp;lt;/ref&amp;gt; uses encoding options that many WavPack users will recommend (better compression than default, verification and MD5 fingerprinting), and novice users can choose to copy that filename for the executable.  For fine-tuning performance or for more specialized tasks, more options are described below. &lt;br /&gt;
&lt;br /&gt;
== Basic command line encoding/decoding [[Windows_command_line_tips|(for Windows: command-line hints here)]] == &lt;br /&gt;
The basic &#039;&#039;encoding&#039;&#039; usage is &amp;lt;tt&amp;gt;wavpack filename&amp;lt;/tt&amp;gt; (which creates &amp;lt;tt&amp;gt;filename.wv&amp;lt;/tt&amp;gt;) &amp;amp;ndash; this is what drag and drop accomplishes.  Wildcards are supported, e.g. &amp;lt;tt&amp;gt;wavpack *.wav&amp;lt;/tt&amp;gt; (but not simply &amp;lt;tt&amp;gt;wavpack *&amp;lt;/tt&amp;gt;).  For a &#039;&#039;single&#039;&#039; input file, one can specify output like e.g. &amp;lt;tt&amp;gt;wavpack infilename.wav -o outfilename.wv&amp;lt;/tt&amp;gt; (on Windows, the &amp;lt;tt&amp;gt;-o&amp;lt;/tt&amp;gt; can be omitted).  Input file extension &amp;quot;.wav&amp;quot; can be dropped, and output &amp;quot;.wv&amp;quot; extension as well &amp;amp;ndash; but &amp;lt;tt&amp;gt;wavpack foo&amp;lt;/tt&amp;gt; will only find foo.wav, not e.g. foo.w64 &amp;amp;ndash; and not a &amp;quot;foo&amp;quot; with no file extension.  (Power users may take note that for &amp;lt;tt&amp;gt;--raw-pcm&amp;lt;/tt&amp;gt; input, the encoder will not look for foo.wav but rather for foo.raw.)&lt;br /&gt;
&lt;br /&gt;
The basic &#039;&#039;decoding&#039;&#039; usage &amp;amp;ndash; as will be accomplished by drag and drop &amp;amp;ndash; is &amp;lt;tt&amp;gt;wvunpack -o filename.wv&amp;lt;/tt&amp;gt; where again the &amp;lt;tt&amp;gt;-o&amp;lt;/tt&amp;gt; can be dropped on Windows.  By default, wvunpack will restore the exact same file (metadata and file structure and all; it will know the original file name extension but not the rest of the file name &amp;amp;ndash; timestamp can be stored by using &amp;lt;tt&amp;gt;-t&amp;lt;/tt&amp;gt;.) If only audio was encoded (conversion from a &#039;&#039;player&#039;&#039; would usually work this way), output defaults to filename.wav. &lt;br /&gt;
Just like for the wavpack encoder, file extensions can be dropped; e.g., &amp;lt;tt&amp;gt;wvunpack foo -o bar&amp;lt;/tt&amp;gt; will decode foo.wv to bar.&amp;lt;original file&#039;s extension&amp;gt;.  This is arguably advisable, as setting a full filename is &#039;&#039;not going to override format&#039;&#039;, only make a potentially misleading output extension: E.g. if the input was a CAF file, &amp;lt;tt&amp;gt;wvunpack foo -o bar.w64&amp;lt;/tt&amp;gt; is still a CAF file.  To force output format, see the [[#Decoding options]] paragraph.&lt;br /&gt;
&lt;br /&gt;
=== Several input files ===&lt;br /&gt;
To give several filenames as input to wavpack/wvunpack, other than through wildcards, there are slight differences between the Windows version and the *n*xes: &lt;br /&gt;
Windows (requires WavPack 5.5.0): use the &amp;lt;tt&amp;gt;--drop&amp;lt;/tt&amp;gt; option as in the above example given by the developer.  It is intended for drag and drop (hence the name of the option) and will write the output to same directory as source.  However it can also be used with command-line:  &amp;lt;tt&amp;gt;wavpack --drop firstfile secondfile&amp;lt;/tt&amp;gt; will compress firstfile.wav to firstfile.wv and secondfile.wav to secondfile.wv.  Note that without the &amp;lt;tt&amp;gt;--drop&amp;lt;/tt&amp;gt;, the command &amp;lt;tt&amp;gt;wavpack firstfile secondfile&amp;lt;/tt&amp;gt; will compress firstfile.wav to secondfile.wv, as &amp;lt;tt&amp;gt;-o&amp;lt;/tt&amp;gt; is optional on Windows &amp;amp;ndash; indeed that is why the &amp;lt;tt&amp;gt;--drop&amp;lt;/tt&amp;gt; had to be introduced.  An arbitrary number of files can be processed, e.g. &amp;lt;tt&amp;gt;wvunpack --drop firstfile secondfile thirdfile fourthfile fifthfile&amp;lt;/tt&amp;gt; will decode firstfile.wv, ..., fifthfile.wv.&lt;br /&gt;
For *n*x, one can omit the &amp;lt;tt&amp;gt;--drop&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Applying options ==&lt;br /&gt;
For tuning performance or other settings, one might want to apply command-line options.  Some external applications can apply options without the user having to type &amp;amp;ndash; e.g. encoding with [[foobar2000]], there are two compression sliders, one for the fast-to-extra-high and one for the &amp;lt;tt&amp;gt;-x&amp;lt;/tt&amp;gt; settings (see below) &amp;amp;ndash; but in the Windows GUI one will want to type them in.  Options can be concatenated for short, like for example writing &amp;lt;tt&amp;gt;-hh -x2 -m -v -y&amp;lt;/tt&amp;gt; as &amp;lt;tt&amp;gt;-hhx2mvy&amp;lt;/tt&amp;gt;.  &lt;br /&gt;
&lt;br /&gt;
The user should beware that the wavpack encoder and the wvunpack decoder (and wvtag/wvgain) have to &amp;quot;re-use letters&amp;quot;.  While some do the same in the wvunpack and wavpack (like &amp;lt;tt&amp;gt;-d&amp;lt;/tt&amp;gt; for delete input file, &amp;lt;tt&amp;gt;-y&amp;lt;/tt&amp;gt; for &amp;quot;yes to all&amp;quot;, &amp;lt;tt&amp;gt;-t&amp;lt;/tt&amp;gt; to preserve timestamp, and &amp;lt;tt&amp;gt;-l&amp;lt;/tt&amp;gt; for (Windows only) &amp;quot;run with low priority&amp;quot;) and others cover the same purpose in both executables (like &amp;lt;tt&amp;gt;-m&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;-v&amp;lt;/tt&amp;gt;), the user may be warned that certain letters do not.  E.g. &amp;lt;tt&amp;gt;-b&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;-c&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;-n&amp;lt;/tt&amp;gt; cover completely urelated functions upon decoding vs upon encoding.  &lt;br /&gt;
&lt;br /&gt;
=== Encoding options (lossless) ===&lt;br /&gt;
Encoding using &amp;lt;tt&amp;gt;-hxm&amp;lt;/tt&amp;gt; seems a sensible trade-off between compression and CPU load.  Some selected options are described as follows; for an exhaustive refence, see the manual (online, or included as wavpack_doc.html in the distribution).&lt;br /&gt;
* Compression.  WavPack has four compression modes that affect compression as well as encoding &#039;&#039;and&#039;&#039; decoding time: fast (&amp;lt;tt&amp;gt;-f&amp;lt;/tt&amp;gt;), default, high (&amp;lt;tt&amp;gt;-h&amp;lt;/tt&amp;gt;) and very high (&amp;lt;tt&amp;gt;-hh&amp;lt;/tt&amp;gt;).  The CPU load of &amp;lt;tt&amp;gt;-hh&amp;lt;/tt&amp;gt; is measured to around twice that of &amp;lt;tt&amp;gt;-f&amp;lt;/tt&amp;gt; (and could in the early 2000s be too heavy for portable players, although it does decode faster than any Monkey&#039;s).  On top these modes, the optional extra processing &amp;lt;tt&amp;gt;-x1&amp;lt;/tt&amp;gt; to &amp;lt;tt&amp;gt;-x6&amp;lt;/tt&amp;gt; settings will apply extra compression effort that does not increase &#039;&#039;decoding&#039;&#039; CPU load. &amp;lt;tt&amp;gt;-x&amp;lt;/tt&amp;gt; without number is synonymous to &amp;lt;tt&amp;gt;-x1&amp;lt;/tt&amp;gt;, which is often recommended (in all modes, fast/normal/high/extra high).  The official manual calls &amp;lt;tt&amp;gt;-x4&amp;lt;/tt&amp;gt; to &amp;lt;tt&amp;gt;-x6&amp;lt;/tt&amp;gt; &amp;quot;extremely slow&amp;quot;, but the size gains might be significant for high resolution audio in particular (van Beurden&#039;s revision 5, testing &amp;lt;tt&amp;gt;-x4&amp;lt;/tt&amp;gt;).  &lt;br /&gt;
** 5.5.0 introduces optional switches for the default compression: &amp;lt;tt&amp;gt;-g&amp;lt;/tt&amp;gt; for normal mode and &amp;lt;tt&amp;gt;-x0&amp;lt;/tt&amp;gt; for &amp;quot;no &amp;lt;tt&amp;gt;-x&amp;lt;/tt&amp;gt;&amp;quot;.  These are redundant for basic use, but can be used to switch off options already given (e.g. in renamed executables, or custom builds): &amp;lt;tt&amp;gt;-x6 -x0&amp;lt;/tt&amp;gt; will switch off the extra processing, and &amp;lt;tt&amp;gt;-h -f -g&amp;lt;/tt&amp;gt; will encode as normal, whereas previous versions would abort with an error.&lt;br /&gt;
** With DSD files, there are only two compression settings, normal and high; the option &amp;lt;tt&amp;gt;-f&amp;lt;/tt&amp;gt; will select normal, &amp;lt;tt&amp;gt;-h&amp;lt;/tt&amp;gt;/&amp;lt;tt&amp;gt;-hh&amp;lt;/tt&amp;gt; will both select high, and the &amp;lt;tt&amp;gt;-x&amp;lt;/tt&amp;gt; switches are silently ignored. &lt;br /&gt;
* Guarding against errors upon encoding: The &amp;quot;&amp;lt;tt&amp;gt;-m&amp;lt;/tt&amp;gt;&amp;quot; switch will compute an audio MD5 sum (like FLAC does by default) and store it for later verification.  The &amp;quot;&amp;lt;tt&amp;gt;-v&amp;lt;/tt&amp;gt;&amp;quot; switch will verify by decoding the file after it has been written to disk&amp;lt;ref&amp;gt;[https://hydrogenaud.io/index.php?topic=121714.msg1008108#msg1008108 HA forum comment:] verification checks the written file after closing and reopening&amp;lt;/ref&amp;gt;. &amp;lt;tt&amp;gt;-vm&amp;lt;/tt&amp;gt; will do both &amp;amp;ndash; that is, calculate the MD5s to verify, and store it.  Using the corresponding switches in wvunpack will check without producing output file, however wvunpack also has a faster corruption check for WavPack 5-encoded files: &amp;lt;tt&amp;gt;-vv&amp;lt;/tt&amp;gt;.&lt;br /&gt;
* &amp;lt;tt&amp;gt;--import-id3&amp;lt;/tt&amp;gt; will import ID3v2.3 tags (currently not v2.4 nor v2.2) present in the source file &amp;amp;ndash; typically in Sony DSF files &amp;amp;ndash; and convert them to WavPack&#039;s preferred APE tags.  (It will still keep the chunk for restoring the original file.)  By default, importing is limited to 1 MB; for more, use &amp;lt;tt&amp;gt;--allow-huge-tags&amp;lt;/tt&amp;gt;.  Same option works in wvtag; indeed, one can encode first and then afterwards &amp;quot;import&amp;quot; the tags from the WavPack file using &amp;lt;tt&amp;gt;wvtag --import-id3 wavpackfile.wv&amp;lt;/tt&amp;gt;; this provided that these data have not been deleted by the following &amp;lt;tt&amp;gt;-r&amp;lt;/tt&amp;gt; option: &lt;br /&gt;
* &amp;lt;tt&amp;gt;-r&amp;lt;/tt&amp;gt;: remove non-audio chunks.  By default, WavPack will store these in the .wv file for later bit-by-bit restoration of everything, not only the audio. Use &amp;lt;tt&amp;gt;-r&amp;lt;/tt&amp;gt; to throw them away and encode audio only &amp;amp;ndash; like encoding through most players appear to do. &lt;br /&gt;
* &amp;lt;tt&amp;gt;-t&amp;lt;/tt&amp;gt;: copy input file&#039;s time stamp.  (To restore the file with the original time stamp, use &amp;lt;tt&amp;gt;-t&amp;lt;/tt&amp;gt; both when encoding and when decoding.)&lt;br /&gt;
* &amp;lt;tt&amp;gt;--pause&amp;lt;/tt&amp;gt;: (Windows only!) waits for keypress at the end.  Useful for reading output before exit when calling wavpack/wvunpack in a separate window (which both drag-and-drop the Windows front-end do).&lt;br /&gt;
* &amp;lt;tt&amp;gt;-y&amp;lt;/tt&amp;gt;: &amp;quot;yes&amp;quot; to everything.  Use with caution, will overwrite.  From 5.5.0 there is also a &amp;lt;tt&amp;gt;--no-overwrite&amp;lt;/tt&amp;gt; that will skip instead of asking to overwrite.&lt;br /&gt;
* &amp;lt;tt&amp;gt;-d&amp;lt;/tt&amp;gt;: delete source file upon successful completion.  Again, use with caution. &lt;br /&gt;
* &amp;lt;tt&amp;gt;-l&amp;lt;/tt&amp;gt; will force WavPack to run at low priority (Windows only)&lt;br /&gt;
* &amp;lt;tt&amp;gt;-c&amp;lt;/tt&amp;gt; with &amp;lt;tt&amp;gt;-b&amp;lt;/tt&amp;gt; to select lossy quality: hybrid lossless/lossy use, see below.&lt;br /&gt;
&lt;br /&gt;
WavPack can recompress .wv files in place (using a temporary file until done).  For example, &amp;lt;tt&amp;gt;wavpack -hx4mvy wavpackfile.wv&amp;lt;/tt&amp;gt; will compress wavpackfile.wv in high mode using &amp;lt;tt&amp;gt;-x4&amp;lt;/tt&amp;gt; extra processing, writing everything (and an audio MD5 checksum) to a temporary file with tags transferred; close and then re-open the temp file to re-read for verification &amp;amp;ndash; and only once verified, replace the old wavpackfile.wv. &amp;lt;tt&amp;gt;wavpack -hx4rlmvy wavpackfile.wv&amp;lt;/tt&amp;gt; will also run with low priority (assuming the Windows platform), and will discard non-audio chunks &amp;amp;ndash; that is, the ones used to restore the original file&#039;s metadata; the .wv file&#039;s APE tags will still be copied.  As an example, one can compress an ID3v2.4-tagged DSF file by drag and drop; WavPack will then store the tag chunk, but WavPack cannot &#039;&#039;import&#039;&#039; v2.4 to its own (APEv2) tags.  Therefore, open both in Mp3tag, and copy the ID3v2.4 tags to the WavPack file. If then you decide that there is no need to restore the original file&#039;s ID3v2.4 upon any unpacking, you can apply the &amp;lt;tt&amp;gt;wavpack -hx4rlmvy wavpackfile.wv&amp;lt;/tt&amp;gt; command; it will then discard that chunk (but keep the tags that Mp3tag wrote!), recompress using high (silently ignoring the -x4 that has no effect on DSD) with low priority, write an MD5 sum, verify the process and replace the .wv file by the new recompressed file. &lt;br /&gt;
&lt;br /&gt;
=== (Incomplete:) hybrid lossless &amp;amp; lossy encoding ===&lt;br /&gt;
(Needs to be expanded. Notes: DSD can currently not be hybrid-encoded and floating-point files should not be.  The correction file will be omitted by a lot of applications/players, including VLC, mplayer and ffmpeg; thus, using ffmpeg or ffmpeg-based players to convert/play hybrid-encoded WavPack will be lossy. For WavPack in Matroska, there doesn&#039;t seem to be any player that will play both the lossy stream and the correction stream, although mkvmerge/mkvextract will import/extract both streams. foobar2000 can play hybrid lossless .wv+.wvc, but will omit a Matroska-encapsulated correction stream.)&lt;br /&gt;
&lt;br /&gt;
Basic use: the &amp;lt;tt&amp;gt;-b&amp;lt;/tt&amp;gt; switch &amp;amp;ndash; and for losslessness, with &amp;lt;tt&amp;gt;-c&amp;lt;/tt&amp;gt; to create a correction file. The &amp;lt;tt&amp;gt;b&amp;lt;/tt&amp;gt; takes a numerical value signifying &#039;&#039;bits per sample&#039;&#039; if &amp;lt; 24 and &#039;&#039;kbit/second&#039;&#039; if 24 to 9600. E.g. &amp;lt;tt&amp;gt;-b12.5&amp;lt;/tt&amp;gt; (no space in between, with . even if your locale uses comma for decimal point).&lt;br /&gt;
&amp;lt;tt&amp;gt;wavpack -b234.56 -c filename&amp;lt;/tt&amp;gt; will create filename.wv file and correction file filename.wvc.  As long as both are present, playback and decoding (by &amp;lt;tt&amp;gt;wvunpack filename&amp;lt;/tt&amp;gt; the ordinary way) will be lossless.&lt;br /&gt;
The file filename.wv &amp;amp;ndash; which is at most 234.56 kbit/s &amp;amp;ndash; can be copied to a different location and played back stand-alone as a lossy compressed file.  The same will happen if the .wvc file is deleted or not found (it has to be same path/filename except with the &amp;quot;.wvc&amp;quot; suffix in place of &amp;quot;.wv&amp;quot;) &amp;amp;ndash; or equivalently, if the &amp;lt;tt&amp;gt;-c&amp;lt;/tt&amp;gt; is omitted during encoding, then no correction file will be created in the first place.  For example:&lt;br /&gt;
&amp;lt;tt&amp;gt;wavpack -b13.5 -hx filename&amp;lt;/tt&amp;gt; will create a &#039;&#039;lossy&#039;&#039; filename.wv compressed with the &amp;lt;tt&amp;gt;-hx&amp;lt;/tt&amp;gt; option, size constrained to 13.5 bits per sample. (Should 13.5 bits be sufficient for lossless encoding, WavPack will tell you at the end of the encoding process &amp;amp;ndash; but that information is not stored in the file.)&lt;br /&gt;
&lt;br /&gt;
WavPack will refuse to recompress lossy-generated .wv to &amp;quot;lossless .wv&amp;quot; as that would make a false pretense of being a lossless file.  (That goes even in the &amp;quot;that information is not stored in the file&amp;quot; case just mentioned.)  If recompressing a hybrid with correction file, the .wvc file will remain even if it isn&#039;t overwritten. (&amp;lt;tt&amp;gt;-d&amp;lt;/tt&amp;gt; deletes original file.)&lt;br /&gt;
&lt;br /&gt;
=== Decoding options ===&lt;br /&gt;
In addition to the basic usage above (drag and drop or &amp;lt;tt&amp;gt;wvunpack filename.wv&amp;lt;/tt&amp;gt;), the wvunpack executable offers several options.  For use with the Windows front-end or drag and drop, the Windows-only &amp;lt;tt&amp;gt;--pause&amp;lt;/tt&amp;gt; (waits for keypress at the end, like for wavpack.exe) is essential to read the output report.  Also Windows-only options like &amp;lt;tt&amp;gt;--drop&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;-l&amp;lt;/tt&amp;gt; work as for wavpack.exe, and so do &amp;lt;tt&amp;gt;-d&amp;lt;/tt&amp;gt; (use with caution!) and &amp;lt;tt&amp;gt;-y&amp;lt;/tt&amp;gt; (ditto!) as well as &amp;lt;tt&amp;gt;-t&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
* Output &#039;&#039;filename&#039;&#039; can be set with &amp;lt;tt&amp;gt;wvunpack infilename.wv -o outfilename &amp;lt;/tt&amp;gt; (the &amp;lt;tt&amp;gt;-o&amp;lt;/tt&amp;gt; being superfluous on Windows, where &amp;amp;ndash; in the absence of &amp;lt;tt&amp;gt;--drop&amp;lt;/tt&amp;gt; &amp;amp;ndash; the second filename will be assumed to be output name).  Then wvunpack will affix the file extension of the original file (say, outfilename.wav if the wavpacked file was somefilename.wav).  The wavpack encoder detects the file type from content, and so wvunpack will not &amp;quot;fix misleading extensions&amp;quot; automatically; the user can provide a giving full output filename with extension, but note that this will override the &#039;&#039;name&#039;&#039; only but not the &#039;&#039;type&#039;&#039;.  To make sure that -o out.aif indeed produces an AIFF, separate switches have to be employed. &lt;br /&gt;
* To force output &#039;&#039;file format,&#039;&#039; one needs to apply options to wvunpack.  The following are for PCM output: &amp;lt;tt&amp;gt;--raw-pcm&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;--wav&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;--w64&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;--caf-be&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;--caf-le&amp;lt;/tt&amp;gt;, and from version 5.6.0 on also &amp;lt;tt&amp;gt;--aif&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;--aif-le&amp;lt;/tt&amp;gt;.  &lt;br /&gt;
** These will delete non-audio chunks and replace them with a fresh file header: there is no option to &amp;quot;unpack to WAVE and restore the original headers if the original file was WAVE&amp;quot;.   &amp;lt;tt&amp;gt;wvunpack --wav&amp;lt;/tt&amp;gt; will select RF64 if (and only if) exceeding WAVE&#039;s 4 GB limit, and wvunpack will select old AIFF over AIFF-C if the audio data permit it.&lt;br /&gt;
** For DSD, those format switches will also force a &amp;amp;ndash; necessarily lossy &amp;amp;ndash; conversion to PCM.  To switch losslessly &#039;&#039;between&#039;&#039; DSD formats, there are also &amp;lt;tt&amp;gt;--dsf&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;--dff&amp;lt;/tt&amp;gt; (the latter being synonymous to &amp;lt;tt&amp;gt;--dsdiff&amp;lt;/tt&amp;gt;) which again delete non-audio chunks.  Note that WavPack cannot force any (also necessarily lossy) conversion &#039;&#039;to&#039;&#039; DSD, having no DSD encoder.&lt;br /&gt;
** &amp;lt;tt&amp;gt;--raw&amp;lt;/tt&amp;gt; outputs both PCM and DSD as headerless streams (lossless for both; &amp;lt;tt&amp;gt;-r&amp;lt;/tt&amp;gt; is synonymous; beware that this is not precisely the same as the same letter switch upon encoding).&lt;br /&gt;
&lt;br /&gt;
In addition to decimating DSD for conversion to PCM, there are other options where power users can utilize certain &#039;&#039;lossy&#039;&#039; operations by wvunpack, e.g. normalizing floating-point files (recommended before conversion to integer), dropping correction files from hybrid encodes &amp;amp;ndash; and &amp;lt;tt&amp;gt;--skip&amp;lt;/tt&amp;gt; and/or &amp;lt;tt&amp;gt;--until&amp;lt;/tt&amp;gt; to decode only a segment of the file.  See the documentation.  &amp;lt;br/&amp;gt;&lt;br /&gt;
Other options include &amp;lt;tt&amp;gt;-b&amp;lt;/tt&amp;gt; to &amp;quot;blindly&amp;quot; decode until end disregarding errors and corruption (potentially useful to save as much as possible from a destroyed file).&lt;br /&gt;
&lt;br /&gt;
wvunpack is also the utility to display information from .wv files even when it does not involve decoding, see the next section.  Inter alia, &amp;lt;tt&amp;gt; -s&amp;lt;/tt&amp;gt; can be used to find the input file type in case the output extension is misleading (like a .wav extension disguising an AIFF file). &lt;br /&gt;
&lt;br /&gt;
=== Other file handling: verification / error checking, and other file info (incomplete) ===&lt;br /&gt;
wvunpack can get information about WavPack files without decoding to file: &lt;br /&gt;
* &amp;lt;tt&amp;gt;-vv&amp;lt;/tt&amp;gt;: Quick verify without decoding (WavPack 5 files only; from 5.5.0 there is also a more verbose &amp;lt;tt&amp;gt;-vvv&amp;lt;/tt&amp;gt;).  Quick verify seems to be unavailable outside the official wvunpack; other applications which verify will fall back to the next item, &amp;lt;tt&amp;gt;-v&amp;lt;/tt&amp;gt;. &lt;br /&gt;
* &amp;lt;tt&amp;gt;-v&amp;lt;/tt&amp;gt;: Verify (will do a decode to check that everything is OK &amp;amp;ndash; but not write any file). &lt;br /&gt;
* &amp;lt;tt&amp;gt;-s&amp;lt;/tt&amp;gt;/&amp;lt;tt&amp;gt;-ss&amp;lt;/tt&amp;gt;: &amp;lt;tt&amp;gt;-s&amp;lt;/tt&amp;gt; displays summary of the file, &amp;lt;tt&amp;gt;-ss&amp;lt;/tt&amp;gt; a long summary including tags. Also there is &amp;lt;tt&amp;gt;-f&amp;lt;/tt&amp;gt; for parseable output, see documentation.&lt;br /&gt;
* &amp;lt;tt&amp;gt;-n&amp;lt;/tt&amp;gt; is the generic &amp;quot;do not decode&amp;quot; for use e.g. to extract tags (which can also be accomplished with the &amp;lt;tt&amp;gt;wvtag&amp;lt;/tt&amp;gt; utility, but wvunpack will do if one does not want to write tags): &lt;br /&gt;
* &amp;lt;tt&amp;gt;-x&amp;lt;/tt&amp;gt; FIELD: Shows tag, e.g. &amp;lt;tt&amp;gt; -x comment &amp;lt;/tt&amp;gt; shows the &amp;lt;comment&amp;gt; field.  &amp;lt;tt&amp;gt;-c&amp;lt;/tt&amp;gt; is synonymous to &amp;lt;tt&amp;gt; -x cuesheet&amp;lt;/tt&amp;gt;.   Also &amp;lt;tt&amp;gt; wvtag -x &amp;lt;/tt&amp;gt; resp. &amp;lt;tt&amp;gt; wvtag -c &amp;lt;/tt&amp;gt; do the same thing.  &amp;lt;tt&amp;gt;-xx&amp;lt;/tt&amp;gt; (same option for wvtag) can output to file, see documentation.&lt;br /&gt;
&lt;br /&gt;
=== (To fill in:) Tagging (wvtag) and replaygain management (wvgain) ===&lt;br /&gt;
(... most of these options are available in HA&#039;s fave taggers/player? Except &amp;lt;tt&amp;gt;wvtag --import-id3 wavpackfile.wv&amp;lt;/tt&amp;gt; which reads and &amp;quot;imports&amp;quot; ID3 tag stored in wavpackfile.wv&#039;s non-audio chunks; this will overwrite existing APEv2. Can also be used with &amp;lt;tt&amp;gt;--allow-huge-tags&amp;lt;/tt&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Using WavPack with 3rd party tools (FFmpeg &amp;amp; more) =&lt;br /&gt;
&lt;br /&gt;
Some applications may behave slightly surprising.  FFmpeg has its own WavPack implementation and has a few known peculiarities, some which are expected to be fixed and others of unknown status.  As referenced above Android users may need to use the player application&#039;s folder to get WavPack files recognized.  The tl;dr are that as long as it plays, it plays &amp;amp;ndash; but to safeguard against loss of information (e.g. upon conversion), use the official tools.  In particular, hybrid lossless correction files are usually not honoured by 3rd party tools. (A player that does, foobar2000, uses the official WavPack libraries.)&lt;br /&gt;
&lt;br /&gt;
== Splitting WavPack files by cuesheet ==&lt;br /&gt;
WavPack is a format with good support for storing an album as one .wv file with embedded cuesheets, but splitting into tracks by way of cuesheets is not straightforward without external tools. Audio players like [[foobar2000]] which support cue sheets can also split upon conversion.  Other external applications that will do this splitting &amp;amp;ndash; also with more variations of the cue sheet format(s) supported &amp;amp;ndash; include&lt;br /&gt;
* [[CUETools]] can if it is CDDA (44.1 kHz 16-bit stereo), and can re-encode back to WavPack.  &lt;br /&gt;
* refalac can decode &amp;amp; split by cuesheets with the appropriate (official) WavPack library DLL file&amp;lt;ref&amp;gt;[https://github.com/nu774/qaac/wiki/refalac-usage refalac usage] includes how to split by cuesheet&amp;lt;/ref&amp;gt;, outputting WAVE or ALAC-in-MP4.&lt;br /&gt;
Both refalac, CUETools and foobar2000 use the official WavPack tools to for the decoding(/encoding). &lt;br /&gt;
&lt;br /&gt;
== FFmpeg&#039;s WavPack implementation: differences and quirks ==&lt;br /&gt;
FFmpeg can encode/decode to/from WavPack &amp;amp;ndash; which may be seen as attractive from how it also can transfer metadata in one go &amp;amp;ndash; but with some limitations and maybe unfamiliar behaviour.  Compression settings are different: the default is fast but not particularly good compression&amp;lt;ref&amp;gt;[https://hydrogenaud.io/index.php?topic=118278.msg976262#msg976262  HA forum comment comparing the compression presets]&amp;lt;/ref&amp;gt; &amp;amp;ndash; while on the other end, FFmpeg offers even slower modes than &amp;lt;tt&amp;gt;-hhx6&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
FFmpeg has had some bugs which may cause audio corruption.  Although some fixes were applied with FFmpeg release 6.1, users might beware that players and converters that employ FFmpeg as a decoding engine may or may not update that quickly. &lt;br /&gt;
* [Still not fixed as of ffmpeg 6.1] Encoding, multi-channel only: Above 16 channels, when the WavPack 5 format is required, FFmpeg will still attempt encoding to WavPack but will produce non-compliant files.  ffmpeg 6.1 seems to be able to recover the files it produces.  &lt;br /&gt;
* [Fixed in ffmpeg 6.1] Encoding, 8-bit PCM only: FFmpeg (6.0) will produce broken files with static noise, no known way to recover. &lt;br /&gt;
* [Fixed in ffmpeg 6.1] Decoding, any format but rare: A bug FFmpeg&#039;s WavPack decoder, discovered in August 2022&amp;lt;ref&amp;gt;[https://hydrogenaud.io/index.php/topic,122810 HA forum thread on the ffmpeg bug in .wv decoding]&amp;lt;/ref&amp;gt;, will cause dropouts in certain files. The bug is &#039;&#039;&amp;quot;rare&amp;quot;&#039;&#039; in that no such file was discovered in several years. &lt;br /&gt;
&lt;br /&gt;
Further limitations in FFmpeg&#039;s implementation:&lt;br /&gt;
* As a general rule &amp;amp;ndash; not specific to decoding .wv &amp;amp;ndash; FFmpeg will does &#039;&#039;not&#039;&#039; honour the input bit depth: for example when outputting WAVE/AIFF, it will default to 16 bits whether or not the input file is 16 bits.  This default behaviour is not lossless when input bit depth is &amp;gt; 16 bits, and could even induce clipping (with no warning!) if the source is a 32-bit float.  To force lossless decoding of 24-bit/32-bit files (WavPack/FLAC/ALAC/TAK/uncompressed) to WAVE/AIFF, the user must extract the bit depth information and specify the respective 24-bit/32-bit output format using ffmpeg&#039;s command-line syntax. &amp;lt;br/&amp;gt;The tl;dr for users who do not have this at their fingertips, is to use other (= official!) decoders when losslessness is desired.&lt;br /&gt;
* Correction files ignored, leading to lossy playback/conversion of hybrid-encoded WavPack files with when ffmpeg or ffmpeg-based players are used. &lt;br /&gt;
* Loss of information that is not directly audio-related: FFmpeg has no ambition of preserving file structure and (R)IFF chunks, so you will not get the non-audio chunks of the files back when using ffmpeg to encode &amp;amp;ndash; however it &#039;&#039;will&#039;&#039; by default transfer metadata it supports. &lt;br /&gt;
* FFmpeg will sometimes &amp;amp;ndash; depending on input format &amp;amp;ndash; output 32-bit WavPack files and lose the information that the source was indeed only 24. Not all players support 32-bit files, and verifying that the operation (or an attempted downconversion to 24) was lossless is not straightforward as even fewer applications are willing to compare a 32-bit and a 24-bit file for differences. &amp;lt;br/&amp;gt;Also for files with bit depth not being 8/16/24/32 is lost; WAVE/AIFF/CAF can handle &amp;quot;17 bit&amp;quot; files by storing 24 and employing a flag to disregard the 7 LSBs, and ffmpeg will lose this flag even when encoding to / decoding from codecs which support it, WavPack and FLAC. &lt;br /&gt;
* FFmpeg can decode WavPack 5 files, but will only write WavPack 4 files (hence no &#039;&#039;fast verification&#039;&#039;) &amp;amp;ndash; although format 5&#039;s DSD feature is apparently implemented. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Software support (&amp;amp; hardware) =&lt;br /&gt;
With Android support and playback through ffmpeg, it might no longer be feasible to maintain a list of applications that can play WavPack files, and the following is  most certainly incomplete &amp;amp;ndash; as is the list at https://www.wavpack.com/#Software .  Also, the distinction between &amp;quot;hardware&amp;quot; and &amp;quot;software&amp;quot; support is not clear in the age of smart devices running Android, and the list at https://www.wavpack.com/#Hardware does not cover those.&lt;br /&gt;
&lt;br /&gt;
== Players ==&lt;br /&gt;
* [[foobar2000]] advanced freeware audio player plays/decodes WavPack out of the box on both Windows, MacOS, Android and iOS (Windows: supports encoding if wavpack.exe is installed, and redistributes the official wavpack.exe through its &amp;quot;Free encoder pack&amp;quot; addon for encoding.  With ReplayGain &amp;amp; cuesheets support.) Also [[Boom]] from the same author.&lt;br /&gt;
* [http://www.videolan.org/vlc/download-windows.html VLC] multiplatform media player&lt;br /&gt;
* [http://www.vuplayer.com/vuplayer.php VUPlayer] (official plugin, supports encoding)&lt;br /&gt;
* NullSoft [[Winamp]] (plugin with ReplayGain &amp;amp; Media Library support) and Winamp-compatible players&lt;br /&gt;
* [[Windows Media Player]] and other directshow-based players (MPC, TCMP, RadLight) (with [http://www.hydrogenaudio.org/forums/index.php?showtopic=103693 CoreWavPack] directshow filter)&lt;br /&gt;
* [http://cogosx.sourceforge.net/ Cog] Audio player for MacOS X.&lt;br /&gt;
* [https://wiki.jriver.com/index.php/WavPack JRiver Media Center]&lt;br /&gt;
* [[XMMS]] (with Kuniklo&#039;s plugin)&lt;br /&gt;
* [http://fondriest.frederic.free.fr/realisations/lamip/ LAMIP] (official plugin)&lt;br /&gt;
* [http://mpxplay.sourceforge.net/ MPXplay] for DOS!&lt;br /&gt;
* [http://aqualung.sourceforge.net/ Aqualung] for GNU/Linux&lt;br /&gt;
* Cowon [http://www.jetaudio.com/ JetAudio Player] and CD ripper&lt;br /&gt;
* [http://www.un4seen.com/ XMPlay] Plugin required (WavPack input plugin) and (bass library) to play &#039;wv&#039; files&lt;br /&gt;
&lt;br /&gt;
== Converters, CD rippers etc. ==&lt;br /&gt;
Several of the &#039;&#039;players&#039;&#039;, like Cowon JetAudio, foobar2000 and VUplayer, also have converters that can create WavPack files. More:&lt;br /&gt;
* Custom Windows [http://www.wavpack.com/WavPack_frontend.zip WavPack frontend] (by Speekenbrink)&lt;br /&gt;
* [http://www.dbpoweramp.com/ dBpowerAMP] Music Converter CD ripper/writer / Audio Player / (official addon)&lt;br /&gt;
* [[fre:ac]] multi-platform CD ripper/converter&lt;br /&gt;
* [[Exact Audio Copy]] CD Ripper (guide at this wiki&amp;lt;ref&amp;gt;[[EAC_and_WavPack | HA Wiki: Configuring EAC and WavPack]]&amp;lt;/ref&amp;gt;)&lt;br /&gt;
* [http://www.nero.com/eng/ Nero]&lt;br /&gt;
* [http://cdexos.sourceforge.net CDex] CD ripper&lt;br /&gt;
* [https://download.cnet.com/Ease-Audio-Converter/3000-2140_4-10390634.html Ease Audio Converter] (Discontinued; shareware / NOT Freeware)&lt;br /&gt;
* [http://media.io/ Media.io Online Audio Converter]&lt;br /&gt;
* [http://www.logipole.com/index.html Konvertor]&lt;br /&gt;
* [http://cuetools.net CUETools] converter and AccurateRip/CTDB checker&lt;br /&gt;
* [https://github.com/nu774/qaac refalac] (user must copy the wavpackdll.dll file to the appropriate directory)&lt;br /&gt;
&lt;br /&gt;
== Taggers and audio info utilities ==&lt;br /&gt;
* [http://www.mp3tag.de/en/index.html Mp3tag] Universal Tag Editor&lt;br /&gt;
* [https://picard.musicbrainz.org/ MusicBrainz Picard] Tagger with audio identification &lt;br /&gt;
* [http://www.jtclipper.eu/thegodfather/ The GodFather] Tagger / Music manager&lt;br /&gt;
* [[Tag.exe|Case&#039;s Tag]] command line tagger&lt;br /&gt;
* [https://mediaarea.net/ MediaInfo]&lt;br /&gt;
* [http://mr-questionman.en.uptodown.com/windows Mr. QuestionMan]&lt;br /&gt;
&lt;br /&gt;
== Audio editors and other tools ==&lt;br /&gt;
* [[Audacity]] has WavPack support (using official libraries) from version 3.2.0 (2022)&amp;lt;ref&amp;gt;[https://github.com/audacity/audacity/releases/tag/Audacity-3.2.0 Audacity 3.2.0 release notes]&amp;lt;/ref&amp;gt;.&lt;br /&gt;
* [[Adobe Audition]] and Cool Edit (filter with 32-bit floats &amp;amp; extra info save support)&lt;br /&gt;
* [https://sourceforge.net/projects/sox/ SoX] can read and write WavPack files.  (Write: limited to &amp;lt;tt&amp;gt;-hh&amp;lt;/tt&amp;gt; compression, not file format version 5.)&lt;br /&gt;
* [http://www.bunkus.org/videotools/mkvtoolnix/ mkvtoolnix] &amp;amp;ndash; tool to multiplex streams in Matroska container files.&lt;br /&gt;
&#039;&#039;It&#039;s worth mentioning the [[Matroska]] guys decided to concentrate on WavPack as the lossless compressor of choice for their container. Quite an honor... :-)&#039;&#039;&lt;br /&gt;
* [https://support.pkware.com/display/PKSZLU/PKZIP+Toolkit+for+Windows PKWare]&#039;s .zip format compresses audio by WavPack since version 6.3.2 (2007).  Beware that there is no expectation that other decompression software handles these zip files; even if PKWare co-designed the format and PKZip was the original .zip implementation, their subsequent compression methods are outside the ISO/IEC standardized zip format specification. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Links =&lt;br /&gt;
* [http://www.wavpack.com/ Official website]&lt;br /&gt;
* [https://github.com/dbry/WavPack Github repository]&lt;br /&gt;
* [http://www.rarewares.org/lossless.html Unofficial compiles] at RareWares. As of 2023: 5.50 for Windows and 4.32 multiplatform&lt;br /&gt;
* [https://en.wikipedia.org/wiki/WavPack WavPack at Wikipedia]&lt;br /&gt;
* [https://wiki.multimedia.cx/index.php/WavPack WavPack at Multimediawiki] (not updated with version 5)&lt;br /&gt;
* [[Lossless_comparison| HA Wiki&#039;s Lossless Codec Comparison]] originally by [[User:Rjamorim|Rjamorim]] &lt;br /&gt;
* An older (2005) performance comparison of lossless audio compressors {{webarchive|https://web.archive.org/web/20151027213336/http://members.home.nl/w.speek/comparison.htm|2015-10-27}} by Speek, using WavPack version 4.0 &lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{navbox audio codecs}}&lt;br /&gt;
[[Category:Codecs]]&lt;br /&gt;
[[Category:Lossless]]&lt;/div&gt;</summary>
		<author><name>Porcuswiki</name></author>
	</entry>
	<entry>
		<id>https://wiki.hydrogenaudio.org/index.php?title=WavPack&amp;diff=37486</id>
		<title>WavPack</title>
		<link rel="alternate" type="text/html" href="https://wiki.hydrogenaudio.org/index.php?title=WavPack&amp;diff=37486"/>
		<updated>2023-10-26T09:00:01Z</updated>

		<summary type="html">&lt;p&gt;Porcuswiki: 5.6.6 beta; ffmpeg bugs unfixed; SoX support; updated the description of other format decoders&amp;#039; choice of uncompressed output options&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Software Infobox&lt;br /&gt;
| name = WavPack&lt;br /&gt;
| logo = [[Image:Wavpacklogo.png|280px|Official WavPack logo]]&lt;br /&gt;
| screenshot =&lt;br /&gt;
| caption = Hybrid Lossless Audio Compression&lt;br /&gt;
| maintainer = David Bryant&lt;br /&gt;
| stable_release = 5.6.0 (2022-11-23)&lt;br /&gt;
| preview_release = [https://hydrogenaud.io/index.php/topic,124142.msg1028865.html#msg1028865 5.6.6]&lt;br /&gt;
| operating_system = Windows, MacOSX, Linux/BSD/Unix, ...&lt;br /&gt;
| use = Encoder/Decoder&lt;br /&gt;
| license = BSD license&lt;br /&gt;
| website = http://www.wavpack.com/&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;WavPack&#039;&#039;&#039; (pronounced &amp;quot;wave-pack&amp;quot;) is a [[lossless]] audio [[codec]], also offering optionally a [[hybrid codec| hybrid lossless/lossy]] mode.  It is distributed as a free open-source encoder/decoder with a library and a large number of tools, including a Windows GUI and a range of plugins for both audio players and other software.  Third party implementations are available, including ffmpeg.  WavPack supports and/or can be played back on a large number of platforms/OSes including mobile (Android, iOS), portable ([[Rockbox]]) and even web apps. &lt;br /&gt;
&lt;br /&gt;
WavPack is arguably the most feature-rich lossless compressor, supporting a unique range of audio signals including [https://en.wikipedia.org/wiki/Direct_Stream_Digital Direct-Stream Digital].  Everyday use is supported by a wide range of players and taggers, but conversion is likely safest done with applications that invoke the official tools (rather than e.g. ffmpeg&#039;s implementation) &amp;amp;ndash; and special features might require the user to apply the WavPack executable directly, for example with drag+drop, see the [[#Using WavPack]] section below.&lt;br /&gt;
&lt;br /&gt;
Performance-wise, WavPack defaults to a fast codec &amp;amp;ndash; less CPU intensive than [[ALAC]], but typically not as fast as [[FLAC]] or [[TAK]], especially in decoding CPU usage.&amp;lt;ref&amp;gt;[http://www.audiograaf.nl/losslesstest Martijn van Beurden: &amp;lt;em&amp;gt;Lossless audio codec comparison archive&amp;lt;/em&amp;gt;], all comparisons in this wiki article consistent with CDDA results from revision 5, 2022, using WavPack 5.4.0.&amp;lt;/ref&amp;gt; In the age of low-power portable Rockbox-equipped players, WavPack could be seen as a reasonable middle ground between FLAC&#039;s low CPU footprint and long battery life, and the smaller files but more CPU-intensive [[Monkey&#039;s Audio]]&amp;lt;ref&amp;gt;[https://www.rockbox.org/wiki/CodecPerformanceComparison CodecPerformanceComparison] at the Rockbox wiki&amp;lt;/ref&amp;gt; &amp;amp;ndash; invoking WavPacks high mode and extra compression that would compress to smaller sizes than FLAC.&lt;br /&gt;
&lt;br /&gt;
WavPack has inspired other codecs&amp;lt;ref&amp;gt;Monkey&#039;s Audio historical FAQ {{webarchive|http://web.archive.org/web/20001017210206/http://www.monkeysaudio.com/faq.html|2000-10-17}}&amp;lt;/ref&amp;gt; and their features&amp;lt;ref&amp;gt;[http://losslessaudio.org/DualStream.php OptimFROG&#039;s &amp;quot;DualStream&amp;quot;] hybrid encoding &amp;amp;ndash; apparently WavPack coined this phrase&amp;lt;/ref&amp;gt;.  For more on WavPack, including on its history and technology, see the [https://en.wikipedia.org/wiki/WavPack Wikipedia entry].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Features =&lt;br /&gt;
For an end-user considering WavPack as an audio format, its feature-richness might be the big selling point.  WavPack supports pretty much all the more common features noted at [[Lossless_comparison| HA Wiki&#039;s Lossless Codec Comparison]] as in the following first list, but several users might consider the more unique features listed under the subsequent headline.&lt;br /&gt;
&lt;br /&gt;
* Seekable and streaming playback.&lt;br /&gt;
* Error handling:  upon playback, it will detect and report corrupted frames, mute to protect against static/noise output, and continue playback.  Since version 5, WavPack can also check for corruption without decoding, hence quicker than any decoding format.  Optional MD5 audio checksum can also be added upon encoding for file fingerprinting. &lt;br /&gt;
* High-resolution audio support (see next headline).&lt;br /&gt;
* Multichannel support: currently capped at 256 channels, supports [https://docs.microsoft.com/en-us/windows/win32/api/mmreg/ns-mmreg-waveformatextensible WAVEFORMATEXTENSIBLE] channel masks.&lt;br /&gt;
* Piping support for encoding, and support for RAW PCM input/output.&lt;br /&gt;
* Non-audio chunks (RIFF and similar) stored; by default, WavPack will not only decode the audio losslessly, but restore the non-audio chunks to file bit-identical to the original.&lt;br /&gt;
* Tagging: APEv2. (ID3v1 is possible, but not advisable.) &lt;br /&gt;
* Cuesheet support. In practice, some applications handle &#039;&#039;embedded&#039;&#039; cuesheets better in WavPack than in some other formats.&lt;br /&gt;
* Unicode support.&lt;br /&gt;
* Can be used in the [[Matroska]] container. &lt;br /&gt;
* Windows GUI available.&lt;br /&gt;
&lt;br /&gt;
WavPack also handles bit depths not divisible by 8, and is known to employ a &amp;quot;wasted bits&amp;quot; strategy for a signal that is &#039;&#039;n &amp;quot;actual bits of signal&amp;quot; zero-padded and stored as N bits&#039;&#039; where certain other codecs may get tricked into a size penalty when the &#039;&#039;n&#039;&#039; is not a multiple of 8, or for &amp;quot;fake high resolution&amp;quot; (say the signal is 16 bits, but wrapped in a 24-bit file).  Wasted bits detection is also found in FLAC, TAK and OptimFROG.  &lt;br /&gt;
&lt;br /&gt;
== Special/unique features ==&lt;br /&gt;
Most of these features are shared with only a few if any notable codecs, or extend to signal types or file types others do not support (comparisons given).&lt;br /&gt;
* DSD support: can losslessly compress Philips DSDIFF and Sony DSF files (see &amp;quot;Using WavPack&amp;quot; below; no other end-user codec compresses DSD.) ID3v2.3 tags can be imported.&lt;br /&gt;
* High-resolution support for bit depth 1-bit to 32-bit integer and sampling rates up to 2 GiHz in integer steps. (Officially, 1 GHz is supported &amp;amp;ndash; it is &#039;&#039;gigaherz&#039;&#039;, not MHz, the upper limit being in the UHF radio frequency band.  Monkey&#039;s Audio, OptimFROG and MPEG-4 ALS support the entire WAVE range up to 4 GiHz.) Can also compress files of &#039;&#039;non-integer sampling rates&#039;&#039; (AIFF/AIFC/CAF, as the WAVE format cannot contain such signals).   &lt;br /&gt;
* 32-bit &#039;&#039;floating-point&#039;&#039; supported &amp;amp;ndash; also including CoolEdit/Adobe Audition&#039;s own float format (use the &amp;lt;tt&amp;gt;-a&amp;lt;/tt&amp;gt; option only if the .wav was generated by CoolEdit/Audition).  (This line like OptimFROG.)&lt;br /&gt;
* As much as 256 channels currently supported (from version 5.5.0 on; [https://github.com/dbry/WavPack/issues/117 can be extended to the thousands] &amp;amp;ndash; for even more, MPEG-4 ALS supports 66536.) &lt;br /&gt;
* Hybrid lossy/lossless mode (can also be used as lossy &amp;amp;ndash; OptimFROG also has such a mode.)&lt;br /&gt;
* For LPCM it can read and output to WAVE (including the RF64 format extension used for large files), to Sony&#039;s Wave64, AIFF/AIFC (both endiannesses) and CAF (ditto) &amp;amp;ndash; with full restore of also non-audio parts to bit-by-bit the original file in the original format.  (Monkey&#039;s/OptimFROG/TAK do the same to the input formats they support.)  Also WavPack can handle too large noncompliant &amp;quot;WAVE&amp;quot; files (can still be restored to bit-identical the same as the flawed input file &amp;amp;ndash; or to formats that provide for larger files). &lt;br /&gt;
* Recompression: Can recompress .wv files in place, with tag transfer.  (Like FLAC on .flac files.)&lt;br /&gt;
* Drag and drop support: Dropping a file on to wavpack.exe/wvunpack.exe will encode/decode it to source directory. (Like FLAC.)  From 5.5.0, one can also apply options to drag and drop by renaming the executable, and drop several files.&lt;br /&gt;
&lt;br /&gt;
== Limitations ==&lt;br /&gt;
The following bullet item list is hardly of interest except for special purposes; WavPack supports nearly every input format that any competing codec handles. One exception is the legacy AU/SND, apparently supported only by Monkey&#039;s Audio.&lt;br /&gt;
* DSD: Will reject DST-compressed DSDIFF (which are already compressed heavier than WavPack does) and Wideband Single-bit Data files (apparently, the Tascam and Korg devices which can produce these, can also export to other DSD formats).&amp;lt;br/&amp;gt; Also, DSD files cannot be encoded as hybrid with correction files.&lt;br /&gt;
* Certain rare files &amp;amp;ndash; largely unsupported by other codecs &amp;amp;ndash; may be played back with technical compromise solutions that are unlikely to concern the average end-user.  Should one encounter one of those rare AIFF/CAF files which have a non-integer sampling rate (something WAVE does not support), WavPack will compress them and wvunpack will restore them bit-identically with no loss of information &amp;amp;ndash; but playback will be at integer rate. E.g., a file sampled at 44100.441 Hz will be played back at 0.001 percent wrong speed &amp;amp;ndash; unlikely to be noticed by ear, and more likely to be accepted by an audio player.  &lt;br /&gt;
* 64-bit float is not supported.  (Apparently no other lossless audio compressor can support it either.)&lt;br /&gt;
* wvunpack can &#039;&#039;force output&#039;&#039; to a different format than input, and for AIFF/CAF also select endianness, but it cannot force output to different versions of big-endian AIFF (it will avoid AIFC as long as the signal can be fit in the original AIFF container) nor select between WAVE_FORMAT_PCM and WAVE_FORMAT_EXTENSIBLE.  Few other formats do allow for such output selection; reference FLAC can from 1.4.3 offer some wider choices than wvunpack can. &lt;br /&gt;
* wvunpack can force DSDIFF encodes to DSF and vice versa, and it can convert DSD to PCM &amp;amp;ndash; but not the other way around, as it has no DSD encoder.&lt;br /&gt;
* &amp;lt;tt&amp;gt;--import-id3&amp;lt;/tt&amp;gt; can not import every type of ID3 tag, and unless &amp;lt;tt&amp;gt;--allow-huge-tags&amp;lt;/tt&amp;gt; is specified, size is limited to 1 MB; larger tagsets might possibly cause compatibility issues, although such are not known.  (To copy unsupported tags, use e.g. [[Mp3tag]].)&lt;br /&gt;
* Some third-party implementations have limitations and bugs waiting to be fixed. &lt;br /&gt;
&lt;br /&gt;
WavPack version 5 discontinues some features, like compression to Windows .sfx self-extracting file (cf. OptimFROG) and the &amp;lt;tt&amp;gt;-p&amp;lt;/tt&amp;gt; feature.  Furthermore, WavPack version 3.x files are no longer supported. To recompress these files (if any are still around, WavPack 4 was released in 2004) to WavPack 5 files (for the fast decoding-free error checking feature), one must first recompress by WavPack 4.80 (still available) or lower, and then by WavPack 5. &lt;br /&gt;
&lt;br /&gt;
As of 5.5.0 and above, MacOS versions must be built with e.g. HomeBrew.  For Windows XP, a special executable is required, available at wavpack.com (brought back as of 5.6.0, upgrade from previous unofficial build posted at HA is advised). &lt;br /&gt;
&lt;br /&gt;
WavPack has traditionally had less hardware support than FLAC ([[Rockbox]] having been the most notable platform, others listed at https://www.wavpack.com/index.html#Hardware ), but with WavPack playback through Android and iOS players, the distinction between &amp;quot;hardware&amp;quot; and &amp;quot;software&amp;quot; is arguably blurred. There have been issues getting certain Android solutions to recognize media files including WavPack.&amp;lt;ref&amp;gt;[https://hydrogenaud.io/index.php/topic,122768 HA thread with link to Android bug report by the Monkey&#039;s Audio author]&amp;lt;/ref&amp;gt;&lt;br /&gt;
Third-party support for hybrid-encoded lossless playback (the correction files, see below) is known to be limited.&lt;br /&gt;
&lt;br /&gt;
== Features in beta ==&lt;br /&gt;
As of October 2023, the 5.6.6 beta posted in the Hydrogenaudio forums&amp;lt;ref&amp;gt;[https://hydrogenaud.io/index.php/topic,124142 HA thread with 5.6.6 beta and updated CoolEdit plugin]&amp;lt;/ref&amp;gt; offers new features not (yet) in an official release:&lt;br /&gt;
* A new option &amp;lt;tt&amp;gt;--threads&amp;lt;/tt&amp;gt; for multi-threading.  Encoding using &amp;lt;tt&amp;gt;--threads&amp;lt;/tt&amp;gt; makes for fully compatible files at a slightly worse compression level on some material; user might consider to apply a higher &amp;lt;tt&amp;gt;-x&amp;lt;/tt&amp;gt;.&lt;br /&gt;
* A special &amp;lt;tt&amp;gt;--optimize-32bit&amp;lt;/tt&amp;gt; option to improve compression for 32-bit integer PCM which originate from 32-bit float PCM (and in some cases vice versa).  WavPack files produced this way will need the 5.6.6 version to wvunpack losslessly. A beta of a CoolEdit plugin that can read such files is also available.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Using WavPack =&lt;br /&gt;
WavPack files can be played back in supported players (see below), and several of these can encode to WavPack, invoking the official tools.  However, there are situations where certain WavPack features are accessible only through the WavPack executables directly.  For example, you cannot expect non-audio data (for full file restore) to be preserved when encoding/decoding through &#039;&#039;players&#039;&#039;, as they usually pass on only the audio.  Also, the input format might exceed the player&#039;s internal decoding; e.g. trying to convert 32-bit integer or DSD with foobar2000 will yield a warning that it will not be lossless (also, converting DSD to PCM leads to files many times the size, being inherently different formats).&lt;br /&gt;
&lt;br /&gt;
Unlike most other codecs, WavPack has separate encoding and decoding executables (wavpack and wvunpack).&lt;br /&gt;
&lt;br /&gt;
== Encoding/decoding by drag and drop (Windows) == &lt;br /&gt;
The simplest encoding/decoding might be &#039;&#039;dragging and dropping&#039;&#039; a (supported) file to wavpack.exe (/wvunpack.exe).  Then the file will be encoded/decoded with the default options.  Dropping a .wv file onto wavpack.exe will recompress it, prompting before overwrite (again, using default settings &amp;amp;ndash; possibly a bad deal if it was encoded with high -x switches).  Drag and drop also works on a shortcut to the executable. It is not possible to drop a folder, but from version 5.5.0, there is a way to drag and drop &#039;&#039;several&#039;&#039; files.&lt;br /&gt;
&lt;br /&gt;
From version 5.5.0, drag and drop supports &#039;&#039;options&#039;&#039; by renaming the executable.  The user can rename a copy of the executable according to preferred settings, which will be applied to the process upon drag and drop.  The example given by the developer in [https://hydrogenaud.io/index.php/topic,122626.msg1012159.html#msg1012159 in this HA forum post]&amp;lt;ref&amp;gt;[https://hydrogenaud.io/index.php/topic,122626.msg1012159.html#msg1012159 HA forum post on how to rename executable for drag and drop]&amp;lt;/ref&amp;gt; uses encoding options that many WavPack users will recommend (better compression than default, verification and MD5 fingerprinting), and novice users can choose to copy that filename for the executable.  For fine-tuning performance or for more specialized tasks, more options are described below. &lt;br /&gt;
&lt;br /&gt;
== Basic command line encoding/decoding [[Windows_command_line_tips|(for Windows: command-line hints here)]] == &lt;br /&gt;
The basic &#039;&#039;encoding&#039;&#039; usage is &amp;lt;tt&amp;gt;wavpack filename&amp;lt;/tt&amp;gt; (which creates &amp;lt;tt&amp;gt;filename.wv&amp;lt;/tt&amp;gt;) &amp;amp;ndash; this is what drag and drop accomplishes.  Wildcards are supported, e.g. &amp;lt;tt&amp;gt;wavpack *.wav&amp;lt;/tt&amp;gt; (but not simply &amp;lt;tt&amp;gt;wavpack *&amp;lt;/tt&amp;gt;).  For a &#039;&#039;single&#039;&#039; input file, one can specify output like e.g. &amp;lt;tt&amp;gt;wavpack infilename.wav -o outfilename.wv&amp;lt;/tt&amp;gt; (on Windows, the &amp;lt;tt&amp;gt;-o&amp;lt;/tt&amp;gt; can be omitted).  Input file extension &amp;quot;.wav&amp;quot; can be dropped, and output &amp;quot;.wv&amp;quot; extension as well &amp;amp;ndash; but &amp;lt;tt&amp;gt;wavpack foo&amp;lt;/tt&amp;gt; will only find foo.wav, not e.g. foo.w64 &amp;amp;ndash; and not a &amp;quot;foo&amp;quot; with no file extension.  (Power users may take note that for &amp;lt;tt&amp;gt;--raw-pcm&amp;lt;/tt&amp;gt; input, the encoder will not look for foo.wav but rather for foo.raw.)&lt;br /&gt;
&lt;br /&gt;
The basic &#039;&#039;decoding&#039;&#039; usage &amp;amp;ndash; as will be accomplished by drag and drop &amp;amp;ndash; is &amp;lt;tt&amp;gt;wvunpack -o filename.wv&amp;lt;/tt&amp;gt; where again the &amp;lt;tt&amp;gt;-o&amp;lt;/tt&amp;gt; can be dropped on Windows.  By default, wvunpack will restore the exact same file (metadata and file structure and all; it will know the original file name extension but not the rest of the file name &amp;amp;ndash; timestamp can be stored by using &amp;lt;tt&amp;gt;-t&amp;lt;/tt&amp;gt;.) If only audio was encoded (conversion from a &#039;&#039;player&#039;&#039; would usually work this way), output defaults to filename.wav. &lt;br /&gt;
Just like for the wavpack encoder, file extensions can be dropped; e.g., &amp;lt;tt&amp;gt;wvunpack foo -o bar&amp;lt;/tt&amp;gt; will decode foo.wv to bar.&amp;lt;original file&#039;s extension&amp;gt;.  This is arguably advisable, as setting a full filename is &#039;&#039;not going to override format&#039;&#039;, only make a potentially misleading output extension: E.g. if the input was a CAF file, &amp;lt;tt&amp;gt;wvunpack foo -o bar.w64&amp;lt;/tt&amp;gt; is still a CAF file.  To force output format, see the [[#Decoding options]] paragraph.&lt;br /&gt;
&lt;br /&gt;
=== Several input files ===&lt;br /&gt;
Wildcards are supported, like &amp;lt;tt&amp;gt;wavpack *.wav&amp;lt;/tt&amp;gt;.  To give several filenames as input to wavpack/wvunpack, there are slight differences between the Windows version and the *n*xes: &lt;br /&gt;
Windows (requires WavPack 5.5.0): use the &amp;lt;tt&amp;gt;--drop&amp;lt;/tt&amp;gt; option as in the above example given by the developer.  It is intended for drag and drop (hence the name of the option) and will write the output to same directory as source.  However it can also be used with command-line:  &amp;lt;tt&amp;gt;wavpack --drop firstfile secondfile&amp;lt;/tt&amp;gt; will compress firstfile.wav to firstfile.wv and secondfile.wav to secondfile.wv.  Note that without the &amp;lt;tt&amp;gt;--drop&amp;lt;/tt&amp;gt;, the command &amp;lt;tt&amp;gt;wavpack firstfile secondfile&amp;lt;/tt&amp;gt; will compress firstfile.wav to secondfile.wv, as &amp;lt;tt&amp;gt;-o&amp;lt;/tt&amp;gt; is optional on Windows &amp;amp;ndash; indeed that is why the &amp;lt;tt&amp;gt;--drop&amp;lt;/tt&amp;gt; had to be introduced.  An arbitrary number of files can be processed, e.g. &amp;lt;tt&amp;gt;wvunpack --drop firstfile secondfile thirdfile fourthfile fifthfile&amp;lt;/tt&amp;gt; will decode firstfile.wv, ..., fifthfile.wv.&lt;br /&gt;
For *n*x, one can omit the &amp;lt;tt&amp;gt;--drop&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Applying options ==&lt;br /&gt;
For tuning performance or other settings, one might want to apply command-line options.  Some external applications can apply options without the user having to type &amp;amp;ndash; e.g. encoding with [[foobar2000]], there are two compression sliders, one for the fast-to-extra-high and one for the &amp;lt;tt&amp;gt;-x&amp;lt;/tt&amp;gt; settings (see below) &amp;amp;ndash; but in the Windows GUI one will want to type them in.  Options can be concatenated for short, like for example writing &amp;lt;tt&amp;gt;-hh -x2 -m -v -y&amp;lt;/tt&amp;gt; as &amp;lt;tt&amp;gt;-hhx2mvy&amp;lt;/tt&amp;gt;.  &lt;br /&gt;
&lt;br /&gt;
The user should beware that the wavpack encoder and the wvunpack decoder (and wvtag/wvgain) have to &amp;quot;re-use letters&amp;quot;.  While some do the same in the wvunpack and wavpack (like &amp;lt;tt&amp;gt;-d&amp;lt;/tt&amp;gt; for delete input file, &amp;lt;tt&amp;gt;-y&amp;lt;/tt&amp;gt; for &amp;quot;yes to all&amp;quot;, &amp;lt;tt&amp;gt;-t&amp;lt;/tt&amp;gt; to preserve timestamp, and &amp;lt;tt&amp;gt;-l&amp;lt;/tt&amp;gt; for (Windows only) &amp;quot;run with low priority&amp;quot;) and others cover the same purpose in both executables (like &amp;lt;tt&amp;gt;-m&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;-v&amp;lt;/tt&amp;gt;), the user may be warned that certain letters do not.  E.g. &amp;lt;tt&amp;gt;-b&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;-c&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;-n&amp;lt;/tt&amp;gt; cover completely urelated functions upon decoding vs upon encoding.  &lt;br /&gt;
&lt;br /&gt;
=== Encoding options (lossless) ===&lt;br /&gt;
Encoding using &amp;lt;tt&amp;gt;-hxm&amp;lt;/tt&amp;gt; seems a sensible trade-off between compression and CPU load.  The manual (online, or included as wavpack_doc.html in the distribution) gives an exhaustive reference, and the following is merely a selection.  &lt;br /&gt;
* Compression.  WavPack has four compression modes that affect compression as well as encoding &#039;&#039;and&#039;&#039; decoding time: fast (&amp;lt;tt&amp;gt;-f&amp;lt;/tt&amp;gt;), default, high (&amp;lt;tt&amp;gt;-h&amp;lt;/tt&amp;gt;) and very high (&amp;lt;tt&amp;gt;-hh&amp;lt;/tt&amp;gt;).  The CPU load of &amp;lt;tt&amp;gt;-hh&amp;lt;/tt&amp;gt; is measured to around twice that of &amp;lt;tt&amp;gt;-f&amp;lt;/tt&amp;gt; (and could in the early 2000s be too heavy for portable players, although it does decode faster than any Monkey&#039;s).  On top these modes, the optional extra processing &amp;lt;tt&amp;gt;-x1&amp;lt;/tt&amp;gt; to &amp;lt;tt&amp;gt;-x6&amp;lt;/tt&amp;gt; settings will apply extra compression effort that does not increase &#039;&#039;decoding&#039;&#039; CPU load. &amp;lt;tt&amp;gt;-x&amp;lt;/tt&amp;gt; without number is synonymous to &amp;lt;tt&amp;gt;-x1&amp;lt;/tt&amp;gt;, which is often recommended (in all modes, fast/normal/high/extra high).  The official manual calls &amp;lt;tt&amp;gt;-x4&amp;lt;/tt&amp;gt; to &amp;lt;tt&amp;gt;-x6&amp;lt;/tt&amp;gt; &amp;quot;extremely slow&amp;quot;, but the size gains might be significant for high resolution audio in particular (van Beurden&#039;s revision 5, testing &amp;lt;tt&amp;gt;-x4&amp;lt;/tt&amp;gt;).  &lt;br /&gt;
** 5.5.0 introduces optional switches for the default compression: &amp;lt;tt&amp;gt;-g&amp;lt;/tt&amp;gt; for normal mode and &amp;lt;tt&amp;gt;-x0&amp;lt;/tt&amp;gt; for &amp;quot;no &amp;lt;tt&amp;gt;-x&amp;lt;/tt&amp;gt;&amp;quot;.  These are redundant for basic use, but can be used to switch off options already given (e.g. in renamed executables, or custom builds): &amp;lt;tt&amp;gt;-x6 -x0&amp;lt;/tt&amp;gt; will switch off the extra processing, and &amp;lt;tt&amp;gt;-h -f -g&amp;lt;/tt&amp;gt; will encode as normal, whereas previous versions would abort with an error.&lt;br /&gt;
** With DSD files, there are only two compression settings, normal and high; the option &amp;lt;tt&amp;gt;-f&amp;lt;/tt&amp;gt; will select normal, &amp;lt;tt&amp;gt;-h&amp;lt;/tt&amp;gt;/&amp;lt;tt&amp;gt;-hh&amp;lt;/tt&amp;gt; will both select high, and the &amp;lt;tt&amp;gt;-x&amp;lt;/tt&amp;gt; switches are silently ignored. &lt;br /&gt;
* Guarding against errors upon encoding: The &amp;quot;&amp;lt;tt&amp;gt;-m&amp;lt;/tt&amp;gt;&amp;quot; switch will compute an audio MD5 sum (like FLAC does by default) and store it for later verification.  The &amp;quot;&amp;lt;tt&amp;gt;-v&amp;lt;/tt&amp;gt;&amp;quot; switch will verify by decoding the file after encoding and writing the file to disk&amp;lt;ref&amp;gt;[https://hydrogenaud.io/index.php?topic=121714.msg1008108#msg1008108 HA forum comment:] verification checks the written file after closing and reopening&amp;lt;/ref&amp;gt;. &amp;lt;tt&amp;gt;-vm&amp;lt;/tt&amp;gt; will do both &amp;amp;ndash; that is, calculate the MD5s to verify, and store it.  (Using the corresponding switches in wvunpack will check without producing output file, however wvunpack also has a faster corruption check for WavPack 5-encoded files: &amp;lt;tt&amp;gt;-vv&amp;lt;/tt&amp;gt;)&lt;br /&gt;
* &amp;lt;tt&amp;gt;--import-id3&amp;lt;/tt&amp;gt; will import ID3v2.3 tags (currently not v2.4 nor v2.2) present in the source file &amp;amp;ndash; typically in Sony DSF files &amp;amp;ndash; and convert them to WavPack&#039;s preferred APE tags.  (It will still keep the chunk for restoring the original file.)  By default, importing is limited to 1 MB; for more, use &amp;lt;tt&amp;gt;--allow-huge-tags&amp;lt;/tt&amp;gt;.  Same option works in wvtag; indeed, one can encode first and then afterwards &amp;quot;import&amp;quot; the tags from the WavPack file using &amp;lt;tt&amp;gt;wvtag --import-id3 wavpackfile.wv&amp;lt;/tt&amp;gt;; this provided that these data have not been deleted by the following &amp;lt;tt&amp;gt;-r&amp;lt;/tt&amp;gt; option: &lt;br /&gt;
* &amp;lt;tt&amp;gt;-r&amp;lt;/tt&amp;gt;: remove non-audio chunks.  By default, WavPack will store these in the .wv file for later bit-by-bit restoration of everything, not only the audio. Use &amp;lt;tt&amp;gt;-r&amp;lt;/tt&amp;gt; to throw them away and encode audio only &amp;amp;ndash; like encoding through most players appear to do. &lt;br /&gt;
* &amp;lt;tt&amp;gt;-t&amp;lt;/tt&amp;gt;: copy input file&#039;s time stamp.  (To restore the file with the original time stamp, use &amp;lt;tt&amp;gt;-t&amp;lt;/tt&amp;gt; both when encoding and when decoding.)&lt;br /&gt;
* &amp;lt;tt&amp;gt;--pause&amp;lt;/tt&amp;gt;: (Windows only!) waits for keypress at the end.  Useful for reading output before exit when calling wavpack/wvunpack in a separate window (which both drag-and-drop the Windows front-end do).&lt;br /&gt;
* &amp;lt;tt&amp;gt;-y&amp;lt;/tt&amp;gt;: &amp;quot;yes&amp;quot; to everything.  Use with caution, will overwrite.  From 5.5.0 there is also a &amp;lt;tt&amp;gt;--no-overwrite&amp;lt;/tt&amp;gt; that will skip instead of asking to overwrite.&lt;br /&gt;
* &amp;lt;tt&amp;gt;-d&amp;lt;/tt&amp;gt;: delete source file upon successful completion.  Again, use with caution. &lt;br /&gt;
* &amp;lt;tt&amp;gt;-l&amp;lt;/tt&amp;gt; will force WavPack to run at low priority (Windows only)&lt;br /&gt;
* &amp;lt;tt&amp;gt;-c&amp;lt;/tt&amp;gt; with &amp;lt;tt&amp;gt;-b&amp;lt;/tt&amp;gt; to select lossy quality: hybrid lossless/lossy use, see below.&lt;br /&gt;
&lt;br /&gt;
WavPack can recompress .wv files in place (using a temporary file until done).  For example, &amp;lt;tt&amp;gt;wavpack -hx4mvy wavpackfile.wv&amp;lt;/tt&amp;gt; will compress wavpackfile.wv in high mode using &amp;lt;tt&amp;gt;-x4&amp;lt;/tt&amp;gt; extra processing, writing everything (and an audio MD5 checksum) to a temporary file; then open the temp file and re-read for verification &amp;amp;ndash; and once verified, replace the old wavpackfile.wv. Tags will be transferred.  &amp;lt;tt&amp;gt;wavpack -hx4rlmvy wavpackfile.wv&amp;lt;/tt&amp;gt; will also run with low priority (assuming the Windows platform), and will discard non-audio chunks &amp;amp;ndash; that is, the ones used to restore the original file&#039;s metadata; the .wv file&#039;s APE tags will still be copied.  As an example, one can compress an ID3v2.4-tagged DSF file by drag and drop; WavPack will then store the tag chunk, but WavPack cannot &#039;&#039;import&#039;&#039; v2.4 to its own (APEv2) tags.  Therefore, open both in Mp3tag, and copy the ID3v2.4 tags to the WavPack file. If then you decide that there is no need to restore the original file&#039;s ID3v2.4 upon any unpacking, you can apply the &amp;lt;tt&amp;gt;wavpack -hx4rlmvy wavpackfile.wv&amp;lt;/tt&amp;gt; command; it will then discard that chunk (but keep the tags that Mp3tag wrote!), recompress using high (silently ignoring the -x4 that has no effect on DSD) with low priority, write an MD5 sum, verify the process and replace the .wv file by the new recompressed file. &lt;br /&gt;
&lt;br /&gt;
=== (Incomplete:) hybrid lossless &amp;amp; lossy encoding ===&lt;br /&gt;
(Needs to be expanded. Notes: DSD can currently not be hybrid-encoded and floating-point files should not be.  The correction file will be omitted by a lot of applications/players, including VLC, mplayer and ffmpeg; thus, using ffmpeg or ffmpeg-based players to convert/play hybrid-encoded WavPack will be lossy. For WavPack in Matroska, there doesn&#039;t seem to be any player that will play both the lossy stream and the correction stream, although mkvmerge/mkvextract will import/extract both streams. foobar2000 can play hybrid lossless .wv+.wvc, but will omit a Matroska-encapsulated correction stream.)&lt;br /&gt;
&lt;br /&gt;
Basic use: the &amp;lt;tt&amp;gt;-b&amp;lt;/tt&amp;gt; switch &amp;amp;ndash; and for losslessness, with &amp;lt;tt&amp;gt;-c&amp;lt;/tt&amp;gt; to create a correction file. The &amp;lt;tt&amp;gt;b&amp;lt;/tt&amp;gt; takes a numerical value signifying &#039;&#039;bits per sample&#039;&#039; if &amp;lt; 24 and &#039;&#039;kbit/second&#039;&#039; if 24 to 9600. E.g. &amp;lt;tt&amp;gt;-b12.5&amp;lt;/tt&amp;gt; (no space in between, with . even if your locale uses comma for decimal point).&lt;br /&gt;
&amp;lt;tt&amp;gt;wavpack -b234.56 -c filename&amp;lt;/tt&amp;gt; will create filename.wv file and correction file filename.wvc.  As long as both are present, playback and decoding (by &amp;lt;tt&amp;gt;wvunpack filename&amp;lt;/tt&amp;gt; the ordinary way) will be lossless.&lt;br /&gt;
The file filename.wv &amp;amp;ndash; which is at most 234.56 kbit/s &amp;amp;ndash; can be copied to a different location and played back stand-alone as a lossy compressed file.  The same will happen if the .wvc file is deleted or not found (it has to be same path/filename except with the &amp;quot;.wvc&amp;quot; suffix in place of &amp;quot;.wv&amp;quot;) &amp;amp;ndash; or equivalently, if the &amp;lt;tt&amp;gt;-c&amp;lt;/tt&amp;gt; is omitted during encoding, then no correction file will be created in the first place.  For example:&lt;br /&gt;
&amp;lt;tt&amp;gt;wavpack -b13.5 -hx filename&amp;lt;/tt&amp;gt; will create a &#039;&#039;lossy&#039;&#039; filename.wv compressed with the &amp;lt;tt&amp;gt;-hx&amp;lt;/tt&amp;gt; option, size constrained to 13.5 bits per sample. (Should 13.5 bits be sufficient for lossless encoding, WavPack will tell you at the end of the encoding process &amp;amp;ndash; but that information is not stored in the file.)&lt;br /&gt;
&lt;br /&gt;
WavPack will refuse to recompress lossy-generated .wv to &amp;quot;lossless .wv&amp;quot; as that would make a false pretense of being a lossless file.  (That goes even in the &amp;quot;that information is not stored in the file&amp;quot; case just mentioned.)  If recompressing a hybrid with correction file, the .wvc file will remain even if it isn&#039;t overwritten. (&amp;lt;tt&amp;gt;-d&amp;lt;/tt&amp;gt; deletes original file.)&lt;br /&gt;
&lt;br /&gt;
=== Decoding options ===&lt;br /&gt;
In addition to the basic usage above (drag and drop or &amp;lt;tt&amp;gt;wvunpack filename.wv&amp;lt;/tt&amp;gt;), the wvunpack executable offers several options.  For use with the Windows front-end or drag and drop, the Windows-only &amp;lt;tt&amp;gt;--pause&amp;lt;/tt&amp;gt; (waits for keypress at the end, like for wavpack.exe) is essential to read the output report.  Also Windows-only options like &amp;lt;tt&amp;gt;--drop&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;-l&amp;lt;/tt&amp;gt; work as for wavpack.exe, and so do &amp;lt;tt&amp;gt;-d&amp;lt;/tt&amp;gt; (use with caution!) and &amp;lt;tt&amp;gt;-y&amp;lt;/tt&amp;gt; (ditto!) as well as &amp;lt;tt&amp;gt;-t&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
* Output &#039;&#039;filename&#039;&#039; can be set with &amp;lt;tt&amp;gt;wvunpack infilename.wv -o outfilename &amp;lt;/tt&amp;gt; (the &amp;lt;tt&amp;gt;-o&amp;lt;/tt&amp;gt; being superfluous on Windows, where &amp;amp;ndash; in the absence of &amp;lt;tt&amp;gt;--drop&amp;lt;/tt&amp;gt; &amp;amp;ndash; the second filename will be assumed to be output name).  Then wvunpack will affix the file extension of the original file (say, outfilename.wav if the wavpacked file was somefilename.wav).  The wavpack encoder detects the file type from content, and so wvunpack will not &amp;quot;fix misleading extensions&amp;quot; automatically; the user can provide a giving full output filename with extension, but note that this will override the &#039;&#039;name&#039;&#039; only but not the &#039;&#039;type&#039;&#039;.  To make sure that -o out.aif indeed produces an AIFF, separate switches have to be employed. &lt;br /&gt;
* To force output &#039;&#039;file format,&#039;&#039; one needs to apply options to wvunpack.  The following are for PCM output: &amp;lt;tt&amp;gt;--raw-pcm&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;--wav&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;--w64&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;--caf-be&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;--caf-le&amp;lt;/tt&amp;gt;, and from version 5.6.0 on also &amp;lt;tt&amp;gt;--aif&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;--aif-le&amp;lt;/tt&amp;gt;.  &lt;br /&gt;
** These will delete non-audio chunks and replace them with a fresh file header: there is no option to &amp;quot;unpack to WAVE and restore the original headers if the original file was WAVE&amp;quot;.   &amp;lt;tt&amp;gt;wvunpack --wav&amp;lt;/tt&amp;gt; will select RF64 if (and only if) exceeding WAVE&#039;s 4 GB limit, and wvunpack will select old AIFF over AIFF-C if the audio data permit it.&lt;br /&gt;
** For DSD, those format switches will also force a &amp;amp;ndash; necessarily lossy &amp;amp;ndash; conversion to PCM.  To switch losslessly &#039;&#039;between&#039;&#039; DSD formats, there are also &amp;lt;tt&amp;gt;--dsf&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;--dff&amp;lt;/tt&amp;gt; (the latter being synonymous to &amp;lt;tt&amp;gt;--dsdiff&amp;lt;/tt&amp;gt;) which again delete non-audio chunks.  Note that WavPack cannot force any (also necessarily lossy) conversion &#039;&#039;to&#039;&#039; DSD, having no DSD encoder.&lt;br /&gt;
** &amp;lt;tt&amp;gt;--raw&amp;lt;/tt&amp;gt; outputs both PCM and DSD as headerless streams (lossless for both; &amp;lt;tt&amp;gt;-r&amp;lt;/tt&amp;gt; is synonymous; beware that this is not precisely the same as the same letter switch upon encoding).&lt;br /&gt;
&lt;br /&gt;
In addition to decimating DSD for conversion to PCM, there are other options where power users can utilize certain &#039;&#039;lossy&#039;&#039; operations by wvunpack, e.g. normalizing floating-point files (recommended before conversion to integer), dropping correction files from hybrid encodes &amp;amp;ndash; and &amp;lt;tt&amp;gt;--skip&amp;lt;/tt&amp;gt; and/or &amp;lt;tt&amp;gt;--until&amp;lt;/tt&amp;gt; to decode only a segment of the file.  See the documentation.  &amp;lt;br/&amp;gt;&lt;br /&gt;
Other options include &amp;lt;tt&amp;gt;-b&amp;lt;/tt&amp;gt; to &amp;quot;blindly&amp;quot; decode until end disregarding errors and corruption (potentially useful to save as much as possible from a destroyed file).&lt;br /&gt;
&lt;br /&gt;
wvunpack is also the utility to display information from .wv files even when it does not involve decoding, see the next section.  Inter alia, &amp;lt;tt&amp;gt; -s&amp;lt;/tt&amp;gt; can be used to find the input file type in case the output extension is misleading (like a .wav extension disguising an AIFF file). &lt;br /&gt;
&lt;br /&gt;
=== Other file handling: verification / error checking, and other file info (incomplete) ===&lt;br /&gt;
wvunpack can get information about WavPack files without decoding to file: &lt;br /&gt;
* &amp;lt;tt&amp;gt;-vv&amp;lt;/tt&amp;gt;: Quick verify without decoding (WavPack 5 files only; from 5.5.0 there is also a more verbose &amp;lt;tt&amp;gt;-vvv&amp;lt;/tt&amp;gt;).  Quick verify seems to be unavailable outside the official wvunpack; other applications which verify will fall back to the next item, &amp;lt;tt&amp;gt;-v&amp;lt;/tt&amp;gt;. &lt;br /&gt;
* &amp;lt;tt&amp;gt;-v&amp;lt;/tt&amp;gt;: Verify (will do a decode to check that everything is OK &amp;amp;ndash; but not write any file). &lt;br /&gt;
* &amp;lt;tt&amp;gt;-s&amp;lt;/tt&amp;gt;/&amp;lt;tt&amp;gt;-ss&amp;lt;/tt&amp;gt;: &amp;lt;tt&amp;gt;-s&amp;lt;/tt&amp;gt; displays summary of the file, &amp;lt;tt&amp;gt;-ss&amp;lt;/tt&amp;gt; a long summary including tags. Also there is &amp;lt;tt&amp;gt;-f&amp;lt;/tt&amp;gt; for parseable output, see documentation.&lt;br /&gt;
* &amp;lt;tt&amp;gt;-n&amp;lt;/tt&amp;gt; is the generic &amp;quot;do not decode&amp;quot; for use e.g. to extract tags (which can also be accomplished with the &amp;lt;tt&amp;gt;wvtag&amp;lt;/tt&amp;gt; utility, but wvunpack will do if one does not want to write tags): &lt;br /&gt;
* &amp;lt;tt&amp;gt;-x&amp;lt;/tt&amp;gt; FIELD: Shows tag, e.g. &amp;lt;tt&amp;gt; -x comment &amp;lt;/tt&amp;gt; shows the &amp;lt;comment&amp;gt; field.  &amp;lt;tt&amp;gt;-c&amp;lt;/tt&amp;gt; is synonymous to &amp;lt;tt&amp;gt; -x cuesheet&amp;lt;/tt&amp;gt;.   Also &amp;lt;tt&amp;gt; wvtag -x &amp;lt;/tt&amp;gt; resp. &amp;lt;tt&amp;gt; wvtag -c &amp;lt;/tt&amp;gt; do the same thing.  &amp;lt;tt&amp;gt;-xx&amp;lt;/tt&amp;gt; (same option for wvtag) can output to file, see documentation.&lt;br /&gt;
&lt;br /&gt;
=== (To fill in:) Tagging (wvtag) and replaygain management (wvgain) ===&lt;br /&gt;
(... most of these options are available in HA&#039;s fave taggers/player? Except &amp;lt;tt&amp;gt;wvtag --import-id3 wavpackfile.wv&amp;lt;/tt&amp;gt; which reads and &amp;quot;imports&amp;quot; ID3 tag stored in wavpackfile.wv&#039;s non-audio chunks; this will overwrite existing APEv2. Can also be used with &amp;lt;tt&amp;gt;--allow-huge-tags&amp;lt;/tt&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Using WavPack with 3rd party tools (FFmpeg &amp;amp; more) =&lt;br /&gt;
&lt;br /&gt;
Some applications may behave slightly surprising.  FFmpeg has its own WavPack implementation and has a few known peculiarities, some which are expected to be fixed and others of unknown status.  As referenced above Android users may need to use the player application&#039;s folder to get WavPack files recognized.  The tl;dr are that as long as it plays, it plays &amp;amp;ndash; but to safeguard against loss of information (e.g. upon conversion), use the official tools.  In particular, hybrid lossless correction files are usually not honoured by 3rd party tools. (A player that does, foobar2000, uses the official WavPack libraries.)&lt;br /&gt;
&lt;br /&gt;
== Splitting WavPack files by cuesheet ==&lt;br /&gt;
WavPack is a format with good support for storing an album as one .wv file with embedded cuesheets, but splitting into tracks by way of cuesheets is not straightforward without external tools. Audio players like [[foobar2000]] which support cue sheets can also split upon conversion.  Other external applications that will do this splitting &amp;amp;ndash; also with more variations of the cue sheet format(s) supported &amp;amp;ndash; include&lt;br /&gt;
* [[CUETools]] can if it is CDDA (44.1 kHz 16-bit stereo), and can re-encode back to WavPack.  &lt;br /&gt;
* refalac can decode &amp;amp; split by cuesheets with the appropriate (official) WavPack library DLL file&amp;lt;ref&amp;gt;[https://github.com/nu774/qaac/wiki/refalac-usage refalac usage] includes how to split by cuesheet&amp;lt;/ref&amp;gt;, outputting WAVE or ALAC-in-MP4.&lt;br /&gt;
Both refalac, CUETools and foobar2000 use the official WavPack tools to for the decoding(/encoding). &lt;br /&gt;
&lt;br /&gt;
== FFmpeg&#039;s WavPack implementation: differences and quirks ==&lt;br /&gt;
FFmpeg can encode/decode to/from WavPack &amp;amp;ndash; which may be seen as attractive from how it also can transfer metadata in one go &amp;amp;ndash; but with some limitations and maybe unfamiliar behaviour.  Compression settings are different: the default is fast but not particularly good compression&amp;lt;ref&amp;gt;[https://hydrogenaud.io/index.php?topic=118278.msg976262#msg976262  HA forum comment comparing the compression presets]&amp;lt;/ref&amp;gt; &amp;amp;ndash; while on the other end, FFmpeg offers even slower modes than &amp;lt;tt&amp;gt;-hhx6&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Bugs, unfixed as of FFmpeg version 6.0, may cause audio corruption: &lt;br /&gt;
* Encoding, multi-channel only: Above 16 channels, when the WavPack 5 format is required, FFmpeg will still attempt encoding to WavPack but will produce unreadable files.&lt;br /&gt;
* Encoding, 8-bit PCM only: FFmpeg will produce broken files with static noise. Allegedly a fix has been submitted, but not been released. &lt;br /&gt;
* Decoding, any format but rare: A bug FFmpeg&#039;s WavPack decoder, discovered in August 2022&amp;lt;ref&amp;gt;[https://hydrogenaud.io/index.php/topic,122810 HA forum thread on the ffmpeg bug in .wv decoding]&amp;lt;/ref&amp;gt;, will cause dropouts in certain files. The bug is &#039;&#039;&amp;quot;rare&amp;quot;&#039;&#039; in that no such file was discovered in several years.  Allegedly a fix has been coded, but not been released. &lt;br /&gt;
Users might beware that players and converters that employ FFmpeg as a decoding engine may or may not update that quickly even when FFmpeg itself is updated with fixes.&lt;br /&gt;
&lt;br /&gt;
Further limitations in FFmpeg&#039;s implementation:&lt;br /&gt;
* As a general rule &amp;amp;ndash; not specific to decoding .wv &amp;amp;ndash; FFmpeg will does &#039;&#039;not&#039;&#039; honour the input bit depth: it will default to 16 bits when outputting WAVE/AIFF, whether or not the input file is 16 bits.  This default behaviour is not lossless when input bit depth is &amp;gt; 16 bits, and could even induce clipping (with no warning!) if the source is a 32-bit float.  To force lossless decoding of 24-bit/32-bit files (WavPack/FLAC/ALAC/TAK/uncompressed) to WAVE/AIFF, the user must extract the bit depth information and specify the respective 24-bit/32-bit output format using ffmpeg&#039;s command-line syntax. &amp;lt;br/&amp;gt;The tl;dr for users who do not have this at their fingertips, is to use other (= official!) decoders when losslessness is desired.&lt;br /&gt;
* Correction files ignored, leading to lossy playback/conversion of hybrid-encoded WavPack files with when ffmpeg or ffmpeg-based players are used. &lt;br /&gt;
* Loss of information that is not directly audio-related: FFmpeg has no ambition of preserving file structure and (R)IFF chunks, so you will not get the non-audio chunks of the files back when using ffmpeg to encode &amp;amp;ndash; however it &#039;&#039;will&#039;&#039; by default transfer metadata it supports. &lt;br /&gt;
* FFmpeg will sometimes &amp;amp;ndash; depending on input format &amp;amp;ndash; output 32-bit WavPack files and lose the information that the source was indeed only 24. Not all players support 32-bit files, and verifying that the operation (or an attempted downconversion to 24) was lossless is not straightforward as even fewer applications are willing to compare a 32-bit and a 24-bit file for differences. &amp;lt;br/&amp;gt;Also for files with bit depth not being 8/16/24/32 is lost; WAVE/AIFF/CAF can handle &amp;quot;17 bit&amp;quot; files by storing 24 and employing a flag to disregard the 7 LSBs, and ffmpeg will lose this flag even when encoding to / decoding from codecs which support it, WavPack and FLAC. &lt;br /&gt;
* FFmpeg can decode WavPack 5 files, but will only write WavPack 4 files (hence no &#039;&#039;fast verification&#039;&#039;).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Software support (&amp;amp; hardware) =&lt;br /&gt;
With Android support and playback through ffmpeg, it might no longer be feasible to maintain a list of applications that can play WavPack files, and the following is  most certainly incomplete &amp;amp;ndash; as is the list at https://www.wavpack.com/#Software .  Also, the distinction between &amp;quot;hardware&amp;quot; and &amp;quot;software&amp;quot; support is not clear in the age of smart devices running Android, and the list at https://www.wavpack.com/#Hardware does not cover those.&lt;br /&gt;
&lt;br /&gt;
== Players ==&lt;br /&gt;
* [[foobar2000]] advanced freeware audio player plays/decodes WavPack out of the box on both Windows, MacOS, Android and iOS (Windows: supports encoding if wavpack.exe is installed, and redistributes the official wavpack.exe through its &amp;quot;Free encoder pack&amp;quot; addon for encoding.  With ReplayGain &amp;amp; cuesheets support.) Also [[Boom]] from the same author.&lt;br /&gt;
* [http://www.videolan.org/vlc/download-windows.html VLC] multiplatform media player&lt;br /&gt;
* [http://www.vuplayer.com/vuplayer.php VUPlayer] (official plugin, supports encoding)&lt;br /&gt;
* NullSoft [[Winamp]] (plugin with ReplayGain &amp;amp; Media Library support) and Winamp-compatible players&lt;br /&gt;
* [[Windows Media Player]] and other directshow-based players (MPC, TCMP, RadLight) (with [http://www.hydrogenaudio.org/forums/index.php?showtopic=103693 CoreWavPack] directshow filter)&lt;br /&gt;
* [http://cogosx.sourceforge.net/ Cog] Audio player for MacOS X.&lt;br /&gt;
* [https://wiki.jriver.com/index.php/WavPack JRiver Media Center]&lt;br /&gt;
* [[XMMS]] (with Kuniklo&#039;s plugin)&lt;br /&gt;
* [http://fondriest.frederic.free.fr/realisations/lamip/ LAMIP] (official plugin)&lt;br /&gt;
* [http://mpxplay.sourceforge.net/ MPXplay] for DOS!&lt;br /&gt;
* [http://aqualung.sourceforge.net/ Aqualung] for GNU/Linux&lt;br /&gt;
* Cowon [http://www.jetaudio.com/ JetAudio Player] and CD ripper&lt;br /&gt;
* [http://www.un4seen.com/ XMPlay] Plugin required (WavPack input plugin) and (bass library) to play &#039;wv&#039; files&lt;br /&gt;
&lt;br /&gt;
== Converters, CD rippers etc. ==&lt;br /&gt;
Several of the &#039;&#039;players&#039;&#039;, like Cowon JetAudio, foobar2000 and VUplayer, also have converters that can create WavPack files. More:&lt;br /&gt;
* Custom Windows [http://www.wavpack.com/WavPack_frontend.zip WavPack frontend] (by Speekenbrink)&lt;br /&gt;
* [http://www.dbpoweramp.com/ dBpowerAMP] Music Converter CD ripper/writer / Audio Player / (official addon)&lt;br /&gt;
* [[fre:ac]] multi-platform CD ripper/converter&lt;br /&gt;
* [[Exact Audio Copy]] CD Ripper (guide at this wiki&amp;lt;ref&amp;gt;[[EAC_and_WavPack | HA Wiki: Configuring EAC and WavPack]]&amp;lt;/ref&amp;gt;)&lt;br /&gt;
* [http://www.nero.com/eng/ Nero]&lt;br /&gt;
* [http://cdexos.sourceforge.net CDex] CD ripper&lt;br /&gt;
* [https://download.cnet.com/Ease-Audio-Converter/3000-2140_4-10390634.html Ease Audio Converter] (Discontinued; shareware / NOT Freeware)&lt;br /&gt;
* [http://media.io/ Media.io Online Audio Converter]&lt;br /&gt;
* [http://www.logipole.com/index.html Konvertor]&lt;br /&gt;
* [http://cuetools.net CUETools] converter and AccurateRip/CTDB checker&lt;br /&gt;
* [https://github.com/nu774/qaac refalac] (user must copy the wavpackdll.dll file to the appropriate directory)&lt;br /&gt;
&lt;br /&gt;
== Taggers and audio info utilities ==&lt;br /&gt;
* [http://www.mp3tag.de/en/index.html Mp3tag] Universal Tag Editor&lt;br /&gt;
* [https://picard.musicbrainz.org/ MusicBrainz Picard] Tagger with audio identification &lt;br /&gt;
* [http://www.jtclipper.eu/thegodfather/ The GodFather] Tagger / Music manager&lt;br /&gt;
* [[Tag.exe|Case&#039;s Tag]] command line tagger&lt;br /&gt;
* [https://mediaarea.net/ MediaInfo]&lt;br /&gt;
* [http://mr-questionman.en.uptodown.com/windows Mr. QuestionMan]&lt;br /&gt;
&lt;br /&gt;
== Audio editors and other tools ==&lt;br /&gt;
* [[Audacity]] has WavPack support (using official libraries) from version 3.2.0 (2022)&amp;lt;ref&amp;gt;[https://github.com/audacity/audacity/releases/tag/Audacity-3.2.0 Audacity 3.2.0 release notes]&amp;lt;/ref&amp;gt;.&lt;br /&gt;
* [[Adobe Audition]] and Cool Edit (filter with 32-bit floats &amp;amp; extra info save support)&lt;br /&gt;
* [https://sourceforge.net/projects/sox/ SoX] can read and write WavPack files.  (Write: limited to &amp;lt;tt&amp;gt;-hh&amp;lt;/tt&amp;gt; compression, not file format version 5.)&lt;br /&gt;
* [http://www.bunkus.org/videotools/mkvtoolnix/ mkvtoolnix] &amp;amp;ndash; tool to multiplex streams in Matroska container files.&lt;br /&gt;
&#039;&#039;It&#039;s worth mentioning the [[Matroska]] guys decided to concentrate on WavPack as the lossless compressor of choice for their container. Quite an honor... :-)&#039;&#039;&lt;br /&gt;
* [https://support.pkware.com/display/PKSZLU/PKZIP+Toolkit+for+Windows PKWare]&#039;s .zip format compresses audio by WavPack since version 6.3.2 (2007).  Beware that there is no expectation that other decompression software handles these zip files; even if PKWare co-designed the format and PKZip was the original .zip implementation, their subsequent compression methods are outside the ISO/IEC standardized zip format specification. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Links =&lt;br /&gt;
* [http://www.wavpack.com/ Official website]&lt;br /&gt;
* [https://github.com/dbry/WavPack Github repository]&lt;br /&gt;
* [http://www.rarewares.org/lossless.html Unofficial compiles] at RareWares. As of 2023: 5.50 for Windows and 4.32 multiplatform&lt;br /&gt;
* [https://en.wikipedia.org/wiki/WavPack WavPack at Wikipedia]&lt;br /&gt;
* [https://wiki.multimedia.cx/index.php/WavPack WavPack at Multimediawiki] (not updated with version 5)&lt;br /&gt;
* [[Lossless_comparison| HA Wiki&#039;s Lossless Codec Comparison]] originally by [[User:Rjamorim|Rjamorim]] &lt;br /&gt;
* An older (2005) performance comparison of lossless audio compressors {{webarchive|https://web.archive.org/web/20151027213336/http://members.home.nl/w.speek/comparison.htm|2015-10-27}} by Speek, using WavPack version 4.0 &lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{navbox audio codecs}}&lt;br /&gt;
[[Category:Codecs]]&lt;br /&gt;
[[Category:Lossless]]&lt;/div&gt;</summary>
		<author><name>Porcuswiki</name></author>
	</entry>
</feed>