Ollama can speak now. Check the license before sending it

Ollama’s v0.40.11 release on October 24th adds text-to-speech, so a model running on your own machine can read its responses aloud instead of printing them. It also introduces d3, a family of decision models that score and classify instead of chat.

Both are useful. One of them has a license condition that is easy to miss and very important if you are building something that you want to sell.

How does speech work?

The speech model is phononbuilt by Gradium. You draw it like any other model:

ollama pull phonon
ollama run phonon "Hello from Ollama."

Audio starts playing while the rest is still being generated. Pipe the output of a chat model into it and playback will start after the first sentence or two instead of waiting for the full response. The streaming behavior is the practical difference between this and most local TTS setups.

For applicationsit exposes an OpenAI-compatible endpoint POST http://localhost:11434/v1/audio/speechtake model, input, voice in the response_format. Anything already written against OpenAI’s Speech API can be shown on localhost with the API key on ollama.

Limits: 4,096 characters per request, with ollama run divide longer text into paragraph and sentence breaks. Output is WAV (16-bit mono, 24 kHz) or raw PCM. Named English voices also Zoey, Easton and Freya, and ollama show phonon lists what a particular checkpoint has.

Two behaviors to know before connecting it to a chat model. Markdown markers are skipped, so headings, asterisks, and bullets are not read. Prices, symbols, email addresses and URLs go the other way and are spelled out in full. Dates also read better written as “October 23” than “10/23.”

The license is divided

This is the part to read carefully.

TagLanguageparametersLicense
phonon, phonon:31m-enEnglish31 MApache 2.0
phonon:40m-enEnglish40 mCC BY-NC 4.0
phonon:40m-fr / de / es / ptFrench, German, Spanish, Portuguese40 mCC BY-NC 4.0
phonon:40m-multilingualAll five40 mCC BY-NC 4.0

The standard phonon tag is the 31M English checkpoint under Apache 2.0 that you can use commercially.

All 40M checkpoints, including all four non-English languages ​​and the multilingual build, are CC BY-NC 4.0. The NC stands for NonCommercial, and Ollama’s own model page clearly states that it limits use to non-commercial purposes.

So the moment you need French, German, Spanish or Portuguese, you are on a license that prohibits the result. There is no commercial route for non-English phonon through Ollama today. The NC suffix is ​​easy to read, and reading it as a permission rather than a restriction is the mistake that will cost you money later.

Download sizes run from 104MB to 148MB. Ollama reports loaded memory on an Apple M5 Max at around 121MB for the 31M model and 141MB for each 40M variant.

d3, the other half

The second addition is d 3from the vLLM Semantic Router. It is not a chat model and does not write conversational responses. You give it options and criteria; there is a choice back with scores and probabilities associated with it.

The intended form is routing. A support system gets “my card was charged twice”, d3 decides if it’s billing, refund or technical, and the ticket goes into the correct queue. Document triage, case prioritization and check if an image meets some criteria are the other used Ollama lists.

ollama run d3 "A customer says their card was charged twice." --ask "Is this a billing issue?"

It comes in four sizes:

SizeDownloadApple silicon memoryUsed
2B~3.1GB8 mbgFast routing
4B~5.6GB16 GBRecommended start
9B~10GB32 GBMore difficult decisions
27B~29GB64GBHighest accuracy

The publisher’s own quality numbers, from the Jev Decision Index and measured on the original checkpoints rather than Ollama’s quantized packages, run from 38.9 on text for the 2B to 66.3 for the 27B, and from 54.7 to 71.3 on vision.

Inputs can be text, structured JSON-style state, or a still image. Video is not supported, and neither box nor track decisions.

Two things to check before you build on it. Ollama’s model page lists a 256K context in its table and a 4,096-token context in its limits section without reconciling the two. And the scores they return are model outputs, not real-world probabilities, so the site advises testing against your own examples before setting a threshold that triggers an action. d3 itself is Apache 2.0.

What is missing

Phonon on Ollama required Apple Silicon. The release notes describe speech as a macOS feature. Ollama’s documentation lists the playback commands for Linux (paplay, pw-play, aplay or ffplay) and Windows PowerShell, suggesting the foundation is there, but no timeline for a platform has been published.

Language coverage is English, French, German, Spanish and Portuguese. There are no Indian languages, no Chinese, no Japanese. For anyone building Hindi, Tamil or Bengali voice output locally, this release does nothing, and the multilingual checkpoint wouldn’t help even if it did, due to licensing.

Both models require Ollama 0.40.9 or later.

Get it running

Update Ollama, then:

ollama pull phonon
ollama pull d3:4b

The 4B d3 is the one Ollama recommends starting with, and it wants a 16GB machine. Phonon is small enough that memory is not a consideration.

If you’re adding speech to something you plan to pay for, stick to the default phonon Tag and read the license on something else before you download it. That is the single most expensive detail in this release to get wrong.

Leave a Comment