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 是音频驱动的说话视频生成工具:给它一张肖像照片和一段音频,它会生成口型同步的说话头部视频,渲染分辨率由--size控制,默认 256,也可指定 512 使用新版 512x512 面部模型。项目由西安交通大学与腾讯 AI Lab 联合开发,方法发表于 CVPR 2023,代码以 Apache 2.0 协议开源。
🧩 最短路径:装环境、下模型
整条链路只依赖三样东西:Python 3.8、Git、FFmpeg。装好之后,剩下的都能交给脚本:
git clone https://gitcode.com/GitHub_Trending/sa/SadTalker bash scripts/download_models.sh bash webui.sh- Linux/macOS 依次执行上面三行:克隆仓库、把全部模型文件自动下载到
checkpoints/和gfpgan/weights/,再运行webui.sh自动创建 venv、安装依赖,浏览器会直接打开 Gradio 界面。macOS 若报 dlib 相关错误,补一句pip install dlib即可。 - Windows 装好三样前置后,在仓库目录双击
webui.bat,脚本会自动装依赖并启动界面;模型文件需要手动下载,分别放入checkpoints/和gfpgan/weights/两个目录。
WebUI 和命令行共用同一套模型,哪边顺手动哪边。
🎬 三条命令出第一条说话视频
不用自己准备素材,仓库自带示例音频和肖像,替换成自己的文件后一条命令就能跑:
python inference.py --driven_audio examples/driven_audio/bus_chinese.wav \ --source_image examples/source_image/art_0.png \ --enhancer gfpgan前两个参数分别是音频和图片,--enhancer gfpgan打开面部增强。跑完后成片输出到results/<时间戳>/<时间戳>.mp4,终端会打印最终文件名。不想敲命令的话,在 Gradio 界面里上传照片和音频、点生成,效果一致。
🎚 三个参数决定成片效果
完整参数表在官方文档 docs/best_practice.md。对成片影响最大的三个,按重要度排:
1.--preprocess:先决定素材怎么裁
默认crop:自动检测面部关键点,裁出面部特写再生成,头部运动和表情都最稳定。素材是全身或半身照时,改用full并加上--still固定头部姿态,可以得到自然的全身说话视频。resize会把整图缩放到目标分辨率再渲染,适合证件照这类头像素材;官方文档明确提示全身照用它会效果不佳。
2.--enhancer:面部细节增强
--enhancer gfpgan(或RestoreFormer)会在成片上跑人脸修复网络,提升面部细节;想连背景一起增强,再加--background_enhancer realesrgan。成片脸部发糊时,这是第一个该打开的开关。
3.--expression_scale:表情强度
默认 1.0,数值越大,面部表情动作越强。成片表情过于夸张、和语气不搭时,把这个值调低一档再重新生成。
另有一个可选项:--ref_eyeblink和--ref_pose可以从另一段参考视频里借用眨眼和头部姿态,成片的眼睛活动会更自然。
🖼 输入素材这样选
图片
- 正面、面部清晰:系统要先检出面部关键点才能裁剪,人脸占比太小或角度太偏时无法定位。
- 光线均匀,避免强烈侧光和重阴影。
- 只支持真人或接近真人的肖像,官方文档明确说明动漫等风格化图像不适用。
音频
- 只支持 wav 和 mp3,其他格式会报解码错误,官方 FAQ 有说明。
- 录音尽量干净,少带环境噪音:音频负责驱动口型和表情,素材越噪,结果越不稳。
- 仓库
examples/driven_audio/自带 14 段示例音频,覆盖中文、英文、日文,不用录音也能马上生成。
📚 三类具体用法
课程与培训视频
讲师的正面肖像加上录好的课程音频,得到的说话视频可以直接放在课程首页或作为试看片段。内容更新时只换音频,不用重新拍摄。
外语教学素材
示例音频里有英文(如RD_Radio31_000.wav)和日文(japanese.wav),配上固定肖像就能做出"真人语音加静态图"的发音演示素材。语言课里更换语段、更新讲义的成本很低。
纪念与个人创作
老照片、个人照片用--preprocess full --still生成全身说话视频,头像是默认crop模式即可。想让眼神更自然,加--ref_eyeblink从一段实拍视频里借用眨眼。
❓ 卡住了先看这三条
更多问题见官方 docs/FAQ.md。最常遇到的是这三条:
- 提示
ffmpeg is not recognized或找不到命令:先装 ffmpeg。Linux 用conda install ffmpeg,macOS 用brew install ffmpeg,Windows 需要把 ffmpeg 加入 PATH。 - 报
checkpoints\BFM_Fitting\...等文件不存在:模型没下全或放错位置。重新执行scripts/download_models.sh,确认checkpoints/与gfpgan/weights/两个目录完整。 - Mac M1 报 Illegal Hardware Error:dlib 的编译版本不兼容,单独执行
pip install dlib重装。
适合手里有现成照片和音频、又不想学剪辑和动画的人,教学、课程、纪念类内容都能直接套用。下一步可以先用仓库里的示例素材跑通流程,再换成自己的素材,按--preprocess、--enhancer、--expression_scale的顺序逐项调整。
【免费下载链接】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),仅供参考