Hi everyone,
Haven't been on the forum (posting, responding) for a few years, old username inaccessible, starting from scratch.
I have an old bundle that was created with Sonar 8.x (not 8.5 -- a patched version of 8.0) that is having problems with corruption. When I try and open this bundle with a newer version of Sonar, I have the same problem as when I try to open the bundle under Sonar 8.x and XP (32-bit). I am pretty sure the issue is
not related to RIFF format and Windows 7 (64), as I've seen mentioned here in the past. I am able to open all of my older bundles perfectly fine. Just this one bundle is a problem. Have tried in a friend's Sonar and it's the same thing.
Here's what happens: I try and open the bundle and Sonar crashes. When I open the bundle in a basic audio editor, or rename the cwb to .wav and open in Sonar, some of the samples look and play fine, and some are demolished (corrupted, no wave forms drawn, silence, garbled audio, etc).
As a result, I think I have reached the point where I need to try and extract as much usable audio as possible. Ideally this audio would be extracted in its original form (i.e. length) rather than me copying and pasting from an audio editor back into Sonar and then having to try and line everything up. Several of these tracks are for drums, so for the obvious reasons I don't want to brute force copy/paste if there is a better way.
Having written that, I have a passing knowledge of the RIFF format and I suspect I may have to resort to a binary editor to do what I want to do (i.e. to extract the audio from a bundle) --
but after I dig into my bundle (e.g. using hexdump under Linux), and reach the data section of the bundle, things are not as I had expected. Earlier reading of the Cakewalk forum, archives, and various RIFF data sheets via Google suggest that what I
should be seeing is a LIST chunk of some sort. However all I'm seeing is a 'data' marker followed by length of the data chunk, followed by the (I presume to be) data chunk payload. I have looked at bundles I've created over the years and I can't find a single bundle that has an explicit LIST chunk. What I see is:
RIFF
file length offset
WAVE
fmt data
PAD
pad length
(maybe another PAD and pad length)
data
data payload
cwp1 (I presume Cakewalk project)
But, again, no information that I can see that describes the list of audio chunks in my bundle.
The only commonality I can find between bundles is that data chunks seem to be padded with (I'm guessing) a 16-byte boundary? Is my understanding of this correct or am I missing where LIST may appear in the bundle file? The difference between my corrupted bundle and perfectly-find bundles is that in certain spots in the data section, I'm seeing what appears to be less than a 16-byte boundary, sometimes an odd count of 0s, and an odd count of what I presume is audio mixed in between.
Could anyone shed some light on this? Am I on the right track by trying to use some kind of binary editor to grab the "tracks" (i.e. audio chunks) from the data chunk payload?
IMO this is one of those corner cases that I don't believe is an issue with Sonar but rather data corruption (i.e. bit rot) that happened over the years when I migrated to new systems and backups. Speaking of backups, the backups that have been retained all show the same problem for this one bundle. Definitely looking for some direction if you have time to entertain this.