phoonnx-zortzi-tts
ONNX mirror of itzune/zortzi-tts —
a Basque (eu) text-to-speech model — packaged for the
phoonnx arktts engine.
The graphs are the official half-precision export from
itzune/zortzi-tts-onnx, re-published
unchanged. Only the packaging is new: a flat file layout, and one small JSON per voice that
holds the voice's reference codes together with the transcription of the clip they came
from, which the prompt needs.
Two voices: Maider (female) and Antton (male).
Usage
from phoonnx.model_manager import TTSModelManager
from phoonnx.voice import TTSVoice
voice = TTSVoice.load(TTSModelManager().get_voice("arktts/zortzi-maider/eu"))
audio = voice.synthesize("Kaixo mundua, gaur eguraldi ona dago Bilbon.")
The other voice is arktts/zortzi-antton/eu.
Files
slow_ar_fp16.onnx 24-layer backbone, KV-cached (1.08 GB)
fast_ar_fp16.onnx 4-layer depth transformer (134 MB)
codec_decoder_fp16.onnx 10 codebooks -> 44.1 kHz waveform (266 MB)
tokenizer.json the model's own Qwen2 subword BPE
voices/maider.json reference codes + transcription
voices/antton.json reference codes + transcription
What was verified
Checked against the PyTorch checkpoint (itzune/zortzi-tts, float32) with
scripts/conversion/arktts/verify_parity.py, over 24 lockstep greedy decode steps:
| Tensor | max abs diff | greedy agreement | note |
|---|---|---|---|
prompt [1, 11, T] |
— | exact | identical to upstream's own processor output |
| slow AR logits | 0.041 | 24/24 | |
| slow AR hidden | 0.017 | — | |
| fast AR logits | 0.088 | 211/216 | every miss is a tie; worst margin 0.022 |
| codec decoder | 5.6e-4 | — | correlation 0.999999 |
Intelligibility, five Basque sentences per voice transcribed with
onnx-community/whisper-large-v3-turbo on CPU: WER 0.300 (18/60 tokens).
Read that number as a lower bound on intelligibility, not as voice quality. No ASR model in
onnx-asrcovers Basque properly —nemo-canary-1b-v2covers the 25 official EU languages and Basque is not one — so Whisper is used as an explicit best-effort, and Basque is a low-resource language for it. Most of the errors above are the recogniser mis-splitting words it heard correctly.
CPU real-time factor on twelve cores: 8.0x (Maider), 8.6x (Antton). This is not a real-time model; upstream reports the same and points at a GPU.
INT4 is deliberately not mirrored
Upstream also publishes *_int4.onnx graphs. They fail parity against the PyTorch
checkpoint and are left out:
| Tensor | max abs diff | greedy agreement |
|---|---|---|
| slow AR logits | 4.13 | 17/24 |
| fast AR logits | 7.38 | 55/216 |
The fast AR disagrees with the reference on three quarters of its codebook predictions, and the worst disagreements are not ties. Upstream's own card notes int4 gives "flatter prosody and less reliable question intonation"; these numbers are what that looks like measured.
Licence, provenance and attribution
Apache-2.0, inherited from the base model
Audio8/Audio8-TTS-Preview-0.6b.
Upstream work is by itzune; this repository only repackages it.
The voices are anchored to the HiTZ-Aholab Basque TTS dataset (CC BY 4.0), and the
reference clips that carry Maider and Antton come from it — NEU_05850.wav and
NEU_11782.wav. That licence conditions the voices themselves, so redistributing these
files or audio generated with them carries the attribution below.
The HiTZ-Aholab speech synthesis dataset was developed with funding from the Ministerio para la Transformación Digital y de la Función Pública and Plan de Recuperación, Transformación y Resiliencia — Funded by EU — NextGenerationEU within the framework of the project ILENIA (ref. 2022/TL22/00215335), and by a grant from the Department of Culture and Language Policy of the Basque Government (IKER-GAITU project).
@dataset{navas_hernaez_2025_17952596,
author = {Navas, Eva and Hernaez Rioja, Inmaculada and Saratxaga, Ibon and
Sanchez, Jon and García Romillo, Víctor and Flores Ríos, Mariana and
Bellanco, Aitor},
title = {{HiTZ-Aholab speech synthesis dataset in Basque}},
month = dec, year = 2025, publisher = {Zenodo}, version = {1.0},
doi = {10.5281/zenodo.17952596},
url = {https://doi.org/10.5281/zenodo.17952596}
}
@dataset{itzune_zortzi_tts,
author = {{itzune}},
title = {{zortzi-tts: Basque fine-tune of Audio8-TTS-Preview-0.6b}},
year = 2025, publisher = {Hugging Face},
url = {https://huggingface.co/itzune/zortzi-tts}
}
Known limitations
Upstream's, carried over unchanged:
- Numbers are mispronounced — spell them out in the text.
- No text normalization — expand acronyms yourself ("TTS" as "te te ese").
- Basque only, two voices, no others.
- Sampling is required — greedy decoding never reaches end-of-speech. The engine's defaults (temperature 0.8, top-p 0.95) are upstream's.
- Downloads last month
- -
Model tree for OpenVoiceOS/phoonnx-zortzi-tts
Base model
Audio8/Audio8-TTS-Preview-0.6b