NoiseGen is a lightweight, terminal-based noise generator designed for minimal system footprint and maximum customization. Perfect for focus, relaxation, or sleep, it generates true random noise in real-time rather than looping pre-recorded sounds.
Now featuring a dedicated Color Blind Mode for enhanced accessibility.
While many noise generators exist, NoiseGen is built differently:
- ๐๏ธ Live TUI Mixing Board: Most CLI tools are "one-shot" commands. NoiseGen gives you a live, interactive dashboard to adjust volumes and toggle channels on the fly without restarting.
- ๐ข Pure Algorithmic Synthesis: No use of audio loops. All sound is generated in real-time using pure mathematics (White, Pink, Brown noise and Binaural Beats), ensuring zero "loop seams" or repeating patterns.
- ๐ชถ Zero Distraction, Zero Bloat: No heavy browser tabs or complex GUI frameworks. It runs in a tiny corner of your terminal with a memory footprint smaller than an empty Chrome tab.
- ๐จ Accessibility First: Unlike most terminal apps, NoiseGen includes a dedicated Color Blind Mode as a primary feature, ensuring the visual mixer is usable by everyone.
- ๐ฅ๏ธ Terminal UI: Clean, visual interface with performance monitoring
- ๐๏ธ Multiple Noise Types: White, Pink, and Brown noise generators
- ๐ง Binaural Beats: Focus (14Hz Beta), Relax (7Hz Alpha), Sleep (4Hz Theta)
- ๐พ Profile Management: Save, load, and delete custom sound configurations
- ๐จ Color Blind Mode: High-contrast, color-blind friendly visual palette
- โก Ultra-Lightweight: Minimal RAM core (~15MB) and CPU usage (<1%)
- ๐๏ธ Precision Control: Real-time incremental volume adjustments
- ๐ True Random Generation: No loops, seamless audio playback via low-level WinMM API
- Windows (7/8/10/11) with .NET Framework 4.0 or higher
- C# Compiler (included with .NET Framework)
-
Clone the repository
git clone https://github.com/TohnJravolta/NOISE_GEN.git cd NOISE_GEN -
Build the application
build.bat
This will compile all source files and create
NoiseGen.exe -
Run the application
NoiseGen.exe
| Key | Action |
|---|---|
| โ / โ / Tab | Navigate channels (Shift+Tab for up) |
| โ / โ | Adjust volume (ยฑ1% per step, hold for rapid adjustment) |
| Space / Enter | Toggle channel ON/OFF |
| P | Open Profile Menu (Load/Delete) |
| S | Save current configuration as a profile |
| R | Reset all settings to defaults |
| M | Mute/Unmute Master Volume |
| C | Toggle Color Blind Mode |
| Esc | Quit application / Cancel menu |
- ON Status: Green ๐ข
- OFF Status: Red ๐ด (High Visibility)
- Gradient: Green (Low) โ Yellow (Med) โ Red (Loud)
- Palette: High-contrast scheme avoiding Red/Green combinations.
- Gradient: White (Low) โ Cyan (Med) โ Yellow (High Visibility)
- Toggle: Press C to switch modes. The setting is automatically saved!
- Press S to enter save mode.
- Type a name (letters, numbers,
_,-allowed). - Press Enter to save.
- Press P to open the bridged profile menu.
- Use โ / โ to select.
- Press Enter to load.
- Open the profile menu (P).
- Highlight the profile you wish to remove.
- Press Delete.
- Confirm with Y (Yes) or cancel with N (No).
Note: Your last session is automatically saved and restored on next launch!
| Type | Description | Best For |
|---|---|---|
| White Noise | Equal energy across all frequencies | Masking background sounds |
| Pink Noise | More energy in lower frequencies | Natural, soothing sound |
| Brown Noise | Even more bass-heavy | Deep relaxation, sleep |
| Focus (14Hz Beta) | Binaural beat for alertness | Concentration, studying |
| Relax (7Hz Alpha) | Binaural beat for calm | Meditation, stress relief |
| Sleep (4Hz Theta) | Binaural beat for deep rest | Falling asleep |
๐ก Tip: Mix multiple noise types for your perfect sound environment!
NoiseGen is built with a focus on stability and performance:
Program.cs- State machine, input buffering (with async key-hold), and artifact-free UI drawing.AudioEngine.cs- Memory-safe audio playback using low-level WinMM buffers and manual pinning.Generators.cs- Math-based noise algorithms for seamless playback.ConfigManager.cs- C# 5 compatible INI management.
- Build: Run
build.batto compileNoiseGen.exe. - Test: Run
test.batorNoiseGen.exe --testto verify generators and persistence.
NOISE_GEN/
โโโ Source/
โ โโโ Program.cs # Main application & TUI
โ โโโ AudioEngine.cs # Audio processing & Drivers
โ โโโ Generators.cs # Noise & Binaural algorithms
โ โโโ ConfigManager.cs # Configuration persistence
โ โโโ TestSuite.cs # Automated self-tests
โโโ build.bat # Simple build script
โโโ test.bat # Test execution script
โโโ README.md # Documentation
This project is licensed under the MIT License - see the LICENSE file for details.
TL;DR: You can use, modify, and distribute this software freely, just keep the attribution! ๐
- Built using Low-Level WinMM API for high-performance, lightweight audio playback
- Inspired by the need for a truly lightweight noise generator
- Thanks to the open-source community!
Made with โค๏ธ for focus, relaxation, and accessibility
