FireRedAudio 多 Seed 试音/推荐 Take · T8star-Aix
Eight seeds, one line, and a recommendation you can actually trust
- model
- prompt_audio
- settings
- 推荐 Take
- 全部候选
- Manifest 路径
- 实际参考逐字稿
- 试音与推荐报告
TTS is a lottery: same text, same voice, different seed, different delivery - and the difference between "usable" and "delete it" is often just luck. SeedAudition runs that lottery for you on purpose: it generates 2–8 takes of one target line from consecutive seeds in a single worker batch, optionally ASR-reads each one back, scores them on text accuracy, clipping, silence and duration stability, and hands you a recommended take plus all the candidates. It's the node you reach for when a line has to be right - a key sentence, a character catchphrase, the line a client will actually hear.
How it works
Each candidate gets seed = seed_start + offset, rendered latent-first (the worker computes latents for the whole batch, then decodes together - cheaper than round-tripping per take). If run_asr_qa is on (default), each WAV is transcribed and compared to target_text with CER for Chinese, WER for English. The ranking score blends it all:
score = error_rate × 1000 + clipping_ratio × 500 + silence_ratio × 10 + duration_penalty
Lower is better; the take with the lowest score (ties broken by seed) is 推荐 Take. Read that formula honestly: it rewards accurate, artifact-free, stable-duration audio - it is not "which one sounds most natural to a human." The recommendation gets you 90% of the way; the last 10% is your ears on the review board.
The inputs that matter
prompt_audio- the reference clip.prompt_textis the reference transcript; leave it empty and the node auto-transcribes (and reports which source it used).target_text- the line to generate. Required.seed_start- default 42. Consecutive seeds keep things comparable.take_count- 2–8 (default 4). More takes, more chance of a winner, more generation time.run_asr_qa- keep it on; it's what makes the recommendation non-random.language- zh/en.
Outputs: 推荐 Take (AUDIO), 全部候选 (as an AudioBatch - feed it to the TakeReviewBoard), Manifest 路径, 实际参考逐字稿, and 试音与推荐报告. The candidate filenames are deliberately opaque (blind-*.wav), so the native preview list gives you a genuinely fair blind listen - the seed only lives in the manifest.
Where it fits
Use it before committing a line to the batch, or when a finished batch's QA flags a line for retry. It's the pack's quick-turnaround version of the full blind-review flow: SeedAudition → TakeReviewBoard → adopted take back into the batch. And since it produces a proper AudioBatch with a manifest, everything downstream (SaveAudioBatch, TimelineRender, ProductionPackage) treats the audition output as first-class.
Installing
Pack-wide install (ComfyUI Manager search comfyui-fireredaudio-T8, or clone + python scripts\setup_runtime.py), models in ComfyUI/models/TTS/FireRedAudio/. This one needs the full profile (RedAE decoder) - generation, not just ASR/understanding. And don't be surprised by the cost: take_count 8 with ASR QA is eight generations plus eight transcriptions. It's the right tool, but treat it as the deliberate "this line matters" button, not something to run on every line of a 100-line script.
Inputs (11)
| Name | Type | Default | Description |
|---|---|---|---|
| model | T8_FIREREDAUDIO_MODEL | — | |
| prompt_audio | AUDIO | — | |
| prompt_text | STRING | — | |
| target_text | STRING | — | |
| language | COMBO | zh | 2 options: zh, en |
| seed_start | INT | 420–4294967287 | — |
| take_count | INT | 42–8 | — |
| run_asr_qa | BOOLEAN | true | — |
| project_name | STRING | seed-audition | — |
| subfolder | STRING | fireredaudio/auditions | — |
| settingsopt | T8_FIREREDAUDIO_SETTINGS | — |
Outputs (5)
| Name | Type | Description |
|---|---|---|
| 推荐 Take | AUDIO | — |
| 全部候选 | T8_FIREREDAUDIO_AUDIO_BATCH | — |
| Manifest 路径 | STRING | — |
| 实际参考逐字稿 | STRING | — |
| 试音与推荐报告 | STRING | — |