news 2026/8/24 4:13:00

15分钟跑通SadTalker:音频驱动面部动画从环境搭建到出片

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
15分钟跑通SadTalker:音频驱动面部动画从环境搭建到出片

15分钟跑通SadTalker:音频驱动面部动画从环境搭建到出片

【免费下载链接】SadTalker[CVPR 2023] SadTalker:Learning Realistic 3D Motion Coefficients for Stylized Audio-Driven Single Image Talking Face Animation项目地址: https://gitcode.com/GitHub_Trending/sa/SadTalker

SadTalker 是一款音频驱动面部动画工具:输入一张静态人像加一段语音,就能生成嘴型、表情都与音频对齐的说话视频。这篇安装教程带你走环境、模型、出片三步。

先看效果:一张照片加一段音频能变成什么

最终产物是 mp4:人物对着镜头说话,口型、眨眼和头部微动都跟着语音走,全身照输入也不会崩坏。下面这段动图就是一次完整运行的输出。

图注:SadTalker 音频驱动面部动画的出片效果,嘴型随语音逐帧变化

原理拆开并不玄:先从照片里恢复出三维人脸参数,再把音频转成头部和口型的运动系数,最后逐帧渲染合成视频。仓库自带的演示素材都在 examples/ 目录,音频和照片可以直接拿来试。

硬件底线:你的配置够不够

维度最低更从容
显卡6GB 显存(RTX 2060 一档)8GB 以上(RTX 3060 起)
内存8GB16GB 以上
磁盘留 10GB留 20GB

没有独显也能跑:脚本检测不到 CUDA 会自动切到 CPU,十几秒音频大概要等几分钟,适合先验证流程、后面再考虑提速。

环境一次搭好:conda、PyTorch 与依赖

先建隔离环境

克隆仓库后,用 conda 拉一个 Python 3.8 的独立环境,把依赖隔离开,冲突会少很多:

git clone https://gitcode.com/GitHub_Trending/sa/SadTalker cd SadTalker conda create -n sadtalker python=3.8 conda activate sadtalker

再装依赖

PyTorch 按机器的 CUDA 版本去官网挑对应命令,纯 CPU 机器装 CPU 版;ffmpeg 交给 conda 最省事,最后补齐项目依赖:

pip install torch torchvision torchaudio conda install -y ffmpeg pip install -r requirements.txt

macOS 上装完还要补装 dlib,仓库 docs 目录的 install.md 里写了分平台的额外事项。

模型自动下载与第一次推理

一条命令拉全模型

bash scripts/download_models.sh

它会自动创建 checkpoints 目录,把 256 和 512 两档的 safetensors 主权重、两个 mapping 网络的 pth 文件,以及 GFPGAN 人脸增强权重全部取回本地;下载用的是断点续传写法,重跑不会重复拉已存在的文件。

GPU 与 CPU 各一套参数

第一次先按 256 分辨率把全链路跑通:

python inference.py --source_image examples/source_image/full_body_1.png \ --driven_audio examples/driven_audio/bus_chinese.wav --size 256

图注:上面命令默认的全身输入图,面部区域清晰是全身照能跑好的前提

完成后视频按时间戳落在 results 目录。显卡有富余,把--size提到 512、--batch_size提到 4,画面更细;CPU 机器在命令里加--cpu,并把--batch_size压到 1。除了真实照片,风格化插画也可以直接当输入:

图注:风格化插画同样能驱动出自然的说话动画

出片不顺时先查这三处

  • 显存吃紧:先把--batch_size降到 1、--size降到 256;还报 OOM,就设置PYTORCH_CUDA_ALLOC_CONF环境变量让显存分配更紧凑。
  • 依赖版本打架:别在原环境里打补丁,删掉 conda 环境从头重建一次最干净。
  • 加载权重报错:多半是某个模型文件没拉全,重跑一遍下载脚本即可,它会跳过已存在的文件。

最后给挑输入素材定个标:正脸、清晰、光线足,音频用 WAV 最稳。

图注:正脸清晰的这类人像,是音频驱动面部动画最省心的输入

到这里环境、模型、命令都齐了,换一张自己的照片和一段自己的音频,跑一条属于自己的出片命令就好。

【免费下载链接】SadTalker[CVPR 2023] SadTalker:Learning Realistic 3D Motion Coefficients for Stylized Audio-Driven Single Image Talking Face Animation项目地址: https://gitcode.com/GitHub_Trending/sa/SadTalker

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/24 4:12:07

STM32开发环境搭建:Keil与VS Code高效组合配置指南

1. 项目概述:为什么选择Keil与VS Code组合?如果你刚开始接触STM32,尤其是像STM32F407这种性能强劲的微控制器,第一个拦路虎往往不是复杂的硬件外设,而是那个看起来有点“古老”的编程环境。Keil MDK(Microc…

作者头像 李华
网站建设 2026/8/24 4:10:46

智能体不确定性量化:Proper Scoring Rules评估与工程实践

1. 从“预测”到“负责任的预测”:智能体不确定性量化的核心挑战最近在跟进一些前沿的智能体(Agent)项目时,我发现一个有趣的现象:大家讨论的焦点已经从“我的智能体能不能完成任务”,逐渐转向了“我的智能…

作者头像 李华
网站建设 2026/8/24 4:10:36

三步打造高含金量实习报告:从流水账到专业文档

1. 为什么你的实习报告总像流水账?每次实习结束,面对那份干巴巴的实习报告,你是不是也感到无从下手?把日常工作内容像记账本一样罗列出来,最后连自己都看不下去。这种情况太常见了——根据我指导过上百份实习报告的经验…

作者头像 李华
网站建设 2026/8/24 4:10:11

ABAP对接企业微信机器人:模版卡片消息的实战开发指南

1. 项目概述:为什么我们需要模版卡片? 在企业微信机器人消息推送这个场景里,我们之前聊过文本、Markdown、图片甚至文件,这些类型已经能覆盖大部分日常通知需求。但如果你做过一些复杂的业务状态推送,比如采购订单审批…

作者头像 李华
网站建设 2026/8/24 4:09:30

Java全栈工程师面试技术栈梳理与实战技巧

1. 面试前的技术栈梳理作为一名Java全栈工程师,面试官首先会考察你对整个技术栈的掌握程度。我建议从以下几个维度进行系统梳理:1.1 Java核心知识体系Java基础是面试的必考环节,需要重点准备以下内容:JVM内存模型与垃圾回收机制&a…

作者头像 李华
网站建设 2026/8/24 4:09:25

Agentic AI:从工具到伙伴,如何用Python构建自动化科研智能体

1. 从“工具”到“伙伴”:科学研究的Agentic AI新范式最近和几个在高校做科研的朋友聊天,发现一个挺有意思的现象:他们实验室的日常,已经从“人围着仪器转”变成了“人围着代码和数据转”。一个生物信息学的博士,可能8…

作者头像 李华