wavpack - Man Page

encode audio files to wavpack

Synopsis

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

Description

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.

Input Formats

  • 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”

Options

-a

Adobe Audition (CoolEdit) mode for 32-bit floats

--allow-huge-tags

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.

-bn

Enable hybrid compression, n = 2.0 to 23.9 bits/sample, or n = 24-9600 kbits/second (kbps). If this option is specified without the -c option, then the operation is lossy. The hybrid mode is not applicable to DSD audio (only PCM).

--blocksize=n

specify block size in samples (max = 131072 and min = 16 with --merge-blocks, otherwise 128)

-c

Create correction file (.wvc) for hybrid mode resulting in 2-file lossless compression. The bitrate is specified with the -bn option.

-cc

maximum hybrid compression (hurts lossy quality & decode speed)

-cn

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).

--blocksize=n
--channel-order=list

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.

--cross-decorr

Use cross-channel correlation in hybrid mode. On by default in lossless mode and with the -cc option.

-d

delete source file if successful; use with caution!

-f

fast mode; introduces a compromise in compression ratio

--force-even-byte-depth

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).

-g

general/normal mode, cancels previously specified -f and -h options

-h

high quality; better compression ratio, but slightly slower

-hh

very high quality; best compression, but slowest; not recommended on vintage playback devices

--help

display extended help

-i

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-id3

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.

-jn

joint-stereo override (0 = left/right, 1 = mid/side)

-m

compute & store MD5 signature of raw audio data

--merge-blocks

merge consecutive blocks with equal redundancy (used with --blocksize option and is useful for files generated by the lossyWAV program or decoded HDCD files)

-n

calculate average and peak quantization noise (hybrid only, reference fullscale sine)

--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 -y option.

--no-utf8-convert

Don't recode passed tags from local encoding to UTF-8, assume they are in UTF-8 already.

-o outfile

Specify an output filename for a single source file or a target directory (must already exist) for multiple files.

--optimize-int32

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).

--pair-unassigned-chans

encode unassigned channels into stereo pairs

--pre-quantize=bits

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)

-q

quiet (keep console output to a minimum)

-r

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)

--raw-pcm

input data is raw pcm (44,100 Hz, 16-bit, 2-channels)

--raw-pcm=sr,bits[f|s|u],chans,[le|be]

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.

--raw-pcm-skip=begin[,end]

skip begin bytes before encoding raw PCM (header) and skip end bytes at the EOF (trailer)

-sn

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).

-t

Copy input file's time stamp to output files.

--threads=n

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.

--use-dns

force use of dynamic noise shaping (hybrid mode only)

-v

verify output file integrity after write (not for piped output)

--version

write program version to stdout

-w -Encoder

write encoder metadata to APEv2 tag (e.g., “Encoder=WavPack 5.6.0”)

-w -Settings

write user settings metadata to APEv2 tag (e.g., “Settings=-hb384cx3”)

-wField=Value

write the specified text metadata to APEv2 tag

-wField=@file.ext

Write specified text metadata from file to APEv2 tag; normally used for embedded cuesheets and logs (field names “Cuesheet” and “Log”).

--write-binary-tagField=@file.ext

Write the specified binary metadata file to APEv2 tag; normally used for cover art with the field name “Cover Art (Front)”.

-x[n]

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!)

-y

yes to all warnings; use with caution!

-z[n]

don't set (n=0 or omitted) or set (n=1) console title to indicate progress (leaves "WavPack Completed")

See Also

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

Authors

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

Referenced By

abcde(1), wvgain(1), wvtag(1), wvunpack(1).

February 9, 2024