当前位置:   article > 正文

与数字人对话--LLM与数字人结合案例(续)

与数字人对话--llm与数字人结合案例

       上篇文章(与数字人对话--LLM与数字人结合案例)讲了与数字人对话项目的前四步是如何实现的,本文继续讲第五步:从语音转换成数字人的Blendshape,实现让数字人说话。

       先把整个流程图再次附上,对这个项目有个整体的了解。

                                                   图1 数字人对话项目图

1. 语音转数字人Blendshape

       大家都知道,数字人表情是通过多个基础的Blendshape线性组合而成的(可以参考另一篇文章:BlendShape-数字人表情生成机制),那么有了语音,只要转换成一系列的Blendshape权重值,然后控制数字人表情动画,就可以让数字人表情动起来,再配合语音播放,就可以实现数字人说话的效果。

       语音转Blendshape采用了SAiD模型实现,SAiD模型讲输入wav文件转换成包含了Blendshape数据的csv文件,这些Blendshape是与Apple ARKit Blendshape兼容的。所以只要数字人按ARKit Blendshape标准制作了Blendshape,就可以直接使用csv中的数据。

       SAiD模型的Github地址:GitHub - yunik1004/SAiD: SAiD: Blendshape-based Audio-Driven Speech Animation with Diffusion

       SAiD推理生成Blendshape数据的代码如下:

                                                    图2 SAiD推理生成Blendshape命令

        生成的Blendshape数据还是通过Fast Api传回项目中。

2. 总结

        到这里数据人对话的所有步骤都已经实现,其中Whisper采用的Huggingface接口,LLama 2、Bark、SAiD模型都是本地部署,功能整体跑通了,但性能还需要提高。后续要继续提高性能,并应用到具体的业务场景中。

3. 效果演示

        最后看下整体的效果。

对话数字人Show

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号