WAVPACK(1) General Commands Manual WAVPACK(1)

wavpackencode audio files to wavpack

wavpack [-options] [-o output] file ...

wavpack encodes the specified source files into WavPack files. The source files may be any of the file format types listed below, and the audio data may be either uncompressed PCM or DSD, depending on the format. Raw audio may also be specified (see --raw-pcm).

Unless overridden with the -o option, the output filename will be the source filename with the filename extension replaced by “.wv”. Multiple input files may be specified, resulting in multiple WavPack files, and in that case -o may be used to specify an alternate target directory. A filename of “-” specifies stdin or stdout.

When transcoding from existing WavPack files, all tags are copied, and may be modified with additional args; unless an alternate output file or directory is specified, the source files are safely overwritten.

  • Microsoft RIFF, extension “.wav”, including BWF and RF64 variants
  • WavPack, extension “.wv”, transcode operation, tags copied
  • Apple AIFF, extension “.aif”
  • Apple Core Audio, extension “.caf”
  • Sony Wave64, extension “.w64”
  • Philips DSDIFF, extension “.dff”
  • Sony DSD Stream, extension “.dsf”

Adobe Audition (CoolEdit) mode for 32-bit floats
Allow tag data up to 16 MB. Embedding > 1 MB is not recommended for portable devices and may not work with some programs, including older WavPack versions.
Enable hybrid compression, n = 2.0 to 23.9 bits/sample, or n = 24-9600 kbits/second (kbps). If this option is specified the -c option, then the operation is lossy. The hybrid mode is not applicable to DSD audio (only PCM).
specify block size in samples (max = 131072 and min = 16 with --merge-blocks, otherwise 128)
Create correction file (.wvc) for hybrid mode resulting in 2-file lossless compression. The bitrate is specified with the -bn option.
maximum hybrid compression (hurts lossy quality & decode speed)
Enable hybrid lossless (i.e., 2-file) compression, n = 2.0 to 23.9 bits/sample, or n = 24-9600 kbits/second (kbps). This is a shortcut combining the -bn and -c options. The hybrid mode is not applicable to DSD audio (only PCM).
Specify comma separated channel order if not the Microsoft standard, which is FL,FR,FC,LFE,BL,BR,FLC,FRC,BC,SL,SR,TC,TFL,TFC,TFR,TBL,TBC,TBR; specify “...” to indicate that channels are not assigned to specific speakers, or terminate list with “...” to indicate that any channels beyond those specified are unassigned.
Use cross-channel correlation in hybrid mode. On by default in lossless mode and with the -cc option.
delete source file if successful; use with caution!
fast mode; introduces a compromise in compression ratio
Round the bit depth specified in the source file up to the next whole byte (e.g., 20-bit is rounded up to 24-bit) to handle cases where the value specified is not correct (i.e., padding bits are non-zero).
general/normal mode, cancels previously specified -f and -h options
high quality; better compression ratio, but slightly slower
very high quality; best compression, but slowest; not recommended on vintage playback devices
display extended help
Ignore length in wav header and allow WAV files greater than 4 GB. This will attempt to fix the WAV header stored in the WavPack file; combine with -r to create a fresh header instead.
import applicable tag items from an ID3v2.3 or ID3v2.4 tag present in DSF and other files into the APEv2 tag. If there are > 1 MB cover images present, add --allow-huge-tags to include them, and -r if you do not want large images appearing twice in the WavPack file, although this will remove the entire original ID3v2 tag.
joint-stereo override (0 = left/right, 1 = mid/side)
compute & store MD5 signature of raw audio data
merge consecutive blocks with equal redundancy (used with --blocksize option and is useful for files generated by the lossyWAV program or decoded HDCD files)
calculate average and peak quantization noise (hybrid only, reference fullscale sine)
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 -y option.
Don't recode passed tags from local encoding to UTF-8, assume they are in UTF-8 already.
Specify an output filename for a single source file or a target directory (must already exist) for multiple files.
New optimization targeting 32-bit integer audio files that were originally sourced from 32-bit float audio. Can improve compression by 10%, but is only applicable in lossless modes. Resulting files will only decode with 24-bit resolution on older decoders (i.e., technically lossy).
encode unassigned channels into stereo pairs
pre-quantize samples to bits depth BEFORE encoding and MD5 calculation (common use would be --pre-quantize=20 for 24-bit or float material recorded with typical converters)
quiet (keep console output to a minimum)
parse headers to determine audio format and length but do not store the headers in the resulting WavPack file (a minimum header will be generated by wvunpack, but some non-audio metadata might be lost)
input data is raw pcm (44,100 Hz, 16-bit, 2-channels)
Input data is raw pcm with specified sample-rate, bit-depth (float, unsigned, signed), number of channels, and endianness. Defaulted parameters may be omitted, specify bits=1 for DSD.
skip begin bytes before encoding raw PCM (header) and skip end bytes at the EOF (trailer)
Override default hybrid mode noise shaping where n is a float value between -1.0 and 1.0. Negative values move noise lower in freq, positive values move noise higher in freq; use 0 for no shaping (white noise).
Copy input file's time stamp to output files.
Enable multithreaded operation with n=1 (no threading) to n=12 (max threads). Significantly improves performance of lossless compression on multicore CPUs. In the hybrid modes, only multichannel files can utilize multithreading. Omitting the parameter will select an optimum number of threads.
force use of dynamic noise shaping (hybrid mode only)
verify output file integrity after write (not for piped output)
write program version to stdout
write encoder metadata to APEv2 tag (e.g., “Encoder=WavPack 5.6.0”)
write user settings metadata to APEv2 tag (e.g., “Settings=-hb384cx3”)
write the specified text metadata to APEv2 tag
Write specified text metadata from file to APEv2 tag; normally used for embedded cuesheets and logs (field names “Cuesheet” and “Log”).
Write the specified binary metadata file to APEv2 tag; normally used for cover art with the field name “Cover Art (Front)”.
extra encode processing, n = 0 to 6, default=1; -x0 for no extra processing, -x1 to -x3 to choose best of predefined filters, -x4 to -x6 to generate custom filters (very slow!)
yes to all warnings; use with caution!
don't set (n=0 or omitted) or set (n=1) console title to indicate progress (leaves "WavPack Completed")

wvgain(1), wvtag(1), wvunpack(1), www.wavpack.com

David Bryant <david@wavpack.com>
Sebastian Dröge <slomo@debian.org>
Jan Starý <hans@stare.cz>

February 9, 2024 Linux 6.7.4-arch1-1