Nodes/ComfyUI-Easy-Media/Make Audio List
ComfyUI Node

Make Audio List

Ten Audio Sockets Into One List, With a Quiet Little Secret

By yolain·Created 3 months ago·Updated about 17 hours ago· 158
Make Audio List
  • audio1
  • audio2
  • audio3
  • audio4
  • audio5
  • audio6
  • audio7
  • audio8
  • audio9
  • audio10
  • AUDIO
skip_emptyfalse

The audio member of the pack's list-making family

Same pattern as easy makeImageList and easy makeVideoList, but for sound. The Timeline Editor and MultiTrack Editor each take a single audio port, and a dialogue scene with three voice lines needs three audio clips in three different segments. easy makeAudioList packs up to ten audio inputs into one AUDIO list, which the editors then distribute across segments.

The README's guidance is the same as the video version: if a segment only needs one audio, connect it directly; if you need multiple audio segments, build a list with this node.

How it works

The loop is the same as its siblings, but the placeholder is different and it's the interesting bit:

if v is not None:
    audios.append(v)
elif not skip_empty:
    empty = silence(16000, 0.001, 1)     # 1ms of silence @ 16kHz
    audios.append({"waveform": empty, "sample_rate": 16000})

Unconnected slots get filled with a 1-millisecond silent waveform at 16 kHz when skip_empty is off. Why not a zero tensor like the image version? Because audio objects carry a waveform and a sample rate, and a 0-length or garbage waveform would crash naive consumers. One millisecond of genuine silence is a valid, well-behaved AUDIO object that downstream nodes (and the editors' audio track) treat as "no sound here."

That positional bookkeeping is the point. In fill mode your audio in slot 5 stays attached to segment 5 even when segments 2 and 3 are silent. In skip mode the list compresses to only the connected tracks, which is right when you just want "these are the audio files" with no positional meaning.

Inputs and output

  • skip_empty - fill with silence vs. skip, as above.
  • audio1audio10 - all optional.
  • AUDIO out - an audio list (is_list output).

Setup and notes

Install is the pack install: ComfyUI Manager → ComfyUI-Easy-Media, or git clone into custom_nodes + restart. No models, no FFmpeg requirement for this node itself.

Practical things:

  • The silence filler is real. At 1 ms it's essentially inaudible, but if you iterate over the list you'll see ten items, most of them near-empty. Consumers that don't expect empties can produce a faint click or a skipped beat - that's the placeholder doing its job, and skip_empty is your off switch.
  • Sample-rate mismatch. The filler is 16 kHz; if your real clips are 44.1 kHz, the list is technically mixed-rate. The editors and merge nodes handle this, but if you're feeding the list somewhere strict, keep everything at the same sample rate.
  • Order is the contract. audio1 is always index 0.

For dubbing, TTS, and dialogue workflows - where several voice clips need to land in the right timeline slots - this is the quiet little node that keeps the alignment honest.

CategoryEasyUse/Audio

Inputs (11)

NameTypeDefaultDescription
skip_emptyBOOLEANfalse
audio1optAUDIO
audio2optAUDIO
audio3optAUDIO
audio4optAUDIO
audio5optAUDIO
audio6optAUDIO
audio7optAUDIO
audio8optAUDIO
audio9optAUDIO
audio10optAUDIO

Outputs (1)

NameTypeDescription
AUDIOAUDIO