vconnx-focalcodec

ONNX artifacts for the FocalCodec voice-conversion engine in vconnx — a pure-ONNX multi-engine voice-cloning library (no torch at runtime).

VC Mechanism

FocalCodec (Della Libera et al., NeurIPS 2025) exposes continuous pre-VQ features from its WavLM encoder. Voice conversion is a kNN feature-space swap (cosine distance, k=4) — the same approach as kNN-VC:

  1. WavLM encoder (focalcodec_encoder.onnx) — 16 kHz audio → (T, 1024) feature frames at 50 Hz.
  2. kNN matching — pure numpy, cosine distance; no ONNX needed.
  3. Vocos backbone + proj (focalcodec_vocoder.onnx) — matched (T, 1024) features → (T, n_fft+2) STFT coefficients.
  4. numpy ISTFT — pure numpy overlap-add; implemented in the adapter (parity vs torch ≤ 1.3e-5 max abs).

Files

File Size Description
focalcodec_encoder.onnx 594.6 MB WavLM encoder, fp32, opset 14
focalcodec_encoder_q8.onnx 341.2 MB WavLM encoder, INT8 quantized
focalcodec_vocoder.onnx 64.3 MB Vocos backbone + proj, fp32, opset 14
focalcodec_vocoder_q8.onnx 16.3 MB Vocos backbone + proj, INT8 quantized
config.json Engine manifest
PROVENANCE.md Export lineage

Parity

Component max abs error mean abs error
encoder (fp32) 4.2e-4 1.8e-5
vocoder backbone (fp32) 2.7e-5 2.1e-6
numpy ISTFT vs torch 1.3e-5 3.3e-7

Usage

pip install vconnx[focalcodec]
from vconnx import VoiceCloner

cloner = VoiceCloner(engine="focalcodec")
out = cloner.clone_voice("source.wav", "reference.wav", "output.wav")

License

Apache-2.0 — upstream weights and code are Apache-2.0 (lucadellalib/focalcodec). These ONNX artifacts are derived from lucadellalib/focalcodec_50hz checkpoint at v0.0.2.

References

Downloads last month
2
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Collection including TigreGotico/voiceclonnx-focalcodec

Paper for TigreGotico/voiceclonnx-focalcodec