Skip to content

Commit 693980a

Browse files
committed
Update README.md
Update README.md
1 parent 896b8ce commit 693980a

File tree

1 file changed

+46
-109
lines changed

1 file changed

+46
-109
lines changed

README.md

Lines changed: 46 additions & 109 deletions
Original file line numberDiff line numberDiff line change
@@ -1,120 +1,57 @@
1-
2-
# SpectrumNet - Real-Time Audio Spectrum Visualizer
1+
# SpectrumNet — Real-Time Audio Spectrum Visualizer
32

43
[![MIT License](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE)
54
[![.NET 8.0](https://img.shields.io/badge/.NET-8.0-purple.svg)](https://dotnet.microsoft.com)
65

7-
**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.
6+
**SpectrumNet** is a Windows audio visualizer that renders real-time spectrum effects from system audio. Built with C#, WPF, and .NET 8, it uses a SkiaSharp-based renderer pipeline with shared object pooling and centralized spectrum processing.
87

98
![Intro](https://github.com/user-attachments/assets/82777947-28cb-4d22-a9e3-166294801efb)
109

11-
> ### 🚀 Now Available in C++!
12-
>
13-
> For users seeking maximum performance and a lighter footprint, a native C++ version of this project is now available! **[SpectrumCpp](https://github.com/diqezit/SpectrumCpp)** is built from the ground up with Win32 and Direct2D for raw speed and efficiency.
14-
>
15-
> **Check out SpectrumCpp if you:**
16-
> - Need the absolute best performance, especially in overlay mode.
17-
> - Prefer a minimal, dependency-free executable.
18-
> - Are interested in native Windows development with C++.
19-
20-
## ✨ Key Features
21-
22-
### 🎧 Advanced Audio Processing
23-
- **Real-time System Audio Capture:** Captures desktop audio directly using WASAPI loopback—no extra configuration needed.
24-
- **Multiple FFT Window Functions:** Choose between Hann, Hamming, and Blackman windows to fine-tune the spectral analysis.
25-
- **Flexible Frequency Scaling:** Visualize sound across Linear, Logarithmic, Mel, and Bark frequency scales.
26-
27-
### 🎨 Powerful Visualization Engine
28-
- **20+ Unique Render Styles:** A vast collection of visualizers, including:
29-
- **Bars:** Vertical, Circular, LED Meter
30-
- **Waveforms:** Gradient Line, Heartbeat, Waterfall
31-
- **Particles:** Fire, Raindrop, Text Effects
32-
- **Advanced:** Voronoi Diagrams, Spectrum Fractals
33-
- **Dynamic Color Palettes:** Customize your visualizer with beautiful gradient effects and pre-built themes.
34-
- **Adjustable Quality Presets:** Instantly switch between Low, Medium, and High quality settings, with options for manual override to balance performance and visuals.
35-
36-
### ⚙️ Customization and Control
37-
- **Flexible Display Modes:** Use in a standard window or as an **Always-on-Top** overlay for seamless integration with your desktop.
38-
- **Configurable Hotkeys:** Control the application without interrupting your workflow (`Start/Stop Capture`, `Toggle Overlay`, `Open Panel`).
39-
- **Real-time Adjustments:** Fine-tune spectrum sensitivity, range, and other parameters on the fly with an interactive control panel.
40-
41-
## 📸 Visual Showcase
42-
43-
| Main View | Overlay Mode |
44-
| :---: | :---: |
45-
| ![Visualisation](https://github.com/user-attachments/assets/a480ce47-28a2-4462-a717-29fef8fcf029) | ![Overlay Mode](https://github.com/user-attachments/assets/bc2052b7-0294-4698-825d-6b2a27fc27d5) |
46-
| **Menu & Performance Settings** | **Visual Settings Panel** |
47-
| ![Menu](https://github.com/user-attachments/assets/9e3159f3-09da-472f-a357-7beb663b69df) | ![Visual Settings](https://github.com/user-attachments/assets/b7e5397d-7de5-479f-b2ca-412f57cefa80) |
48-
49-
![Demo Visualization](https://github.com/user-attachments/assets/52eac8ad-b97c-4395-a998-2fb35c1ca5aa)
50-
51-
## 🚀 Getting Started (For Users)
52-
53-
1. **Download the latest version** from the [**Releases**](https://github.com/diqezit/SpectrumNet/releases) page.
54-
2. Unzip the archive and run `SpectrumNet.exe`.
55-
3. Click **"Start Capture"** to begin visualizing your system's audio.
56-
4. Use the controls and hotkeys to customize your experience:
57-
- `Space`: Start or stop the visualization.
58-
- `Ctrl + O`: Toggle the always-on-top overlay mode.
59-
- `Ctrl + P`: Show or hide the main control panel.
60-
61-
## 🛠️ Building from Source (For Developers)
10+
## Native C++ version
11+
12+
For maximum performance and a smaller footprint, there is a native C++ version: **[SpectrumCpp](https://github.com/diqezit/SpectrumCpp)** (Win32 + Direct2D).
13+
14+
## Features
15+
16+
### Audio
17+
- Real-time system audio capture (WASAPI loopback).
18+
- FFT-based spectrum analysis (windowing via **FftSharp.Windows**).
19+
- Configurable sensitivity/range and smoothing.
20+
21+
### Visualization
22+
- 25+ renderers (bars, waves, particles, grids, etc.).
23+
- Quality presets (Low/Medium/High) with adaptive advanced effects.
24+
- Shared object pooling for **SKPaint/SKPath** across renderers to reduce allocations.
25+
- Integrated performance metrics and FPS limiting.
26+
27+
### UI / Controls
28+
- Window mode and overlay mode (always-on-top).
29+
- Hotkeys for common actions (Space, Ctrl+O, Ctrl+P).
30+
- Themes/styles with persistence and instant save on theme change.
31+
- Control panel improvements (Grid overlay instead of Popup) and StereoMode selector.
32+
33+
## Screenshots
34+
35+
| Control Panel | Animations | Themes |
36+
| :---: | :---: | :---: |
37+
| ![panel1](https://github.com/user-attachments/assets/bc27de70-c278-4add-9483-bcaa9583c6d7) | ![anim1](https://github.com/user-attachments/assets/2feb61b0-cadf-47be-8a50-47ecf20e1c75) | ![theme1](https://github.com/user-attachments/assets/bab7b8a7-266a-4bb1-b82f-3e229b0485e6) |
38+
39+
## Getting started
40+
41+
1. Download the latest build from the [Releases](https://github.com/diqezit/SpectrumNet/releases) page.
42+
2. Unzip and run `SpectrumNet.exe`.
43+
3. Click **Start Capture** to begin.
44+
4. Hotkeys:
45+
- `Space`: Start/Stop visualization.
46+
- `O`: Toggle overlay mode.
47+
- `P`: Toggle control panel.
48+
49+
## Building from source
6250

6351
### Prerequisites
64-
- [Visual Studio 2022](https://visualstudio.microsoft.com/)
65-
- [.NET 8.0 SDK](https://dotnet.microsoft.com/download/dotnet/8.0)
52+
- Visual Studio 2022
53+
- .NET 8.0 SDK
6654

6755
### Steps
68-
1. **Clone the repository:**
69-
```bash
70-
git clone https://github.com/diqezit/SpectrumNet.git
71-
```
72-
2. **Open the solution file** (`.sln`) in Visual Studio.
73-
3. **Restore NuGet packages** (this should happen automatically).
74-
4. **Build and run** the project in `Debug` or `Release` mode.
75-
76-
## 💻 Technology Stack
77-
- **Framework:** .NET 8.0
78-
- **UI:** WPF (Windows Presentation Foundation)
79-
- **Rendering:** SkiaSharp for high-performance 2D graphics.
80-
- **Audio Capture:** WASAPI Loopback (via a .NET wrapper like CSCore or NAudio).
81-
82-
## ⚠️ Known Issues
83-
84-
### Transparency Rendering Issues on Intel GPUs
85-
Some users with older or integrated Intel GPUs may experience rendering artifacts in overlay mode.
86-
87-
**Symptoms**:
88-
- Partial or complete loss of window transparency.
89-
- Flickering or visual glitches when interacting with the interface.
90-
- Poor performance in overlay mode.
91-
92-
**Affected Hardware**:
93-
- Primarily observed on Intel HD/UHD Graphics (pre-2021 models).
94-
- Laptops with hybrid graphics systems (NVIDIA Optimus).
95-
- Systems with outdated graphics drivers.
96-
97-
**Workaround**:
98-
1. **Force Dedicated GPU**: In your NVIDIA or AMD control panel, set `SpectrumNet.exe` to always use the high-performance dedicated GPU.
99-
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.
100-
```xaml
101-
<!-- In the visualizer's XAML, replace the hardware-accelerated element: -->
102-
<skia:SKElement />
103-
104-
<!-- Instead of: -->
105-
<!-- <skia:SKGLElement /> -->
106-
```
107-
108-
## 🤝 Contributing
109-
110-
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.
111-
112-
1. Fork the Project
113-
2. Create your Feature Branch (`git checkout -b feature/AmazingFeature`)
114-
3. Commit your Changes (`git commit -m 'Add some AmazingFeature'`)
115-
4. Push to the Branch (`git push origin feature/AmazingFeature`)
116-
5. Open a Pull Request
117-
118-
## 📄 License
119-
120-
This project is licensed under the **MIT License**. See the [LICENSE](LICENSE) file for details.
56+
```bash
57+
git clone https://github.com/diqezit/SpectrumNet.git

0 commit comments

Comments
 (0)