如何 10 分钟跑通音频驱动说话人生成: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(CVPR 2023)只需要一张静态图片和一段音频,就能生成嘴型、表情与音频同步的说话视频。这篇 SadTalker 安装教程按"最快跑通"的顺序带你走完环境搭建、模型下载、首次运行与参数调优,并附一份常见报错的避坑清单,照着操作即可让任意一张人物照片开口说话。
3 条命令准备好代码与模型
- 先克隆仓库并创建独立 Python 环境。Python 3.8 是官方充分测试的版本,换成 3.9+ 容易撞依赖冲突:
git clone https://gitcode.com/GitHub_Trending/sa/SadTalker cd SadTalker conda create -n sadtalker python=3.8 conda activate sadtalker pip install -r requirements.txt conda install ffmpeg- ffmpeg 是命令行音视频处理工具,最终 mp4 视频由它编码输出,必须装好并在系统 PATH 中。
- 接着运行仓库自带的下载脚本,它会自动建好 checkpoints/ 与 gfpgan/weights/ 目录,拉取 256/512 两档面部模型和修复模型,已存在的文件会自动跳过:
bash scripts/download_models.sh- Windows 用户若没有 bash,可直接双击
webui.bat,首次运行会自动完成环境安装。
一张照片加一段音频,就能做说话人视频
- 核心用法就一句话:一张人物照片 + 一段音频 = 一段说话视频。照片无需任何预处理,正面、光线正常的真人照片效果最好。
图:适合作为 SadTalker 说话人动画输入的静态肖像,面部清晰、正面朝向
- 仓库自带 16 个示例音频(examples/driven_audio/ 目录)和 30 多张示例图片,够你反复验证效果。
- 它不只支持头像特写,也支持全身照:面部区域生成动画后贴回原图,人物姿态保持自然。
🔧 选对 PyTorch 版本,环境就成功了一半
- SadTalker 对 PyTorch 版本比较敏感,Linux + CUDA 用户建议直接装 README 对应的 cu113 版本:
pip install torch==1.12.1+cu113 torchvision==0.13.1+cu113 torchaudio==0.12.1 --extra-index-url https://download.pytorch.org/whl/cu113- macOS / Apple Silicon 用户装最新版 torch 即可,但必须单独补装 dlib(人脸关键点定位库),否则报 "Illegal Hardware Error":
pip install dlib - 各平台(Windows 原生、WSL、Docker)的完整安装说明见 docs/install.md。
运行第一条生成命令,验证环境
- 命令行入口是 inference.py,用仓库自带的示例音频和图片跑一遍,是最直接的环境验证:
python inference.py --driven_audio examples/driven_audio/chinese_news.wav \ --source_image examples/source_image/art_2.png- 成功后视频会存在 results/<时间戳>/ 目录下的 .mp4 文件里,看到视频出现就说明 SadTalker 安装完成。
- 更习惯图形界面可以执行
bash webui.sh(Windows 双击 webui.bat),启动 Gradio 网页版,在浏览器里上传图片音频点按钮生成。 - 纯 CPU 机器加
--cpu参数可运行,但 10 秒音频要渲染几分钟,只建议用来验证环境。
⚡ 进阶调优:3 个参数让效果更自然
- 全身照生成建议加
--still --preprocess full:still 模式让头部姿态与图片保持一致、减少摇头晃脑,full 模式只动画面部再贴回原图:
python inference.py --driven_audio examples/driven_audio/imagine.wav \ --source_image examples/source_image/full_body_1.png \ --still --preprocess full --enhancer gfpgan--enhancer gfpgan会在生成后用 GFPGAN(人脸修复网络)回补面部细节;--size 512画质比 256 更细,但显存占用明显上升,6GB 显存建议先跑 256。--expression_scale控制表情幅度,默认 1.0,调到 2.0 表情更生动;完整参数表在 docs/best_practice.md。- 音频只支持 wav 或 mp3 两种格式,其他格式会在解码时直接报错,先用 ffmpeg 转一下即可。
避坑清单:4 个最高频的报错
- ffmpeg is not recognized:Windows 确认 ffmpeg 已加入 PATH,Linux 执行
conda install ffmpeg。 - CUDA out of memory:512 + 修复模型大约需要 6GB 显存,先降到
--size 256,再设置环境变量缓解碎片化:
export PYTORCH_CUDA_ALLOC_CONF=max_split_size_mb:128- 提示 model file might be corrupted:属于下载中断,重跑一遍
bash scripts/download_models.sh即可断点补齐。 - FileNotFoundError: similarity_Lm3D_all.mat:checkpoints 目录没放到仓库根目录下,对照 README 的目录结构检查一遍。
仍遇到其他报错,先翻官方 FAQ,绝大多数问题里面都有对应条目。
【免费下载链接】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),仅供参考