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-asr covers Basque properly — nemo-canary-1b-v2 covers 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
-
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for OpenVoiceOS/phoonnx-zortzi-tts

Quantized
(4)
this model

Collection including OpenVoiceOS/phoonnx-zortzi-tts