{"slug": "ollama-adds-local-text-to-speech-100x-faster-than-real-time-on-apple-silicon", "title": "Ollama adds local text-to-speech, 100x faster than real time on Apple Silicon", "summary": "Ollama released version 0.40.11 with local text-to-speech support, starting with Phonon, a family of small speech models from Gradium, available on macOS with Windows and Linux support coming soon. On a MacBook Pro with M5 Max, Ollama's MLX-accelerated implementation ran 35% faster than Gradium's own runtime while matching the reference Hugging Face Transformers implementation's word error rate, and the models are served through an OpenAI-compatible /v1/audio/speech endpoint. Phonon ships in English plus 40M-parameter French, German, Spanish, Portuguese and multilingual variants, with the base model under Apache 2.0 and the 40M models under CC BY-NC 4.0, which limits them to noncommercial use.", "body_md": "# Speech models in Ollama\n\n## October 24, 2026\n\nOllama can now turn text into speech. The first speech model is [Phonon](https://ollama.com/library/phonon), a family of small, state-of-the-art text-to-speech models from [Gradium](https://gradium.ai). Speech models are now available for macOS, with Windows and Linux support coming soon.\n\n```\nollama run phonon \"Hello from Ollama.\"\n```\n\n## Performance on Apple Silicon\n\nOn 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.\n\nOllama’s implementation is just as accurate, matching the word error rate of the reference implementation in Hugging Face Transformers:\n\n## Voices\n\nChoose a voice with `--voice`, or `voice` in the API:\n\n```\nollama run phonon --voice Hadley \"Hello from Ollama.\"\n```\n\nThe voices come from Gradium’s [voice catalog](https://huggingface.co/gradium/phonon-voices). `ollama show phonon` lists them all.\n\n## Languages\n\n| Model | Language | \n|---|---|\n| `phonon` | English | \n| `phonon:40m-fr` | French | \n| `phonon:40m-de` | German | \n| `phonon:40m-es` | Spanish | \n| `phonon:40m-pt` | Portuguese | \n| `phonon:40m-multilingual` | All five | \n\n`phonon` is released under Apache 2.0. The 40M models are released under CC BY-NC 4.0, which limits them to noncommercial use.\n\n## Read replies aloud\n\nPipe a chat model’s reply into Phonon. Text is spoken as it arrives, so the reply starts playing after its first sentence:\n\n```\nollama run gemma4 --hidethinking \"Tell me a fun fact about owls in two sentences.\" | ollama run phonon\n```\n\nRun `ollama run phonon` with no text to type lines at a prompt, or redirect the output to save a WAV file:\n\n```\nollama run phonon \"Save this to a file.\" > speech.wav\n```\n\n## API\n\nPhonon works with the OpenAI-compatible `/v1/audio/speech` endpoint, so existing code that uses the OpenAI SDK only needs a new base URL.\n\n```\ncurl http://localhost:11434/v1/audio/speech \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"model\": \"phonon\",\n    \"voice\": \"Zoey\",\n    \"input\": \"Hello from Ollama.\"\n  }' --output speech.wav\npython\nfrom openai import OpenAI\n\nclient = OpenAI(base_url=\"http://localhost:11434/v1\", api_key=\"ollama\")\n\nwith client.audio.speech.with_streaming_response.create(\n    model=\"phonon\",\n    voice=\"Zoey\",\n    input=\"Hello from Ollama.\",\n    response_format=\"wav\",\n) as response:\n    response.stream_to_file(\"speech.wav\")\npython\nimport fs from \"node:fs\"\nimport OpenAI from \"openai\"\n\nconst openai = new OpenAI({ baseURL: \"http://localhost:11434/v1\", apiKey: \"ollama\" })\n\nconst response = await openai.audio.speech.create({\n  model: \"phonon\",\n  voice: \"Zoey\",\n  input: \"Hello from Ollama.\",\n  response_format: \"wav\",\n})\nfs.writeFileSync(\"speech.wav\", Buffer.from(await response.arrayBuffer()))\n```\n\nThe response streams while the audio is generated, so it can play right away:\n\n```\ncurl -sN http://localhost:11434/v1/audio/speech \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"model\": \"phonon\", \"input\": \"Playback starts right away.\"}' \\\n  | ffplay -nodisp -autoexit -loglevel error -\n```\n\nAudio is 24 kHz mono, returned as WAV by default or as raw 16-bit samples with `\"response_format\": \"pcm\"`.\n\n## Get started\n\nSpeech models run on Apple Silicon Macs. [Download Ollama](https://ollama.com/download) 0.40.11 or later, then pull Phonon:\n\n```\nollama pull phonon\n```\n\nFor more information, see:", "url": "https://wpnews.pro/news/ollama-adds-local-text-to-speech-100x-faster-than-real-time-on-apple-silicon", "canonical_source": "https://ollama.com/blog/speech-models", "published_at": "2026-10-26 09:34:16+00:00", "updated_at": "2026-10-26 09:46:57.389441+00:00", "lang": "en", "topics": ["artificial-intelligence", "ai-tools", "ai-products", "developer-tools"], "entities": ["Ollama", "Phonon", "Gradium", "Apple", "MLX", "Hugging Face Transformers", "MacBook Pro M5 Max", "OpenAI"], "also_reported_by": [], "alternates": {"html": "https://wpnews.pro/news/ollama-adds-local-text-to-speech-100x-faster-than-real-time-on-apple-silicon", "markdown": "https://wpnews.pro/news/ollama-adds-local-text-to-speech-100x-faster-than-real-time-on-apple-silicon.md", "text": "https://wpnews.pro/news/ollama-adds-local-text-to-speech-100x-faster-than-real-time-on-apple-silicon.txt", "jsonld": "https://wpnews.pro/news/ollama-adds-local-text-to-speech-100x-faster-than-real-time-on-apple-silicon.jsonld"}}