Ai数字生命-初体验
【演示视频】

【体验教程】
本文章记录极客湾开源数字生命本地部署及想要二次开发的准备工作。如果只是想体验一下,直接在原视频下方下载已经打包的beta版本所有文件即可。如果想要深入了解项目并进行二次开发,需要手动部署编译相关服务,内容在本专栏下一章。原视频简介的下载地址:
任意一个下载完成即可,内部包含了服务端、Windows前端和Android前端所有文件。解压后直接双击 “运行.bat” 批处理文件:


该界面是方便新手操作的Windows服务端图形化启动界面。需要填写ChatGPT的API(在openai官网申请),然后能访问外网的代理地址(clash端口号是7890,v2端口号是10809)。完成后N卡直接点启动即可。
A卡Windows下只能使用cpu来跑语音服务,将 Digital_Life_Server\TTS\TTService.py 文件下 36行,由
如果是远程控制,会卡在:

这个包暂时无法在RDP远程控制情况下使用,如一定需要远程得手动部署服务端github仓库最新版本,继续查看下一章节。
启动完成后,点击启用电脑端,即可打开Windows前端。Android端请使用下面的apk安装包,扫码下载的apk存在无法发送语音的BUG。已修复BUG版本的Android前端下载地址:
打开后填写电脑服务端ip地址和端口号(默认为38438),连接即可看到虚拟人物了。

【手动部署及二次开发】
此项目非常适合二次开发定制人物或者卡通形象后,再基于ChatGLM2微调模型固定一些语料,作为公司或者项目宣传形象。最终效果不仅能回答提前预设的相关问题(品牌宣传),还能灵活回答其它所有问题,比市面上后期合成的视频数字人要炫酷得多。
近期有相关定制开发计划,有需求可联系。目前ChatGLM2实际接入效果还未知,如果基于ChatGPT只能通过prompt进行人物设定和简单固定语料。
此数字生命项目分成了三个部分,分别是服务端、服务端图形化启动器、UE5前端。



这三个项目作为二次开发者只需要深入了解服务端和UE5前端即可。图形化启动器不必下载和深入研究,它只是方便小白用户快速启动而已。我们使用服务端内置的启动脚本,修改其中的参数可以达到一样的效果。

1.服务端部署
首先把服务端项目clone下来:
然后在项目文件夹内部打开终端创建虚拟环境:
执行完毕后项目内部会多出venv文件夹:

使用该命令进入虚拟环境:

在虚拟环境内部安装项目所需要的相关组件,根据自己的显卡选择安装不同的pytorch,目前AMD只能使用CPU来跑相关的语音服务,可能延迟会略高一点点:
非N卡用户还需要做额外一步, 修改Digital_Life_Server\TTS\TTService.py 文件中第36行:
然后还需要编译 monotonic_align 组件,编译这个组件需要先做一些准备工作。首先下载
双击打开后,将这四个全部安装,C盘不够的同学记得在底下更改安装位置。

安装完成后,使用下面命令编译 monotonic_align 组件:
编译需要一段时间,请耐心等待。完成后,从该地址下载服务端所需的模型文件:
分别将下面三种模型放到对应位置:
顺利完成后,最后需编辑 run-gpt3.5-api.bat文件


修改其中的 “PROXY” 代理地址为自己代理软件的地址。“CHARACTER” 改成如图的“paimon”,默认的“catmaid”暂时没有音频模型,会出错。“STREAM” 改成 “True” 。如果不添加自己的ChatGPT-API,则默认是薅原作者的羊毛,建议添加自己的API,按上图添加 --APIKey 参数即可。
完成后,双击run-gpt3.5-api.bat文件即可打开服务端,监听38438端口,如需外网访问,需要做端口映射。

手机端和服务端在同一局域网情况下,填写电脑ip地址和端口号即可连接成功。最后还需要在服务端项目内部新建一个tmp文件夹,并在tmp中新建两个空白音频文件(直接创建文本文件然后改后缀为wav即可),否则服务端会报错无法找到wav文件(属于软件BUG)。



2.UE5前端
这里仅简要说明如何使用UE5导入并编译项目,UE5具体教程请自行学习。将UE5前端项目clone到本地:
然后安装并打开UE5,点击右下角浏览,打开 T.uproject 工程文件,此时会根据你下载的UE5具体版本就项目进行转化,点打开副本。

此时会将工程复制一份,并在文件夹后缀中加上版本号,比如我是5.1如下图,以后使用该副本即可:

需要等待一段时间,然后会自动打开该工程。由于原工程是由5.0.3创建,会提示插件版本不匹配,如下图。我们直接点“是”。

然后关闭该项目,进入
该地址,点击右边release,下载和Unreal Engine版本对应的插件版本即可。比如我是5.1,则下载这个,请大家根据自己的Unreal Engine版本找到对应的插件版本。

下载完成后,直接将插件内的所有文件复制,删除工程内原插件内的所有文件,路径是 /Plugins/RuntimeAudioImporter 再粘贴新下载的即可。


粘贴完成后,再次打开UE5,会提示下图,点击“是”:

再次打开后,会提示需要启用 Shader Model 6。

点击顶部菜单 编辑-项目设置-Windows-SM6,勾选如下图选项,然后重启UE5。

重启后,项目就能正常运行、编辑和打开了。点击顶部运行就能看到软件正常运行了。

点击顶部 “平台” 可将该工程打包成适配不同平台的软件。

编译成Windows格式的软件需要提前安装刚才提到的vs_BuildTools.exe中的那四个组件。
编译成Android软件相对比较麻烦。当然,这是我的老本行,相对比较熟悉,首先下载Android Studio,打开SDK Manager。

指定SDK的下载路径,这里建议手动更改一下,不要使用默认的C盘路径,然后下载Android 8.0的SDK,API Level 26。

然后在SDK Tools中,勾选右下角Show Package Details

将这几项全部安装,注意Command-line Tools一定要保证 latest 和 8.0 正常安装:

下载安装完成后,关闭Android Studio。回到UE5,点击顶部 编辑-项目设置-Android SDK,将SDK、NDK、JDK和API Level 参考下图填写,路径还需要根据自身实际情况。JDK如果不会安装请参考其他教程。

重要:如果你的UE5版本为5.0或者5.1,还需要找到UE5软件本体目录的Engine\Extras\Android文件夹内,找到下图中 SetupAndroid.bat文件,使用文本编辑器打开,

将其中的:
修改为:
其实就是把 “latest” 改成 “8.0”。改完之后,才能正常打包Android APK。

点击打包项目,此时还会让我们选择SDK目录,我们直接找到Android SDK的目录,点击打开,就会开始编译APK了,首次编译时间非常久,需要烘培内容,和CPU性能有关,请耐心等待。

完成后,在 ..\Binaries\Android 路径下即可找到需要的APK
