PiVo

Two English Voices in 1.4 Million Inference Parameters

Empero AI Technical ReportNovember 2026Leon Lehmann
Listen
Pi
Vo

Both voices read “NASA is ready for the next mission.” These are the samples from the model card, generated by PiVo-1.4M.

Abstract

How many parameters does a voice need, counting everything between a line of text and the waveform, vocoder included? PiVo is our current answer. It speaks English in two fixed synthetic voices, Pi and Vo, with 1,401,562 learned parameters: a 584,965-parameter acoustic model that predicts 20 vocoder features every 10 ms, and an 816,597-parameter vocoder derived from FARGAN that turns them into 16 kHz audio. That is about 1,200 times smaller than the 1.7-billion-parameter Qwen3-TTS teacher whose recordings it learned from.

Trained on 8,628 teacher-generated utterances, PiVo is easy to understand: on 266 held-out utterances, Whisper transcribes it with word error rates of 0.863% on validation and 0.532% on test. Sounding natural is harder. Some sentences keep a metallic or robotic texture, and adapting the vocoder to fix it made no consistent difference in 20 blind paired comparisons.

We release the weights, four ONNX graphs and a runtime that needs only NumPy and ONNX Runtime. All evaluation text is in-domain, the listening review had one listener, and speed on phone-class ARM hardware is not measured yet.

Key findings
  • The whole stack is 1.40M parameters.Acoustic model and vocoder together, 5.6 MB in FP32. No teacher, speaker encoder, aligner or discriminator is needed at inference.
  • Intelligible is not the same as natural.Held-out word error stays below 1% for both voices, yet some text still comes out metallic or robotic, especially around sibilants and pauses.
  • The vocoder fix did not survive a blind test.Adapting the vocoder cleaned up one reference example, but 20 fresh paired comparisons gave 18 ties and one win each way. The release keeps the original vocoder.
  • It runs on a plain CPU without PyTorch.Four ONNX graphs and NumPy are enough, and the graphs match the PyTorch model to within 7 × 10⁻⁶. Audio streams in 10 ms frames once the text is encoded.
The acoustic model has 584,965 parameters and the FARGAN-derived vocoder 816,597, for 1,401,562 in total. The shaded band marks the design target. Parameter counts are not memory or speed measurements.
Figure 1. The complete stack fits the 1 to 1.5M target with the vocoder included. The acoustic model has 584,965 parameters and the FARGAN-derived vocoder 816,597, for 1,401,562 in total. The shaded band marks the design target. Parameter counts are not memory or speed measurements.
Citation
@techreport{lehmann2026pivo,
  title       = {PiVo: two English voices in 1.4 million inference parameters},
  author      = {Lehmann, Leon},
  institution = {Empero Research},
  type        = {Empero AI Technical Report},
  year        = {2026},
  month       = {November},
  note        = {Technical report, version 1.0},
  url         = {https://huggingface.co/empero-ai/PiVo-1.4M}
}
Correspondence

Questions and corrections: [email protected]. The repository holds the code, the results of every run and the paper.