以下是关于开源数字人的相关信息:
组合方案:
构建高质量的 AI 数字人:
相关算法开源代码:
除了算法,人物建模模型可以通过手动建模(音频驱动)或者 AIGC 的方式生成人物的动态效果(例如 wav2lip 模型)实现,这样就完成了一个最简单的数字人。当然这种简单的构建方式还存在很多的问题,例如:
先剪出音频,使用https://elevenlabs.io/speech-synthesis或使用GPT-sovits[GPT-SoVITS实现声音克隆](https://waytoagi.feishu.cn/wiki/SVyUwotn7itV1wkawZCc7FEEnGg)克隆声音,做出文案的音频。[heading2]第二步[content]使用wav2lip整合包,导入视频和音频,对口型得到视频。基础wav2lip+高清修复整合包下载地址https://github.com/Rudrabha/Wav2Lip这就是目前的本地跑数字人的方案,效果都差不多,都是用的wav2lip产品https://synclabs.so/
建好的模型可以使用web前端页面(Live2D就提供了web端的SDK)或者Native的可执行程序进行部署,最后呈现在用户面前的是一个GUI。笔者的开源数字人项目(项目地址:https://github.com/wan-h/awesome-digital-human-live2d)选择了live2d作为数字人躯壳,因为这类SDK的驱动方式相比现在的AI生成式的方式更加可控和自然,相比虚幻引擎这些驱动方式又更加轻量和简单;另外超写实的数字人风格在目前的技术能力下,处理不好一致性问题,容易带来虚假的感觉或者产生恐怖谷效应,而卡通二次元的形象给人的接受度更高。关于live2d的SDK驱动方式可以参考官方示例:https://github.com/Live2D。
上述算法开源的代码有很多,这里列出一些仓库供大家参考:ASR语音识别openai的whisper:https://github.com/openai/whisperwenet:https://github.com/wenet-e2e/wenetspeech_recognition(这是一个语音识别的接口集合,里面有不同实现的语音识别的接口):https://github.com/Uberi/speech_recognitionAI Agent大模型部分就比较多了,包括ChatGPT、Claude、ChatGLM、文星一言、千帆大模型、通义千问等等。Agent部分可以使用LangChain的模块去做自定义,里面基本包含了Agent实现的几个组件(https://www.langchain.com/)TTS微软的edge-tts:https://github.com/rany2/edge-tts,只能使用里面预设的人物声音,目前接口免费。VITS:https://github.com/jaywalnut310/vits,还有很多的分支版本,可以去搜索一下,vits系列可以自己训练出想要的人声。so-vits-svc:https://github.com/svc-develop-team/so-vits-svc,专注到唱歌上面,前段时间很火的AI孙燕姿。除了算法,人物建模模型可以通过手动建模(音频驱动)或者AIGC的方式生成人物的动态效果(例如wav2lip模型)实现,这样就完成了一个最简单的数字人。当然这种简单的构建方式还存在很多的问题,例如:如何生成指定人物的声音?TTS生成的音频如何精确驱动数字人口型以及做出相应的动作?数字人如何使用知识库,做出某个领域的专业性回答?