This project is licensed under the Mozilla Public License, v. 2.0. See the LICENSE file for details.
SPDX-License-Identifier: MPL-2.0
VoluMod automatically optimizes audio volume and clarity in real-time for non-technical users across browsers and system tray applications.
-
Real-time Volume Normalization - EBU R128 / LUFS-based loudness normalization
-
Dynamic Range Compression - Adaptive compression with configurable modes
-
Perceptual Noise Reduction - AI-ready noise floor detection and reduction
-
Graphic Equalization - 10-band EQ with adaptive presets
-
Brick-wall Limiting - Protection against clipping
-
Time-of-Day Profiles - Automatic adjustment based on time (quieter at night)
-
Device Detection - Optimized settings for headphones, speakers, etc.
-
Environment Awareness - Adapts to ambient noise levels (optional microphone input)
# Clone the repository
git clone https://github.com/hyperpolymath/volumod.git
cd volumod
# Build with V
v -prod src/main.v -o volumod
# Run
./volumodvolumod/
βββ src/
β βββ core/ # Core audio types and DSP utilities
β β βββ audio_buffer.v
β β βββ dsp_utils.v
β βββ processors/ # Audio processing modules
β β βββ normalizer.v # Loudness normalization
β β βββ compressor.v # Dynamic range compression
β β βββ noise_reducer.v # Noise reduction
β β βββ equalizer.v # Graphic/parametric EQ
β βββ engine/ # Processing engine
β β βββ processor.v # Main audio processor chain
β β βββ context.v # Contextual adaptation
β βββ platform/ # Platform-specific audio capture
β β βββ audio_capture.v
β βββ ffi/ # Cross-language interop (Bebop)
β β βββ bebop_types.v
β β βββ bebop_bridge.v
β βββ ui/ # User interface
β β βββ tray.v # System tray
β β βββ accessibility.v # WCAG compliance
β βββ main.v # Application entry point
βββ browser/ # Browser extension
β βββ manifest.json
β βββ background.js
β βββ content.js
β βββ popup/
β βββ rescript/ # ReScript audio processor
βββ v.mod # V module definition| Component | Technology |
|---|---|
Core Audio Processing |
V language (memory-safe, high-performance) |
Cross-Platform IPC |
Bebop (serialization/interop framework) |
Browser Extension |
ReScript β JavaScript (Web Audio API) |
Audio Capture |
PortAudio / WASAPI / CoreAudio / ALSA |
UI Framework |
V UI (cross-platform native) |
Input Audio
β
βΌ
βββββββββββββββββββ
β Noise Reduction β β Clean up source audio
ββββββββββ¬βββββββββ
β
βΌ
βββββββββββββββββββ
β Normalization β β Achieve consistent loudness (-14 LUFS default)
ββββββββββ¬βββββββββ
β
βΌ
βββββββββββββββββββ
β Compression β β Control dynamic range
ββββββββββ¬βββββββββ
β
βΌ
βββββββββββββββββββ
β Equalization β β Shape frequency response
ββββββββββ¬βββββββββ
β
βΌ
βββββββββββββββββββ
β Limiting β β Protect output from clipping
ββββββββββ¬βββββββββ
β
βΌ
Output Audio| Preset | Description | Target LUFS | Compression |
|---|---|---|---|
Auto |
Balanced for general content |
-14 |
Moderate |
Speech |
Optimized for podcasts/calls |
-16 |
Light |
Music |
Preserves dynamics |
-14 |
Light |
Night Mode |
Quieter, compressed for low volume |
-20 |
Aggressive |
Hearing Assistance |
Boosted clarity, enhanced speech |
-12 |
Moderate |
VoluMod is designed to be accessible to all users:
-
Screen Reader Support - Full ARIA labels and live regions
-
Keyboard Navigation - All features accessible via keyboard
-
High Contrast Mode - Respects system preferences
-
Reduced Motion - Respects prefers-reduced-motion
-
Hearing Loop Integration - Telecoil/T-coil support planned
-
100% On-Device Processing - No audio data leaves your device
-
No Analytics - No usage tracking or telemetry
-
Optional Microphone - Ambient noise detection is opt-in
-
Local Storage Only - Settings stored locally
# Prerequisites
# - V compiler: https://vlang.io
# - Node.js (for browser extension)
# Clone
git clone https://github.com/hyperpolymath/volumod.git
cd volumod
# Build V application
v -prod src/main.v -o volumod
# Build browser extension
cd browser/rescript
npm install
npm run build| Phase | Features | Status |
|---|---|---|
v0.1.0 Foundation |
Project structure, V source (11 modules), ReScript extension (3 modules), build verified |
Complete |
v0.2.0 Audio Pipeline |
PipeWire/PulseAudio integration, loopback capture, lookahead buffer, unit tests |
Not started |
v0.3.0 MVP |
End-to-end normalization, compression, bypass, system tray UI, basic presets |
Not started |
v0.4.0 Advanced |
Noise reduction, adaptive EQ, time-of-day profiles, device detection, environment awareness |
Not started |
v0.5.0 Browser |
Chrome/Firefox extension, Web Audio API, ReScript deprecation fixes |
Not started |
v0.6.0 Accessibility |
WCAG 2.1 AA audit, screen reader testing, hearing loop, keyboard navigation |
Not started |
v1.0.0 Stable |
Full feature set, comprehensive tests, cross-platform, production ready |
Not started |
See ROADMAP.adoc for detailed milestone breakdown and DESIGN-DECISIONS.adoc for architecture rationale.
This project is licensed under the Mozilla Public License, v. 2.0. See the LICENSE file for details.
SPDX-License-Identifier: MPL-2.0
-
ROADMAP.adoc - Phased development roadmap with milestones
-
TOPOLOGY.md - System architecture diagram and completion dashboard
-
RESEARCH-REPORT.adoc - Market research and technology survey
-
DESIGN-DECISIONS.adoc - Architecture decisions with rationale
-
TESTING-REPORT.adoc - Build verification report (2025-12-29)
-
STATE.scm - Machine-readable project state
-
META.scm - Architecture Decision Records
-
V Language: https://vlang.io
-
ReScript: https://rescript-lang.org
-
Web Audio API: https://developer.mozilla.org/en-US/docs/Web/API/Web_Audio_API
-
PortAudio: https://www.portaudio.com/
-
PipeWire: https://pipewire.org/
-
EBU R128: https://tech.ebu.ch/publications/r128
