Nodes/ComfyUI-DN-VoxCPM/VoxCPM Concatenate Audio
ComfyUI Node

VoxCPM Concatenate Audio

Concatenate Audio — stitch a TTS batch into one track with natural pauses

By DekaNear·Created 9 months ago·Updated 9 months ago· 1
VoxCPM Concatenate Audio
  • audio_list
  • audio
silence_duration0.5

Batch TTS gives you a pile of separate clips. This is the node that turns the pile back into one file. VoxCPM Concatenate Audio takes an audio_list (AUDIO_LIST) and joins it into a single AUDIO, with an optional gap of silence between clips so the result sounds like someone pausing between sentences instead of an engine hiccup.

Two inputs, both obvious: audio_list is the batch you want joined, and silence_duration (0–5 seconds, default 0.5) is how much quiet to insert between clips. Zero gives you a seamless splice; a few tenths of a second is usually the sweet spot for speech, because TTS clips rarely start and end with clean, natural breathing room.

How it works

Mechanically it's as simple as it sounds. The node takes the sample rate from the first clip in the list, builds a block of silence at that rate, and concatenates everything in order - silence between clips but not after the last one. Output is a single audio (AUDIO) that you can save with VoxCPM Save Audio or hand to any other node that eats AUDIO.

The natural pipeline

[VoxCPM Batch TTS] → [VoxCPM Concatenate Audio] → [VoxCPM Save Audio]

That's the whole "make a long narration in one run" story: batch generates per-line, concatenate stitches it with pauses, save writes the finished track. If you'd rather keep the per-line files for editing or lip-sync work, skip this and use VoxCPM Batch Save Audio instead.

Installing it

Part of the ComfyUI-DN-VoxCPM pack:

cd ComfyUI/custom_nodes/
git clone https://github.com/DekaNear/ComfyUI-DN-VoxCPM.git
cd ComfyUI-DN-VoxCPM
pip install -r requirements.txt

Restart ComfyUI, or install "DN VoxCPM" from ComfyUI Manager.

Where people get burned

The one real edge case: the sample rate comes from the first clip and is assumed for the whole list. If your batch mixes clips at different rates (say, a reference loaded at one rate and a generated clip at another), the output can sound wrong. In practice a batch from VoxCPM Batch TTS is all one rate, so this only bites if you feed it audio from mixed sources. Keep batches consistent and it never comes up.

CategoryDN-VoxCPM/Advanced

Inputs (2)

NameTypeDefaultDescription
audio_listAUDIO_LIST
silence_durationFLOAT0.50–5

Outputs (1)

NameTypeDescription
audioAUDIO