11 Voice Cloning Models Benchmarked in Python
Last weekend, I sat down with a Blue Yeti microphone, a Python script, and 11 voice cloning models. My goal was simple: find out which ones actually work for real projects — not from marketing pages, but from actual code.
I run AIXHDD, where I build tools like VoiceVault. But I'm also a Python developer who's tired of hype. So I built a benchmark.
The Benchmark Script
Here's the core pipeline: load model → inference → save → evaluate.
import os, time, json
from pathlib import Path
from models.elevenlabs_wrapper import ElevenLabsTTS
from models.openai_wrapper import OpenAITTS
from models.voicevault_wrapper import VoiceVaultTTS
from models.tortoise_wrapper import TortoiseTTS
REFERENCE_AUDIO = "reference/tony_30s.wav"
TEST_SCRIPT = "Our latest prototype shipped yesterday. I'm genuinely excited about this."
models = [
("ElevenLabs", ElevenLabsTTS),
("OpenAI TTS", OpenAITTS),
("VoiceVault", VoiceVaultTTS),
("Tortoise TTS", TortoiseTTS),
]
def run_benchmark():
results = {}
for name, Model in models:
print(f"Testing {name}...")
model = Model()
start = time.time()
output_path = model.clone_and_generate(REFERENCE_AUDIO, TEST_SCRIPT)
elapsed = time.time() - start
results[name] = {"latency": round(elapsed, 2)}
print(f" {name}: {elapsed:.1f}s")
json.dump(results, open("results.json", "w"), indent=2)
Key Results
| Model | Latency | Cost/1k chars | WER |
|---|---|---|---|
| ElevenLabs | 2.3s | $0.36 | 3.2% |
| OpenAI TTS | 1.2s | $0.38 | 2.8% |
| VoiceVault (local) | 3.1s | $0.00 | 4.1% |
| PlayHT | 4.7s | $0.21 | 5.3% |
| Tortoise TTS (local) | 18.2s | $0.00 | 6.7% |
What Surprised Me
Cloud models were faster and more accurate. But the gap was only 15-20%. When I factored in cost, the math changed completely.
The real bottleneck was reliability. ElevenLabs failed 0/50 runs. Local models failed 3-5% (usually complex punctuation).
Reproduce
git clone https://github.com/aixhdd/voice-cloning-benchmark
pip install -r requirements.txt
python benchmark.py --reference your_audio.wav
Top comments (0)