
Description
Text-to-speech systems generally cover the same few dozen major languages. Want a voice-over in something less common and there is either nothing available or the result is unusable. And getting it to speak in your own voice usually means recording a pile of material and training a dedicated model first.
OmniVoice addresses both at once: a zero-shot text-to-speech model covering more than 600 languages. Zero-shot means no training — hand it one reference clip and it reads your text in that voice, and the voice carries over when the language changes.
Besides cloning from a reference clip there is a second route: supply no audio at all and instead describe the speaker attributes you want, letting it construct a voice from scratch.
The project comes from the Next-gen Kaldi team at Xiaomi AI Lab and is Apache-2.0 licensed. Model and code both run locally — install with pip and call it from Python, or launch a local web interface; CUDA is supported, with separate backends for Apple silicon and Intel Arc. There is an official demo on Hugging Face if you want to hear it first.
Over 600 languages: The broadest language coverage among zero-shot TTS models, including uncommon ones, so a minority language does not need its own separate solution.
Zero-shot cloning: One reference clip is enough to speak in that voice — no training data to assemble and no per-voice model to train.
Voices from description: With no reference audio, a voice can be generated from described speaker attributes instead.
Voice carries across languages: The same reference timbre reads text in different languages while keeping its characteristics.
Fast inference: A diffusion language model-style architecture keeps generation quick without giving up quality.
Runs locally: Install via pip and use the Python API, or start a local web interface — audio never has to leave your machine.
Several hardware backends: Beyond NVIDIA CUDA there are configurations for Apple silicon via mps and Intel Arc via xpu.
Try before installing: An official Hugging Face Space lets you hear the output before setting anything up.
OmniVoice addresses both at once: a zero-shot text-to-speech model covering more than 600 languages. Zero-shot means no training — hand it one reference clip and it reads your text in that voice, and the voice carries over when the language changes.
Besides cloning from a reference clip there is a second route: supply no audio at all and instead describe the speaker attributes you want, letting it construct a voice from scratch.
The project comes from the Next-gen Kaldi team at Xiaomi AI Lab and is Apache-2.0 licensed. Model and code both run locally — install with pip and call it from Python, or launch a local web interface; CUDA is supported, with separate backends for Apple silicon and Intel Arc. There is an official demo on Hugging Face if you want to hear it first.
Features
Over 600 languages: The broadest language coverage among zero-shot TTS models, including uncommon ones, so a minority language does not need its own separate solution.
Zero-shot cloning: One reference clip is enough to speak in that voice — no training data to assemble and no per-voice model to train.
Voices from description: With no reference audio, a voice can be generated from described speaker attributes instead.
Voice carries across languages: The same reference timbre reads text in different languages while keeping its characteristics.
Fast inference: A diffusion language model-style architecture keeps generation quick without giving up quality.
Runs locally: Install via pip and use the Python API, or start a local web interface — audio never has to leave your machine.
Several hardware backends: Beyond NVIDIA CUDA there are configurations for Apple silicon via mps and Intel Arc via xpu.
Try before installing: An official Hugging Face Space lets you hear the output before setting anything up.
