Skip to content
Live
Ollama Blog·· 22 days agoFeatured62

Speech models in Ollama

Speech models in Ollama

Brief overview

Ollama adds text-to-speech capability, the first integrated speech model is the small TTS model family Phonon from Gradium, currently supporting macOS, Windows, and Linux with support for Linux to be released soon.

Why it matters

The original text provides throughput comparison, accuracy, and OpenAI-compatible interface after Ollama integrates speech models, which can be used to judge the local TTS implementation method.

Same story1 other outlet also reported this

  1. Ollama Blog··First·Reading now

    Ollama launches speech model, premiering Phonon text-to-speech

  2. ITHome · AI··+3 d

    Ollama Mac version adds offline AI voice generation: data stays within the door, speed up to 35% faster than the original solution.

    Adds:Phonon voice generation is faster by 35% on MacBook Pro with M5 Max chip.

In order of publication · later reports are added as they appear · Compared by AI from each outlet’s title and summary

Article

Ollama can now turn text into speech. The first speech model is Phonon, a family of small, state-of-the-art text-to-speech models from Gradium. Speech models are now available for macOS, with Windows and Linux support coming soon.

ollama run phonon "Hello from Ollama."

    Unedited output from Ollama 0.40.11 on a MacBook Pro with M5 Max.

    Performance on Apple Silicon

    On Apple Silicon, Ollama is accelerated by MLX, Apple’s machine learning framework, for state-of-the-art throughput. On a MacBook Pro with M5 Max, Ollama was 35% faster than the next fastest engine, Gradium’s own runtime.

    Throughput

    Times faster than real time

    Measured on a MacBook Pro with M5 Max, generating 45 seconds of speech. Median of 10 runs. Gradium's own runtime, ptts, uses 8-bit weights on the CPU, fp16 on the Neural Engine and f32 on the GPU; Ollama runs the model in bf16.

    Ollama’s implementation is just as accurate, matching the word error rate of the reference implementation in Hugging Face Transformers:

    Accuracy

    Word error rate

    Lower is better. 200 sentences from the Seed-TTS English test set, transcribed with Whisper large-v3.

    Voices

    Choose a voice with --voice, or voice in the API:

    ollama run phonon --voice Hadley "Hello from Ollama."
    

    The voices come from Gradium’s voice catalog. ollama show phonon lists them all.

    Languages

    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

    phonon is released under Apache 2.0. The 40M models are released under CC BY-NC 4.0, which limits them to noncommercial use.

    Pipe a chat model’s reply into Phonon. Text is spoken as it arrives, so the reply starts playing after its first sentence:

    ollama run gemma4 --hidethinking "Tell me a fun fact about owls in two sentences." | ollama run phonon
    

    Run ollama run phonon with no text to type lines at a prompt, or redirect the output to save a WAV file:

    ollama run phonon "Save this to a file." > speech.wav
    

    API

    Phonon works with the OpenAI-compatible /v1/audio/speech endpoint, so 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

    The response streams while the audio is generated, so it can play right away:

    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 is 24 kHz mono, returned as WAV by default or as raw 16-bit samples with "response_format": "pcm".

    Get started

    Speech models run on Apple Silicon Macs. Download Ollama 0.40.11 or later, then pull Phonon:

    ollama pull phonon
    

    For more information, see:

    Source: Ollama Blog · ollama.com