Audio DSP · JSFX · REAPER

JSVocalRedIso

A real-time effect for isolating or attenuating centre-panned vocals in stereo material, bringing an Audacity algorithm into REAPER's JSFX environment.

Initial build
About one month
Maintenance
2020–present
Role
Developer and maintainer

Demo

Vocal isolation in REAPER

The effect running as a JSFX plugin, with the centre mix and frequency-dependent controls exposed for live adjustment.

Short screen recording of JSVocalRedIso operating inside REAPER. Audio is included.

Project outline

From offline effect to real-time plugin

The project implements the central algorithm from Audacity's VocalRedIso effect in JSFX so it can run in real time. It works on stereo mixes, using frequency-domain processing to construct a centre signal that can be isolated, attenuated, or mixed back into the original material.

Getting to a working version

The first compiling—but untested—implementation landed in June 2020. Roughly three weeks of corrections, FFT normalisation, and control redesign produced the first version described as working in early July. The initial build is therefore best understood as about one month from first implementation to a usable effect.

Control over the result

Rather than exposing vocal removal as a single switch, the plugin provides dry and centre mixing, low- and high-frequency cuts, frequency-dependent strength, and phase controls. Those controls make the limitations of centre-channel extraction visible and let the user tune the trade-off between vocal separation and artefacts for each mix.

Ongoing maintenance

I still maintain JSVocalRedIso. Work after the initial version has included alternative FFT window functions, fixes for clicking and buffering, an STFT-based release, additional host support, and memory-buffer corrections.

  • JSFX
  • FFT
  • STFT
  • REAPER
  • Audio DSP