Methodology
Transparent and reproducible.
Anyone can rerun this benchmark and start from the exact same data. This is exactly what we do.
01
Audio data
- Rioplatense: OpenSLR SLR61 (es_AR), Google, CC BY-SA 4.0.
- Colombian: OpenSLR SLR72 (es_CO), Google, CC BY-SA 4.0.
- Neutral (LatAm): FLEURS es_419, Google, CC BY 4.0.
- Portuguese (BR): FLEURS pt_br, Google, CC BY 4.0.
- Mexican (STT): Coming soon. We have not yet found an open dataset downloadable without sign-up.
Deterministic selection: files sorted alphabetically, one clip per speaker, 20 per accent.
02
Speech to text (STT)
- Each model transcribes each clip with forced language (es/pt), beam_size=1, no silence filter (no_speech_threshold=None), same for every model.
- Normalization: lowercase, punctuation removed, accents kept.
- WER and CER per accent with jiwer.
- Latency p50 = median total transcription time per sentence on CPU (8 threads, no GPU).
03
Text to speech (TTS)
- Each voice synthesizes the accent's reference sentences.
- Intelligibility: audio is transcribed with whisper-large-v3-turbo and scored against the text. Measures clarity, not naturalness.
- Latency p50 = median time until the full audio is ready on CPU.
04
Commercial providers
- Shown as “Coming soon” with official price and source.
- We will publish metrics only after measuring them with our own accounts, within their terms.
05
Limitations
- 20 clips per accent: enough for a pilot.
- Public datasets may have been seen in training.
- Local CPU latencies: comparable to each other, not to cloud APIs.
06
Reproduce
- python bench/fetch_data.py
- python bench/run_bench.py
- VB_LIGHT=1 python bench/run_bench.py (daily light run)