I found a bug in bchunk 1.2.0. After converting a large WAV file into a few separate WAV tracks using CUE file (example command: bchunk -w file.wav file.cue track) the first WAV track starts with a loud snap. I inspected such a file and I discovered that bchunk adds at the beginning his RIFF header but it leaves an original RIFF header untouched. In result first WAV track starts with a double RIFF header and it causes during a playback mentioned above noise. It's possible to remove or overwrite that additional header using binary editor (example command: vim -b track01.wav) but it isn't comfortable.
So bchunk should pass over the first 44 bytes of the original WAV file. I improved bchunk for my own purposes. I'm not a programer and I was unable to skip the beginning of just the first WAV track. After my modifications bchunk skips the first 44 bytes of each track and adds 44 bytes at the end of each track:
Code:
475c475
< track->start = track->startsect * SECTLEN;
---
> track->start = track->startsect * SECTLEN + 44;
In result data in WAV files is shifted by 44 bytes and CDR files are shorter by 44 bytes. I'm not sure if the resulting WAV and CDR tracks are appropriate from the technical point of view.
I reported that bug to the author of bchunk -- Heikki Hannikainen -- but it seems he doesn't maintain bchunk since 2004 so I'm dubious about his interest in resolving that problem.
I found one more bug in bchunk. The length of the last track doesn't match the length of the header -- cdrdao reports an error and corrects it:
Code:
WARNING: 07.wav: file length does not match length from WAVE header - using actual length.
Maybe someone here will be interested in improving bchunk a little.
Homepage:
http://he.fi/bchunk/.