Next post: BookmarkBuckets


I just wrote a little program to cut .wav files into smaller audio files. It doesn't load the entire file into memory, in order to support files that range into the Gigabytes. Other programs (like ffmpeg) do this, but I wanted to be able to specify the cutpoints very precisely (by sample number, in fact).

To confirm correct results, I wrote a simple .wav analyzer that prints information about a wav file. It confirms that information in the header is correct and outputs the riff chunks. Use the -check option to see this.

I called it WavcutHHH, since this is the HalfHourHacks blog after all.

WavcutHHH will split a .wav file into several files based on a
text file with cut points.

wavcut.exe input.wav input.txt

First line of the .txt file is the string 'wavcut'.
Next lines of the .txt file should be sample numbers saying where to cut.
See the source and readme on GitHub, here. (In 2015 I rewrote wavcuthh in C++, for additional speed. Also, it can now cut by seconds, and add fade-ins / fade-outs.)