Free, liberally licensed, 2-dimensional audio spectrum analyzer.
spectrum-demo.mp4
- Real-time FFT-based spectrum analysis with thread safety in mind
- Logarithmically spaced bands
- Spline interpolation to produce visually pleasing smoothed graphics
- Auto-calibration to ensure consistency
- Customizable frequency weighting
- Parameters can be changed on-the-fly, making it easy to dial in the right settings for your project
- Normalized output that allows easy integration into any 2D graphics library
- Level ballistics controls
Supported architectures:
macOS arm64
Windows x86_64
Linux x86_64 (Tested on Ubuntu 24.04)
By default, the CMake configuration generates a spectrum-analyzer-processor
static library target, which encompasses
the audio & line data processing object. This object is designed for seamless integration into any audio pipeline and
can be used to render the spectrum with your preferred graphics library. See
AnalyzerProcessor.h for details.
The following options default to OFF
but can be used to enable further build targets.
-DBUILD_TESTS=ON
Enables building the executable to run the unit tests for the project
-DBUILD_PLUGIN=ON
Enables a target that builds a CLAP plugin. The plugin uses
the visage library to render its graphics. Note that the CLAP plugin has only been tested on Reaper & Bitwig
Studio on the supported architectures.
No special requirements needed, just a cmake build environment.
You will need to follow the instructions in the README at https://github.com/tadmn/FastFourier to install the Intel IPP library files. These library files are used for the Intel IPP FFT.
You will need to follow the instructions in the README at https://github.com/tadmn/FastFourier to install the Intel IPP library files. These library files are used for the Intel IPP FFT.
You will also need to install the following dependencies.
sudo apt-get update
sudo apt install libgl1-mesa-dev libxrandr-dev
clap-wrapper
is used in this project, however only the CLAP
target is set to be built. The VST3
& AUV2
targets are experimental. I would not advise building the Standalone
target as it doesn't appear to have feedback
protection built in.