背景
现在很火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×tamp=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.添加代码块
报以上错误,提示是
safetensors
包没有找到,需依赖第三方包
代码如下:
!pip install safetensors kornia facexlib yacs pydub gfpgan
2.报Python3.8:Commad not found
解决方案:需将python3.8
直接改为python
即可,如图:
3.替换头像和音频
1.首先需要将头像和视频上传到该文件中,如图:
2.复制图片路径
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
执行后,等着构建完成
4.生成视频
执行此脚本
就会生成一段合成好的视频,下载下来即可。效果如图所示
最后,我这边只记录如何用,想详细了解,请前往官网了解。