当前位置: 首页 > news >正文

基于Snoic的音频对口型数字人

Sonic 是一个基于深度学习的语音驱动数字人生成项目,支持将静态人像图与语音合成为口型同步的视频内容。项目整合了多个知名开源模型,包括 Whisper、SVD 和自定义的口型生成网络,具备出色的视觉效果与语音对齐能力。

本文梳理了 Sonic 项目的本地运行准备过程与模型部署流程,并覆盖了 Conda 环境创建、模型下载配置及推理命令说明,后续还扩展至与 ComfyUI 的整合实践,展示了如何将其应用于实际工作流中。

文章目录

  • 项目准备
  • 项目应用
  • 项目拓展
  • 总结

项目准备

使用 Anaconda 可以快速创建和管理 Python 环境,尤其适合初学者。配合 GPU 版本的 PyTorch,可充分利用显卡加速,显著提升深度学习任务的执行效率。

在使用 Snoic 项目时,确保完成环境配置、下载源码和预训练模型,是项目顺利运行的关键。

需求说明
配置要求显存8G以上,显卡起步1650(N卡)
环境安装Python初学者在不同系统上安装Python的保姆级指引
Win10+Python3.9+GPU版Pytorch环境搭建最简流程
项目源码Snoic
整合包使用AIGC工具平台-Snoic数字人对口型

模型下载地址

从 Hugging Face Hub 下载多个模型文件并存放在本地特定路径中,方便离线使用。huggingface_hub[cli] 安装了命令行工具,huggingface-cli download 可以无需登录直接将模型缓存至指定文件夹。这些模型一般用于语音识别、图像驱动生成视频、或者语音合成,属于项目中关键的推理组件。

  python -m pip install "huggingface_hub[cli]"huggingface-cli download LeonJoe13/Sonic --local-dir  checkpointshuggingface-cli download stabilityai/stable-video-diffusion-img2vid-xt --local-dir  checkpoints/stable-video-diffusion-img2vid-xthuggingface-cli download openai/whisper-tiny --local-dir checkpoints/whisper-tiny
模型名称来源仓库本地保存路径用途说明
SonicLeonJoe13/Soniccheckpoints/可能为动画风格或角色语音驱动模型(推测)
Stable Video Diffusion (img2vid-xt)stabilityai/stable-video-diffusion-img2vid-xtcheckpoints/stable-video-diffusion-img2vid-xt图像转视频模型,用于视频生成
Whisper Tinyopenai/whisper-tinycheckpoints/whisper-tinyOpenAI 的语音转文本模型,支持多语言识别

如果下载缓慢可以更换国内镜像。

使用 export HF_ENDPOINT=https://hf-mirror.com 命令切换即可。

在这里插入图片描述

虚拟环境

在本项目中可以使用 Conda 来创建和管理虚拟环境。在项目的根目录中,通过 Conda 创建一个新的虚拟环境,假设环境名称为 venv,并使用 Python 3.6 版本。

conda create --name venv python=3.10

创建好环境后,通过以下命令激活虚拟环境。命令行前会显示虚拟环境名称 venv,表示当前环境已激活。

conda activate venv 

在激活的虚拟环境中,按照项目提供的 requirements.txt 文件安装所需的 Python 包。

pip install -r requirements.txt

项目应用

使用预训练模型使用,下面是执行项目的标准结构命令。

python demo.py   '/path/to/input_image'  '/path/to/input_audio'  '/path/to/output_video'

基于 Sonic 模型的推理入口,支持将静态图像与语音音频合成为带有口型的视频。用户通过命令行传入图像路径、音频路径和输出路径,同时可选启用人脸裁剪、设置动态缩放比例或固定随机种子以提升复现性。参数设计简洁,适合快速测试与批量生成。

参数名类型默认值说明
image_pathstr必填输入图像路径,作为口型生成的驱动人脸图像
audio_pathstr必填输入音频路径,作为驱动内容的语音素材
output_pathstr必填生成视频的保存路径
--dynamic_scalefloat1.0图像动态缩放比例,适配分辨率时使用
--cropflagFalse是否启用自动人脸裁剪(基于检测框),启用后将生成 .crop.png 文件
--seedintNone随机种子,用于结果可复现控制

项目拓展

将 Sonic 推理流程集成进了 ComfyUI 工作流系统,实现了可视化、模块化的语音驱动头像动画生成。它通过音频驱动静态图像生成自然唇动动画,搭配扩散模型和语音感知网络,在保留语义一致性的同时生成同步口型、流畅过渡的人脸视频。

此项目特别适合视频播报、虚拟角色、数字人等 AIGC 场景,并提供了完整的 ComfyUI 工作流示例和模型支持。

进入 ComfyUI 的 custom_nodes 目录,克隆本模块并安装模块所需的依赖项。

cd ./ComfyUI/custom_nodes
git clone https://github.com/smthemex/ComfyUI_Sonic.git
pip install -r requirements.txt

Sonic 核心模型权重

下载地址:Google Drive 模型文件夹

ComfyUI/models/sonic/
├── audio2bucket.pth
├── audio2token.pth
├── unet.pth
├── yoloface_v5m.pt
├── whisper-tiny/
│   ├── config.json
│   ├── model.safetensors
│   └── preprocessor_config.json
├── RIFE/
│   └── flownet.pkl

Whisper 语音模型

获取:openai/whisper-tiny(Hugging Face)将下载后的文件放置于 sonic/whisper-tiny/ 文件夹中。

SVD 扩散模型

Sonic 使用 SVD 模型进行高质量帧生成。 svd_xt.safetensors, svd_xt_1_1.safetensors任选一个放置至如下路径:

ComfyUI/models/checkpoints/
├── svd_xt.safetensors 或 svd_xt_1_1.safetensors
  • 最新版示例(2024.05.16)

    在这里插入图片描述

总结

Sonic 项目的设计围绕端到端的语音驱动视频生成流程展开,最大特点在于模型结构与功能模块解耦清晰。音频识别、图像驱动、视频合成各环节使用了独立模型,相互配合完成高质量输出。同时命令行接口简洁,降低使用门槛,适配性良好。核心模型引入 Whisper 语音识别与 SVD 扩散算法,有效保障语义同步和帧间流畅性,支撑其数字人生成的稳定效果。

该模块也存在一些可优化点。模型下载依赖命令行且路径需手动管理,缺乏一体化的脚本封装或 GUI 界面,使用过程易受环境因素干扰。虚拟环境依赖较多,版本兼容性敏感。ComfyUI 集成部分虽然提升易用性,但节点功能粒度略粗,灵活性受限,调试空间不足。

http://www.dtcms.com/a/279609.html

相关文章:

  • OneCode 3.0 VFS客户端驱动(SDK)技术解析:从架构到实战
  • Kafka 时间轮深度解析:如何O(1)处理定时任务
  • 深度测评|2025年BPM厂商排名及选型指南
  • 设计模式》》门面模式 适配器模式 区别
  • 基于Android的
  • 数据可视化全流程设计指南
  • hi3519dv500开发环境搭建及SDK编译和烧录:
  • Linux从零到一的学习
  • 【DOCKER】-6 docker的资源限制与监控
  • Datawhale AI夏令营——用户新增预测挑战赛
  • 营销创意可以从哪些角度挖掘?
  • HNSW(分层导航最小世界)算法:高维向量检索的导航革命
  • 龙虎榜——20250714
  • 手滑误操作? vue + Element UI 封装二次确认框 | 附源码
  • 基于SpringBoot+Vue的体育馆预约管理系统(支付宝沙盒支付、腾讯地图API、协同过滤算法、可视化配置、可视化预约)
  • JAVA并发——volatile关键字的作用是什么
  • 高并发点赞场景Synchronized、AtomicLong、LongAdder 和 LongAccumulator性能分析
  • Linux 系统管理基础教程
  • MyBatis 在执行 SQL 时找不到名为 name 的参数
  • PO类与分层架构
  • UI前端大数据可视化新实践:如何利用数据动画讲述数据背后的故事?
  • Redis高可用集群一主从复制概述
  • SSH 登录失败,封禁IP脚本
  • 理解Grafana中`X-Scope-OrgID`的作用与配置
  • JavaWeb与HTTP协议
  • 【FPGA】AXI总线协议
  • 李宏毅(deep-leraning)-四---梯度下降batch size
  • 品质童装好而不贵!百胜中台助力久岁伴稳步发展
  • 今日行情明日机会——20250714
  • openEuler系统串口文件手法压力测试及脚本使用说明