--- license: mit tags: - voice-conversion - any-to-any - onnx - vconnx language: - en pipeline_tag: audio-to-audio --- # vconnx-triaan-vc Any-to-any voice conversion using TriAAN-VC (Triple Adaptive Attention Normalization, ICASSP 2023), exported to ONNX for CPU-first inference via the [vconnx](https://github.com/TigreGotico/vconnx) engine adapter. ## Model card | Field | Value | |---|---| | Paper | [TriAAN-VC: Triple Adaptive Attention Normalization for Any-to-Any Voice Conversion](https://arxiv.org/abs/2303.09057) | | Original code | [winddori2002/TriAAN-VC](https://github.com/winddori2002/TriAAN-VC) | | License | MIT (original code and weights) | | Sample rate | 16 000 Hz | | Mel channels | 80 | | FFT / hop / win | 400 / 160 / 400 samples | ## Architecture Three ONNX components chained in sequence: 1. **CPC encoder** — 5-layer strided Conv1d (160× downsample) + LSTM; encodes speech to 256-dim content features at 100 Hz. Derived from [facebookresearch/CPC\_audio](https://github.com/facebookresearch/CPC_audio). 2. **TriAAN-VC decoder** — SpeakerEncoder + ContentEncoder + BiGRU fusion + TriAAN decoder + PostNet; maps CPC features + log-F0 → 80-band mel spectrogram. 3. **ParallelWaveGAN vocoder** — WaveNet-style neural vocoder (MIT, kan-bayashi); mel → 16 kHz waveform. ## Files | File | Size | Description | |---|---|---| | `cpc_encoder.onnx` | 7.0 MB | CPC content encoder (FP32) | | `cpc_encoder_q8.onnx` | 1.8 MB | CPC encoder INT8 dynamic quantization | | `triaan_vc.onnx` | 266.3 MB | TriAAN-VC decoder (FP32) | | `triaan_vc_q8.onnx` | 76.3 MB | TriAAN-VC decoder INT8 dynamic quantization | | `pwg_vocoder.onnx` | 7.0 MB | ParallelWaveGAN vocoder (FP32) | | `pwg_vocoder_q8.onnx` | 2.0 MB | PWG vocoder INT8 dynamic quantization | | `config.json` | — | vconnx component manifest | | `PROVENANCE.md` | — | Upstream provenance + license text | ## Parity (PyTorch vs ONNX Runtime, random input, T=50 frames) | Component | max\_abs Δ | mean\_abs Δ | Verdict | |---|---|---|---| | CPC encoder | 1.06e-05 | 1.46e-07 | PASS | | TriAAN-VC | 3.76e-06 | 6.39e-07 | PASS | | ParallelWaveGAN | 4.39e-05 | 1.19e-06 | PASS | All components pass with max\_abs < 5e-05 (well within perceptual threshold). ## Usage ```python from vconnx import VoiceCloner vc = VoiceCloner(engine="triaan") output_wav = vc.clone_voice(source_wav, target_wav) ``` Install: ```bash pip install "vconnx[triaan]" ``` ## Provenance Weights converted from the GitHub release v1.0 artifacts: - `cpc.pt` — CPC encoder checkpoint (facebookresearch/CPC\_audio) - `model-cpc-split.pth` — TriAAN-VC decoder checkpoint - `vocoder.pkl` — ParallelWaveGAN vocoder checkpoint (originally from VQMIVC) See `PROVENANCE.md` for full license text.