Join the conversation

Join the community of Machine Learners and AI enthusiasts.

Sign Up
owensong 
posted an update 3 days ago
Post
6445
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.

Try Nano and Micro side by side:
owensong/Inflect-v2

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.

Inflect-Nano-v2:
owensong/Inflect-Nano-v2

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.

3.96M params for a complete waveform TTS is the headline number, but the evidence breakdown is the more convincing part. Semantic WER sits near 0 across conversational, emotional and long-range, and the one category that spikes is names_places at 7%, exactly the failure mode you flagged asking people to test unusual names.

Is that gap architecture-bound (the frontend struggling with OOV names at this parameter budget) or mostly data scarcity, since that category has the fewest eval utterances? Curious whether scaling the named-entity slice of training data closes it, or whether it needs an explicit phoneme fallback for OOV tokens instead.