SpectrumNet is a real-time audio visualization application that captures audio from the system's loopback device and displays it as a spectrum analyzer. The application is built using C# and WPF, and it leverages the NAudio library for audio capture and processing.
- Real-time Audio Capture: Captures audio from the system's loopback device.
- Spectrum Analysis: Processes the captured audio to generate a frequency spectrum.
- Customizable Visualization: Allows customization of the spectrum visualization, including bar width, spacing, and style.
- Overlay Mode: Supports an overlay mode that can be displayed on top of other applications.
- Theme Support: Supports both light and dark themes.
- Error Handling: Comprehensive error handling and logging to ensure robustness.
To run SpectrumNet, you need to have the following prerequisites installed:
- .NET SDK (version 6.0)
- Visual Studio (optional, for development)
-
Clone the repository:
git clone https://github.com/diqezit/SpectrumNet.git
-
Navigate to the project directory:
cd SpectrumNet
-
Build and run the application:
dotnet run
- Start/Stop Capture: Use the buttons to start and stop audio capture.
- Visualization Settings: Adjust the bar width, spacing, and count using the sliders.
- Style Selection: Choose from different visualization styles.
- Overlay Mode: Toggle the overlay mode to display the spectrum on top of other applications.
- Open Overlay: Click the "Overlay" button to open the overlay window.
- Close Overlay: Close the overlay window by clicking the close button or by toggling the overlay button again.
- Toggle Theme: Use the theme toggle button to switch between light and dark themes.
The application uses constants defined for various settings such as render interval, FFT size, and default styles. These constants can be modified to adjust the behavior of the application.
The application includes robust error handling and logging. Errors are logged using the Log
class, which is assumed to be a custom logging mechanism. The logs can be found in the application's log files.
Contributions are welcome! Please feel free to submit a pull request or open an issue for any bugs or feature requests.
This project is licensed under the MIT License.
- NAudio - For providing the audio capture and processing capabilities.
- SkiaSharp - For the rendering engine used in the application.
For any questions or support, please contact me :)