FireRedAudio 时间线渲染 · T8star-Aix
From a pile of takes to one continuous audio file
- audio_batch
- room_tone_audio
- delivery_preset
- 时间线音频
- 时间线报告
An AudioBatch is a pile of individual WAVs. TimelineRender is what turns that pile into something you can actually listen to as one piece - a narrated chapter, a podcast episode, a dubbed scene. It takes the batch and arranges the takes in one of three ways, applies crossfades between adjacent dialogue, optionally fills the gaps with room tone, and can run the result through the pack's EBU R128 delivery presets. When the whole pack is about producing speech, this is the node that makes it a listen.
The three modes
sequence- lines in order with a fixedgap_ms(default 120 ms) between them. The simple "read the script top to bottom" mode.timeline- positions each line at its script timecode (start_seconds/end_seconds). The one that preserves the original timing of a timed script, so a scene that was scripted with pauses keeps those pauses.overlay- stacks lines onto one track. For layers, not linear listening.
crossfade_ms behaves differently per mode, and the tooltip says it plainly: in sequence, a crossfade > 0 replaces the gap with a neighboring overlap; in timeline, it only processes actual overlap regions. So crossfades never invent overlap where lines don't touch.
The inputs that matter
auto_fill_gaps- off by default, and the honest part: turning it on requires aroom_tone_audioinput. The renderer loops the room tone only over time periods with no dialogue and adds short fades at the edges - it won't smear background noise under the speech, and it won't invent bed noise if you don't give it any.peak_policy-limit(default),clip, ornone. Limit keeps peaks in check during mixing; clip is the "don't care, it's a draft" option.sample_rate- default 24000 (matches the model's native rate); a delivery preset overrides it.delivery_preset- the pack's audiobook/podcast/video_dialogue presets override mode, gap, crossfade and sample rate, and apply two-pass EBU R128 loudness normalization plus a True Peak limit. Audiobook: −20 LUFS / −3 dBTP / FLAC. Podcast: −16 LUFS / −1 dBTP / WAV. Video dialogue: −23 LUFS / −1 dBTP / WAV.
Outputs: 时间线音频 (the rendered AUDIO - save it with SaveAudio) and 时间线报告 (placements, durations, the actual delivery parameters used).
Where it fits
After the batch is done and QA'd: BatchDubbing → SpeechQA → this → SaveAudio. The README's production flow chains 可恢复批量配音 into this node with an optional room tone and a delivery preset, then straight to save. It also handles multi-speaker correctly - the pack keeps stereo production material and only upmixes mono dialogue rather than collapsing everything to mono, so a stereo master stays stereo.
Installing
Pack-wide install (ComfyUI Manager search comfyui-fireredaudio-T8, or clone + python scripts\setup_runtime.py). No model needed - rendering is worker-side audio math (the EBU R128 pass is the same FFmpeg-level normalization the delivery presets use). The two traps: enabling auto_fill_gaps without a room tone gets you nothing (the node needs the material to fill with), and relying on sequence mode for a timed script throws away the timing - if your script has timecodes, timeline is the mode that honors them.
Inputs (9)
| Name | Type | Default | Description |
|---|---|---|---|
| audio_batch | T8_FIREREDAUDIO_AUDIO_BATCH | — | |
| mode | COMBO | timeline | 3 options: sequence, timeline, overlay |
| gap_ms | INT | 1200–10000 | — |
| crossfade_ms | INT | 00–2000 | sequence 中大于 0 时用相邻重叠替代顺序间隔;timeline 中只处理实际重叠区域。 |
| auto_fill_gaps | BOOLEAN | false | — |
| peak_policy | COMBO | limit | 3 options: limit, clip, none |
| sample_rate | INT | 240008000–192000 | — |
| room_tone_audioopt | AUDIO | — | |
| delivery_presetopt | T8_FIREREDAUDIO_DELIVERY_PRESET | — |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| 时间线音频 | AUDIO | — |
| 时间线报告 | STRING | — |