smthemex/ComfyUI_Sonic
Sonic is a method about ' Shifting Focus to Global Audio Perception in Portrait Animation',you can use it in comfyUI
ComfyUI Sonic – 用于 ComfyUI 的音频驱动肖像动画
功能简介
Sonic 是一种研究方法,可根据音轨将静态肖像动画化,让脸部“说话”或表达与声音相符的情绪。此分支将 Sonic 管线封装为 ComfyUI 的自定义节点,这是一个用于构建生成式 AI 工作流程的视觉化节点界面。
关键组件
- 音频转潜空间模型 (
audio2bucket.pth,audio2token.pth):将波形转换为视频模型可理解的标记序列。 - UNet 视频扩散模型 (
unet.pth):根据这些音频标记生成条件帧。 - 人脸检测器 (
yoloface_v5m.pt):用于定位肖像区域。 - OpenAI Whisper-tiny:用于语音转录(原始 Sonic 管线使用)。
- RIFE 光流模型 (
flownet.pkl):用于时间平滑处理。 - 可选的 Stable Video Diffusion (SVD) 检查点 (
svd_xt*.safetensors):用于更高质量的视频生成。
使用方式
- 将仓库克隆到
ComfyUI/custom_node。 - 使用
pip install -r requirements.txt安装 Python 依赖项。 - 下载 README 中列出的模型文件并放置于
ComfyUI/models/sonic/(SVD 检查点放置于ComfyUI/models/checkpoints)。 - 在 ComfyUI 的图表编辑器中,添加 Sonic 节点。
- 导入音频文件(或 Whisper 生成的转录文本)。
- 设置 duration(秒)以控制输出视频的长度。
- 若遇到 GPU 内存不足,请调整 image_size;较小的值可降低分辨率。
- 该节点将输出一段与音频同步的肖像动画短片。
此分支的新功能
- 将
torchaudio.save替换为soundfile.write,以避免较新 PyTorch 构建中的 ABI 不兼容问题。 - 修复了必须明确使用
cuda:0的机器问题。 - 针对 BF16 支持、首次运行时 12 GB GPU OOM 以及 Apple-MPS (Mac) 兼容性提供了变通方案。
- UI 调整:“frame number”更名为 duration,处理非 25 fps 输入的批次大小,并支持非正方形输出图像。
典型工作流程示例
README 展示了三个工作流程截图示例。用户加载肖像图片、连接音频文件、设置所需持续时间,并运行图表以获得短篇动画剪辑。
适用对象
- 希望在不编写代码的情况下快速制作 AI 驱动的对嘴或表情头像视频的创作者。
- 偏好视觉化 UI 而非命令行脚本,并正在实验音频驱动视频扩散的研究人员。
- 使用 ComfyUI 进行其他扩散任务,并希望将音频驱动动画节点加入工作流程的爱好者。
引用
若您发表使用此节点的作品,请引用原始 Sonic 论文 (arXiv:2411.16331) 以及相关的 RealTalk 论文 (arXiv:2406.18284)。
相关
- 项目
- 项目
- 项目
- 项目