NTH

VoxLock: Target-Speaker Extraction for Voice Agents Without an Enrollment Step

AuthorsArbaz Siddiqui

AffiliationsIndependent researcher

November 2, 2026 2 min read
Watch on YouTube
The one-line take

VoxLock filters a live call to keep the caller’s speech and suppress nearby voices, without requiring a separate enrollment recording.

Key results

27M
Model parameters

Size of the REAL-TSE model adapted for VoxLock.

4.95%
Krisp benchmark VoxLock WER

Word error rate on 265 real recordings.

23.21%
Krisp benchmark unprocessed WER

Word error rate without audio processing.

10.63%
Blind AMI VoxLock WER

Reduced from 42.95% on 400 meeting windows.

77%
Single-thread CPU use

Measured for the 8-bit runtime with 40 ms chunks.

24
Algorithmic latency

Milliseconds of model latency.

What the paper found

VoxLock adapts the 27M-parameter causal REAL-TSE band-split recurrent model to isolate a caller without a separate enrollment recording: it extracts a 3-second voice sample from the call, then uses spectrogram attention and ECAPA-TDNN speaker features to guide separation. Fine-tuned in stages on one NVIDIA L4, it was evaluated through Parakeet TDT 0.6B transcripts. On Krisp’s 265-recording benchmark, VoxLock achieved 4.95% word error rate, compared with 23.21% on unprocessed audio, and let just 9 background words into transcripts across 85.3 minutes of background-only speech. Its WER was statistically similar to Krisp Default, while lower than the other tested commercial and open systems. On a blind AMI test of 400 meeting windows, WER fell from 42.95% to 10.63%. The 8-bit runtime uses 77% of one CPU thread with 24 ms of algorithmic latency. VoxLock assumes the caller is the loudest early speaker, so a dominant background voice can lead it to isolate the wrong person; it is also limited to English and a single caller.

Original abstract

A voice agent's speech recognizer transcribes everyone near the microphone, including people other than the caller. I fine-tuned a public causal target-speaker extraction model (REAL-TSE, 27M parameters) on one GPU to work from a voice sample cut from the call itself, and released it as VoxLock. I score it by what a recognizer writes on real recordings. On Krisp's 265-recording benchmark it reaches 4.95% WER against 23.21% unprocessed and lets 9 background words into the transcript over 85 minutes of background-only speech. Its WER is not significantly different from Krisp's best filters and is significantly lower than the other commercial and open systems I tested. On 400 AMI meeting windows built and frozen before scoring, it cuts WER from 42.95% to 10.63%. The 8-bit model runs a live call on 77% of one CPU thread with 24 ms of algorithmic latency. Model, code and per-file scores are open.

Read the original paper

More in Speech AI

Browse all 39 papers →