接上一篇:AI学习 - 2D虚拟数字人
上一篇基于百度开源的飞桨深度学习框架,弄了个2D数字人,或者可以说是做了个AI换脸。效果觉得不怎么样,面部表情和声音都有点别扭,面部表情想要达到很真的效果,估计还是得弄个3d才行。声音想达到想要的效果,估计得自定义演习模型才行。
网上发的部分数字人,声音和面部表情看起来效果是真不错,和真人差不多了,不仔细看基本分辨不出是真人,还是假人了。以是涉及的私人信息,财务方面的信息,就要多留个心了。
上一篇的声音,没有豪哥哥那种搞笑的声音。于是就做了个实验,将这种搞笑的声音直接和视频直接进行唇形合成,效果如下:
视频加载中...
合成的效果,彷佛也比较别扭,这个效果可能跟唇形合成的大模型有关,详细里面是怎么做的就没探究了。
有了上一篇的学习记录,这一篇是比较大略的,步骤如下:
步骤1: 环境搭建我这里利用的还是AI Studio, 每天有几个小时的免费算力,用起来还是可以的。
这一步还是环境检讨, 比较忧郁的是,开启了几次AI Studio, pip都是有问题的状态。
AI Studio有点不好的是, 你是没有超级用户权限的, 以是有的东西, 你想重装,是弄不了的。以是我这里开启了好几次, 才有个pip可以正常利用的环境。
// 环境检测// python版本检测python -V// python的一些依赖环境检讨, 你会创造paddlepaddle-gpu,paddlehub都已经安装好了pip list// 如何碰着如下问题,就要小心了,后面pip怎么安装都报错,// 尴尬的是,怎么重装/升级pip都没办理,末了选择的是重新开启一个aistudioWARNING: There was an error checking the latest version of pip.
步骤2: 素材准备
准备一个音频和一个主持人口播视频
也可以运行我在aistudio创建的项目,去获取素材。
项目地址:https://aistudio.baidu.com/projectdetail/6653308
// 下载的音频,由于是mp3格式, 唇形合成的模块,是须要wav格式的, 以是就须要转换一下// mp3格式转wav格式, 源码如下from pydub import AudioSegment def convert_mp3_to_wav(mp3_file_path, wav_file_path): audio = AudioSegment.from_mp3(mp3_file_path) audio.export(wav_file_path, format="wav") # 调用函数并指定MP3文件路径和WAV文件路径convert_mp3_to_wav("test.mp3", "example.wav")
步骤3: 唇形合成
源代码如下:把稳路径
# 唇形合成 - 把你准备的语音 与 视频的唇形合成import paddlehub as hubw2f = hub.Module(name="wav2lip")w2f.wav2lip_transfer(face='output/FOM.mp4', audio='wavs/example.wav', output_dir='./output/', use_gpu=True)