GoAudio is an audio processing library, currently supporting
WAVE files, although some tools such
as the synth and breakpoints are encoding-agnostic, so you could combine them with a different
library for storing the data and using GoAudio only as a means to generate the waveforms.
If you want to know more about how this code works and what you can do with it, I write about this code and other audio related programs over on my blog: dylanmeeus.github.io.