Code Through Coffee

Recreating Serato's spectral waveforms in C

I've been spending a lot of time in Serato Studio lately. Its simplicity is enticing, and I'm a lifetime licence customer (we'll see how long a lifetime is for this company).

If the (audio) job calls for bigger guns, I move to other tools:

What bugs me about all of them is that the waste of pixels on screen for their waveform rendering. You just get a solid, symmetrical plot - in 2025 (exception: RipX, which is space-age tech)! Sure, you can switch some of them to show spectrograms, but that's also not helpful.

Meanwhile, DJs have enjoyed the best visualization - spectral waveforms - and it hasn't made the jump yet to mainstream software.

So for my own sanity and maybe to inspire someone else, here's libdjwaveform, a minimal C reference implementation using FFTW, that can render spectral waveforms, with plenty of options.

Is it production ready? Well - do you feel lucky?

Demo output:

comparison

Cheers ☕

#audio #dsp #graphics #lang-c