Hi librosa community,
I’m working on a waveform visualization similar to what you see in Rekordbox or Engine DJ—smooth, time-domain amplitude plots, ideally split into 3 color-coded frequency bands (low/mid/high) like in DJ software. I’m new to signal processing and struggling to find clear examples or guides for creating 3-band waveforms like this.
Goals
Questions
This is what I’ve done so far: https://github.com/GabrielJuliao/wavypy
Any advice on algorithms, tools, or steps would be a huge help!
Thanks!
Hi librosa community,
I’m working on a waveform visualization similar to what you see in Rekordbox or Engine DJ—smooth, time-domain amplitude plots, ideally split into 3 color-coded frequency bands (low/mid/high) like in DJ software. I’m new to signal processing and struggling to find clear examples or guides for creating 3-band waveforms like this.
Goals
- A simple, smoothed waveform like Rekordbox or Engine DJ.
- Split into 3 bands (low/mid/high) for a colored display.
- Solid, filled shapes, not just lines.
Questions
- What’s the simplest way to achieve a DJ-style waveform with librosa? Would librosa.stft or filters work better for splitting into 3 bands?
- For the 3 bands, should I use FFT with frequency binning, or is there a more straightforward method like filtering the signal directly?
- How can I smooth the waveform for a polished look? A moving average help?
- To draw filled waveforms (like solid shapes under the curve), is there a trick with librosa ?
- Any tips on a basic workflow—e.g., load audio → split bands → smooth → plot? What settings (like window size or hop length) should I start with?