基于SadTalker平台构建AI 数字人制作方法

715 阅读2分钟

背景

现在很火AI数字人视频播报,我也是突发奇想,研究一下这个代码,视频地址:https://www.bilibili.com/video/BV1i24y1u72M/?buvid=XU9035A93E2AA84C408AE7AD7EF3F8F7EB84E&is_story_h5=false&mid=yW%2BUxPwToAaca8GJUAjpCA%3D%3D&p=1&plat_id=116&share_from=ugc&share_medium=android&share_plat=android&share_session_id=e1a5f428-9227-4d03-adfa-11bb5dfe259e&share_source=WEIXIN&share_tag=s_i&timestamp=1689949984&unique_k=eMJDF1Q&up_id=431556168&vd_source=5e1cb2539d2db81e77b4343bf7af01e4

源码地址:https://github.com/OpenTalker/SadTalker

接下来,我主要是介绍如何把这个项目跑起来。

1.安装方式

(1)本地虚拟环境安装

SadTalker主页:https://github.com/Winfredy/SadTalker

anaconda下载:https://www.anaconda.com/products/distribution

源代码及模型百度盘:链接:https://pan.baidu.com/s/1QIG5t1WIO6s-zWgxToP-9g?pwd=uo5o

文本生成语音的代码:https://github.com/yang0/azure_text2speech

也可以用这位大佬的文本转语音工具:https://github.com/LokerL/tts-vue/releases



配置环境:

pip源设置:

pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple


先解压SadTalker安装包,从windows 菜单点击anaconda prompt,

进入命令行开始安装执行SadTalker安装命令:


cd SadTalker

conda create -n sadtalker python=3.8

conda activate sadtalker

pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118

conda install ffmpeg

pip install -r requirements.txt



查看当前虚拟环境的安装目录,执行命令:conda info

把源代码压缩包里面的:gfpgan\weights\GFPGANv1.4.pth 剪切到虚拟环境的 Lib\site-packages\gfpgan\weights 目录下


生成视频需要执行命令:

python inference.py --driven_audio e:\temp\sadtalker\speech_0.wav --source_image e:\temp\sadtalker\1.png --result_dir e:\temp\sadtalker --still --preprocess full --enhancer gfpgan



e:\temp\sadtalker\speech_0.wav 替换成 你的语音文件

e:\temp\sadtalker\1.png 替换从你的图片

e:\temp\sadtalker 替换成你的输出目录

提示:该种方式没在本地安装成功,需要后续进一步研究

(2) Cloab一键运行

该种方式需要开通vpn,是Google自带的云编译服务环境

1.添加代码块

23cdf4a42703393271e1c5d3a909517.png 报以上错误,提示是safetensors包没有找到,需依赖第三方包

image.png

代码如下:

!pip install safetensors kornia facexlib yacs pydub gfpgan
2.报Python3.8:Commad not found

d30ffc6279a594899ca6857156cb6c9.png

解决方案:需将python3.8 直接改为python即可,如图:

image.png

3.替换头像和音频

1.首先需要将头像和视频上传到该文件中,如图:

image.png

2.复制图片路径

image.png

image.png

3.修改需要生成的音频及图片路径

代码如下:

!python inference.py --driven_audio ./examples/driven_audio/chinese_poem1.wav \
           --source_image /content/SadTalker/examples/source_image/aa.png \
           --result_dir ./results --still --preprocess full --enhancer gfpgan

image.png 执行后,等着构建完成 image.png

4.生成视频

执行此脚本

image.png

就会生成一段合成好的视频,下载下来即可。效果如图所示

image.png

最后,我这边只记录如何用,想详细了解,请前往官网了解。