Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Spectrum Visualiser. This is a real-time audio visualization application that captures audio from the system's loopback device and displays it visual as a spectrum analyzer. More colors and renderers.

Notifications You must be signed in to change notification settings

diqezit/SpectrumNet

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

4 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

SpectrumNet - Real-Time Audio Spectrum Visualizer

MIT License .NET 8.0

SpectrumNet is a high-performance audio visualizer for Windows that transforms any system audio into a captivating, real-time spectral display. Built with C#, WPF, and .NET 8, it combines advanced signal processing with a powerful rendering engine to create immersive visual experiences.

Intro

πŸš€ Now Available in C++!

For users seeking maximum performance and a lighter footprint, a native C++ version of this project is now available! SpectrumCpp is built from the ground up with Win32 and Direct2D for raw speed and efficiency.

Check out SpectrumCpp if you:

  • Need the absolute best performance, especially in overlay mode.
  • Prefer a minimal, dependency-free executable.
  • Are interested in native Windows development with C++.

✨ Key Features

🎧 Advanced Audio Processing

  • Real-time System Audio Capture: Captures desktop audio directly using WASAPI loopbackβ€”no extra configuration needed.
  • Multiple FFT Window Functions: Choose between Hann, Hamming, and Blackman windows to fine-tune the spectral analysis.
  • Flexible Frequency Scaling: Visualize sound across Linear, Logarithmic, Mel, and Bark frequency scales.

🎨 Powerful Visualization Engine

  • 20+ Unique Render Styles: A vast collection of visualizers, including:
    • Bars: Vertical, Circular, LED Meter
    • Waveforms: Gradient Line, Heartbeat, Waterfall
    • Particles: Fire, Raindrop, Text Effects
    • Advanced: Voronoi Diagrams, Spectrum Fractals
  • Dynamic Color Palettes: Customize your visualizer with beautiful gradient effects and pre-built themes.
  • Adjustable Quality Presets: Instantly switch between Low, Medium, and High quality settings, with options for manual override to balance performance and visuals.

βš™οΈ Customization and Control

  • Flexible Display Modes: Use in a standard window or as an Always-on-Top overlay for seamless integration with your desktop.
  • Configurable Hotkeys: Control the application without interrupting your workflow (Start/Stop Capture, Toggle Overlay, Open Panel).
  • Real-time Adjustments: Fine-tune spectrum sensitivity, range, and other parameters on the fly with an interactive control panel.

πŸ“Έ Visual Showcase

Main View Overlay Mode
Visualisation Overlay Mode
Menu & Performance Settings Visual Settings Panel
Menu Visual Settings

Demo Visualization

πŸš€ Getting Started (For Users)

  1. Download the latest version from the Releases page.
  2. Unzip the archive and run SpectrumNet.exe.
  3. Click "Start Capture" to begin visualizing your system's audio.
  4. Use the controls and hotkeys to customize your experience:
    • Space: Start or stop the visualization.
    • Ctrl + O: Toggle the always-on-top overlay mode.
    • Ctrl + P: Show or hide the main control panel.

πŸ› οΈ Building from Source (For Developers)

Prerequisites

Steps

  1. Clone the repository:
    git clone https://github.com/diqezit/SpectrumNet.git
  2. Open the solution file (.sln) in Visual Studio.
  3. Restore NuGet packages (this should happen automatically).
  4. Build and run the project in Debug or Release mode.

πŸ’» Technology Stack

  • Framework: .NET 8.0
  • UI: WPF (Windows Presentation Foundation)
  • Rendering: SkiaSharp for high-performance 2D graphics.
  • Audio Capture: WASAPI Loopback (via a .NET wrapper like CSCore or NAudio).

⚠️ Known Issues

Transparency Rendering Issues on Intel GPUs

Some users with older or integrated Intel GPUs may experience rendering artifacts in overlay mode.

Symptoms:

  • Partial or complete loss of window transparency.
  • Flickering or visual glitches when interacting with the interface.
  • Poor performance in overlay mode.

Affected Hardware:

  • Primarily observed on Intel HD/UHD Graphics (pre-2021 models).
  • Laptops with hybrid graphics systems (NVIDIA Optimus).
  • Systems with outdated graphics drivers.

Workaround:

  1. Force Dedicated GPU: In your NVIDIA or AMD control panel, set SpectrumNet.exe to always use the high-performance dedicated GPU.
  2. (For Developers) Force Software Rendering: As a last resort, you can disable hardware acceleration by replacing SKGLElement with SKElement in the relevant XAML files. This will use CPU-based rendering, which is slower but more compatible.
    <!-- In the visualizer's XAML, replace the hardware-accelerated element: -->
    <skia:SKElement /> 
    
    <!-- Instead of: -->
    <!-- <skia:SKGLElement /> -->

🀝 Contributing

Contributions are welcome! If you have an idea for a new feature, a bug fix, or a new visualizer style, feel free to fork the repository, make your changes, and submit a pull request.

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

πŸ“„ License

This project is licensed under the MIT License. See the LICENSE file for details.

About

Spectrum Visualiser. This is a real-time audio visualization application that captures audio from the system's loopback device and displays it visual as a spectrum analyzer. More colors and renderers.

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages