capspeech-eval
CapSpeech: Enabling Downstream Applications in Style-Captioned Text-to-Speech — Wang et al. (2025) (arXiv:2506.02863, 2025)
What this evaluates
This benchmark evaluates text-to-speech models on generating high-fidelity, intelligible speech conditioned on free-form natural language style captions. It probes the model's ability to control intrinsic speaker traits, expressive styles, accents, emotions, and integrate non-verbal sound events across diverse real-world scenarios.
Datasets
- CapTTS — total 347783; splits: train (308679), val (18348), test (20756); HF
OpenSound/CapSpeech; repo https://github.com/WangHelin1997/CapSpeech - EmoCapTTS — total 26428; splits: train (22691), val (1800), test (1937); HF
OpenSound/CapSpeech; repo https://github.com/WangHelin1997/CapSpeech - AccCapTTS — total 113197; splits: train (89547), val (10599), test (13051); HF
OpenSound/CapSpeech; repo https://github.com/WangHelin1997/CapSpeech - CapTTS-SE — total 1000; splits: train (500), test (500); HF
OpenSound/CapSpeech; repo https://github.com/WangHelin1997/CapSpeech - AgentTTS — total 10000; splits: train (9500), test (500); HF
OpenSound/CapSpeech; repo https://github.com/WangHelin1997/CapSpeech
Metrics
binary_correctness(primary) — range: [0, 1]- Binary correctness label (0 or 1) assigned per attribute tag (e.g., age, gender, speaking rate) to indicate whether the machine-predicted tag accurately reflects the speech. Averaged across all evaluated tags.
caption_quality— range: [1, 5]- A 1–5 Likert scale score assigned by human evaluators to assess the overall coherence, coverage, and naturalness of the generated captions.
Input / output format
Input: Natural language text paired with a style caption describing desired attributes such as speaker traits, expressive styles, situational context, or sound events.
Output: Synthesized audio waveform conditioned on the provided text and style caption.
Scoring recipe
def compute_binary_correctness(predictions, gold):
correct = 0
for tag in predictions:
if predictions[tag] == gold[tag]:
correct += 1
return correct / len(predictions)
# caption_quality is a 1-5 Likert score provided by human evaluators
Common pitfalls
- Confusing the pretraining dataset (machine-annotated, ~10M pairs) with the SFT/test datasets (human-annotated, ~358k pairs).
- Assuming discrete categories for emotion or accent control instead of recognizing the benchmark uses free-form natural language prompts.
- Overlooking the strict data cleaning thresholds applied during construction (WER > 25% filtered, SNR < 20 dB removed).
Evidence (verbatim from paper)
individual tags (e.g., age, gender, speaking rate) were evaluated with a binary correctness label (0 or 1) indicating whether the machine-predicted tag accurately reflected the speech. Also, a caption-level quality score was assigned on a 1–5 Likert scale to assess the overall coherence, coverage, and naturalness of the generated captions.
Citation
@misc{wang2025capspeech,
title={CapSpeech: Enabling Downstream Applications in Style-Captioned Text-to-Speech},
author={Wang et al. (2025)},
year={2025},
note={arXiv:2506.02863}
}
- arXiv: 2506.02863