视频教程在这里:
sadtalker数字人创建简易教程
项目基于SadTalkers实现视频唇形合成的Wav2lip。通过以视频文件方式进行语音驱动生成唇形,设置面部区域可配置的增强方式进行合成唇形(人脸)区域画面增强,提高生成唇形的清晰度。使用DAIN 插帧的DL算法对生成视频进行补帧,补充帧间合成唇形的动作过渡,使合成的唇形更为流畅、真实以及自然。
1.下载原始代码
git clone https://github.com/Zz-ww/SadTalker-Video-Lip-Sync.git
2.下载权重
预训练的模型checkpoints下载路径:
百度网盘:百度网盘 请输入提取码 提取码:klfv
谷歌网盘:https://drive.google.com/file/d/1lW4mf5YNtS4MAD7ZkAauDDWp2N3_Qzs7/view?usp=sharing
把权重文件放在工程目录下。
3.安装运行环境
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
conda install ffmpeg
pip install -r requirements.txt#如需使用DAIN模型进行补帧需安装paddle
# CUDA 11.2
python -m pip install paddlepaddle-gpu==2.3.2.post112 \
-f https://www.paddlepaddle.org.cn/whl/linux/mkl/avx/stable.html
4.运行代码
--driven_audio <audio.wav> 输入音频路径
--source_video <video.mp4> 输入要驱动的视频文件
python inference.py --driven_audio <audio.wav> \--source_video <video.mp4> \--enhancer <none,lip,face> \ #(默认lip)--use_DAIN \ #(使用该功能会占用较大显存和消耗较多时间)--time_step 0.5 #(插帧频率,默认0.5,即25fps—>50fps;0.25,即25fps—>100fps)
在results目录下查看视频结果即可。
如果需要显存不足的情况,可以稍微改一下代码。原代码开头加载了三个模型,可以将模型分开加载,运行一个,释放一个,这样显存就不会报错了。