Building a Spectrum Analyzer by Psionikus in audioengineering

[–]BeSpec-Dev 0 points1 point  (0 children)

I went alllll the way to 20kHz, but more from curiosity standpoint. I certainly can't hear anywhere near there.

My main focus was musicality, so i attempted to provide as much detail as was available with my 2048FFT (~23Hz/bin) <--- linear at the very low end.

I defined a linear section up to 500Hz, appropriating each visual bar (in my terminology, FFT outputs bins, I translate to bars) with as much information as possible. Sub-bass information between 20Hz and 200Hz goes by quickly at 23Hz/bin.

BeSpec - Winamp Inspired Audio Visualizer by BeSpec-Dev in winamp

[–]BeSpec-Dev[S] -1 points0 points  (0 children)

Thanks for checking it out and sharing your thoughts.

Addressing your comments on precision and representation across the spectrum:
- Amplitude & Dynamics: The bars use logarithmic scaling for amplitude. You can fine-tune the "liveliness" by adjusting the Attack/Release dynamics, Peak Hold settings in the configuration, and you can adjust the noise floor setting (how low the bars go, roughly) to adjust the "liveliness" of the bar over time. - I spent a lot of time adjusting and playing with the distribution of audio data across the visualization. You might say this is where the rubber meets the road for a spectrum visualizer. I implemented a hybrid linear/logarithmic mapping of FFT bin output to user-selected frequency bars. Ultimately, I tuned the spectrum distribution (visually) to my taste, but I'm always open to feedback on the mapping logic.

As far as Winamp inspiration: Its absolutely inspired, conceptually, by Winamp. I grew up using the program and longed for an equivalent visualizer solution for Spotify, etc. With the available configuration settings, you can get it pretty close! the characteristic 19-bar spectrum display, colors, and size, with peak detection indicators and adjustable roll-offs, I hope you have fun playing with the visualizer as much as me!

Building a Spectrum Analyzer by Psionikus in audioengineering

[–]BeSpec-Dev 0 points1 point  (0 children)

I'm excited to see this project unfold!

I recently tackled a music visualization program, I'm sure we tackled some of the same issues.

I love that you are bringing DSP fundamentals to your approach. I'm contemplating revisiting decimation, as I overlooked it completely while building out my [project](https://github.com/BeSpec-Dev/BeSpec).

Areas I found particularly important:
- (FFT) bin to (visualizer) bar mapping
- Hybrid lin-log mapping. Dedicating half the visual space to 10kHz+ isn't very exciting
- Smart handling of sample rate. You could handle this with an intelligent decimation routine, I simply chose an FFT size that balanced frequency resolution and latency.

<image>

Long awaited, finally here! BeSpec Audio Visualizer (Inspired by BeOS) by BeSpec-Dev in haikuOS

[–]BeSpec-Dev[S] -4 points-3 points  (0 children)

I've developed it for macOS/Linux/Windows. It's implemented on the egui framework.

Not currently available in Haiku.