EN: English · UK: Українська · RU: Русский
Unlike many “visualizers” that only fake a reaction to sound, this project is a real spectrum analyzer. It captures system audio via WASAPI loopback and runs an FFT on the signal in real time, showing levels per frequency band.
- Real FFT math: band levels come from analysis, not decorative animation. FFT sizes up to 16384 for high frequency resolution (higher CPU use).
- Native capture: WASAPI loopback listens to what plays on the selected output device on Windows.
- Hi-res friendly: high sample rates and bit depths (e.g. 192000 Hz, 32-bit stereo) within device limits.
- Tunable analysis: on-screen range (Fmin / Fmax, default 20 Hz–16500 Hz), Bands count (20–312 in code), separate EMA dB smoothing and bar height smoothing.
- UI & multi-monitor: fullscreen (including over taskbar), two-monitor mode (L/R on different screens), column presets, gradients, RGB/hex color picker; UI languages English, Russian, Ukrainian.
- Hotkey: Ctrl+Shift+P opens settings (physical P, works regardless of keyboard layout).
Welcome, quick tips (fullscreen, colors, multi-monitor, Ctrl+Shift+P), and output device selection.
WASAPI loopback dialog: device, sample rate and bit depth when applicable, mix format hint.
Stereo LEFT / RIGHT and dB scale after startup with chosen settings.
Device, meter, appearance, fullscreen, frequency/dB mapping, language.
Sparse bands (~30) vs dense grid (~312) per channel.
One spectrum window on a single display.
Left and right channels on separate screens.
- Device (WASAPI loopback): current output and capture format; Select Device… for device and format.
- Meter: update interval, FFT size, Bands count, Smoothing (EMA dB), Display smoothing (bar height).
- Appearance: Column preset, gradient from / to, Pick… for colors.
- Fullscreen: Single monitor or Two monitors (L/R) with monitor picks.
- Frequency and dB: Fmin/Fmax, Min dB (bottom), Max dB (top).
- Language: English / Russian / Ukrainian.
- Buttons: Reset all settings, Cancel, OK.
-
Clone this repository:
git clone git@github.com:StGrikus/Audio-Spectrum-Test-Build.git
HTTPS (if you prefer):
https://github.com/StGrikus/Audio-Spectrum-Test-Build.git -
Open the solution: System/AudioSpectrumWpf/AudioSpectrumWpf.sln or
System/AudioSpectrumWpf/AudioSpectrumWpf.slnx. -
Install .NET 8 SDK and optionally Visual Studio 2022 / Rider with WPF.
-
Build Release, x64, run AudioSpectrumWpf.
Requirements: Windows 10/11 x64.
Self-contained single-folder output from the repo root.
CMD (double-click AudioSpectrum.cmd runs publish + launch, same as run):
AudioSpectrum.cmd runRebuild on file changes: AudioSpectrum.cmd watch. Clean bin/obj: AudioSpectrum.cmd clean. Help: AudioSpectrum.cmd help.
PowerShell:
.\AudioSpectrum.ps1 -RunIf execution policy blocks scripts:
powershell -ExecutionPolicy Bypass -File .\AudioSpectrum.ps1 -RunOutput: dist\AudioSpectrum-Portable\ with AudioSpectrumWpf.exe. On first run, settings.json is created next to the exe. Do not commit large zips to git—use Releases or an external link.
- Language: C#
- UI: WPF
- Audio: WASAPI loopback via NAudio
- Runtime: .NET 8 (Windows)
The first version of the analyzer was a Python + matplotlib prototype (FFT, log-spaced bands, dB). Real-time animation of hundreds of bands hit matplotlib limits; the app was moved to C# + WPF for native WASAPI, rendering, and fullscreen workflows.
- Save user presets to file
- Additional FFT window functions as needed
This software is proprietary. All rights reserved. See LICENSE.
На відміну від багатьох «візуалізаторів», які лише імітують реакцію на звук, цей проєкт — справжній спектральний аналізатор. Він захоплює системний звук через WASAPI loopback і в реальному часі виконує FFT над сигналом, показуючи рівні по частотних смугах.
- Справжня математика FFT: рівні смуг з аналізу, не декоративна анімація. Розмір FFT до 16384 — висока частотна роздільна здатність (більше навантаження на CPU).
- Нативний захват: WASAPI loopback — прослуховування того, що відтворюється на вибраному вихідному пристрої Windows.
- Hi-res: високі частоти дискретизації та бітності (наприклад, 192000 Гц, 32-біт стерео) в межах можливостей пристрою.
- Гнучкий аналіз: діапазон на екрані (Fmin / Fmax, за замовчуванням 20 Гц–16500 Гц), Bands count (20–312 у коді), окреме згладжування EMA dB і згладжування висоти стовпчиків.
- Інтерфейс і кілька моніторів: повноекранний режим (у т.ч. поверх панелі завдань), режим два монітори (L/R на різних екранах), пресети стовпчиків, градієнти, вибір кольору RGB/hex; мови інтерфейсу English, Русский, Українська.
- Гаряча клавіша: Ctrl+Shift+P відкриває налаштування (фізична клавіша P, працює незалежно від розкладки).
Вітання, короткі підказки (повноекранний режим, кольори, кілька моніторів, Ctrl+Shift+P) і вибір пристрою виводу.
Діалог WASAPI loopback: пристрій, за потреби частота дискретизації та бітність, підказка щодо формату mix.
Стерео LEFT / RIGHT і шкала dB після запуску з обраними налаштуваннями.
Пристрій, метр, зовнішній вигляд, повноекранний режим, відображення частот/dB, мова.
Рідкі смуги (~30) проти щільної сітки (~312) на канал.
Одне вікно спектра на одному дисплеї.
Лівий і правий канали на різних екранах.
- Device (WASAPI loopback): поточний вихід і формат захоплення; Select Device… — вибір пристрою та формату.
- Meter: інтервал оновлення, FFT size, Bands count, Smoothing (EMA dB), Display smoothing (bar height).
- Appearance: Column preset, градієнт from / to, Pick… для кольорів.
- Fullscreen: Single monitor або Two monitors (L/R) з вибором моніторів.
- Frequency and dB: Fmin/Fmax, Min dB (bottom), Max dB (top).
- Language: English / Russian / Ukrainian.
- Кнопки: Reset all settings, Cancel, OK.
-
Клонуйте репозиторій:
git clone git@github.com:StGrikus/Audio-Spectrum-Test-Build.git
HTTPS (за бажанням):
https://github.com/StGrikus/Audio-Spectrum-Test-Build.git -
Відкрийте рішення: System/AudioSpectrumWpf/AudioSpectrumWpf.sln або
System/AudioSpectrumWpf/AudioSpectrumWpf.slnx. -
Установіть .NET 8 SDK і за потреби Visual Studio 2022 / Rider з підтримкою WPF.
-
Зіберіть Release, x64, запустіть AudioSpectrumWpf.
Вимоги: Windows 10/11 x64.
Self-contained збірка в одну папку з кореня репозиторію.
CMD (подвійний клік на AudioSpectrum.cmd — publish і запуск, те саме що run):
AudioSpectrum.cmd runПерезбірка після змін файлів: AudioSpectrum.cmd watch. Очистка bin/obj: AudioSpectrum.cmd clean. Довідка: AudioSpectrum.cmd help.
PowerShell:
.\AudioSpectrum.ps1 -RunЯкщо політика виконання блокує скрипти:
powershell -ExecutionPolicy Bypass -File .\AudioSpectrum.ps1 -RunРезультат: dist\AudioSpectrum-Portable\ з AudioSpectrumWpf.exe. Під час першого запуску поруч з exe створюється settings.json. Великі архіви в git не комітьте — використовуйте Releases або зовнішнє посилання.
- Мова: C#
- UI: WPF
- Аудіо: WASAPI loopback через NAudio
- Платформа: .NET 8 (Windows)
Перша версія аналізатора — прототип на Python і matplotlib (FFT, логарифмічні смуги, dB). Анімація сотень смуг у реальному часі вичерпувала можливості matplotlib; застосунок перенесено на C# + WPF для нативного WASAPI, рендерингу та повноекранних сценаріїв.
- Збереження користувацьких пресетів у файл
- Додаткові віконні функції для FFT за потреби
Програмне забезпечення є власницьким. Усі права захищено. Див. LICENSE.
В отличие от многих «визуализаторов», которые лишь имитируют реакцию на звук, этот проект — настоящий спектральный анализатор. Приложение захватывает системное аудио через WASAPI loopback и в реальном времени выполняет БПФ (FFT) по сигналу, отображая уровни по частотным полосам.
- Честная математика (FFT): реальные уровни по полосам, не декоративная анимация. Размер окна FFT до 16384 — высокое частотное разрешение (выше нагрузка на CPU).
- Нативный захват: WASAPI loopback — прослушивание того, что играет на выбранном выходном устройстве Windows.
- Hi-Res: высокие частоты дискретизации и разрядности (например, 192000 Hz, 32 bit, стерео) в пределах возможностей устройства.
- Гибкая настройка: диапазон Fmin / Fmax (по умолчанию 20 Hz – 16500 Hz), Bands count (в коде 20–312), два сглаживания: EMA по dB и сглаживание высоты столбцов.
- Интерфейс и мультимонитор: полноэкранный режим (в т.ч. с перекрытием панели задач), режим два монитора (L/R на разных экранах), пресеты столбцов, градиент, выбор цвета RGB/Hex; языки English, Русский, Українська.
- Горячая клавиша: Ctrl+Shift+P открывает настройки (физическая клавиша P, удобно при любой раскладке).
Приветствие, краткие подсказки (полноэкранный режим, цвета, мультимонитор, Ctrl+Shift+P), выбор устройства вывода.
Диалог WASAPI loopback: устройство, при необходимости частота и разрядность, подсказка по формату mix.
Стерео LEFT / RIGHT и шкала dB после старта с выбранными настройками.
Устройство, метр, внешний вид, полноэкранный режим, частоты/dB, язык.
Редкие полосы (~30) и плотная сетка (~312) на канал.
Одно окно спектра на одном экране.
Левый и правый каналы на разных экранах.
- Device (WASAPI loopback): текущее устройство и формат захвата; Select Device… — выбор устройства и формата.
- Meter: интервал обновления, FFT size, Bands count, Smoothing (EMA dB), Display smoothing (bar height).
- Appearance: Column preset, градиент from / to, Pick… для цветов.
- Fullscreen: Single monitor или Two monitors (L/R) с выбором мониторов.
- Frequency and dB: Fmin/Fmax, Min dB (bottom), Max dB (top).
- Language: English / Russian / Ukrainian.
- Кнопки: Reset all settings, Cancel, OK.
-
Клонируйте репозиторий:
git clone git@github.com:StGrikus/Audio-Spectrum-Test-Build.git
HTTPS (по желанию):
https://github.com/StGrikus/Audio-Spectrum-Test-Build.git -
Откройте решение: System/AudioSpectrumWpf/AudioSpectrumWpf.sln или
System/AudioSpectrumWpf/AudioSpectrumWpf.slnx. -
Установите .NET 8 SDK и при необходимости Visual Studio 2022 / Rider с WPF.
-
Соберите Release, x64, запустите AudioSpectrumWpf.
Требования: Windows 10/11 x64.
Self-contained сборка из корня репозитория.
CMD (двойной щелчок по AudioSpectrum.cmd — то же, что run):
AudioSpectrum.cmd runПересборка при изменениях: AudioSpectrum.cmd watch. Очистка: AudioSpectrum.cmd clean. Справка: AudioSpectrum.cmd help.
PowerShell:
.\AudioSpectrum.ps1 -RunПри ошибке политики выполнения:
powershell -ExecutionPolicy Bypass -File .\AudioSpectrum.ps1 -RunРезультат: dist\AudioSpectrum-Portable\ с AudioSpectrumWpf.exe. При первом запуске рядом с exe создаётся settings.json. Большие архивы в git не храните — выкладывайте в Releases или отдельной ссылкой.
- Язык: C#
- UI: WPF
- Аудио: WASAPI loopback через NAudio
- Платформа: .NET 8 (Windows)
Первая версия анализатора — прототип на Python и matplotlib (БПФ, логарифмическое распределение полос, децибелы). Анимация сотен полос в реальном времени упиралась в производительность matplotlib; основное приложение перенесено на C# + WPF.
- Сохранение пользовательских пресетов в файл
- Дополнительные оконные функции для FFT (по мере необходимости)
Программа распространяется на условиях проприетарной лицензии. Все права защищены. См. файл LICENSE.










