当前位置: 首页 > news >正文

山东大学项目实训个人纪实(6)——降低唇形同步延迟及性能需求

上期博客已经实现了流式输出,纯语音对话的延迟已经达到了实时对话的标准,主要影响体验的还是唇形同步,当前项目使用Audio2Face插件,但插件使用深度学习算法计算口型,需要用上GPU跑模型,就导致对电脑性能要求极高(天选4笔记本带不动)本博客将记录我对基于Oculus Lipsync插件的音频驱动唇形方案,实现纯CPU和低性能需求的唇形同步

Oculus Lipsync插件下载及安装

为什么下载和安装要单拎出来讲?因为Oculus Lipsync插件官方已停止对插件的维护。我在第四篇博客已经有了初步调研,原配插件不支持UE5.6,且不支持实时唇形同步。原插件主要是烘培动画使用。

但为什么现在又重新启用该方案了呢?首先就是我变牛逼了,当前对UE C++了解更加深入,可以尝试动手改插件。其次,我们“请循其本”,该插件的核心原理是“实时分析音频的波形,计算出‘音素(Visemes)’的权重,并驱动面部表情”,也就是说,计算音素这一步可以做到实时,我只需讲音素拿过来实时驱动面部表情就够了。理论成立,实践开始。

插件下载,我使用的是Github上大佬开源的UE5增强版。将项目改为C++,重新编译启动即可。

实现音频转音素

主要通过插件FeedAudio()函数实现。

首先注意到最后一行ProcessFrameAsync()函数,FeedAudio()调用是逐帧调用,然而音频是好几秒,所以我需要一个将音频切片的辅助函数。

已知我的运行帧率是30fps,音频采样率为 24000 Hz,单声道,16-bit,所以应该给函数传递的数据量为( 24000*2 ) / ( 1/30 ) = 1600B。

实现音素驱动嘴型

首先第一大难题:找到Metahuman控制面部表情的地方在哪。由于UE迭代速度过快,原先Face_BP这些蓝图都没有了,一大波教程都被淘汰了,UE官方说是升级了,但也没写好文档,导致我只能一点点摸索。

最终摸索出来两个方案:通过Control Rig控制和通过姿势资产控制。

  1. Control Rig:在Metahumans/Common/Face/CR_MetaHuman_HeadMovement_IK_Proc,那是个控制绑定蓝图,导入Metahuman预览网格体后出现如下UI界面,就可以手动调整面部表情了。关于该UI界面,UE文档中有详细教程

这样做有个致命缺陷:代码调用难度极高。Metahuman面部有51个控制点,每个点代表着一条曲线,虽说动画蓝图可以通过ControlRig接口驱动控制点变化,但是只通过一个音素去驱动多个Control Rig太过于复杂,且没有直接操作、所见即所得,不利于美术调试。

2. 姿势资产。在Metahumans/Common/Face/ARKit/PA_MetaHuman_ARKit_Mapping,这里烘培了许多姿势,可以通过调整权重来控制角色面部表情。这个方案较Control Rig最好的点就是交互直观且易懂,最重要的一点,它支持姿势混合后生成新姿势,这意味着我们可以为16种音素设立一一对应的唇形。

(Viseme Reference)

通过Modify Curve接口即可实现动画的调用

最终效果及未来计划

在我自己的笔记本上已经能够流畅实时运行。

本周将每一个音素的对应口型设计出来,以更好地唇形同步

http://www.gsyq.cn/news/1451318.html

相关文章:

  • ECG情绪识别避坑指南:WESAD和DREAMER数据集实战中的5个常见问题与解决
  • 深度解析:YouTube 自动标注 AI 生成内容背后的技术博弈与架构演进
  • 决策树特征选择实战:用信息增益帮你挑出‘好’特征(以鸢尾花数据集为例)
  • 从 inactive 到 runtime object,ABAP 开发对象激活机制的实战理解
  • 茄子快传与 WeTransfer 差距在哪?Bending Spoons 收购后 WeTransfer 月流水涨至 400 万+美元
  • Translumo:如何在3分钟内掌握Windows实时屏幕翻译的终极技巧
  • 导师骂你PPT逻辑乱?这个网站,自动帮你把论文变答辩神器
  • 告别旧版!Vitis Unified IDE 2023.2 保姆级配置指南:从OpenCV到Vision库,手把手搞定HLS开发环境
  • 零信任架构下AI视频分析平台落地全链路(2024最新NIST SP 800-207+ISO/IEC 27001双标验证)
  • openEuler磁盘空间告急?别慌,这份LVM扩容避坑指南帮你一次搞定
  • 室友问我为什么答辩前还在睡大觉?因为我PPT是自动生成的
  • 开源 AI 绘图神器,一键生成可编辑架构图
  • JetBrains IDE试用期终极重置指南:3步快速恢复30天完整功能
  • 解放双手,随叫随到:一文读懂智能驾驶“智能召唤”技术
  • openEuler磁盘空间告急?别急着重装,手把手教你无损扩容/home和/分区
  • Windows蓝牙连接PS3控制器终极指南:BthPS3驱动完整解决方案
  • 2026年新消息:在沧州寻找管夹子直销工厂的可靠选择指南 - 2026年企业资讯
  • 机器人手眼标定精度总是不达标?可能是这5个实操细节没做好(含旋转中心与角度标定避坑)
  • 魔兽争霸3终极优化指南:5分钟解决卡顿、宽屏和FPS限制问题
  • 从光伏MPPT到车载充电:Buck-Boost电路在新能源里的那些‘隐藏’用法与仿真技巧
  • Steam成就管理器:3分钟解锁全成就的游戏神器指南
  • 从开发到上线:UniApp小程序跳转全环境(develop/trial/release)配置与调试指南
  • 一屏透明化三维立体重构安全信息哪个机构技术强
  • 别再只做九点标定了!Halcon+C#实战:手眼标定完整流程与旋转中心补偿避坑指南
  • 【万字文档+源码】基于springBoot+vue果树生长管理系统-项目分享学习
  • 告别BOM错误!手把手教你用Access+Excel为OrCAD CIS搭建企业级元器件库(附避坑指南)
  • 别再死记硬背三极管工作状态了!用这个NPN管放大原理动画,5分钟彻底搞懂
  • 非阿贝尔D-膜与AdS真空稳定性研究
  • 抖音无水印下载终极指南:一键保存你喜欢的每一个精彩瞬间
  • 商超食品抽检常态化,IACheck + AI报告审核助力第三方检测快速批量处理