I have always loved the moment an app first speaks to you. Voice makes software feel present, and it opens doors for accessibility, games and hands-free tools. Gradium has open-sourced Phonon, a family of very small text-to-speech models designed to run entirely on your own device, and it arrives at a nice moment for anyone building AI at the edge.

What Gradium released
In its announcement, Gradium describes Phonon as a family of 31M and 40M parameter text-to-speech models. There are three flavors:
- Phonon 31m, English only, released under Apache 2.0, which allows commercial use. Gradium lists it at 64 MB at q8 with 37 built-in voices. The model card gives the weights file as 64.5 MB.
- Phonon 40m, with one model per language for English, French, German, Spanish and Portuguese.
- Phonon 40m multilingual, which covers all five languages in a single set of weights with 102 built-in voices.
The licensing detail matters, so I want to be clear about it. The 31m English model is Apache 2.0. The 40m and multilingual models are CC BY-NC 4.0 according to the model card, which means non-commercial use. If you want to ship a commercial multilingual app, Gradium invites you to contact them.
How it works, in plain terms
I find the design really elegant. According to Gradium, a small causal transformer reads your text and produces one latent vector for every 80 milliseconds of speech. A flow-matching head turns each of those vectors into audio embeddings in a single step, and a smaller variant of the Mimi decoder converts them into 24 kHz audio. Because it works frame by frame, it can stream sound out while the rest of the sentence is still being generated.
Gradium says Phonon builds on its team’s earlier work at Kyutai, which led to Pocket TTS, and that all the Phonon sizes are distilled from a larger Phonon teacher model. The model card also notes that the 31M figure excludes the audio tokenizer.
The numbers, and whose they are
Every latency and quality figure in this section comes from Gradium unless I say otherwise.
Speed. Gradium reports that on a MacBook Air M5 CPU, Phonon starts speaking in 7 ms, while Kokoro takes 517 ms. On a Raspberry Pi 5, Gradium says Phonon 31m starts speaking in 38 ms and runs 3.7 times faster than real time. Gradium also quotes 7.5 ms on a Snapdragon 8 Elite Gen 5 from its work with Qualcomm.
Arm, a launch partner, measured Phonon on Arm CPUs with its KleidiAI library and got 28 ms to first audio and roughly 15 times faster than real time. That figure is Arm’s measurement as a partner, published in Gradium’s announcement.
Quality. Gradium ran blind pairwise listening tests against Kokoro, Magpie, NeuTTS and Pocket TTS, with 1,189 raters and 17,270 votes across languages, and reports Phonon ranking first. It also built a 500-sentence set of hard text per language, full of phone numbers, dates and codes, and reports a word error rate of 1.70% for Phonon 31m against 3.50% for Kokoro. Gradium has published that test set on Hugging Face, which I really appreciate, because it means anyone can check the work.
These are promising results from vendor-run tests, and I would love to see independent measurements on real devices.
Where you can run it
Gradium ships Phonon with its own inference stack and q8 GGUF weights, with backends for CPU, Metal, CUDA, Vulkan, WebGPU and Apple Core ML. The model card links guides for Python, Rust, C and C++, the browser, Swift, Android, a Docker server with an OpenAI-compatible API, and Home Assistant. Gradium also says Phonon works with MLX-Audio, Transformers, LM Studio and Ollama.
A 64 MB voice that runs in a browser tab or on a Pi means you can build a reading assistant, a game character or an offline kiosk with no server and no per-call cost.
A maturing edge toolchain
Phonon also lands alongside two releases that make the edge feel a lot more grown up for developers.
Google introduced the LiteRT Tensor API, a C++ layer for building a model graph op by op and running the same code on CPU, GPU or NPU through LiteRT, or directly on CPU through XNNPACK. Weights can load straight from .safetensors files, and pre- and post-processing can share accelerator buffers so data stays on the GPU. Google’s showcase is SAM 2 authored in C++, which a coding agent tuned from under 10 to over 30 frames per second at 512x512 on WebGPU. Google also reports that in its tests on a MacBook Pro, it ran about 1.5x faster than Apple MLX. Google is candid that converting a trained model remains the path it recommends for most projects, with the Tensor API there for when you want low-level control.
Hugging Face shipped AnyLanguageModel 1.0, a drop-in replacement for Apple’s Foundation Models API. You change one import, and the same Swift session code can use the system model, open-weight models through llama.cpp, MLX and Core ML, or hosted providers, with tool calling and guided generation across all of them.
On the language model side, XHToken’s Spark-X2.6-4B is another small Apache 2.0 option aimed at on-device agents, though its benchmark claims are XHToken’s own.
Put these together and you can picture a fully local assistant: a small language model behind a single Swift API, a carefully tuned vision model on the GPU, and a tiny voice that answers back in a few milliseconds.
Things I would check first
- Licenses. Only the English 31m model is Apache 2.0.
- Your own hardware. Measure time to first audio and real-time speed on the devices your users actually own.
- Your own text. Run the hard-text set and some of your app’s real strings, especially numbers and names.
- Voice consent. Gradium’s responsible use notes ask you not to impersonate real people or clone a voice without consent, and to tell listeners when speech is synthetic. I think that is exactly right.
Give it a voice
I would encourage you to try Phonon in a small project. Make a tool read your notes aloud, give a game character a voice, or build something that talks on a Raspberry Pi.
Before you build, take time with the Phonon model card and Gradium’s announcement, and read the LiteRT and AnyLanguageModel docs too. The details on licensing, supported platforms and how the numbers were measured are all there, and they will save you surprises later.