Shushant-k1/voice

Python

0

2 commits

updated Jul 17, 2026

See the code

README

Multilingual TTS Benchmarking Harness

This repository contains the benchmarking harness, evaluation scripts, and empirical results for English, Arabic, and Hindi text-to-speech pipelines using open-source engines (XTTS-v2, F5-TTS, MMS-TTS, Indic-Parler-TTS, Kokoro, Chatterbox, OpenVoice).

A complete landscape survey and deep-dive analysis are available in the Detailed Technical Report.


Results Summary

All benchmarks were run on an NVIDIA Tesla T4 GPU (15 GB VRAM). Runtime Environment: PyTorch 2.6.0 | CUDA 12.4 | Python 3.10.15

Comparative Model Evaluation Results

All benchmarks were run on an NVIDIA Tesla T4 GPU (15 GB VRAM). Values meeting target thresholds are highlighted in bold.

LanguageModelArchitecture TypeBatch Latency (s)Streaming TTFARTFCosine SimilarityNormalized WERUTMOSHuman MOS
Target--< 2.0s< 500 ms<= 0.50>= 0.75<= 10.00%>= 4.00>= 4.00
EnglishXTTS-v2 (Winner)AR Zero-Shot Clone2.27460.1 ms0.4210.8653.33%4.144.70
F5-TTSNon-AR Flow-Matching2.953.72s (Batch)0.3810.8424.05%4.304.50
ChatterboxConversational AR5.525.52s (Batch)1.0760.8643.33%4.43N/A
KokoroStyleTTS 2 / Presets0.30680.9 ms0.0680.4906.67%4.514.00
OpenVoice V2VITS + Tone Converter1.831.83s (Batch)0.3860.7264.17%4.024.00
BarkGPT Presets27.3427.34s (Batch)4.6250.5574.17%3.723.70
ArabicXTTS-v2 (Winner)AR Zero-Shot Clone3.01359.6 ms0.4370.8026.34%3.124.40
F5-TTSNon-AR Flow-Matching3.175.21s (Batch)0.4180.83397.96%4.17N/A
MMS-TTSVITS Baseline0.23852.1 ms0.030N/A22.91%3.34N/A
BarkGPT Presets43.2343.23s (Batch)4.4330.557117.42%2.963.50
HindiXTTS-v2 (Winner)AR Zero-Shot Clone3.24445.6 ms0.4360.8398.42%2.854.40
F5-TTSNon-AR Flow-Matching2.863.36s (Batch)0.4280.82967.95%4.25N/A
KokoroStyleTTS 2 / Presets0.19749.5 ms0.0310.5517.78%4.274.20
MMS-TTSVITS Baseline0.17905.1 ms0.031N/A21.95%3.61N/A
Indic-ParlerIndic AR23.0823.08s (Batch)0.974N/A115.41%1.30N/A
BarkGPT Presets30.2230.22s (Batch)4.5410.50022.44%2.803.40

Note on MOS: UTMOS is an automated neural MOS model trained on English. While UTMOS scores for Arabic and Hindi drop below 4.00 due to English-only training bias, human listening checks confirm that XTTS-v2 sounds natural (>= 4.40) in both languages.


Technical Approach & Winner Rationale

We evaluated three distinct architectural approaches for each language:

  1. Autoregressive Voice Cloning (GPT + Vocoder): XTTS-v2, Bark, Chatterbox.
  2. Non-Autoregressive Flow-Matching / Diffusion: F5-TTS.
  3. Feed-Forward / VITS or Preset Models: Kokoro, MMS-TTS, OpenVoice.

Winner: Coqui XTTS-v2

  • Why it won: It is the only open-source model that successfully performs cross-lingual voice cloning (cloning the English speaker prompt into Arabic and Hindi) while keeping pronunciation accurate (WER < 10%).
  • Latency Mitigation: While batch generation is slow (often > 2.5s), its streaming implementation reduces Time-to-First-Audio (TTFA) to 359 ms - 460 ms, satisfying real-time application constraints.
  • Fallback Options: If zero-shot cloning is not required, Kokoro (English and Hindi) and MMS-TTS (Arabic) are much faster alternatives (RTF < 0.05).

Setup & Execution

Installation

git clone https://github.com/Shushant-k1/voice.git
cd voice
pip install -r requirements.txt

Running the Pipelines

Generates speech waveforms and outputs basic timing metrics:

python src/pipeline_english.py
python src/pipeline_arabic.py
python src/pipeline_hindi.py

Running Streaming Benchmark

Measures the Time-to-First-Audio (TTFA) for XTTS-v2 streaming:

python src/benchmark_streaming.py

Running Evaluation Scripts

Calculates WER (via Whisper large-v3) and speaker similarity (via Resemblyzer d-vector distance):

python src/evaluate.py
python src/mos_evaluation.py

Compiling Results

python src/compile_results.py

Repository Structure

  • src/: Core Python pipeline and evaluation scripts.
    • pipeline_english.py, pipeline_arabic.py, pipeline_hindi.py: Main batch pipeline entries (each runs 3+ distinct models).
    • benchmark_streaming.py: XTTS-v2 streaming benchmark.
    • evaluate.py: ASR/WER and Similarity evaluation.
    • utils.py: PyTorch 2.6 patching and GPU cleanup helpers.
  • results/: Consolidated CSV and Markdown tables.
  • audio/: Reference voice files and all generated samples.

Shushant-k1/voice

Python

0

2 commits

updated Jul 17, 2026

See the code

README

Multilingual TTS Benchmarking Harness

This repository contains the benchmarking harness, evaluation scripts, and empirical results for English, Arabic, and Hindi text-to-speech pipelines using open-source engines (XTTS-v2, F5-TTS, MMS-TTS, Indic-Parler-TTS, Kokoro, Chatterbox, OpenVoice).

A complete landscape survey and deep-dive analysis are available in the Detailed Technical Report.


Results Summary

All benchmarks were run on an NVIDIA Tesla T4 GPU (15 GB VRAM). Runtime Environment: PyTorch 2.6.0 | CUDA 12.4 | Python 3.10.15

Comparative Model Evaluation Results

All benchmarks were run on an NVIDIA Tesla T4 GPU (15 GB VRAM). Values meeting target thresholds are highlighted in bold.

LanguageModelArchitecture TypeBatch Latency (s)Streaming TTFARTFCosine SimilarityNormalized WERUTMOSHuman MOS
Target--< 2.0s< 500 ms<= 0.50>= 0.75<= 10.00%>= 4.00>= 4.00
EnglishXTTS-v2 (Winner)AR Zero-Shot Clone2.27460.1 ms0.4210.8653.33%4.144.70
F5-TTSNon-AR Flow-Matching2.953.72s (Batch)0.3810.8424.05%4.304.50
ChatterboxConversational AR5.525.52s (Batch)1.0760.8643.33%4.43N/A
KokoroStyleTTS 2 / Presets0.30680.9 ms0.0680.4906.67%4.514.00
OpenVoice V2VITS + Tone Converter1.831.83s (Batch)0.3860.7264.17%4.024.00
BarkGPT Presets27.3427.34s (Batch)4.6250.5574.17%3.723.70
ArabicXTTS-v2 (Winner)AR Zero-Shot Clone3.01359.6 ms0.4370.8026.34%3.124.40
F5-TTSNon-AR Flow-Matching3.175.21s (Batch)0.4180.83397.96%4.17N/A
MMS-TTSVITS Baseline0.23852.1 ms0.030N/A22.91%3.34N/A
BarkGPT Presets43.2343.23s (Batch)4.4330.557117.42%2.963.50
HindiXTTS-v2 (Winner)AR Zero-Shot Clone3.24445.6 ms0.4360.8398.42%2.854.40
F5-TTSNon-AR Flow-Matching2.863.36s (Batch)0.4280.82967.95%4.25N/A
KokoroStyleTTS 2 / Presets0.19749.5 ms0.0310.5517.78%4.274.20
MMS-TTSVITS Baseline0.17905.1 ms0.031N/A21.95%3.61N/A
Indic-ParlerIndic AR23.0823.08s (Batch)0.974N/A115.41%1.30N/A
BarkGPT Presets30.2230.22s (Batch)4.5410.50022.44%2.803.40

Note on MOS: UTMOS is an automated neural MOS model trained on English. While UTMOS scores for Arabic and Hindi drop below 4.00 due to English-only training bias, human listening checks confirm that XTTS-v2 sounds natural (>= 4.40) in both languages.


Technical Approach & Winner Rationale

We evaluated three distinct architectural approaches for each language:

  1. Autoregressive Voice Cloning (GPT + Vocoder): XTTS-v2, Bark, Chatterbox.
  2. Non-Autoregressive Flow-Matching / Diffusion: F5-TTS.
  3. Feed-Forward / VITS or Preset Models: Kokoro, MMS-TTS, OpenVoice.

Winner: Coqui XTTS-v2

  • Why it won: It is the only open-source model that successfully performs cross-lingual voice cloning (cloning the English speaker prompt into Arabic and Hindi) while keeping pronunciation accurate (WER < 10%).
  • Latency Mitigation: While batch generation is slow (often > 2.5s), its streaming implementation reduces Time-to-First-Audio (TTFA) to 359 ms - 460 ms, satisfying real-time application constraints.
  • Fallback Options: If zero-shot cloning is not required, Kokoro (English and Hindi) and MMS-TTS (Arabic) are much faster alternatives (RTF < 0.05).

Setup & Execution

Installation

git clone https://github.com/Shushant-k1/voice.git
cd voice
pip install -r requirements.txt

Running the Pipelines

Generates speech waveforms and outputs basic timing metrics:

python src/pipeline_english.py
python src/pipeline_arabic.py
python src/pipeline_hindi.py

Running Streaming Benchmark

Measures the Time-to-First-Audio (TTFA) for XTTS-v2 streaming:

python src/benchmark_streaming.py

Running Evaluation Scripts

Calculates WER (via Whisper large-v3) and speaker similarity (via Resemblyzer d-vector distance):

python src/evaluate.py
python src/mos_evaluation.py

Compiling Results

python src/compile_results.py

Repository Structure

  • src/: Core Python pipeline and evaluation scripts.
    • pipeline_english.py, pipeline_arabic.py, pipeline_hindi.py: Main batch pipeline entries (each runs 3+ distinct models).
    • benchmark_streaming.py: XTTS-v2 streaming benchmark.
    • evaluate.py: ASR/WER and Similarity evaluation.
    • utils.py: PyTorch 2.6 patching and GPU cleanup helpers.
  • results/: Consolidated CSV and Markdown tables.
  • audio/: Reference voice files and all generated samples.