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