Available Voice Types
Neural Voices (ONNX/Piper)
High-quality neural voices that run on-device:| Voice ID | Language | Gender | Quality | Size |
|---|---|---|---|---|
piper-en-us-amy | English | Female | High | ~60 MB |
piper-en-us-danny | English | Male | High | ~60 MB |
piper-en-gb-alan | English | Male | High | ~60 MB |
piper-de-thorsten | German | Male | High | ~60 MB |
piper-es-mls | Spanish | Mixed | High | ~60 MB |
piper-fr-mls | French | Mixed | High | ~60 MB |
System Voices
Built-in iOS/macOS voices via AVSpeechSynthesizer:| Voice ID | Platform |
|---|---|
com.apple.ttsbundle.siri_female_en-US_compact | iOS/macOS |
com.apple.ttsbundle.siri_male_en-US_compact | iOS/macOS |
com.apple.ttsbundle.Samantha-compact | iOS/macOS |
com.apple.voice.enhanced.en-US.Samantha | macOS |
Loading Voices
Load a Neural Voice
List Available Voices
Check Current Voice
Unload Voice
Voice Selection
By Language
Voice Picker UI
Voice Comparison
Neural vs System Voices
| Feature | Neural (Piper) | System (AVSpeech) |
|---|---|---|
| Quality | Higher | Good |
| Latency | Slightly higher | Lower |
| Offline | Yes | Yes |
| Size | ~60 MB each | Built-in |
| Customization | Rate, pitch | Rate, pitch, volume |
| Languages | Limited selection | Many languages |
Quality Tiers
Custom Voice Configuration
Per-Voice Settings
Downloading Voices
Neural voices need to be downloaded before first use:Multi-Voice Support
Switch between voices for different speakers:Best Practices
Preload voices
Preload voices
Download and load voices at app startup or in onboarding to avoid delays.
Cache voice selection
Cache voice selection
Save user’s preferred voice to UserDefaults and restore on app launch.
Fallback strategy
Fallback strategy
Always have a fallback to system voices if neural voices fail to load.