A laptop displays an AI voice assistant routing spoken requests to different services, while another laptop shows a muted microphone.
Ollama 0.40.11 can now read a model's answers aloud, and it adds a family of decision models. Both additions are useful. For Windows readers there is a catch: the speech half doesn't run on Windows yet. For anyone planning to sell what they build, the bigger catch is a licence split.

Ollama's Mac app now supports text-to-speech generation, with Windows and Linux support coming soon. Ollama itself runs local models on Macs, and it is also available for Windows and Linux. That distinction matters below.

A laptop displays an AI voice assistant routing spoken requests to different services, while another laptop shows a muted microphone. What shipped in 0.40.11​

The release landed on October 24. Ollama's notes cover two things:

  • Speech on macOS. ollama run can play text, or a chat model's reply, aloud as the audio is generated. Apps can stream audio through an OpenAI-compatible /v1/audio/speech endpoint.
  • d3 decision models. These bring vLLM Semantic Router's models to Ollama in 2B, 4B, 9B and 27B sizes. You give a model text, structured state or an image. It classifies, answers yes or no, or scores options with probabilities.

Phonon: local text-to-speech​

The speech model is Phonon, from Gradium. It is a family of small text-to-speech models. The basic flow is two commands:

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

Ollama's blog says you can pipe a chat model's reply into Phonon. The text is spoken as it arrives, so playback starts after the first sentence. Running ollama run phonon with no text lets you type lines at a prompt. Redirecting the output saves a WAV file. That also works on servers without speakers.

The API​

For developers, the endpoint follows OpenAI's speech API shape. Ollama says existing OpenAI SDK code only needs a new base URL. Its Python example points the client at [url]http://localhost:11434/v1[/url] with the API key set to ollama.

  • Requests take a model, input text, a voice and a response format.
  • The response streams while audio is generated.
  • Audio is 24 kHz mono. It is WAV by default, or raw 16-bit samples with "response_format": "pcm".
  • Named English voices include Zoey, Easton and Freya. ollama show phonon lists what is installed.
  • Unsupported options such as speed or instructions return a 400 error instead of being quietly ignored. That claim comes from a secondary news writeup.

The source report gives a 4,096-character limit per request, with ollama run splitting longer text. One secondary writeup repeats that figure. A community issue tracker for a .NET client also cites it. I couldn't confirm it against Ollama's official pages, so treat it as reported rather than documented.

Cleaning text before you speak it​

Ollama's model page warns that formatting marks such as Markdown headings may be read aloud. The source report says the opposite: that Markdown markers are skipped. The two accounts conflict. If you pipe chat output into Phonon, strip the Markdown first or test with a sample. Prices, symbols, emails and URLs are spelled out, and numeric dates are read as written, so the docs suggest writing dates out in words.

The licence split​

This is the part to read before you build anything you plan to sell. Ollama's model page says the licence depends on the checkpoint:

TagLanguageSizeLicence
phonon (also phonon:31m-en, phonon:en)English31MApache 2.0
phonon:40m-enEnglish40MCC BY-NC 4.0
phonon:40m-fr, -de, -es, -ptFrench, German, Spanish, Portuguese40MCC BY-NC 4.0
phonon:40m-multilingualAll five40MCC BY-NC 4.0

Ollama states that CC BY-NC 4.0 limits use to noncommercial purposes. The practical result is that the default English model is the only Phonon checkpoint Ollama lists as commercially usable. Every non-English option, and the 40M English one, is noncommercial. Check the licence on the exact tag before you ship.

This is a reading of the published licence terms, not legal advice. A lawyer should look at any borderline case, such as internal tools or free-but-monetised apps.

Sizes and memory​

The library page lists downloads from 104 MB to 148 MB. On an Apple M5 Max, Ollama reports loaded memory of 121 MB for the 31M English model and 141 MB for each 40M variant. Download size and loaded memory are different measures. Either way, memory is not a concern for this model.

Ollama also reports that Phonon ran 35% faster than Gradium's own runtime on an M5 Max MacBook Pro. One writeup notes this is Ollama's own benchmark rather than an independent one.

The Windows angle​

Speech models need Apple Silicon for now. Ollama's blog says speech models run on Apple Silicon Macs, and the model page says the packages require Apple Silicon and Ollama 0.40.9 or later.

A developer who tried it reported the practical result on Windows. Local Ollama 0.40.11 on Windows could not pull Phonon because MLX was unavailable. The same report says Windows and Linux server support remains pending upstream, with no promised date.

Ollama's documentation does list playback commands for Linux and Windows PowerShell. That is playback tooling, not support for running the model. Don't read it as a sign that Windows support is imminent.

There is one workaround for .NET developers. A community C# client for Microsoft.Extensions.AI can call a supported remote Mac, but local speech needs MLX. So a Windows app can use a Mac on the network as its speech server. That is a community project, not an Ollama feature.

d3: decisions, not chat​

d3 is the other half of the release. It does not write conversational answers. Ollama says you give it text, structured state or a still image and ask it to choose a category, answer yes or no, or rate something. It returns scores and probabilities for the options you provide. The listed uses are support routing, document triage, case prioritisation and checking whether an image meets a criterion.

Ollama's example routes a duplicate-charge complaint to billing, returns or technical support:

Code:
ollama run d3 "A customer says their card was charged twice." \
  --ask "Which team should handle this?" \
  --choice 'billing=Invoices and charges' \
  --choice 'returns=Refunds and replacements' \
  --choice 'technical=App errors'

Picking a size​

Ollama's figures are peak loaded model memory for its default MXFP8 packages on Apple Silicon at a 4,096-token context:

ModelBest fitTested systemLoaded memory
2BFast routing and classification8 GB3.62 GB
4B (default)General use16 GB5.63 GB
9BHarder decisions32 GB10.09 GB
27BHighest accuracy in the publisher's evaluation64 GB28.61 GB

Ollama says other supported systems select Q8_0 packages, where memory use differs. Download sizes run from about 3.1 GB for the 2B to about 29 GB for the 27B. The 4B is the recommended starting point on a 16 GB machine.

Quality numbers, with caveats​

The publisher reports Jev Decision Index 0.3.2 scores for the original checkpoints, not Ollama's quantised packages:

2B4B9B27B
Text index38.952.655.866.3
Vision index54.763.266.971.3

These are the publisher's own benchmark figures. They don't show how d3 will perform on your tickets or documents, and they don't describe the quantised builds you will actually run.

Things to check​

  • The context window is unclear. The model listing shows 256K, but the limits section says the packages use a 4,096-token context. Ollama doesn't reconcile the two. Test with your real input lengths.
  • Scores aren't calibrated. Ollama says scores and probabilities are model outputs, not guaranteed real-world frequencies. It advises testing on your own examples before setting thresholds, especially when an answer triggers an action.
  • Input limits. Video and Box/Track decisions are unavailable.
  • Licence. The d3 models are Apache 2.0, so there is no Phonon-style split.

Windows users should have more luck here than with speech. Ollama's blog doesn't tie d3 to Apple Silicon, and the model page describes Q8_0 packages for "other supported systems". I haven't verified a Windows run of d3, so test it before you commit.

Getting started​

  1. Update Ollama to 0.40.11 or later for speech. Both models need 0.40.9 or later, but the speech announcement recommends 0.40.11.
  2. On an Apple Silicon Mac, run ollama pull phonon, then ollama run phonon "Hello from Ollama.".
  3. For decisions, run ollama pull d3:4b on a 16 GB machine, or choose another size from the table above.
  4. For commercial work, stay on the default phonon tag and check the licence of any other tag first.
  5. For non-English speech, remember that every available checkpoint is noncommercial.

Language coverage is limited to English, French, German, Spanish and Portuguese. Ollama lists no Indian languages, Chinese or Japanese.

What this means​

Local speech with an OpenAI-shaped endpoint is a handy addition. A team can prototype a voice front end against localhost and keep the code portable. The licence split is the trap. A prototype built on a 40M multilingual checkpoint can't be shipped commercially without swapping the model or negotiating terms.

For Windows shops, the practical advice is to watch and wait. Phonon needs MLX today, and Ollama has given no date for Windows. d3 is the part you can plan around now. Test it on your own data before wiring it to anything that acts on its answers.

 

References

  1. Ollama Can Now Talk. Check the Licence Before You Ship It - H2S Media H2S Media 2026-10-27T06:11:33+00:00
  2. (Feature) Add Ollama Phonon text-to-speech provider · Issue #106 · elbruno/ElBruno.Speech · GitHub github.com
  3. phonon ollama.com