Duix Mobile 移动端数字人快速集成指南:3 步跑通语音驱动口型
Duix Mobile 移动端数字人快速集成指南3 步跑通语音驱动口型【免费下载链接】Duix-Mobile The best real-time interactive AI avatar(digital human) with on-premise deployment and 1.5 s latency.项目地址: https://gitcode.com/GitHub_Trending/du/Duix-Mobile如果你在手机 App 里做过数字人多半会撞上同一组麻烦语音送云端、等一拍、口型对不上、弱网直接停摆。Duix Mobile 是运行在设备端的实时交互式 AI 数字人 SDK不依赖云服务器本地用语音驱动口型在骁龙 8 Gen 2 上实测响应延迟低于 120ms。它到底在解决什么一句话定位把数字人听、说、动这三件事整套搬到手机上LLM、ASR、TTS 留给你自己接。离线可跑口型特征提取与渲染都在本地推理完成地铁、地下室、断网的银行网点都能工作语音数据不出设备。延迟有实测数字响应低于 120ms骁龙 8 Gen 2体感是对面有人在回应你而不是等一条回复。三件套可替换大模型、语音识别、语音合成全部支持自接或第三方SDK 只管形象和驱动你不用改内核。门槛写在纸面上iOS 12iPhone 8 起可跑、Android 10Android 建议 8 核 CPU、8G 内存集成文档一页纸能看完。第一次上手会经历什么前 10 分钟把官方 Demo 跑起来Android 侧用 Android Studio 打开duix-android/dh_aigc_androidGradle JDK 设为 17直接跑 test 模块。首次启动时SDK 会自动下载基础配置和数字人模型进度、解压、完成都有回调下载完成后屏幕上的 2D 数字人立即可见并支持播放内置 wav 试听口型。iOS 侧pod install后打开GJLocalDigitalDemo.xcworkspace运行效果一致。接下来 30 分钟让它说你的话把工程里的 wav 换成自己的录音demo 自带录音弹窗或按 16k 单通道 16bit 的 PCM 格式自己推流数字人的口型会跟着新音频走替换modelUrl可以换另一个数字人形象再试一遍这一步就能确认你的设备、你的音频、你的形象都能跑通。上生产前确定形象与动作SDK 附带 Leo、Oliver、Sofia、Lily 四个公开数字人形象见 res/avatar/。私有形象定制需要 15 秒到 2 分钟的真人视频联系官方即可见 duix-android/dh_aigc_android/README_zh.md 中的说明。init 成功回调里还能拿到模型标注的动作区间列表比如打招呼供后面按需触发。两个最值得深挖的能力流式 PCM 推送边合成边开口原理上驱动不走整段音频播完的老路startPush/pushPcm/stopPush按流推送 16k、16bit、单通道 PCM引擎边播边提取口型特征播报中途调stopAudio可立即终止当前句。实际效果是配合流式 TTS 时第一句合成完数字人就开始说用户中途插话、数字人立刻停并切到新句子——这就是打断体验的完整链路。duix?.startPush() duix?.pushPcm(pcmData) // 16k 采样率、16bit、单通道 duix?.stopPush()一个硬性细节每段 startPush 到 stopPush 之间的音频至少 1 秒32000 字节否则触发不了口型驱动短于 1 秒的片段可自行补静音帧。端侧口型推理断网照常对话口型特征提取和渲染由设备端推理完成依赖开源的 ncnn 与 onnx见两平台 README 的依赖表不存在视频流回传这一环。对集成方的直接好处银行、政务、法律这类语音敏感场景可以直接用渲染帧通过RenderSink接口以 BGR 顺序给出Android 用DUIXRendererDUIXTextureView就能拿到带透明通道的画面背景自己换。最短跑通路径Android 3 步git clone https://gitcode.com/GitHub_Trending/du/Duix-MobileAndroid Studio 打开duix-android/dh_aigc_androidGradle JDK 选 17运行 test 模块首次启动等模型自动下载完成先用 wav 播报再用录音驱动一遍完整接口与排查表见 duix-android/dh_aigc_android/README_zh.md。iOS 3 步同上 clone 仓库在duix-ios/GJLocalDigitalDemo目录执行pod install打开GJLocalDigitalDemo.xcworkspace选 iPhone 运行Info.plist 需含麦克风权限描述初始化入口如下返回 1 即成功[[GJLDigitalManager manager] initBaseModel:basePath digitalModel:digitalPath showView:self.showView]; [[GJLDigitalManager manager] toStart:^(BOOL ok, NSString *err) { [[GJLDigitalManager manager] toStartRuning]; }];完整接口见 duix-ios/GJLocalDigitalDemo/README_zh.md。它适合放在哪银行网点的无人值守服务终端某支行在营业厅放了一台 Duix Mobile 终端客户问汇率业务办到几点数字人当场作答营业时间之外它自动播放打招呼等动作吸引注意力。整个过程语音、视频都不出网点断网时段也不影响接待。AI 陪伴类 App陪伴应用的用户打开对话头像跟随 TTS 流开口说话时嘴型清晰可见用户中途打断数字人停下当前句。产品侧不需要为每个在线用户采购云端渲染资源。多角色大屏与直播场景电商带货、英语教学、医生问诊、客服坐席、直播课堂、情感陪伴——同一套 SDK 只换形象与话术就能覆盖不同角色的大屏展示适合连锁门店、医院导诊、在线教育这类需要多角色、统一技术栈的部署。上生产前的避坑与最佳实践音频格式是第一坑建议开工前先定死音频规格16k 采样率、16bit、单通道。每段推送不足 1 秒会没有口型效果过长的 PCM 整段压内存也可能溢出——按句分段推短段补静音帧。设备性能有明确下限Android 端建议骁龙 8 Gen 2 级别 8 核 CPU、8G 内存、1GB 可用存储给数字人预留 800MB 以上内存低端机上口型跟不上的情况可以用setReporter挂一个监控观察帧渲染信息先确认是算力瓶颈还是数据问题。初始化失败先看两样东西Androidinit 回调失败先用checkModel/checkBaseConfig确认模型是否下载解压到位模型路径错误是最常见原因。iOSinitBaseModel返回 -1 是授权失败检查 Info.plist 的授权字段与NSMicrophoneUsageDescription画面不渲染则确认 showView 已挂载到视图。下一步先跑 demo 再读文档Android 打开duix-android/dh_aigc_android/test模块按wav 播报 → 录音驱动 → 换形象的顺序过一遍iOS 直接跑GJLocalDigitalDemo。跑通后把 duix-android/dh_aigc_android/README_zh.md 的关键接口与调用示例一节完整读一遍流式推送、动作控制、回调事件都在那里需要私有形象时按文档中的联系方式提供 15 秒到 2 分钟的真人视频即可。【免费下载链接】Duix-Mobile The best real-time interactive AI avatar(digital human) with on-premise deployment and 1.5 s latency.项目地址: https://gitcode.com/GitHub_Trending/du/Duix-Mobile创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

Windows 11 Redis稳定部署实战指南

Windows 11 Redis稳定部署实战指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/20 8:46:52 阅读更多 →
RxDB Expo Filesystem RxStorage 实战指南:让 React Native 数据库读写超越 SQLite

RxDB Expo Filesystem RxStorage 实战指南:让 React Native 数据库读写超越 SQLite

RxDB Expo Filesystem RxStorage 实战指南:让 React Native 数据库读写超越 SQLite 【免费下载链接】rxdb The local-first database that runs on every JS runtime and replicates with your existing backend - no vendor, no lock-in - https://rxdb.info/ 项…

2026/9/20 8:46:52 阅读更多 →
电力系统鲁棒状态估计算法与Matlab实现

电力系统鲁棒状态估计算法与Matlab实现

1. 电力系统动态状态估计的核心挑战电力系统动态状态估计是现代电网运行控制的基础环节,其核心任务是通过量测数据实时追踪系统运行状态。传统扩展卡尔曼滤波器(EKF)在这一领域应用广泛,但存在两个致命缺陷:一是对非线性动态的线性化近似在强…

2026/9/20 8:46:52 阅读更多 →

最新新闻

5款wordpress文章评价插件实测一文搞懂选型

5款wordpress文章评价插件实测一文搞懂选型

5款wordpress文章评价插件实测一文搞懂选型 很多老板盯着后台看数据,发现点击量还行,但用户停留时间短,跳出率高。你心里肯定犯嘀咕:是不是内容没写好?其实往往不是,是因为你的网站像个冷冰冰的货架,缺了“人味儿”。 模板网站太丑不够用…

2026/9/20 9:28:41 阅读更多 →
Ubuntu 16.04镜像下载全攻略:国内镜像站选型与实操避坑指南

Ubuntu 16.04镜像下载全攻略:国内镜像站选型与实操避坑指南

如果你现在还在折腾 Ubuntu 16.04,多半是两种情况:要么手头有台老设备跑不动新系统,要么被某个软件的老版本依赖链绑住了手脚。但不管哪一种,你大概率都会撞上同一个痛点——想下载 Ubuntu 16.04 镜像,官网那边要么龟速…

2026/9/20 9:28:17 阅读更多 →
Python抢票脚本实战:从登录态维持到库存轮询的自动化购票技术拆解

Python抢票脚本实战:从登录态维持到库存轮询的自动化购票技术拆解

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/20 9:28:17 阅读更多 →
图像识别数据转换全攻略:从标注解析到张量导出的通用模板

图像识别数据转换全攻略:从标注解析到张量导出的通用模板

上个月帮一个做质检的朋友排查图像识别项目,他用的网络结构是开箱即用的,训练时损失也在降,可验证精度始终卡在40%到50%上不去。我把他的数据链路从头到尾捋了一遍,最后发现问题出在读图脚本里一行cv2.imread——读出来是BGR通道顺…

2026/9/20 9:28:17 阅读更多 →
开放代码评审框架:从规则到文化的三层落地实践

开放代码评审框架:从规则到文化的三层落地实践

1. 为什么我们需要一个“开放代码评审”的框架代码评审这件事,但凡在软件团队里待过几年的人,心里都有一本账。你说它重要吧,确实重要,多少线上事故是靠评审拦下来的;你说它烦吧,也是真烦,尤其是…

2026/9/20 9:28:17 阅读更多 →
开放代码评审实战:从关卡到广场的团队协作指南

开放代码评审实战:从关卡到广场的团队协作指南

1. 为什么我们需要一个“开放代码评审”的玩法“open-code-review”这个词,第一次看到的时候,我脑子里蹦出来的不是某个具体工具,而是一种工作方式:把代码评审这件事从“关起门来几个人看”变成“敞开大门让更多人参与”。这跟现在…

2026/9/20 9:28:17 阅读更多 →

日新闻

Flutter for OpenHarmony游戏卡片渐变背景实战:从原理到性能优化

Flutter for OpenHarmony游戏卡片渐变背景实战:从原理到性能优化

直接铺开项目本身吧。这几个月我一直在折腾一件事:用Flutter给OpenHarmony做一款游戏集合类的App,说白了就是把若干小游戏塞进一个壳里,用统一入口分发。这个方向本身不算新鲜,真正让我花了不少心思的,是首页那堆游戏卡…

2026/9/20 0:00:46 阅读更多 →
Word表格编号全攻略:从列表编号到题注交叉引用

Word表格编号全攻略:从列表编号到题注交叉引用

写Word文档,最让人头疼的往往是那些“看起来不起眼”的小问题。比如表格编号这事:今天在表后面多加了两个空白行,明天给客户交稿前发现整个章节的编号全部错位,光是挨个改序号就能耗掉大半个下午。我前阵子帮人整理一份上百页的技…

2026/9/20 0:00:46 阅读更多 →
从第一个站到第二个站:独立开发者的静态网站选型与落地实践

从第一个站到第二个站:独立开发者的静态网站选型与落地实践

1. 项目概述1.1 核心需求解析做独立开发者这几年,说实话,第一个网站上线的那天晚上我兴奋得没睡着。但等它跑了半年,流量惨淡、功能臃肿、代码自己都懒得看第二遍之后,我才慢慢琢磨明白一个道理:第一个网站是练手&…

2026/9/20 0:00:46 阅读更多 →

周新闻

Flutter for OpenHarmony游戏卡片渐变背景实战:从原理到性能优化

Flutter for OpenHarmony游戏卡片渐变背景实战:从原理到性能优化

直接铺开项目本身吧。这几个月我一直在折腾一件事:用Flutter给OpenHarmony做一款游戏集合类的App,说白了就是把若干小游戏塞进一个壳里,用统一入口分发。这个方向本身不算新鲜,真正让我花了不少心思的,是首页那堆游戏卡…

2026/9/20 0:00:46 阅读更多 →
Word表格编号全攻略:从列表编号到题注交叉引用

Word表格编号全攻略:从列表编号到题注交叉引用

写Word文档,最让人头疼的往往是那些“看起来不起眼”的小问题。比如表格编号这事:今天在表后面多加了两个空白行,明天给客户交稿前发现整个章节的编号全部错位,光是挨个改序号就能耗掉大半个下午。我前阵子帮人整理一份上百页的技…

2026/9/20 0:00:46 阅读更多 →
从第一个站到第二个站:独立开发者的静态网站选型与落地实践

从第一个站到第二个站:独立开发者的静态网站选型与落地实践

1. 项目概述1.1 核心需求解析做独立开发者这几年,说实话,第一个网站上线的那天晚上我兴奋得没睡着。但等它跑了半年,流量惨淡、功能臃肿、代码自己都懒得看第二遍之后,我才慢慢琢磨明白一个道理:第一个网站是练手&…

2026/9/20 0:00:46 阅读更多 →

月新闻

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能分类:[AI/大模型]细分主题:AI 增强型 CI/CD 流水线自动化与 GitOps 实践:Agent 工作流、工具调用与任务拆解:从原型到生产的验收清单很多团队在尝试用大…

2026/9/19 23:01:36 阅读更多 →
容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场分类:[工程技术]细分主题:Kubernetes 生产环境运维与排障实战:可复制的项目复盘模板与决策记录大部分团队的事故复盘报告,最后都变成了躺在 Confluence 或钉…

2026/9/19 17:50:38 阅读更多 →
容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步分类:[工程技术]细分主题:Docker 容器化技术与镜像安全管理:核心链路的逐步实现与关键代码取舍面对一个积累了五六年历史包袱的单体架构应用(包含 Web 接口、后台…

2026/9/19 23:35:34 阅读更多 →