HydrogenAudio

Lossless Audio Compression => WavPack => Topic started by: privatesir on 2020-07-03 19:31:13

Title: WavPack header
Post by: privatesir on 2020-07-03 19:31:13
I've been testing WavPack using XRecode to convert a audio file and I'm getting different results.

This is the source file (wv):

Code: [Select]
source format:     Microsoft RIFF with 'wav' extension
file wrapper:      80 + 16264 bytes (RIFF, _PMX)

If I convert it using WavPack frontend I get this:

Code: [Select]
source format:     Microsoft RIFF with 'wav' extension
file wrapper:      80 + 16264 bytes (RIFF, _PMX)

Converting using XRecode and the wavpack executable downloaded from the official site:

Code: [Select]
source format:     Microsoft RIFF with 'wav' extension
file wrapper:      44 byte RIFF header

Converting using XRecode and its dll:

Code: [Select]
source format:     Microsoft RIFF with 'wav' extension
file wrapper:      80 byte RIFF header

What all the differences in the "file wrapper" mean? If I use the frontend I get the same as the source, but using any of the two options on XRecode I get different values. Does that value refers to the audio itself or its container?
I'm sorry if this is dumb but I don't know much about this, I only want to be sure I'm getting the same audio data as the source file.
Title: Re: WavPack header
Post by: bryant on 2020-07-03 20:45:15
That "file wrapper" stuff does only refer to the container. Your original file seems to have quite a bit (16k) of RIFF metadata after the audio put on by Adobe Audition. That could be cue points or markers or artist/title type metadata, or even images. By default, the WavPack command-line programs always preserve this stuff and that's what you're seeing there. That would apply to the frontend also which just uses the command-line programs. You see, WavPack just can't decide if it's an archiver or a codec... :)

I don't know anything about XRecode, but it may not preserve that stuff. The WavPack library only provides the facilities to preserve the wrapper data and any program using it can choose not to do that. XRecode may be only concerned with the audio data, which should be identical in all cases.

The easiest thing is to use the command-line unpacker to generate an MD5 checksum of just the audio (that feature ignores everything else) and verify that all the files are the same:

Code: [Select]
wvunpack -vm filename.wv

I think you could probably do this in the frontend too using the --pause option to allow you to see the results (although I have not tried this recently enough to remember how it works).

Title: Re: WavPack header
Post by: privatesir on 2020-07-29 01:59:23
@bryant thanks for the info!