Overview | News | Windows | macOS | Android | iOS | Audio Formats | Components | Encoder Pack | Screenshots | Help & Support | Developer | Old Versions | Other Projects | Blog & Rants

Spectrum Analyzer
By: pqyt
foo_vis_spectrum_analyzer is a foobar2000 component that implements a spectrum analyzer panel.
It is an attempt to recreate the foo_musical_spectrum component by fismineur and the Audio Spectrum project for foobar2000 64-bit.
Features
Requirements
It is an attempt to recreate the foo_musical_spectrum component by fismineur and the Audio Spectrum project for foobar2000 64-bit.
Features
- Fast Fourier (FFT), Constant-Q (CQT), Sliding Windowed Infinite Fourier (SWIFT) and Analog-style transforms
- Multiple frequency range and smoothing options
- Multiple graphs
- Styling of all visual elements
- Artwork background and color extraction
- Supports Default (DUI) and Columns (CUI) user interface
- Uses DirectX rendering.
- Supports foobar2000 2.0 and later (32-bit and 64-bit version)
Requirements
- Tested on Microsoft Windows 10 and later.
- foobar2000 v2.0 or later (32-or 64-bit).
Current version: 0.11.0.0, released on 2026-08-16
Change log:
- New: The number of decimals used by the X-axis labels can be configured.
-
New: Added Integer mode to the Bit Meter visualization.
- The number of bits can be configured.
- New: Artwork can be blurred. Setting the number of pixels to 0 (default) disables the blurring.
-
New: Overlapping graphs support for bar, curve, radial bar and radial curve visualizations. See `Overlap graphs` option on the `Graph` page.
- Graphs can be rendered overlapped instead of in a row or column layout. Each graph can have its own styles. This can be used to render two or more channels with different colors on top of each other.
-
New: Global and local styles.
- Each graph can have its own styles. This is particularly useful for overlapping graphs.
- Make sure the styles of overlapping visual elements are set to `None` to prevent overpainting (e.g. the background style of all but the first graph).
- New: Channel Pair can be configured per graph.
- New: `Frame count` setting determines the number of audio frames that will be used by the oscilloscope per screen update.
- New: Oscilloscope uses decimation to improve the quality of the rendered signal.
- New: Spectrogram uses resampling to improve the quality of the rendered spectrum.
- Improved: Significantly improved the afterglow effect of the oscilloscope. Also, it should work now with a transparent background.
-
Changed: Saves the settings as a human-readable JSON object.
- The component will keep reading presets files from v0.10.0.0 and older. But going forward, all new settings will only be saved in the new format.
- An extra benefit is that the presets files can be used by the x86 and x64 versions of the component.
- Changed: Bit Meter Integer mode now uses the absolute value of the samples to visualize the signal.
- Changed: Reduced Bit Meter Integer mode to use max. 32 bits.
- Changed: Builds with Visual Studio 2026.
- Fixed: The JSON configuration file reader ignored the Y-axis visibility setting.
- Fixed: Level Meter should not show a measurement unless all channels of the selected channel pair were selected for measurement.
- Fixed: Weird caret behavior of the numeric edit controls.
Supported systems: Windows 32-bit, Windows 64-bit.
Links
View version history
Home page
Documentation
Discussion
Source code
More components
Browse all
Browse by author: pqyt
Tags: Columns UI panel, Default UI element, Peak Meter, visualization