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):用于更高质量的视频生成。

使用方式

  1. 将仓库克隆到 ComfyUI/custom_node。
  2. 使用 pip install -r requirements.txt 安装 Python 依赖项。
  3. 下载 README 中列出的模型文件并放置于 ComfyUI/models/sonic/(SVD 检查点放置于 ComfyUI/models/checkpoints)。
  4. 在 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)。

相关

  • 项目
  • 项目
  • 项目
  • 项目