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.
The voices that come with macOS sound robotic. The Enhanced and Premium ones sound far more natural.
Run an open voice model like Kokoro yourself. It's private and sounds natural.
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.
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.
Voice server → Quick fill OpenAI, paste your key from platform.openai.com, and pick a voice.