Lossless Audio Compression => WavPack => Topic started by: schwa on 2020-12-08 21:57:42

Title: BWF in WV
Post by: schwa on 2020-12-08 21:57:42
We recently added a metadata editing feature to REAPER's media explorer. At present, editing wavpack metadata will simply rewrite the APE tag, which is very easy to accomplish.  However, wavpack files can contain RIFF/WAV blocks that themselves contain metadata. In particular, REAPER itself can encode/decode a BWF chunk in a wavpack file. This leads to a situation where metadata can be out of sync between a rewritten APE tag and the originally encoded BWF chunk.  Plus it would be nice to let the user easily rewrite the BWF start offset.

This brings up a few questions:

Are there other applications besides REAPER that handle BWF chunks in wavpack files?

Are there applications that might encode other RIFF/WAV metadata, for example an INFO chunk, into wavpack files?

Is there any reason to think it would be easier to use the wavpack API to read and rewrite embedded leading or trailing chunks without touching the encoded audio, versus parsing the file directly (walking through the wavpack blocks and sub-blocks)?


Title: Re: BWF in WV
Post by: bryant on 2020-12-10 04:10:26
There are definitely applications that read and write RIFF chunks in WavPack files. An obvious one is the plugin I created for Adobe Audition which stores cues and markers and all kinds of stuff in there. That one doesn't do any BWF-specific chunks (I don't think), but some other apps might. I have certainly explained to developers several times how to do this.

Keep in mind that those chunks will transfer to a restored WAV or RF64 if someone decodes such a file with the command-line decoder (and of course the command-line encoder will put them in the WavPack file). So they can certainly be there even if no application knowingly puts them there.

There actually isn't a libwavpack API to edit the RIFF metadata (or the audio, for that matter). Once a WavPack file is created and closed, the libwavpack API only allows editing the APE tags.

As you suggest though, WavPack files are fairly easy to parse and it would be pretty trivial to go in and find and modify the RIFF chunks. A complication would obviously be if you wanted to extend the RIFF data, which might involve re-writing the whole file, but if you're just talking about updating the BWF start offset then it should be an in-place mod.

Let me know if you run into any issues or have other questions, and thanks for the ongoing WavPack support in Reaper!
SimplePortal 1.0.0 RC1 © 2008-2021