Clearline-NC-GPU
Background noise out, every voice kept, on a GPU. Version 2 is the released model of The Voice on the Line (Scicom-intl/voice-isolator), fine-tuned to keep every talker instead of one: a FrameFormer 1024 wide and 16 layers deep with a 10 s attention window, an LSTM over the frames of the whole call and a causal WavLM-Large trained beside it, 555M parameters in all. It is never given an enrollment. On our development clips a second talker loses 0.7 dB while crowd babble loses 30 dB. 16 kHz in and out; it looks 10 ms ahead, so the output up to any moment depends only on the input up to 10 ms after it.
It is part of the Clearline collection with Clearline-NC-CPU, the LiveKit noise filter that runs on one CPU core, and Clearline-VAD.
STT-API's noise-cancellation benchmark, the same harness and test sets as Clearline-NC-CPU's card (DeepFilterNet3 and the GPU models run on whole files, which for a causal model is its stream; GTCRN and Clearline-NC-CPU streamed through their plugins):
| GTCRN | DeepFilterNet3, whole file | Clearline-NC-CPU, quality mode | Clearline-NC-GPU v1 | Clearline-NC-GPU v2 | |
|---|---|---|---|---|---|
| VoiceBank+DEMAND PESQ | 2.535 | 2.673 | 2.575 | 2.614 | 2.719 |
| VoiceBank+DEMAND SI-SDR | 14.6 dB | 15.0 dB | 17.4 dB | 18.0 dB | 16.5 dB |
| VoiceBank+DEMAND ESTOI | 0.820 | 0.838 | 0.831 | 0.841 | 0.847 |
| DNS 2020 synthetic PESQ | 2.293 | 2.499 | 2.389 | 2.600 | 2.741 |
| DNS 2020 synthetic SI-SDR | 14.9 dB | 13.4 dB | 15.7 dB | 17.0 dB | 17.0 dB |
| DNS 2020 synthetic ESTOI | 0.872 | 0.897 | 0.886 | 0.908 | 0.916 |
| DNS 2020 real recordings, DNSMOS overall | 2.75 | 2.87 | 2.73 | 2.84 | 2.95 |
| DNS 2020 real recordings, DNSMOS speech | 3.07 | 3.18 | 3.02 | 3.13 | 3.23 |
| DNS 2020 real recordings, DNSMOS background | 3.86 | 3.96 | 3.89 | 3.96 | 4.01 |
Version 2 leads the 44M version 1 on all three corpora, and DeepFilterNet3 on PESQ and DNSMOS. Version 1 keeps the higher SI-SDR on VoiceBank, a price of version 2's perceptual loss. Not trained on VoiceBank, VCTK or DEMAND. Larger offline models are stronger still: NVIDIA's RE-USE, bidirectional and given the whole recording, scores PESQ 3.08 on VoiceBank+DEMAND, 3.45 on DNS 2020's synthetic set and DNSMOS 3.26 on its real recordings (its training data includes VCTK and DNS5, so only the last is held out for it).
Use
import sys
import soundfile as sf
from huggingface_hub import snapshot_download
d = snapshot_download("Scicom-intl/Clearline-NC-GPU")
sys.path.insert(0, d)
from example import enhance, load
model = load(d, device="cuda")
x, sr = sf.read("noisy.wav", dtype="float32") # 16 kHz mono
sf.write("enhanced.wav", enhance(model, x), 16000)
or python example.py noisy.wav enhanced.wav (any rate or channel count; resampled to 16 kHz mono).
The model remembers a whole call, so a recording is never cut into pieces: over 600 s, 60 s pieces with 10 s of
context before each match the uncut output to only 20.6 dB. Up to two minutes enhance runs one pass. Longer
recordings go through The Voice on the Line's own streaming engine (vi/stream.py, its self-enrollment off) in half
precision, which over 600 s matches an exact single-precision run to 55.1 dB, three times faster than real time in
4.5 GB of one GPU. One pass over a long recording would be exact too, but the causal WavLM's attention mask grows with
the square of the length.
Live, 20 ms at a time (the output 10 ms behind the input):
from example import load, stream
out = stream(load(d, device="cuda"), x) # dict(y=..., delay=160 samples)
python example.py noisy.wav enhanced.wav --live writes what a live call would hear. In single precision the engine
gives the whole-file output to 100 dB.
Files
| file | what |
|---|---|
model.safetensors |
the weights (float32) |
config.json |
the model's configuration (The Voice on the Line's, enrollment unused) |
vi/ |
The Voice on the Line's model and streaming code, as released (its training-data path made relative) |
example.py |
load, enhance, stream and a command line |
How it was trained and evaluated is in the Clearline preprint below. Version 1, the 44M teacher Clearline-NC-CPU's
quality mode is distilled from, is revision ac5d9550 of this repository.
- License not set yet: some training data is CC BY-NC (Expresso, EARS, WHAM!).
Husein Zolkepli. Clearline: voice activity detection and noise cancellation for voice agents, on one CPU core. Scicom (MSC) Berhad, 2026. Husein Zolkepli. The Voice on the Line. arXiv:2610.35272, 2026.
- Downloads last month
- 76