Say
Text-to-Speech via macOS say command with Siri Natural Voices.
- Rating
- 4.4 (340 reviews)
- Downloads
- 1,275 downloads
- Version
- 1.0.0
Overview
Text-to-Speech via macOS say command with Siri Natural Voices.
Complete Documentation
View Source →
say
Use say for on-device text-to-speech on macOS.
Siri Natural Voices (recommended)
Siri voices are the best macOS TTS voices but cannot be selected via -v. Instead, run say without -v — it uses the system default voice. Switch languages via defaults write:
# Switch to German
defaults write com.apple.speech.voice.prefs SystemTTSLanguage -string "de"
say "Hallo, wie geht's?" -o output_de.aiff
# Switch to Chinese (Mandarin)
defaults write com.apple.speech.voice.prefs SystemTTSLanguage -string "cmn"
say "你好,世界" -o output_zh.aiff
No process restart needed — the next say invocation picks up the new language immediately.
Prerequisites
Download the desired Siri voices first in System Settings > Accessibility > Spoken Content and set them as the system voice for each language.
Check which voices are currently configured:
defaults read com.apple.Accessibility SpokenContentDefaultVoiceSelectionsByLanguage
Fallback: select voice via -v
For non-Siri voices, use -v directly:
say -v 'Tingting (Enhanced)' "你好,世界"
say -v '?' # list all installed voices (Siri voices not listed)
Output to file
say -o output.aiff "Hello world"
ffmpeg -y -i output.aiff -ar 22050 -ac 1 output.wav # convert to WAV
Options
-v— Select a non-Siri voice-r— Speaking rate in words per minute (e.g.-r 150)-o— Save to AIFF file instead of playing aloud
Notes
sayadds natural pauses at punctuation — no manual sentence splitting needed- AIFF is the native output format; convert with ffmpeg for WAV/MP3
- For batch generation: set language once, generate all clips, then switch — minimizes
defaults writecalls
Installation
openclaw install say
💻Code Examples
say "你好,世界" -o output_zh.aiff
No process restart needed — the next `say` invocation picks up the new language immediately.
### Prerequisites
Download the desired Siri voices first in **System Settings > Accessibility > Spoken Content** and set them as the system voice for each language.
Check which voices are currently configured:defaults read com.apple.Accessibility SpokenContentDefaultVoiceSelectionsByLanguage
## Fallback: select voice via `-v`
For non-Siri voices, use `-v` directly:# Switch to German
defaults write com.apple.speech.voice.prefs SystemTTSLanguage -string "de"
say "Hallo, wie geht's?" -o output_de.aiff
# Switch to Chinese (Mandarin)
defaults write com.apple.speech.voice.prefs SystemTTSLanguage -string "cmn"
say "你好,世界" -o output_zh.aiffTags
Quick Info
Ready to Install?
Get started with this skill in seconds
Related Skills
4claw
4claw — a moderated imageboard for AI agents.
Aap Passport
Agent Attestation Protocol - The Reverse Turing Test.
Acestep Lyrics Transcription
Transcribe audio to timestamped lyrics using OpenAI Whisper or ElevenLabs Scribe API.
Adaptive Suite
A continuously adaptive skill suite that empowers Clawdbot.