WVUNPACK(1)
β¨ WVUNPACK β the wavpack decoder era π
okay bestie, welcome to wvunpack from the General Commands Manual section (that's section 1, iykyk) π
πΈ NAME πΈ
wvunpack β decode wavpack encoded files π¦
π«Ά SYNOPSIS π«Ά
wvunpack [-options] [-o output] file ...
that's it. that's the whole vibe. options, maybe an output, and one or more files. slay. π
π DESCRIPTION π
so like, wvunpack decodes WavPack files back to their original uncompressed form. it's literally the un-squeeze. the glow-up reversal. β¨
unless you override it with the -o switch, the output filename is gonna be the source filename but with the original file extension replacing WavPack's β.wvβ extension. iconic behavior honestly.
you can also output raw audio without headers using the --raw option. and yes, you can feed it multiple WavPack input files at once β multiple output files. in that case -o can be used to specify an alternate target directory.
a filename of β-β means stdin or stdout. bestie that's the classic dash move, you know it, you love it.
it's also possible to export to one of the alternate file formats listed below, but β οΈ in that case the information in the original headers and trailers will be lost, even if the alternate format is the same as the source format. so like. be aware. π
oh and for context: WavPack files are generally created with the wavpack program. they're sisters fr fr. π«Ά
If multiple input files are specified with piped output (β-o -β), then the output from all the files is concatenated. this can be utilized as an easy way to concatenate WavPack files (assuming the output is subsequently piped into wavpack), but it only makes sense with raw output (--raw) to avoid headers being interleaved with the audio data. don't do the weird thing. do the raw thing. π
On multicore machines wvunpack will attempt to use multiple threads to speed up the operation, often by 3x or more. π the way that it just goes faster for free?? to force single-threaded operation use the --no-threads option, or use the --threads option to fine-tune the number of threads utilized.
π OUTPUT FORMATS π
the menu, bestie. pick your fighter:
- Microsoft RIFF (
β.wavβ), force with--wav, creates RF64 if > 4 GB - Sony Wave64 (
β.w64β), force with--w64 - Apple AIFF (
β.aifβ), force with--aifor--aif-le - Apple Core Audio (
β.cafβ), force with--caf-beor--caf-le - Raw PCM or DSD (
β.rawβ), force with-ror--raw - Philips DSDIFF (
β.dffβ), force with--dsdiffor--dff - Sony DSD Stream (
β.dsfβ), force with--dsf
π OPTIONS π
every single one. no skips. we don't gatekeep here. π
--aif,--aif-leβ force output to Apple AIFF (or AIFF-C/sowt), extensionβ.aifβ-bβ blindly decode all stream blocks and ignore length info (yes, blindly. it's giving chaos but make it functional π)-cβ do not decode audio but instead just extract cuesheet stored in APEv2 tag to stdout (equivalent to-x βcuesheetβ)-ccβ extract cuesheet stored in APEv2 tag tosource-name.cuefile in same directory as decoded audio file (equivalent to-xx βcuesheet=%a.cueβ)--caf-be,--caf-leβ force output to big-endian or little-endian Core Audio, extensionβ.cafβ-dβ delete source file if successful; β οΈ use with caution! like bestie this one deletes things. respectfully. π--dff,--dsdiffβ force output to Philips DSDIFF, DSD audio source only, extensionβ.dffβ--dsfβ force output to Sony DSF, DSD audio source only, extensionβ.dsfβ-fβ do not decode audio but simply display summary information about WavPack file to stdout in a machine-parsable format (seedoc/wavpack_doc.htmlorcli/wvunpack.cfor details)--helpβ display extended help π«Ά-iβ ignore.wvcfile (forces hybrid lossy decompression)-mβ calculate and display MD5 signature; verify if lossless β-nβ no audio decoding (use with-xxto extract tags only)--no-overwriteβ Never overwrite, nor ask to overwrite, an existing file. This is handy for resuming a cancelled batch operation and obviously cannot be mixed with the-yoption. pick a lane bestie π«--normalize-floatsβ normalize float audio to+/-1.0if it isn't normalized already (rarely the case, but alters audio and fails MD5) π--no-threadsβ force single-threaded operation, equivalent to--threads=1--no-utf8-convertβ leave extracted text tags in UTF-8 encoding during extraction or display-o OUTFILEβ specify output filename (only if single source file) or target directory (must already exist)-qβ quiet (keep console output to a minimum) π€«-r,--rawβ force raw PCM or DSD audio decode by skipping headers & trailers, results insource-name.raw--raw-pcmβ similar to-rand--rawabove except that DSD audio will be converted to 24-bit PCM (8x decimation)-sβ do not decode audio but simply display summary information about WavPack file to stdout-ssβ do not decode audio but simply display summary and tag information about WavPack file to stdout--skip=[-][sample|hh:mm:ss.ss]β start decoding at specified sample or time index, specifying aβ-βcauses sample/time to be relative to EOF-tβ copy input file's time stamp to output file(s) β°--threads=nβ Enable (or disable) multithreaded operation withn=1(no threading) ton=12(max threads). Significantly improves performance of all modes, including verify. Omitting the parameter will select an optimum number of threads.--until=[+|-][sample|hh:mm:ss.ss]β stop decoding at specified sample or time index, specifying aβ+βcauses sample/time to be relative to--skippoint, specifying aβ-βcauses sample/time to be relative to EOF-vβ verify source data only (no output file created)-vvβ quick verify (no output, version 5+ files only)--versionβ write program version to stdout-w,--wavβ force output to Microsoft RIFF/RF64, extensionβ.wavβ--w64β force output to Sony Wave64, extensionβ.w64β-x βFieldββ do not decode audio but instead just extract the specified tag field to stdout-xx βField[=file]ββ extract the specified tag field into a named file in the same directory as the decoded audio file; optional filename specification may containβ%aβwhich is replaced with the audio file base name,β%tβreplaced with the tag field name (note: comes from data for binary tags) andβ%eβreplaced with the extension from the binary tag source file (orβtxtβfor text tag).-yβ yes to overwrite warning; β οΈ use with caution!-z[n]β don't set (n = 0or omitted) or set (n = 1) console title to indicate progress (leaves"WvUnpack Completed") π
π¦ SEE ALSO π¦
wavpack(1)wvgain(1)wvtag(1)www.wavpack.com
go read the whole squad, they're all icons π«Ά
β AUTHORS β
- David Bryant
<david@wavpack.com> - Sebastian DrΓΆge
<slomo@debian.org> - Jan StarΓ½
<hans@stare.cz>
no cap, these three literally built the thing. show some respect. π
and that's the page bestie!! π this lil slice of the manual is from the <strong>Debian</strong> build, dated <strong>January 16, 2026</strong>, and it's filed under <strong>WVUNPACK(1)</strong> β go forth and unpack, you absolute legend πβ¨π¦
π¦ where this page comes from
- alpine 3.24: wavpack-doc 5.9.0-r0 Β· BSD-3-Clause
- arch rolling: wavpack 5.9.0-1 Β· BSD
- fedora 44: wavpack 5.9.0-2.fc44 Β· BSD-3-Clause AND BSD-2-Clause AND LicenseRef-Fedora-Public-Domain
- fedora 44: wavpack 5.9.0-2.fc44 Β· BSD-3-Clause AND BSD-2-Clause AND LicenseRef-Fedora-Public-Domain
- nixpkgs unstable: wavpack 5.9.0
- ubuntu resolute: wavpack 5.9.0-1 Β· BSD-3-Clause
- ubuntu stonking: wavpack 5.9.0-2 Β· BSD-3-Clause
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms