最近在VRChat中萌生出造一个AI数字人的想法,这个游戏可以自己在Unity里造模型,然后还提供了OSC接口可以与游戏交互,可以外部操控聊天框和模型角色的变量属性,于是接入ChatGPT文本生成和VITS语音生成TTS这类模型即可实现可交互聊天数字人
想法 流程 实现 都很简单,不到几个小时我就写好程序实现了,但是在测试中发现还是有一小部分难点,我正在解决如何准确捕获其他玩家的声音并生成文本,语音转文本STT本不难实现,但在游戏里做到其他玩家的语音转文本,就有点困难了
最大的问题是语义分析,因为其他玩家在游戏中说话受到各种因素的影响,噪音,背景音乐,多个说话人同时说话,口吃,停顿,语气,麦克风很炸等等问题,要解决这些就不只是简单的STT了,实际语音聊天和用文字聊天还是有非常大的区别的,这又涉及到一个NLP自然语言处理的问题,如何将玩家说话的语义提取出来发送给ChatGPT