在构建复杂的多媒体生成流程时,我们常常面临几个共性问题:
- 如何将多个音频片段拼接成一段完整配乐?
- 如何为批量图像生成设置有序或随机的参数序列?
- 如何从一段提示文本中提取结构化内容,用于分段控制?
为此,ComfyUI-ListHelper是一组轻量但高效的 ComfyUI 自定义节点组,包括:AudioListCombine、NumberListGenerator、PromptSplitByDelimiter和OpenRouter LLM。它们虽不炫技,却在自动化、结构化、可复用性方面提供了关键支持。
本文将逐一解析这四个节点的功能、参数与典型用法,帮助你构建更智能的音频+文本处理流程。
1. AudioListCombine:多模式音频合并节点
将多个音频文件合并为一个连续输出,是视频配乐、语音播报、音效设计中的常见需求。AudioListCombine 提供了灵活且专业的解决方案。

✅ 核心功能
| 功能 | 说明 |
|---|---|
| 三种合并模式 | 串接 / 混音 / 覆叠,适应不同场景 |
| 自动采样率统一 | 不同源文件自动转换为目标采样率(默认 44.1kHz) |
| 声道标准化 | 自动处理单声道与立体声混合问题 |
| 交叉淡化(Fade) | 支持片段间平滑过渡,避免爆音 |
| 输出音量标准化 | 可选开启,确保整体响度一致 |
| 兼容性强 | 接受来自 Impact Pack 或其他列表节点的 audio_list 输入 |
🔊 支持所有
torchaudio兼容格式(WAV、MP3、FLAC 等)
输入参数
| 参数 | 类型 | 默认值 | 说明 |
|---|---|---|---|
audio_list | AUDIO | - | 音频文件列表(需由 MakeAnyList 等节点生成) |
combine_mode | COMBO | "concatenate" | 合并方式:concatenate / mix / overlay |
fade_duration | FLOAT | 0.0 | 交叉淡化时间(秒),范围 0.0–5.0 |
normalize_output | BOOLEAN | True | 是否对最终输出进行音量标准化 |
target_sample_rate | INT | 44100 | 输出音频的目标采样率 |
三种合并模式详解
Concatenate(串接)
- 按顺序首尾相连
- 支持交叉淡化过渡
- 适用:播客、音乐播放列表、语音导览
📌 示例:三段旁白 → 串接 + 0.5s 淡入淡出 → 输出完整音频
Mix(混音)
- 所有音频等权重混合
- 较短文件自动用静音补齐
- 适用:多人录音对齐、背景音+人声混合
⚠️ 注意:避免音量过载,建议开启
normalize_output
Overlay(覆叠)
- 直接相加(无归一化)
- 保持原始音量层级
- 适用:添加音效、乐器分层、环境声叠加
⚠️ 风险:可能造成削波(clipping),建议后期限幅处理
📤 输出
| 输出 | 类型 | 说明 |
|---|---|---|
audio | AUDIO | 合并后的单一音频流,可直接送入保存节点或用于驱动图像生成 |
2. NumberListGenerator:数字序列生成节点
当你需要批量生成图像,并为每张图赋予不同的参数(如种子、强度、角度),手动设置显然不可行。NumberListGenerator 正是为此类任务设计的自动化工具。

✅ 核心功能
| 功能 | 说明 |
|---|---|
| 双精度输出 | 同时生成整数与浮点数列表 |
| 灵活范围控制 | 自定义最小值、最大值、步长 |
| 有序或随机 | 可切换顺序生成或打乱输出 |
| 可重现性 | 支持设置随机种子 |
| 计数反馈 | 返回生成总数,便于流程控制 |
📥 输入参数
| 参数 | 类型 | 默认值 | 说明 |
|---|---|---|---|
min_value | FLOAT | 0.0 | 起始值(-10,000 ~ 10,000) |
max_value | FLOAT | 10.0 | 结束值上限 |
step | FLOAT | 1.0 | 步长(0.01 ~ 1,000) |
count | INT | 10 | 生成数量(1 ~ 10,000) |
random | BOOLEAN | False | 是否打乱顺序 |
seed | INT | -1 | 随机种子(-1 表示不固定) |
📤 输出
| 输出 | 类型 | 说明 |
|---|---|---|
int_list | LIST | 整数版本的数值列表(自动向下取整) |
float_list | LIST | 浮点数列表(保留小数) |
total_count | INT | 实际生成的数量(可用于循环控制) |
3. PromptSplitByDelimiter:提示文本分割节点
面对一段包含多个主题的提示词(如小说章节、角色对话、分镜脚本),如何将其拆解为可操作的列表?PromptSplitByDelimiter 提供了强大而灵活的文本切分能力。

✅ 核心功能
| 功能 | 说明 |
|---|---|
| 支持字符串与正则表达式 | 简单分隔符或复杂模式匹配 |
| 中日韩文字原生支持 | 完美处理中文标点与术语 |
| 保留分隔符选项 | 可选择是否在输出中保留分隔符号 |
| 随机排序 + 种子控制 | 支持打乱输出顺序并复现结果 |
| 高级文本清洗 | 自动标准化换行、修剪空白、跳过空项 |
输入参数
| 参数 | 类型 | 默认值 | 说明 |
|---|---|---|---|
text | STRING | - | 多行输入文本 |
delimiter | STRING | "," | 分隔符(字符串或正则) |
use_regex | BOOLEAN | False | 是否启用正则模式 |
keep_delimiter | BOOLEAN | False | 是否在输出中保留分隔符 |
start_index | INT | 0 | 起始索引(跳过前 N 项) |
skip_every | INT | 0 | 每 N 项跳过一次(0=不跳) |
max_count | INT | 10 | 最大返回数量 |
skip_first_index | BOOLEAN | False | 是否跳过首个分隔符前的内容 |
random_order | BOOLEAN | False | 是否随机输出 |
seed | INT | 0 | 随机种子(0~2147483647) |
输出
| 输出 | 类型 | 说明 |
|---|---|---|
text_list | STRING[] | 分割后的文本片段列表 |
total_index | INT | 实际匹配到的总项数 |
4. OpenRouterLLM:多模式音频合并节点
可以添加使用OpenRouter提供的Gemini 2.5 Flash Image Preview (free) API,进行图像编辑。

其他辅助节点(简要说明)
AudioToFrameCount
- 输入音频 → 输出对应视频帧数
- 用于控制图像生成循环次数,使图片播放时长与音频同步
CeilDivide
- 实现“无条件进位”除法
- 避免因整除舍去导致末段音频未被采样
- 典型用途:计算分段循环次数
AudioSplitToList
- 将长音频按指定帧数分割为列表
- 参数:
videofps: 视频帧率samplefps: 每段采样帧数(如 75 帧 = 3秒@25fps)pad_last_segment: 是否补空白对齐最后一段
- 输出:
cycle: 总段数audio_list: 分割后的音频列表,可直接接入图像生成循环
🔄 常用于:数字人语音分段生成、长视频分镜控制
⚠️ 常见问题与性能提示
| 问题 | 解决方案 |
|---|---|
| 音频列表为空 | 检查上游 MakeAnyList 是否正确连接输入 |
| 正则表达式错误 | 检查语法,节点会自动回退到字符串模式 |
| 大文件内存占用高 | 建议分批处理,避免一次性加载过长音频 |
| 处理速度慢 | 正则模式比字符串匹配更耗资源,尽量简化表达式 |
© 版权声明
文章版权归作者所有,未经允许请勿转载。
相关文章
暂无评论...















