WavPack decoder works in the same manner as FLAC decoder, with exception that there is no metadata blocks in the beggining of file, but metadata section in each WavPack block. This metadata is not as useful as FLAC metadata, though. Information about track title, album or performer is usualy stored in APEv2 tag in the end of file. So the algorithm for WavPack is usually this:
- Open a WavPack file/Get a stream with element type
(unsigned-byte 8)
. This step is the same as for FLAC format. - Pass the stream to
wv:open-wv
function which will create and returnbitreader:reader
object. Again, this is what you do when working with FLAC, just the function name differs. - Read the first WavPack block with
wv:read-wv-block
. It contains all information about channels, samplerate, etc. If the stream/file contains more than 2 channels (i.e. 5.1 audio), you can read multiple stereo or mono blocks withwv:read-wv-block-multichannel
. - Decode the block with
wv:decode-wv-block
and repeat previous step.
API
Conditions.No node with name
wavpack-error
.No node with name
wavpack-warning
.No node with name
block-error
.No node with name
lost-sync
.No node with name
Metadata.
unknown-metadata
.No node with name
metadata-riff-header
.No node with name
WavPack blocks.
WavPack block class has readers/accessors in the form metadata-riff-trailer
.BLOCK-SLOTNAME
.
No node with name
wv-block
.No node with name
read-wv-block
.No node with name
read-wv-block-multichannel
.No node with name
decode-wv-block
.No node with name
block-samplerate
.No node with name
block-bps
.No node with name
Other stuff.
block-channels
.No node with name
restore-sync
.No node with name
restore-sync-multichannel
.No node with name
seek-sample
.No node with name
open-wv
.No node with name
read-new-block
.