Voices

Puckie can speak with Apple's voices, with a voice model you run yourself, or through ElevenLabs. If a voice service stops answering, Puckie falls back to the Mac's voice rather than going quiet.

Better Apple voices (free)

The voices that come with macOS sound robotic. The Enhanced and Premium ones sound far more natural.

  1. Open System Settings → Accessibility → Spoken Content.
  2. Next to System voice, click the ⓘ button (Manage Voices).
  3. Download a voice marked Premium or Enhanced, for example Ava or Zoe.
  4. In Puck: Settings… → Voice → This Mac and choose it. Click Preview to hear it.

A voice model on your Mac

Run an open voice model like Kokoro yourself. It's private and sounds natural.

Easiest: Kokoro in Docker

With Docker Desktop installed, run this once in Terminal:

docker run -d --restart unless-stopped -p 8880:8880 ghcr.io/remsky/kokoro-fastapi-cpu:latest

In Puck: Settings… → Voice → Voice server, click Kokoro under Quick fill, then Find voices and choose one. Preview, then Save.

Without Docker: mlx-audio (Apple silicon)

pip install "mlx-audio[server]" "misaki[en]"
python -m spacy download en_core_web_sm
mlx_audio.server --port 8000

In Puck, click mlx-audio under Quick fill. The first sentence takes about a minute while the model downloads; after that, about half a second each.

OpenAI voices

Voice server → Quick fill OpenAI, paste your key from platform.openai.com, and pick a voice.

ElevenLabs

  1. Get an API key at elevenlabs.io.
  2. Settings… → Voice → ElevenLabs, paste the key, click Find voices and choose one.
  3. Preview, then Save.
With OpenAI or ElevenLabs, the words Puckie says are sent to them to be spoken.