ComfyUI-AudioSuiteAdvanced
这个插件可以切割txt或srt文件,交给TTS做语音切片生成,并合成长语音 This plugin can cut txt or srt files, hand them over to TTS for speech slicing generation, and synthesize long speech
Nodes (11)
Stick Two Audio Clips Together — With a Breather in Between
Split any track into vocals, drums, bass, and everything else
Pull One Character's Voice Out of a Full Recording — Everything Else Goes Silent
The Voice Slicer, Now With Gain, Stereo, and Resample Knobs Per Track
Meld a Pile of Audio Clips Into One Timeline — Subtitle-Synced or Not
Grab the Nth Item Off Any List — and Remember It's 0-Based
How Many Items Are in That List? This Node Is the Whole Answer
Chop a Wall of Text Into TTS-Sized Chunks Without Splitting a Sentence
Queue Two Audio Clips Into a List — the On-Ramp to the Combiner
Who Said What, and When? Transcribe a Multi-Voice Clip With Speaker Labels
Drag a Subtitle File In, Get Clean Transcript Text Out
ComfyUI-AudioSuiteAdvanced
作者:CyberDickLang
版本号:1.0.2
本插件为 ComfyUI 提供长文本处理与音频合成相关的多功能节点,支持文本分割、音频拼接、音频合并、字幕时间戳对齐、音频分离、说话人分离等多种场景。
主要功能节点
1. Long Text Splitter
- 功能:支持按句子、段落或自定义分隔符切分文本,支持字符过滤。
- 输出:分割后的文本列表及其长度。
- 典型用途:TTS前的文本预处理。
2. Subtitle File Loader
- 功能:加载字幕文件,自动识别并提取文本内容,支持多种主流字幕格式(txt、srt、ass、ssa、vtt、lrc、sub等)。
- 输出:字幕文本内容、原始文件路径。
- 用法:可直接拖拽字幕文件到输入框。
3. Make Audio Batch
- 功能:将两个AUDIO类型音频顺序加入队列,自动跳过空输入。
- 输出:音频队列(LIST)
4. Combine Audio From List/Batch
- 功能:将音频队列合并为一段音频,支持按字幕文件时间戳对齐(支持srt、ass、ssa、vtt、lrc、sub等格式),自动插入静音。
- 参数:
audio_batch:AUDIO类型音频队列gap_duration:片段间隔(秒)use_timestamps:是否根据字幕时间戳对齐srt_file:字幕文件路径(支持多格式)
- 输出:合并后的AUDIO
- 用法示例:
- 用 Subtitle File Loader 加载字幕文件,获取路径
- 用 Make Audio Batch 生成音频队列
- 用 Combine Audio From List/Batch 合成,勾选 use_timestamps 并输入字幕路径
5. Audio Concatenate Free
- 功能:将两个AUDIO类型音频按指定方向拼接,支持插入静音间隔。
- 参数:
audio1、audio2:AUDIO类型音频direction:拼接方向(right/left)gap_duration:间隔时间(秒)
6. Audio Separation
- 功能:将音频分离为四个音轨:低音、鼓点、其他、人声。基于Hybrid Demucs模型。
- 参数:
audio:输入音频chunk_fade_shape:音频分块重叠区域的淡入淡出效果(linear/half_sine/logarithmic/exponential)chunk_length:每个音频块的长度(秒,1.0-30.0)chunk_overlap:音频块之间的重叠时间(秒,0.0-1.0)
- 输出:四个分离的音轨(bass、drums、other、vocals)
- 典型用途:音乐制作、音频处理、人声提取等。
7. Index Select From List
- 功能:按索引提取列表元素。
8. List Length
- 功能:输出列表长度。
9. Speaker Separation_ASAdv
- 功能:将多说话人音频分离为最多4个人物的独立音轨(如双人对话分别输出两个人的音频)。
- 参数:
audio:输入音频(建议16kHz单声道)max_speakers:最大说话人数(1~4)language:音频语言代码,如'zh'、'en'、'ja'等,'auto'为自动检测compute_type:计算精度,float16更快但精度稍低
- 输出:audio1、audio2、audio3、audio4(不足人数补静音)
- 注意:WhisperX功能暂时禁用,当前使用pyannote.audio进行说话人分离。
安装方法
- 将本项目克隆到 ComfyUI 的
custom_nodes目录下:git clone <本项目地址> ComfyUI/custom_nodes/ComfyUI-AudioSuiteAdvanced - 安装依赖:
pip install -r requirements.txt
说话人分离说明
当前状态
- WhisperX功能暂时禁用:由于依赖问题,暂时移除WhisperX功能
- 使用pyannote.audio:当前使用pyannote.audio进行说话人分离
- 需要配置:需要HuggingFace auth token用于pyannote.audio
功能特点
- 多语言支持:支持中文、英文、日文等多种语言
- 自动检测:可自动检测音频语言,也可手动指定
- 高兼容性:支持 Python 3.7+,无需降级 Python 版本
使用建议
- 建议使用 16kHz 单声道音频以获得最佳效果
- 对于较长的音频,处理时间可能较长,请耐心等待
- 需要配置HuggingFace auth token
兼容性与说明
- 支持主流音频格式(wav、mp3、ogg、flac、m4a等)
- 支持主流字幕格式(txt、srt、ass、ssa、vtt、lrc、sub等)
- 所有AUDIO类型节点需保证采样率一致
- 节点参数均有详细说明,支持中英文双语(自动跟随系统)
- Audio Separation节点需要torchaudio>=2.3.0和librosa>=0.10.0
- Speaker Separation节点基于WhisperX,兼容性更好
版本信息
- 当前版本:1.0.1
- 2024-06-09:支持多格式字幕时间戳对齐音频合成,Subtitle File Loader支持多格式字幕解析。
- 2024-12-19:新增Audio Separation节点,支持音频分离为四个音轨。
- 2024-12-20:新增Speaker Separation节点,支持多说话人音频分离,支持本地模型优先。
- 2025-01-10:升级Speaker Separation节点,使用WhisperX替代pyannote.audio,提升兼容性和易用性。
版本更新日志
v1.0.2 (2024-12-19)
- 🔧 修复:解决了ComfyUI中出现两个AudioSuiteAdvanced分类目录的问题
- ✨ 新增:为Character Vocal Extractor节点添加了
offset_seconds和duration_seconds参数 - 🎯 优化:实现当
duration_seconds为0时不截取音频的逻辑,完全兼容UTK的Audio Crop Process标准 - 📦 重构:统一了所有节点的分类名为
AudioSuiteAdvanced
v1.0.1
- 初始版本发布
- 支持长文本分割、音频拼接、音频分离等基础功能
参考与致谢
- 部分音频节点参考自 ComfyUI-KJNodes
- Audio Separation节点基于 audio-separation-nodes-comfyui
- Speaker Separation节点基于 WhisperX
联系方式
- B站/小红书/RunningHub/赛博迪克朗
- YouTube/OpenArt/cyberdicklang
- 邮箱:[email protected]
如有问题欢迎在评论区或issue区留言反馈!
❤️ 支持与关注 / Support & Follow
开源代码可以免费,但显卡、电费、服务器和咖啡豆暂时还没学会开源。
你好,我是赛博迪克朗。我平时给 AI 喂提示词、给 ComfyUI 接管线,也负责修复那些“昨天明明还能跑”的神秘问题。教程里看起来三分钟解决的事,背后往往是三十次失败和一句又一句“这不应该啊”。
如果这个项目帮你少踩了一个坑、少重装了一次环境,那些和报错窗口深情对视的夜晚就算没有白熬。欢迎通过下面的方式支持和关注:
抖音、小红书、快手、今日头条、微信视频号、X:搜索全网统一名称 “赛博迪克朗”。
不赞助也完全没关系。 使用、Star、反馈、分享,甚至一句“这东西真能用”,都是继续更新的动力。谢谢你让这个项目不只是躺在我的硬盘里感动自己。