AI & Creative Tools

Only One of Gradium's Seven Phonon Voices Is Apache-2.0 — and It's the One Everybody Downloaded

A 31M-parameter text-to-speech model in a 64.5 MB file, fast enough to start speaking in about 7 ms on a CPU. The English model is Apache-2.0; every other language in the family is non-commercial.

Phonon is a family of text-to-speech models from Gradium, a Paris voice-AI company spun out of the open-science lab Kyutai. The pitch is size: 31 million parameters, a 64.5 MB 8-bit weights file, 24 kHz mono output, and audio that starts streaming while the rest is still being generated. Gradium reports about 7 ms to first audio on a CPU. It runs on laptops, phones, a Raspberry Pi 5, and in a browser via WASM or WebGPU.

For anyone narrating a video, voicing an installation or putting speech in a piece that has to work offline at a gallery, that is the interesting part of the specification. No cloud call, no GPU, no per-character bill.

The licence is the part worth reading twice.

Seven models, two licences

We queried every repository in the gradium namespace through the Hugging Face API rather than relying on the model card’s own table. Results as of 24 October 2026:

ModelParamsLicenceDownloadsLikes
phonon-31m-en31MApache-2.020,63197
phonon-40m-de40MCC BY-NC 4.04,54112
phonon-40m-multilingual40MCC BY-NC 4.02,33145
phonon-40m-en40MCC BY-NC 4.02,27066
phonon-40m-fr40MCC BY-NC 4.02,05816
phonon-40m-es40MCC BY-NC 4.01,96114
phonon-40m-pt40MCC BY-NC 4.073313

The voice pack, phonon-voices, is Apache-2.0. All eight repositories were created on 19 October 2026.

So the headline — open-sourced under Apache 2.0 — is true of the 31M English model and nothing else. Every 40M model, including the multilingual one and all four non-English languages, is CC BY-NC 4.0: free to use, study and share, not free to use in anything commercial. If you are making a client’s explainer video, a paid app, a game you sell, or a piece with a commission fee attached, the only Phonon you may ship is the English-only 31M.

The downloads say the market already worked this out. The Apache model has 20,631 pulls against 13,894 for the six non-commercial ones put together, and the tracker we run each morning shows it climbing +73.7% in a day while the others sat still. Permissive licensing is not an afterthought in this family; it is the entire distribution story.

What the small one gives up, and what it doesn’t

Phonon 31m is English-only, with 37 built-in voices. Phonon 40m multilingual carries 102 voices across five languages. The 31m uses 6 transformer layers at width 512 with 8 attention heads; the 40m uses 9 layers at the same width. Both are distilled from a larger Phonon teacher.

Architecturally it is not a conventional TTS stack. There is no phoneme conversion step: a SentencePiece tokeniser with a 4,000-token vocabulary reads raw text. A causal transformer emits one latent vector per 80 ms frame; a flow-matching head turns that vector plus noise into an audio embedding in a single step; and a reduced version of Kyutai’s Mimi codec decodes to 24 kHz PCM. A separate head decides when the speech has ended.

On Gradium’s own evaluation it reports 1.70% word error rate on a 500-sentence hard set against 3.50% for Kokoro, and the top English Elo among the open models it tested. It also reports losing one metric — 0.51% Seed-TTS LLM WER against Kokoro’s 0.45% and Magpie’s 0.46%. These are the vendor’s numbers in the vendor’s harness, and the hard-set result is the kind of comparison where the choice of set does the work. Treat the direction as more trustworthy than the decimal.

The runtime is where it gets practical

Three independent ways in, all from the model card and all live:

  • uvx ptts --lang en --quant q8 --voice Easton "Hello from Phonon." -o speech.wav — no install step.
  • pip install ptts, then a three-line Python API with a stream() context manager that yields float32 chunks as they arrive.
  • npm i phonon-tts for the browser.

The inference runtime, gradium-ai/xn-ptts, is Apache-2.0 on GitHub, created 3 May 2026, 282 stars, last pushed today. The model.q4k.gguf and model.q8.gguf files sit in the model repository itself, so a llama.cpp-style consumer does not need a separate conversion step. There is also a browser demo as a Hugging Face Space.

Every runtime addresses the model as hf://gradium/phonon-31m-en and all family members share a file layout, so switching model means changing one string — including switching to a non-commercial one by accident. Worth a note in your build script.

The ancestry matters for the licence question

Phonon builds on Kyutai’s Pocket TTS and the Mimi codec. kyutai-labs/pocket-tts is MIT, with 10,040 stars. That matters practically, because MIT is permissive in all languages.

Search Hugging Face for pocket-tts and you find a localisation ecosystem that grew out of that licence: Turkish, Farsi, Polish, Basque, Japanese, Russian, Indonesian and Turkish-8-layer ports, CoreML and ONNX conversions, a GGUF repack. None of those needed anyone’s permission.

Phonon’s non-English models are the opposite arrangement. If you want a commercially usable French or German voice at this size, the path runs through the MIT ancestor and community work built on it — not through the CC BY-NC descendant. Kyutai’s own blog, on 20 October, published “The tiny TTS was actually 10x too big”, describing Pocket TTS models from 18.2M parameters down to 1.9M. The floor is still moving, and so far it is moving under a permissive licence.

The honest summary

Phonon 31m is a genuinely good thing to have: a small, fast, commercially usable English voice you can bundle into work that has to run without a network. Take it.

Just do not read “Phonon is Apache-2.0” as a statement about Phonon. It is a statement about one seventh of Phonon, and the six sevenths it excludes are every language that is not English.

Sources