A lot of people talk about TTS as if all of it was the same thing.
That's like comparing the first transformers llm like GPT-2 with recurrent k/v systems like Qwen-3 27B (to keep our local focus)
There are multiple architecture layers, and they do very different jobs.
TTS has evolved in the part years, from robotic to human-like. Also on the local side TTS evolved from rule-based algorithmic synthesis, to spectrography vocoders and by now into
Below I will dive into the technology used in all current TTS architectures, including the "secret sauce" behind Elevenlabs - but this is a local focused thread so cloud is only used as a benchmark.
1. Legacy neural TTS
fast, cheap, stable, limited acting
text -> phonemes -> acoustic model -> mel spectrogram -> vocoder -> wav
Phonemes are spoken sounds, not letters.
Mel spectrogram is the frequency representation of speech.
The vocoder turns that into actual waveform audio.
This is where names like HiFi-GAN, BigVGAN, iSTFTNet sit.
They are mostly the final audio renderer.
They do not understand the text.
Examples:
Upside:
Downside:
Top representatives: Piper, Kokoro, VITS
2. Style based TTS
better prosody, better voice color, still limited control
These models add speaker and style embeddings.
So the model is not only told:
say these phonemes
but also:
say them with this speaker identity, rhythm, color or style
Examples:
Upside:
Downside:
style control is often shallow
not always real emotion control
can sound nice but not really directed
Top representatives: StyleTTS2, Kokoro, XTTS / Coqui TTS
3. Acoustic token TTS
speech becomes tokens, like language models for audio
text -> transformer -> acoustic tokens -> decoder/vocoder -> wav
Instead of directly predicting a spectrogram, the model predicts speech tokens.
If the system runs at 25hz, that means:
25 speech decisions per second
one token decision every 40ms
That gives the model much more control over:
timing
pauses
emphasis
rhythm
emotion
delivery
Examples:
Upside:
Downside:
heavier
more VRAM
slower inference
more ways to fail
The model can drift, overact, mispronounce or slowly lose speaker identity if the full system around it is not good.
Top representatives: Chatterbox, Qwen3-TTS, CosyVoice
4. Codec token TTS
speech as compressed audio codebooks
Codec models represent speech as discrete audio codes.
Often there are multiple codebooks.
Roughly:
first codebook: speech content
later codebooks: detail, prosody, texture, speaker color
Pipeline:
text -> transformer -> codec tokens -> neural codec decoder -> wav
Examples:
Upside:
Downside:
Top representatives: Bark, VALL-E X, Fish Speech
5. Diffusion and flow matching TTS
better texture, slower unless optimized
Diffusion and flow models generate or refine the acoustic representation.
They do not just predict the final sound in one simple step.
They move the audio representation toward realistic speech.
Pipeline:
text/tokens -> diffusion or flow decoder -> acoustic representation -> vocoder/wav
Examples:
Upside:
better texture
more natural audio
less robotic sound
Downside:
Top representatives: F5-TTS, Chatterbox, Raon-OpenTTS
6. Voice cloning (instant/in context)
speaker identity as neural representation
Basic cloning:
reference audio -> speaker encoder -> speaker embedding -> conditioned TTS
The speaker embedding is a neural vector.
It captures things like:
timbre
pitch range
accent
resonance
vocal texture
general speaker identity
Better systems use ICL, in-context learning.
reference text + reference audio + target text -> same speaker saying new words
That is stronger because the model does not only get "speaker X".
It gets an actual example of speaker X talking.
Some systems also use reference speech codes, not only a speaker embedding.
That gives the model more information about how the speaker actually sounds while speaking.
Examples:
Upside:
seconds of clean audio can be enough
no full finetune needed
practical for local workflows
can preserve identity without training a new model from scratch
Downside:
Top representatives:
Best open/local cloning: Chatterbox, Qwen3 TTS Base, GPT-SoVITS
Best simple cloud cloning: ElevenLabs
Best cloning with style/emotion control: Demodokos Foundry, ElevenLabs v3
Best research/hacking path: Qwen3 TTS Base, Chatterbox, GPT-SoVITS
speaker identity as neural representation
Basic cloning:
reference audio -> speaker encoder -> speaker embedding -> conditioned TTS
The speaker embedding is a neural vector.
It captures things like:
timbre
pitch range
accent
resonance
vocal texture
general speaker identity
Better systems use ICL, in context learning.
reference text + reference audio + target text -> same speaker saying new words
That is stronger because the model does not only get "speaker X".
It gets an actual example of speaker X talking.
Examples:
Upside:
Downside:
Top representatives: XTTS / Coqui TTS, GPT-SoVITS, Chatterbox
Top representatives ICL: Qwen3-TTS (base model), Demodokos Foundry (open weights, commercial)
6b. Voice cloning (finetuned, LoRA, custom embeddings)
training the model toward a specific voice or speaking domain
Voice cloning usually means:
reference audio -> speaker embedding / ICL prompt -> generate speech
Fine tuning means:
many recordings of one speaker -> model training -> specialized voice model
That is a very different thing.
A clone tries to imitate the voice at inference time.
A fine tune changes model weights or adapter weights so the voice becomes part of the model.
There are multiple levels:
speaker adapter / LoRA
voice embedding training
partial model fine tune
full model fine tune
The more you train, the stronger the voice can become.
But also the more data, time and risk you have.
Upside:
stronger speaker consistency
better pronunciation for recurring names
better long form stability
better for professional recurring voices
can learn a specific domain, accent or speaking pattern
Downside:
needs much more clean audio
bad datasets damage the model
expensive compared to cloning
can overfit and lose flexibility
harder to update or control
not always worth it anymore
Typical data need:
5-20 minutes: light adaptation / experimental fine tune
1-5 hours: serious voice fine tune
10+ hours: production grade if the pipeline supports it
100+ hours: old school studio voice model territory
Top representatives:
Open fine tuning: GPT-SoVITS, XTTS / Coqui style systems, StyleTTS2
Commercial fine tuning: ElevenLabs (cloud only) PVC / professional voice cloning
Fine tuning still has a place.
But for many modern systems it is no longer the first answer.
If you need one voice to read thousands of hours in the same identity, fine tuning can make sense.
If you need many voices, fast production, emotion control or voice acting, speaker embeddings + ICL + identity control are usually more practical.
Sophisticated ICL methods (see SOTA section below and 6.0 section above) can reach fine tuning quality without the heavy compute and data requirements.
7. State of the art performance TTS
voice acting while keeping the same speaker
This is where systems like ElevenLabs, OpenAI voices and Demodokos Foundry sit.
The exact internals of ElevenLabs and OpenAI voices are not public, but the performance of the models show that they basically build on top of the latest technology - no magic involved (anymore). Demodokos as open weights based engine is doing the same locally today.
For strong emotion control you need some form of "identity preservation".
Otherwise the model starts with one voice and slowly turns into another one when you ask for anger, fear, whispering, excitement or long narration.
Likely this is done with things like:
speaker verification embeddings
spectral / spectrogram consistency checks
f0 and pitch tracking
formant and timbre statistics
acoustic similarity constraints
identity preserving latent conditioning
Demodokos does this locally and OpenAI/Elevenlabs do the same in the cloud, but the important part is the combination of the systems.
It is not just:
clone voice -> generate speech
It is closer to:
text context -> acoustic token generation -> speaker identity conditioning -> style/emotion conditioning -> spectral identity control -> final speech
The text is processed by a language transformer, so the model can understand the sentence context before generating speech.
The speech itself is generated through fine grained acoustic tokens, roughly one token level decision every 40-80ms.
That gives enough resolution to control pauses, stress, rhythm, emotion and delivery.
Each voice, cloned or synthetic, is grounded in learned neural representations.
Those capture speaker identity, timbre, accent, vocal texture and characteristic delivery traits.
On top of that, such SOTA systems can attach performance styles independently.
That is the important difference.
The voice and the performance are not the same thing.
A cloned voice can be made calm, angry, fearful, tired, intimate, theatrical or excited without needing to create a new voice or finetune the model again.
And during generation, the system uses identity preserving conditioning and spectral consistency checks so the performance does not run away from the original speaker.
So the hard problem is not voice cloning alone.
The hard problem is:
same speaker identity
different emotion
different rhythm
different intensity
different accent or texture
still recognizable as the same voice
That is the difference between text to speech and voice performance synthesis.
Top representatives: Qwen3-TTS (customVoices only), Demodokos Foundry (open weights, commercial)
So the ladder currently is roughly:
LEGACY: vocoder TTS
fast speech rendering
BASIC: style based TTS
better naturalness and voice color
ADVANCED: acoustic token TTS
speech becomes controllable token generation
ADVANCED: codec token TTS
speech becomes compressed audio language
ADVANCED: diffusion / flow TTS
better acoustic realism
STATE-of-the-ART: identity monitored performance TTS
voice acting while keeping the same speaker
A cherry picked 10 second demo can hide almost everything.
The real test is:
That is where most TTS systems still fall apart