Releases: Artemarius/VocalForge
Releases · Artemarius/VocalForge
v0.5.1 — Two-Pass NR, Chain Reorder & Tuned Defaults
What's New
14-Stage Vocal Pipeline (Phase 8e)
Reordered the processing chain and added a second noise reduction pass to fix the gain-rider-amplifies-noise problem.
New chain order:
1. Noise Gate → 2. NR (Pass 1) → 3. Gain Rider → 4. De-Plosive →
5. NR Cleanup (Pass 2) → 6. De-Reverb → 7. HPF → 8. EQ →
9. Comp Peak → 10. Comp Body → 11. De-Esser → 12. Soft Clipper →
13. Reverb → 14. Limiter
Key changes:
- Gate and NR now run before the gain rider, so noise is cleaned at its natural (quieter) level
- NR Cleanup (Pass 2) added after the gain rider — a gentle stationary-mode pass that catches residual noise the rider amplified, without stem-guided profile
- No more need for "Strong" NR to compensate for gain-rider-boosted noise — eliminates underwater/musical artifacts
Tuned Defaults
All effect defaults updated from real-world vocal testing:
- All 14 effects enabled by default
- Gain rider: max boost 4 dB (was 6)
- NR Cleanup: Strong
- HPF: 120 Hz (was 100)
- EQ: Clean Up preset (was Bright)
- De-esser: 5000 Hz / 12 dB (was 6000 / 6)
- Soft clipper: drive 1.8 (was 1.5)
- Reverb: enabled by default (0.15 wet, 25 ms predelay)
- Enhanced preset updated to match
Stats
- 14/14 effects working
- 232 tests (12 new), all passing
- v0.5.0 → v0.5.1: 5 files changed, +582 / -287 lines
v0.4.0 — De-Esser + Reverb (9/9 Effects Complete)
Phase 8c — Completes the 9-stage vocal enhancement pipeline
All 9 vocal effects are now fully implemented. No more stubs or "(coming soon)" labels.
New Effects
- De-Esser (chain step 7): Frequency-selective sibilance compressor with bandpass detection (4th-order Butterworth), envelope smoothing, dB threshold/gain computation, and attack/release envelope follower. Supports split-band mode (attenuates only the sibilant band, preserving vocal body) and wideband mode.
- Reverb (chain step 8): Dual-mode reverb — Schroeder algorithmic (4 parallel comb filters + 2 series allpass) or convolution via user-provided impulse response file (FFT-based). Includes predelay, wet/dry mix, and automatic fallback to algorithmic on IR load failure.
UI
- De-esser controls: frequency (3000–10000 Hz) and reduction (0–12 dB)
- Reverb controls: wet mix (0–0.50), predelay (0–80 ms), IR file browse button (WAV/FLAC)
- Enhanced preset now enables de-esser (split mode, 6 kHz, 6 dB reduction)
- Reverb remains off by default in all presets
Bug Fix
- Exported processed vocal now includes the alignment shift (auto-align or manual offset slider). Previously the exported file was unaligned.
Effects Pipeline (complete)
| # | Effect | Status |
|---|---|---|
| 1 | Noise Gate | Working |
| 2 | Spectral NR | Working |
| 3 | De-Reverb | Working |
| 4 | High-Pass Filter | Working |
| 5 | Parametric EQ | Working |
| 6 | Compressor | Working |
| 7 | De-Esser | New |
| 8 | Reverb | New |
| 9 | Limiter | Working |
Tests
203 passing (+14 new, −4 removed stub tests).
v0.3.1: NR Mode Selection + Advanced Parameters
What's New
Noise Reduction Mode Selection
- Auto mode (default): uses stationary algorithm when a reliable stem-guided noise profile is available, falls back to adaptive mode otherwise
- Stationary mode: best for constant room noise (fan, hiss, untreated room) with a good noise profile
- Adaptive mode: handles varying noise, less dependent on profile quality
Advanced NR Parameters Dialog
- Stationary threshold sensitivity (0.5–3.0)
- Frequency mask smoothing (100–2000 Hz)
- Temporal mask smoothing (10–200 ms)
- GPU (CUDA) toggle with auto-detection
Updated Defaults
- High-pass filter: 80 Hz → 100 Hz
- Parametric EQ default preset: Clean Up → Bright
- Limiter ceiling: -1.0 dB → -0.7 dB
Testing
- 10 new tests (7 noise reduction + 3 effects wrapper)
- 189 total tests passing
Full Changelog: v0.3.0...v0.3.1
v0.2.0 — Signal Cleanup, Presets & Mix UX
What's New
New Effects (5/9 working)
- Noise Gate — RMS-envelope gating with configurable threshold, attack/release/hold, and reduction depth. Silences inter-phrase gaps without clipping word onsets.
- De-Reverb — Spectral flux-based subtraction that reduces room reverb. Three strength levels (Light / Medium / Strong).
Preset System
- Raw — all effects off (passthrough)
- Clean — noise gate + noise reduction + HPF + limiter
- Enhanced — adds de-reverb on top of Clean
Presets bulk-configure all toggles and parameters. Manual changes auto-switch to "Custom".
Mix UX Improvements
- Auto-Tune Volume — automatically balances vocal and minus faders using LUFS measurement (vocal ~3 dB above minus)
- Per-track level meters — horizontal bars with green/yellow/red zones and peak hold, animate during playback
- Fader-based mixing — Mix & Export now reads track fader gains directly, so preview matches export
- Dynamic status labels — "Not yet processed:" updates to "Processed:" when effects are applied; same for mix result
Additional Features
- Effects chain bypass — global checkbox to skip all effects (for pre-enhanced vocal imports)
- Processed vocal export — save the V-proc result as a standalone WAV
- Jump-to-click sliders — all volume faders and seek slider jump directly to clicked position
Bug Fixes
- Mix result waveform and multi-track playback offset corrected (was
off = 0, nowoff = max_lag)
Stats
- 162 tests passing
- 9 files changed, 823 insertions, 111 deletions
Install
pip install git+https://github.com/Artemarius/VocalForge.git@v0.2.0
# Or with Demucs separation support:
pip install "vocalforge[separation] @ git+https://github.com/Artemarius/VocalForge.git@v0.2.0"VocalForge v0.1.0
First release of VocalForge — a desktop app for recording vocals over music tracks with automatic alignment, normalization, and mixing.
Features
- Song import — load any audio file as the original track
- Vocal separation — extract instrumental using Demucs (htdemucs_ft)
- Recording — play minus track while recording mic input
- Track preview — switch between Song, Minus, Vocal, and Mix Result; seek via waveform click or slider
- Automatic alignment — cross-correlation with constrained search window (background music or vocal stem matching)
- Noise reduction — stem-guided spectral gating + configurable high-pass filter
- LUFS normalization & mixing — ITU-R BS.1770-4 loudness normalization with adjustable vocal/instrumental balance
- Export — save final mix as WAV/FLAC
Install
git clone https://github.com/Artemarius/VocalForge.git
cd VocalForge
python -m venv venv
source venv/bin/activate
pip install .
vocalforgeFor Demucs separation support: pip install ".[separation]"
Requirements
- Python 3.10+
- Audio interface with mic input
- GPU optional (recommended for faster separation)