Skip to content

Releases: Artemarius/VocalForge

v0.5.1 — Two-Pass NR, Chain Reorder & Tuned Defaults

19 Feb 16:38

Choose a tag to compare

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)

19 Feb 11:09

Choose a tag to compare

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

19 Feb 09:30

Choose a tag to compare

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

18 Feb 07:52

Choose a tag to compare

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, now off = 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

17 Feb 17:52

Choose a tag to compare

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 .
vocalforge

For Demucs separation support: pip install ".[separation]"

Requirements

  • Python 3.10+
  • Audio interface with mic input
  • GPU optional (recommended for faster separation)