OpenVoiceOS/phoonnx-indic-parler
phoonnx — Indic Parler-TTS (ONNX)
ONNX export of `ai4bharat/indic-parler-tts` for the phoonnx indic_parler engine.
Indic Parler-TTS speaks 20 Indic languages and English. You select the voice with a natural-language description ("Rohit's voice is clear and expressive..."), not with a speaker id or a reference clip.
Graphs
The two tokenizers are different vocabularies. Upstream is explicit about this: one tokenizer for the prompt, one for the description.
Architecture
description --> Flan-T5 encoder --> encoder states --> cross-attention (all 24 layers) prompt --> embed_prompts --> prepended to the decoder input embeddings decoder --> 9 delayed DAC codebooks --> DAC decoder --> 44.1 kHz mono
Cross-attention keys and values do not change while decoding, so decoder_prefill computes them once and decoder_decode reads them back unchanged.
Parity
Every graph is float32 and was checked against the PyTorch model (parler_tts.ParlerTTSForConditionalGeneration, eager attention) on ser9 CPU:
No quantised variants are published: the quantised graphs were not verified, and phoonnx does not ship unverified exports.
Notice
Upstream model: ai4bharat/indic-parler-tts by AI4Bharat, built on `huggingface/parler-tts` by Yoach Lacombe, Vaibhav Srivastav and Sanchit Gandhi. Apache-2.0, preserved from upstream. The DAC codec is Descript's, as vendored by upstream.
The weights are unmodified: the export wraps the PyTorch modules and traces them. No surgery, no quantisation.
