I just released Inflect v2, pushing complete TTS below 4M parameters.
Inflect-Nano-v2 fits every learned inference component, including waveform generation, into 3.96M parameters (15.97 MB FP32), making it one of the smallest publicly available complete TTS models. Inflect-Micro-v2 stays under 10M at 9.36M parameters (37.53 MB), using the extra capacity for clearer, more natural speech.
This was not about building a toy that technically produces audio. I wanted to see how much useful TTS could actually fit at this scale.
Nano stayed surprisingly close to Micro across the reported release metrics, but if you want to hear Inflect at its best, start with Micro: owensong/Inflect-Micro-v2
Text goes in and 24 kHz speech comes out without a second learned model. Both models have PyTorch and ONNX releases: PyTorch runs on CPU or CUDA, while the browser demo runs ONNX locally through WebGPU with a WASM fallback. The Inflect code and weights are released under Apache 2.0.
Some people may remember the much rougher Inflect-Nano-v1 experiment. V2 was rebuilt and retrained to address its biggest weaknesses: metallic audio, unstable timing, weak prosody, and difficulty with unseen text. Nano-v2 is smaller while sounding substantially cleaner and more stable.
In an anonymous community blind test across nine voices, Micro and Nano placed second and third by normalized preference rate. Full results, samples, limitations, and inference instructions are on the model pages.
I built Inflect independently with a limited training budget. If you test it, give it something difficult: unusual names, numbers, abbreviations, symbols, or awkward punctuation. Send me the exact text when something breaks. If you build something with it, I would genuinely love to see it.
I just released Inflect-Nano-v1, an ultra-small 4.63 parameter text-to-speech model.
The main idea is simple: instead of only making the acoustic model tiny and relying on a larger external vocoder, Inflect-Nano-v1 keeps the complete text-to-waveform stack under 5M parameters.
Quick facts: - 4.63M total inference parameters - 3.46M acoustic model - 1.17M vocoder - 24 kHz audio - English-only - Single male voice - Runs locally with a simple PyTorch inference script
Why I made it: Most modern TTS models are much larger, and even many “small TTS” projects depend on a separate vocoder. I wanted to see how far a complete tiny TTS stack could be pushed while still producing usable speech.
It is not SOTA, and I am not trying to claim it competes with large TTS systems. The interesting part is the size-to-functionality ratio.
What works: It can generate arbitrary English speech locally, and the model is small enough to be interesting for:
- local voice assistants - embedded/edge experiments - browser or WASM-style TTS exploration - efficient inference research - tiny-model baselines
Limitations: The quality is still limited. It can sound robotic, stumble on difficult unseen text, and the vocoder is still a clear bottleneck. Long or unusual prompts are less reliable.
So I would frame this as a research/demo release, not a production TTS engine.
I’d love feedback from people interested in: - tiny speech models - vocoders - local TTS - efficient inference - embedded speech synthesis - improving small-model generalization
If people find it useful, I’m interested in putting more training budget into a stronger v2.