phoonnx

July 24, 2026 · View on GitHub

Ask DeepWiki

phoonnx

phoonnx

Multilingual phonemization and Text-to-Speech using ONNX models. phoonnx loads and runs TTS voices from several ecosystems (native phoonnx, Piper, Mimic3, Coqui, MMS, Transformers) through one onnxruntime-based interface, and ships a training pipeline for building your own voices.

It reaches 1000+ languages and voices across the bundled voice indexes. See the full list in VOICES.md.

30-second quickstart

pip install phoonnx

Download a voice and synthesize a WAV from the command line:

# populate the local voice catalog, then fetch one voice
phoonnx-voices update-cache
phoonnx-voices download OpenVoiceOS/phoonnx_pt-PT_miro_tugaphone

The same thing from Python:

import wave
from phoonnx.voice import TTSVoice

voice = TTSVoice.load("model.onnx", "model.json")
with wave.open("hello.wav", "wb") as wav_file:
    voice.synthesize_wav("Hello world!", wav_file)

New here? Start with the Quickstart — it downloads a voice and speaks a sentence end-to-end.

Train your own voice in an afternoon

Record (or obtain) a single-speaker dataset, preprocess it, train a VITS model on one GPU, export to ONNX, and load it back — all with the bundled phoonnx_train toolkit. Follow the golden path in docs/training/quickstart.md.

Features

CapabilityWhere
Run ONNX voices on CPU or GPU (CUDA/ROCm/DirectML/CoreML/OpenVINO)Usage · Configuration
~40 phonemizer backends across many languagesPhonemizers
Load Piper / Mimic3 / Coqui / Transformers / MMS voicesArchitecture
17 synthesis engines behind one adapter registryEngines
Zero-shot voice cloning (YourTTS, StyleTTS2, ZipVoice, F5-TTS, Chatterbox)Cloning
Low-latency streaming for VITS voicesStreaming
Optional 48 kHz audio super-resolution over synthesized audioOVOS plugin
Download and cache voices from HuggingFace and other sourcesVoice manager
Train and fine-tune new voicesTraining
Drop-in OpenVoiceOS TTS pluginOVOS plugin

Documentation

The docs are organized around three reader paths — see the documentation index:

OpenVoiceOS plugin

phoonnx ships the ovos-tts-plugin-phoonnx TTS plugin. Configure it in mycroft.conf:

"tts": {
  "module": "ovos-tts-plugin-phoonnx",
  "ovos-tts-plugin-phoonnx": {
    "voice": "OpenVoiceOS/phoonnx_pt-PT_miro_tugaphone"
  }
}

Full options in docs/ovos_plugin.md.

Docker / TTS server

docker compose up

See docs/docker.md.

License and credits

phoonnx is licensed under Apache-2.0. Copyright Casimiro Ferreira.

It builds on the work of others, including jaywalnut310/vits (the VITS backbone), and interoperates with the Piper, Mimic3, Coqui, MMS and Transformers voice formats. Language-specific components are credited on the Phonemizers page.

The SuperTonic inference code (phoonnx/engines/supertonic.py) is adapted from Supertone Inc.'s MIT-licensed reference implementation. SuperTonic model weights (Supertone/supertonic-3) are licensed OpenRAIL-M, not Apache-2.0 — review the model's license before commercial use.