CLI for text-to-speech using system TTS providers. Use when working on the `so-you-say` binary, adding CLI features, debugging TTS from command line, or testing voice/provider configurations. For library-level TTS work, use the biscuit-speaks skill instead.
so-you-say is a CLI wrapper around biscuit-speaks that provides:
Binary Name: so-you-say (package: biscuit-speaks-cli, located at biscuit-speaks/cli)
# Basic usage
so-you-say "Hello, world!"
echo "Hello" | so-you-say
# Voice selection
so-you-say --voice Samantha "Hello"
so-you-say --gender female "Hello"
so-you-say --lang fr "Bonjour"
# Provider control
so-you-say --list-providers
so-you-say --list-voices --provider say
so-you-say --provider elevenlabs "Premium voice"
# Audio controls
so-you-say --loud "Announcement!"
so-you-say --soft "Whisper"
so-you-say --fast "Quick message"
so-you-say --slow "Deliberate speech"
# Metadata and cache
so-you-say --meta "Show what was used"
so-you-say --refresh-cache
| Argument | Short | Description |
|---|---|---|
--list-providers | List available TTS providers | |
--list-voices | List voices for a provider (prompts if no --provider) | |
--provider <name> | Use specific provider (say, espeak, elevenlabs, etc.) | |
--voice <name> | Select voice by name (case-insensitive) | |
--gender <m|f> | -g | Prefer male or female voice |
--lang <code> | -l | Language code (en, fr, de, etc.) |
--loud | Maximum volume | |
--soft | Reduced volume | |
--fast | Faster speech rate | |
--slow | Slower speech rate | |
--meta | Display voice/provider metadata after speaking | |
--refresh-cache | Clear and repopulate voice cache |
The CLI performs intelligent voice name resolution:
--voice Thorsten matches de_DE-thorsten-high--voice heart matches Heart--lang when same name exists in multiple languagesdarkmatter-lib~/.biscuit-speaks-cache.json