What Makes a Good Audio Prompt for Zero-Shot TTS? Learning Prompt Selection from Synthesis Outcomes
Organizations: The Hebrew University of Jerusalem
Abstract
Zero-shot text-to-speech (TTS) models clone a target voice from a short reference clip, commonly referred to as the prompt. In practice, the prompt has to be cut from a longer recording of the speaker, so which part to use must be chosen. To understand what makes a good prompt, we analyze hundreds of thousands of outputs synthesized by four TTS models from candidate prompts of YouTube recordings. The choice of prompt substantially changes intelligibility, naturalness and speaker similarity. Standard predicted-quality scores capture mainly the naturalness part but miss most of the intelligibility gain. We find that the models largely agree on which prompt yields the highest measured speaker similarity, but much less on which prompt yields intelligible speech. We propose a small network that learns from the outputs a TTS model produced to rank a recording's candidate prompts from their audio alone. Without synthesizing anything at selection time, it picks prompts that lower the word error rate on held-out recordings by a third (Qwen3-TTS) to two fifths (F5-TTS) relative to a randomly chosen prompt, more than predicted quality achieves and nearly as much as synthesizing a dozen test sentences from every candidate first.
Figures & tables
| selector | WER | fail. | UTMOS | DNSMOS | Audiobox | sim. |
|---|---|---|---|---|---|---|
| UTMOS rule | 0.83 | 0.81 | 0.095 | 0.024 | 0.035 | -0.006 |
| DNSMOS rule | 0.33 | 0.54 | 0.038 ‡ | 0.032 | 0.019 | 0.027 † |
| best single descriptor (transcript confidence) | 0.96 | 0.55 | -0.002 ‡ | 0.006 ‡ | -0.010 ‡ | 0.017 † |
| descriptor ranker | 1.00 | 0.41 | 0.069 | 0.028 | 0.033 | -0.007 |
| audio selector (ours) | 1.36 † | 0.87 | 0.050 ‡ | 0.014 | 0.022 | -0.002 |
| + UTMOS head ( , § 5 ) | 1.33 † | 0.67 | 0.060 ‡ | 0.019 | 0.038 | -0.004 |
| random prompt | with probe selection ( better) | ICC | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| model | prompt | WER | fail. | UTMOS | sim. | WER | UTMOS | sim. | Audiobox | WER | UTMOS | sim. |
| Qwen3-TTS | 3 s | 4.31 | 3.05 | 3.81 | 0.556 | 1.42 | 0.190 | 0.077 | 0.253 | 0.26 | 0.26 | 0.50 |
| 5 s | 4.16 | 2.24 | 3.80 | 0.604 | 1.21 | 0.152 | 0.052 | 0.176 | 0.22 | 0.25 | 0.38 | |
| 10 s | 4.01 | 1.64 | 3.78 | 0.650 | 1.10 | 0.097 | 0.023 | 0.104 | 0.15 | 0.20 | 0.22 | |
| Chatterbox | 3 s | 2.82 | 0.43 | 3.77 | 0.522 | 0.24 | 0.203 | 0.098 | 0.330 | 0.10 | 0.44 | 0.70 |
| 5 s | 2.77 | 0.49 | 3.79 | 0.573 | 0.20 | 0.148 | 0.064 | 0.219 | 0.07 | 0.34 | 0.57 | |
| variant (cross-validation) | WER | descr. ranker | |
|---|---|---|---|
| final recipe | 1.25 | 0.90 | |
| pointwise loss | 1.18 | -0.07 | 0.90 |
| labels: prompt’s UTMOS | 0.63 | -0.62 | 0.55 |
| Whisper-large-v3 encoder | 1.22 | -0.03 | 0.90 |
| CLAP encoder | 0.42 | -0.82 | 0.90 |
| prompt property | Qwen 0.6B | Qwen 1.7B | Chat- terbox | F5- TTS |
|---|---|---|---|---|
| UTMOS | +0.04 † | +0.05 † | +0.05 † | +0.09 † |
| typical voice | -0.00 | -0.01 | +0.05 † | +0.07 † |
| ends in silence | +0.16 † | +0.16 † | +0.01 | +0.11 † |
| transcript confidence | +0.10 † | +0.10 † | +0.03 † | +0.10 † |
| selector | WER | fail. | UTMOS | sim. | clean |
|---|---|---|---|---|---|
| UTMOS rule | 0.21 | -0.05 | 0.550 | 0.113 | 79% |
| audio selector | 0.63 | 0.26 | 0.349 | 0.070 | 31% |
| + UTMOS head | 0.66 | 0.26 | 0.415 | 0.080 | 39% |
| probe selection | 0.42 | 0.18 | 0.570 | 0.165 |
Appendix figures & tables8 assets
Supplementary material from the paper’s appendix.
Appendix
| set | recordings | prompts (3/5/10 s) | outputs per model | TTS models |
|---|---|---|---|---|
| train | 400 | 3993 / 2389 / 1170 | 113,280 | Qwen3-TTS, Chatterbox, F5-TTS |
| train | 544 | 5429 / 3249 / 1588 | 153,990 | Qwen3-TTS, Chatterbox, F5-TTS |
| dev | 200 | 2000 / 1194 / 583 | 56,655 | Qwen3-TTS, Chatterbox |
| test | 200 | 1994 / 1194 / 591 | 56,685 | Qwen3-TTS, Chatterbox, F5-TTS |
| test | 200 | 1997 / 1194 / 588 | 56,685 | Qwen3-TTS, Chatterbox, F5-TTS |
| descriptor | Qwen3-TTS 0.6B | Qwen3-TTS 1.7B | Chatterbox | F5-TTS |
|---|---|---|---|---|
| UTMOS | +0.04 † | +0.05 † | +0.05 † | +0.09 † |
| DNSMOS overall | +0.02 | -0.01 | +0.05 † | +0.09 † |
| DNSMOS signal | +0.01 | +0.01 | +0.05 † | +0.08 † |
| DNSMOS background | +0.01 | -0.01 | +0.05 † | +0.06 † |
| duration | +0.00 | -0.03 † | +0.04 † | +0.04 † |
| words per second | -0.04 † | -0.01 | -0.01 | +0.00 |
| quantity | value |
|---|---|
| audio selector UTMOS rule (pre-specified) | |
| same, training seeds 1 and 2 (same recipe and data) | ; |
| selecting by the mean-WER head instead of the WER rank (not pre-specified) | 1.38 |
| failed outputs excluded: audio selector, UTMOS rule | 0.77, 0.25 |
| wav2vec 2.0 as WER judge: audio selector, UTMOS rule | 1.59, 0.88 |
| prompt-transcript disagreement (Whisper vs. wav2vec 2.0) of the pick: audio selector, UTMOS rule, all candidates | 0.23, 0.26, 0.30 |
| candidates | audio selector | descriptor ranker | UTMOS rule | audio rule |
|---|---|---|---|---|
| all 19 candidates | 1.36 | 1.00 | 0.83 | +0.54 † |
| only 3 s prompts | 1.37 | 1.34 | 0.80 | +0.57 † |
| only 5 s prompts | 0.90 | 0.73 | 0.27 | +0.63 † |
| only 10 s prompts | 0.64 | 0.46 | 0.06 | +0.58 |
| equal numbers of each length | 1.20 | 0.92 | 0.34 | +0.86 † |
| variant (cross-validation) | WER | change | descriptor ranker |
|---|---|---|---|
| audio selector (final recipe) | 1.25 | 0.90 | |
| single model (no ensemble) | 1.20 | -0.05 | 0.93 |
| pointwise loss | 1.18 | -0.07 | 0.90 |
| no comparison with the recording’s mean | 1.27 | +0.03 | – |
| attention across candidates | 1.29 | +0.04 | – |
| + transcript stream | 1.15 | -0.10 | – |
| rule | WER | failures | UTMOS | DNSMOS | Audiobox | similarity |
|---|---|---|---|---|---|---|
| Qwen3-TTS 0.6B | ||||||
| UTMOS rule | 0.37 | 0.33 | 0.078 | 0.022 | 0.046 | 0.029 |
| DNSMOS rule | 0.18 | 0.43 | 0.065 | 0.033 | 0.034 | 0.023 |
| Chatterbox | ||||||
| UTMOS rule | 0.12 | -0.10 | 0.085 | 0.028 | 0.053 | 0.024 |
| DNSMOS rule | 0.18 | 0.01 | 0.071 | 0.040 | 0.056 | 0.020 |
| TTS model | UTMOS rule | DNSMOS rule | best descriptor | audio selector | probe selection |
|---|---|---|---|---|---|
| Qwen 0.6B | 0.83 | 0.33 | 0.96 | 1.36 a,b | 1.35 |
| Qwen 1.7B ∗ | 0.28 | -0.25 | 0.44 | 1.49 a,b,c | 1.86 |
| Chatterbox | 0.03 | -0.01 | 0.13 | 0.25 b | 0.30 |
| F5-TTS | 0.97 | 1.19 | 0.66 | 2.64 a,b,c | 3.00 |
| UTMOS | Audiobox | similarity | ||||
|---|---|---|---|---|---|---|
| TTS model, selector | selector | rule | selector | rule | selector | rule |
| Qwen3-TTS 1.7B, selector trained on 0.6B | 0.054 ‡ | 0.092 | 0.011 | 0.038 | -0.000 | -0.005 |
| Chatterbox, own selector | 0.046 | 0.069 | 0.029 | 0.048 | 0.005 † | -0.008 |
| Chatterbox, selector trained on Qwen 0.6B | 0.039 ‡ | 0.069 | -0.003 ‡ | 0.048 | -0.005 | -0.008 |
| F5-TTS, own selector | 0.052 ‡ | 0.103 | 0.030 | 0.045 | 0.000 | -0.009 |
| F5-TTS, selector trained on Qwen 0.6B | 0.021 ‡ | 0.103 | 0.006 | 0.045 | -0.001 | -0.009 |
Zero-Shot TTS
Zero-shot text-to-speech (TTS) generates speech in a new voice from brief reference audio without speaker-specific training.
See all 62 papers