Text-to-Speech Synthesis
TTS Options
| Model/Service | Type | Quality | Speed |
|---|---|---|---|
| OpenAI TTS | API | Excellent | Fast |
| ElevenLabs | API | Excellent | Fast |
| Coqui TTS | Open source | Good | Medium |
| Bark | Open source | Excellent | Slow |
| XTTS | Open source | Excellent | Medium |
OpenAI TTS
from openai import OpenAI
client = OpenAI()
response = client.audio.speech.create(
model="tts-1-hd",
voice="nova", # alloy, echo, fable, onyx, nova, shimmer
input="Hello, this is a test of text to speech."
)
response.stream_to_file("output.mp3")
ElevenLabs
from elevenlabs import generate, play
audio = generate(
text="Hello world!",
voice="Rachel",
model="eleven_multilingual_v2"
)
play(audio)
Open Source: Coqui TTS
from TTS.api import TTS
tts = TTS("tts_models/multilingual/multi-dataset/xtts_v2")
# Generate with voice cloning
tts.tts_to_file(
text="This is using voice cloning.",
speaker_wav="reference_voice.wav",
language="en",
file_path="output.wav"
)
Voice Cloning Clone a voice from audio sample:
# XTTS voice cloning
tts = TTS("tts_models/multilingual/multi-dataset/xtts_v2")
audio = tts.tts(
text="Hello in the cloned voice.",
speaker_wav="sample_voice.wav", # 6+ second sample
language="en"
)
Streaming TTS
from openai import OpenAI
client = OpenAI()
with client.audio.speech.with_streaming_response.create(
model="tts-1",
voice="nova",
input="Streaming audio sentence by sentence..."
) as response:
response.stream_to_file("streamed.mp3")
Use Cases
| Use Case | Requirements |
|---|---|
| Audiobooks | Natural prosody, long-form |
| Voice assistants | Low latency, streaming |
| Accessibility | Clear articulation |
| Content creation | Voice variety, cloning |
| Podcasts | High quality, natural |
Considerations
| Factor | Consideration |
|---|---|
| Latency | API faster, local more consistent |
| Quality | HD models sound more natural |
| Cost | API per-character, local fixed |
| Voice variety | APIs have more options |
| Privacy | Local for sensitive content |
Best Practices
- Use SSML for pronunciation control where supported
- Cache generated audio for repeated content
- Consider streaming for real-time applications
- Test voices for specific content types
ttsvoice synthesisspeech
Explore 500+ Semiconductor & AI Topics
From EUV lithography to CUDA optimization — search the full knowledge base or chat with our AI assistant.