Ollama Speech Models: Phonon Text-to-Speech in Ollama 0.40.11
TL;DR
Ollama now supports text-to-speech, and the first speech model it ships is Phonon, a family of small text-to-speech models from Gradium. The feature runs on macOS with Ollama 0.40.11 or later, is accelerated by Apple's MLX framework on Apple Silicon, and Ollama reports that its Phonon implementation is 35% faster than Gradium's own runtime on a MacBook Pro with M5 Max while matching the reference implementation's word error rate.
What Ollama announced
Ollama can now turn text into speech. The first speech model available in Ollama is Phonon, described by Ollama as a family of small, state-of-the-art text-to-speech models from Gradium.
Speech models are available for macOS at launch. Windows and Linux support is stated as coming soon.
The simplest invocation runs a text prompt through the model and produces spoken audio:
ollama run phonon "Hello from Ollama."
A specific voice is selected with the --voice flag:
ollama run phonon --voice Zoey "So I went through the whole thread. Short version? Everyone agrees, and nobody wants another meeting."
Ollama states the sample audio it published is unedited output from Ollama 0.40.11 on a MacBook Pro with M5 Max.
Performance on Apple Silicon
Ollama reports that its Phonon implementation is 35% faster than the next fastest engine, which is Gradium's own runtime, on a MacBook Pro with M5 Max.
The key technical claim is that Ollama is accelerated by MLX, Apple's machine learning framework, on Apple Silicon, which Ollama describes as delivering state-of-the-art throughput.
Measurement details as stated by Ollama:
- Hardware: MacBook Pro with M5 Max.
- Workload: generating 45 seconds of speech.
- Statistic: median of 10 runs.
- Reported metric: throughput expressed as times faster than real time.
- Baseline: Gradium's own runtime,
ptts, which uses 8-bit weights on the CPU, fp16 on the Neural Engine, and f32 on the GPU. - Ollama's configuration: the model runs in bf16.
Because the baseline runtime mixes precisions across CPU, Neural Engine, and GPU, the comparison is not a like-for-like numeric precision comparison; Ollama runs the model in a single bf16 configuration through MLX.
Accuracy: matching the reference implementation
Ollama states that its implementation is just as accurate as the reference implementation in Hugging Face Transformers, matching its word error rate.
Measurement details as stated by Ollama:
- Metric: word error rate (WER), where lower is better.
- Test set: 200 sentences from the Seed-TTS English test set.
- Transcription: Whisper large-v3.
This means the speed advantage on Apple Silicon is not presented as a trade-off against output quality on the stated test set.
Voices
Voices are selected with the --voice flag on the command line, or with the voice field in the API.
ollama run phonon --voice Hadley "Hello from Ollama."
The voices come from Gradium's voice catalog. Ollama's published samples list four voices with sample durations:
- Zoey, American, 0:06
- Easton, American, 0:04
- Freya, British, 0:04
- Hugh, British, 0:07
Running ollama show phonon lists all available voices.
Languages and licensing
Phonon ships as several model variants with different language coverage and different licenses.
| Model | Language |
|---|---|
phonon |
English |
phonon:40m-fr |
French |
phonon:40m-de |
German |
phonon:40m-es |
Spanish |
phonon:40m-pt |
Portuguese |
phonon:40m-multilingual |
All five |
Licensing differs between the base model and the 40M variants:
phononis released under Apache 2.0.- The 40M models are released under CC BY-NC 4.0, which limits them to noncommercial use.
Anyone planning to build a commercial product on the 40M language variants needs to account for the noncommercial restriction.
Streaming chat model output into speech
Phonon can be piped directly from a chat model, which makes voice output a composition of two existing Ollama commands rather than a separate application.
ollama run gemma4 --hidethinking "Tell me a fun fact about owls in two sentences." | ollama run phonon
Ollama states that text is spoken as it arrives, so the reply starts playing after its first sentence. This streaming behavior matters for perceived latency: the listener does not wait for the full generation to complete before hearing the beginning of the answer.
Phonon also runs interactively. Running ollama run phonon with no text opens a prompt where lines can be typed, and output can be redirected to save a WAV file:
ollama run phonon "Save this to a file." > speech.wav
API: OpenAI-compatible speech endpoint
Phonon works with the OpenAI-compatible /v1/audio/speech endpoint. According to Ollama, existing code that uses the OpenAI SDK only needs a new base URL.
curl http://localhost:11434/v1/audio/speech \
-H "Content-Type: application/json" \
-d '{
"model": "phonon",
"voice": "Zoey",
"input": "Hello from Ollama."
}' --output speech.wav
Ollama states that the response streams while the audio is generated, so it can play right away. The documented example pipes the curl response straight into a player:
curl -sN http://localhost:11434/v1/audio/speech \
-H "Content-Type: application/json" \
-d '{"model": "phonon", "input": "Playback starts right away."}' \
| ffplay -nodisp -autoexit -loglevel error -
Audio format details as stated by Ollama:
- Sample rate and channels: 24 kHz mono.
- Default container: WAV.
- Raw output: 16-bit samples when
"response_format": "pcm"is requested.
The -sN flags in the streaming example disable curl's progress meter and buffering so audio bytes flow to the player as they are produced.
Getting started and requirements
Speech models run on Apple Silicon Macs. Windows and Linux support is described as coming soon.
Steps to run Phonon locally:
- Download Ollama 0.40.11 or later.
- Pull the model:
ollama pull phonon
Additional documentation referenced by Ollama:
- Phonon model page: https://ollama.com/library/phonon
- Speech documentation: https://docs.ollama.com/capabilities/speech
- OpenAI compatibility: https://docs.ollama.com/api/openai-compatibility
- Gradium's voice catalog: https://huggingface.co/gradium/phonon-voices
Why this matters
Adding speech models to Ollama turns local model runners into local voice pipelines. Two properties are notable for builders:
- Local execution. Text-to-speech runs on the user's own Apple Silicon hardware through Ollama rather than a hosted speech API.
- Composability. Because Phonon reads stdin and writes audio to stdout, it can be chained with any chat model in the same CLI, and it can also be reached through an OpenAI-compatible HTTP endpoint that existing SDK code already knows how to call.
The caveats stated in the announcement are platform coverage (macOS only at launch) and licensing (the 40M multilingual variants are CC BY-NC 4.0 and therefore noncommercial, while the base English phonon model is Apache 2.0).
Sources
- OriginalSpeech models in Ollama