Introduction

How small can a voice get? Empero Research just gave a very concrete answer. PiVo-1.4M is an English text-to-speech model with two voices, Pi and Vo, and the whole stack from text to waveform has 1,401,562 learned parameters. That count includes the vocoder, which most tiny-TTS headlines quietly leave out.

The weights, ONNX graphs, reference code and a seven-page technical report landed on Hugging Face on November 1, and it's already climbing the text-to-speech trending list. The ONNX graphs add up to about 5.6 MB on disk.

What Shipped

  • Model: PiVo-1.4M by Empero Research (author Leon Lehmann), released November 1, 2026.
  • Voices: two fixed synthetic English voices. Pi is feminine and Vo is masculine. There's no cloning and no emotion control.
  • Architecture: a 584,965-parameter acoustic model predicts vocoder features every 10 ms, and an 816,597-parameter vocoder derived from FARGAN turns them into audio. The acoustic design is inspired by Mariusz Kurman's Neuroblast.
  • Audio: 16 kHz mono, up to 30 seconds per utterance, with speed adjustable from 0.5x to 2.0x.
  • Streaming: after the text is encoded, audio comes out in 10 ms frames, so playback can start before the sentence is finished.
  • Runtime: NumPy plus ONNX Runtime. No PyTorch, no GPU and no network connection at inference.
  • License: Apache-2.0 for the code and acoustic weights. The FARGAN-derived vocoder keeps the Xiph/Opus BSD license, and the pronunciation dictionary keeps its CMU license. Both allow commercial use.

How It Was Trained

Pi and Vo aren't recordings of real people. The team designed both voices with Qwen3-TTS VoiceDesign and used Qwen3-TTS Base to read about 12.3 hours of scripts in each voice, 8,628 utterances in total. The technical report says the finished model is roughly 1,200 times smaller than the 1.7-billion-parameter teacher it learned from.

The Numbers

These are Empero's figures from the model card, not ours.

  • Intelligibility: Whisper small.en transcribed held-out speech with a 0.863% word error rate on validation and 0.532% on test.
  • Caveat: the held-out text comes from the same sources and teacher as the training data, so this isn't a general English benchmark, and it says nothing about how natural the voice sounds.
  • Naturalness: the team is upfront that some sentences still sound metallic or robotic, especially around sibilants and pauses. An attempt to fix that by adapting the vocoder gave 18 ties out of 20 blind comparisons, so they kept the original.

On our own test box, an 8-core Linux VM with no GPU, we gave PiVo a single CPU thread. Pi spoke a 6.5-second sentence in 0.73 seconds and Vo spoke a 6.3-second version in 0.52 seconds, so roughly 9 to 12 times faster than real time. Both files came out clean and clearly intelligible at 16 kHz.

How to Run It

The quickest test is the community PiVo demo Space on Hugging Face. To run it locally you need Python 3.11 or newer:

git lfs install
git clone https://huggingface.co/empero-ai/PiVo-1.4M
cd PiVo-1.4M
python -m venv .venv && source .venv/bin/activate
pip install -r requirements.txt

python inference.py synthesize --model-dir . --voice Pi \
  --text "NASA is ready for the next mission." --output pi.wav
python inference.py synthesize --model-dir . --voice Vo \
  --text "Hello, my name is Vo." --output vo.wav

Make sure Git LFS is installed before you clone, or you'll get placeholder files instead of the real ONNX graphs. From Python, PiVo(".", threads=1) loads the model, and model.synthesize(text, voice="Vo", speed=1.0) returns float32 audio. PiVo uses its own small runtime, so it won't load through Transformers or the hosted Inference API.

Pro Tip

PiVo looks every word up in the CMU pronouncing dictionary, and it refuses to guess. When we tried a made-up brand name, it stopped with an "out-of-vocabulary" error instead of mumbling. That's actually handy, because you get no surprise mispronunciations. Pass a pronunciation in ARPAbet through overrides, like overrides={"zzvo": ["Z", "IY1", "V", "OW0"]}, and it'll say anything. Numbers, money, ordinals and ISO dates are expanded for you, but slash dates and fractions raise an error, so write those out.

Where It Fits

PiVo isn't trying to beat expressive voices. It's a research model that asks how much of a voice survives at one-thousandth the size, and it answers with speech that's very easy to understand, if a bit robotic. That makes it a fun base for offline gadgets, game prototypes, retro-style robot characters, accessibility tools and anywhere a few megabytes matter more than warmth.

If you want something a little bigger with more polish, compare it with Leokani-tts 7M, which is non-commercial, or Silencio-2 for emotion tags and cloning. PiVo's edge is its permissive license and its tiny footprint.

Conclusion

PiVo-1.4M fits two clear English voices, vocoder and all, into fewer parameters than many models spend on a single layer. It's commercially usable, it runs on one CPU thread, and the honest technical report makes it a great one to study. Give the demo a listen and see how much voice 1.4 million parameters can hold.

—Anabel ♡