Local voice cloning versus cloud TTS: the real trade-off
Cloud TTS is cheap, simple and ready to use; local cloning is free, controllable and private. Here is a measured comparison and when local deployment is actually worth it.
Start with the decision table
| Your situation | Cloud | Local |
|---|---|---|
| Under 100k characters a month | ✅ | |
| Batch generation needed | ✅ | |
| Sensitive content (internal training, unreleased product) | ✅ | |
| Only need stock voices | ✅ | |
| Need to clone a specific voice | ✅ | |
| No GPU | ✅ |
Cloud TTS wins on convenience. Local cloning wins on cost, control and privacy.
Cost
Mainstream cloud TTS runs about $0.015–$0.045 per 1,000 characters. At 500k characters a month that is $7.50–$22.50 monthly, $90–$270 a year.
Locally: a 3060 under continuous inference draws about 150 W. Roughly 30k characters per hour, so about $0.013 of electricity. The same 500k characters costs under $0.30.
The gap is a factor of roughly 30. The more you generate, the better local looks.
The real quality difference
Cloud and local use fundamentally different approaches:
- Big cloud vendors — in-house models, excellent naturalness, but usually cannot clone arbitrary voices for compliance reasons
- Local open source — few-shot cloning, 3–10 seconds of reference audio reproduces a voice
Concretely:
| Dimension | Cloud stock voices | Local cloning |
|---|---|---|
| Naturalness | Excellent | Good |
| Voice fidelity | N/A (no cloning) | High, given clean reference |
| Emotion control | Limited | Requires tuning |
| Multilingual | Usually strong | Model dependent |
The local weak spot is emotion and prosody. Open-source cloning models can read long sentences a little flat; you fix that with punctuation, segmentation and speed parameters.
The real barriers to local
Runtime dependencies
This is the biggest trap. These tools typically need Python + PyTorch + a pile of audio libraries. Pulling from PyPI and the PyTorch index from China often runs at tens of KB/s, which means an install that never finishes overnight.
My solution routes every dependency download through a self-hosted CDN proxy, so installation makes zero direct connections. That work was harder than the inference itself.
Disk footprint
- Runtime (CUDA build): ~9.5 GB
- Required models: ~3 GB
- Reserve at least 15 GB
VRAM
Requirements vary widely. Basic TTS fits in 4 GB; cloning models want 6 GB+.
A practical recommendation
Validate the need on cloud, then move local.
If you just need narration for a video, cloud takes five minutes. Only when all three of these are true is local worth it:
- Hours of audio per month
- A specific person’s voice is required
- Content cannot be uploaded
FAQ
- How much sample audio does cloning need?
- 3–10 seconds of clean speech to start. For good results, 30+ seconds, no background noise, single speaker.
- Is local cloning legal?
- Technically there is no restriction; legally it depends on whose voice. Cloning another person requires consent, and commercial use needs more care. Your own voice, or one you are licensed to use, is fine.
- Can I use the output commercially?
- Depends on the model's licence. Some open models forbid commercial use — check before shipping.
- How good a microphone do I need?
- Reference quality directly determines clone quality. A phone recording in a quiet room is usually enough; background noise noticeably degrades similarity.