sylwekkominek/SpectrumAnalyzer was created because, since childhood, I liked watching the "jumping bars" moving in sync with music on my Technics EC-EH550 stereo system. Unfortunately, modern audio equipment with built-in spectrum analyzers is no longer available. There are many visualizer apps online, but they usually have limitations: they offer only a few adjustable parameters, which quickly become boring, or they rely on microphone input — which is not ideal because it picks up ambient noise, room echo, and the microphone changes the frequency response. SpectrumAnalyzer in its basic version works well with a microphone, but it is also easy to run on a Raspberry Pi, where you can capture audio samples from an optical input. I use a HiFiBerry DAC + DSP board for this purpose. One of the strengths of the application is its flexibility — users can freely modify colors and frequency bands. The app has great potential for experimentation and educational purposes. It helps new users easily get familiar with digital signal processing (DSP) and graphics programming.
Full documentation: https://sylwekkominek.github.io/SpectrumAnalyzer/
Preparing the software environment:
sudo apt update && sudo apt install -y g++ cmake python3 python3-pyaudio python3-dev libglfw3-dev libfftw3-dev pkg-config git
git clone https://github.com/sylwekkominek/SpectrumAnalyzer.git
Compilation and running:
cd SpectrumAnalyzer && mkdir build && cd build && cmake .. && make -j4
(This step is only required for Raspberry Pi users: export MESA_GL_VERSION_OVERRIDE=4.5)
./spectrum-analyzer
do not forget to configure your input audio device
Comments