Recreating Serato's spectral waveforms in C
See inside the sound
I’ve been spending a lot of time in Serato Studio lately. Its simplicity is enticing, and I’m a lifetime license 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:
Analysis: deCoda, RipX DAW, BeatNet, Acoustica, etc.
linear recording: LUNA, Logic Pro
Sequencing: Maschine 3
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:

