Duix-Mobile 集成验证笔记:离线实时 AI 数字人 SDK 怎么在手机上跑通
Duix-Mobile 集成验证笔记离线实时 AI 数字人 SDK 怎么在手机上跑通【免费下载链接】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-MobileDuix-Mobile 是一套实时交互式 AI 数字人移动端 SDK主打端侧部署模型跑在手机上唇形同步与渲染不经过云端。下文的结论和坑位都来自仓库里的文档与源码不是印象。仓库结构一个 Gradle 模块加一套 C 核心先给判断这个仓库交付的是 SDK不是装完就能用的 App。两条产品线共享同一套 C 核心你只需要关注自己平台那一侧的封装层。图仓库演示素材展示数字人实时交互画面Android 侧的入口是 duix-android/dh_aigc_android/核心是duix-sdk这个 Gradle 模块模型检查与下载在VirtualModelUtil初始化、推流、动作控制在DUIX见 duix-sdk/src/main/java/ai/guiji/duix/sdk/client/。渲染组件DUIXRenderer/DUIXTextureView支持透明背景也可以自己实现RenderSink接管渲染管线。真正的算法在 native 层 duix-sdk/src/main/cpp/按职责拆成三个静态库dhmfcc做音频前端FFT、MFCC 特征提取dhunet做唇形驱动网络dhcore管内存与队列依赖 ncnn、onnxruntime 和 OpenCV由 CMakeLists.txt 统一链接。Java 层只通过DuixNcnn的 native 方法pushpcm、filrst等与 C 核心通信。iOS 侧是 duix-ios/GJLocalDigitalSDK/同一套duixsdka/目录结构与 Android 的 cpp 一一对应dhmfcc、dhunet、dhcore对外封装为GJLDigitalManager。维护时改核心算法两端同步这也是双端行为差异的排查线索。跑通前的硬门槛硬件、内存与模型资源文档给出的集成要求很具体先核对再动手能省掉大半排查时间。项目AndroidiOS系统Android 10armeabi-v7a / arm64-v8aiOS 12.0Xcode 12硬件参考骁龙 8 Gen 2 级别、8GB 以上内存iPhone 8建议 A12、≥3GB 内存资源数字人至少占用 800MB 内存预留 1GB 以上存储—网络无完全本地运行无模型资源有两份都走下载基础配置包gj_dh_resSDK 内置下载地址见 Constant.java人物模型包官方提供 4 个公开数字人Leo、Oliver、Sofia、Lily下载入口在 README 的发布页链接里。图官方公开的 4 个数字人模型之一集成时按需替换如果模型下载慢文档明确允许把模型包缓存到自己的存储服务不强制走官方地址。最小集成路径从 clone 到第一帧渲染git clone https://gitcode.com/GitHub_Trending/du/Duix-MobileAndroid 端按 duix-android 文档 走三步把duix-sdk目录拷进项目根目录settings.gradle里include :duix-sdk模块build.gradle加api project(:duix-sdk)。用VirtualModelUtil检查并下载基础配置与模型。构造DUIX传入模型、渲染 sink、回调调init()初始化结果走init.ready/init.error回调渲染用DUIXRenderer挂到DUIXTextureView。iOS 端按 duix-ios 文档拖入GJLocalDigitalSDK.frameworkEmbed Sign、链接AVFoundation然后在 Info.plist 声明麦克风权限keyNSMicrophoneUsageDescription/key stringApp requires microphone access to drive digital human voice broadcast/string最小调用链是initBaseModel → toStart → toStartRuning渲染视图必须是已挂载的showView。仓库自带验证素材demo 工程的 assets 里有现成的 PCM 与 WAV 音频test/src/main/assets/res/ 目录有 270p / 540p 两档预渲染人物视频与背景图跑通前可以直接拿这些文件验证驱动链路不急着接自己的 TTS。验证清单可以按顺序做checkBaseConfig返回 true配置包已就位init回调为init.ready推一段 PCM听到声音且画面口型同步换一个人物模型目录init仍然成功。PCM 流驱动最容易踩的几个坑数字人靠音频驱动Android 的驱动协议是startPush → pushPcm → stopPush三段式文档里写了三条硬约束格式固定为 16kHz、单声道、16bit 的 PCM每段两次 push 之间音频至少 1 秒32000 字节否则唇形驱动不会触发可以用空白帧补齐音频不要一次推太长PCM 会缓存在内存里长音频可能撑爆内存应分段推流。初始化阶段的失败大多有明确原因Android FAQ 给了对照表现象可能原因处理init 回调失败模型路径错误或未下载用checkModel检查模型状态渲染黑屏EGL 配置或 TextureView 设置问题按文档示例配置PCM 推流无效果格式不对或未调startPush核对格式与调用顺序iOS 侧对应四张排查项初始化返回 -1 查 Info.plist 授权字段、无渲染输出查showView是否挂载、播放无响应查音频格式与路径、播放提前结束查continueSession用法。适用边界适合谁不适合谁这个 SDK 的卖点全离线要拆开看。它离线的是渲染与唇形驱动这条链路对话本身依赖的 LLM、ASR、TTS 并不在仓库内官方 FAQ 的答复是完全支持集成自定义或第三方服务——也就是说智能程度由你自己接的模型决定SDK 只负责把音频变成会动的数字人。几个事实供决策参考弱网或完全离线的播报、问答场景是它的主场这正是文档里反复强调不依赖服务器的原因定制私有形象走官方邮箱渠道官方说法是提供 15 秒到 2 分钟的视频即可完成流式音频边合成边播放、支持打断自 2025 年 7 月 17 日版本起提供官方给出的延迟数据是骁龙 8 Gen 2 上实测低于 120ms低端设备文档也承认特征提取速度可能跟不上播放速度可以用duix.setReporter()监控帧渲染信息是否达标建议在自己的目标机型上实测iOS 端有授权机制init返回 0 即未授权接入前先看文档第 8 节的回调定义。一句话收束Duix-Mobile 把数字人能不能离线跑从产品问题变成了工程问题——硬件档位、模型资源、PCM 格式三件事核对完剩下的就是按回调和 FAQ 排查仓库里的文档比宣传文案更有用。【免费下载链接】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),仅供参考

相关新闻

3分钟上手:用 Page Assist 给浏览器接上本地模型 AI 助手

3分钟上手:用 Page Assist 给浏览器接上本地模型 AI 助手

3分钟上手:用 Page Assist 给浏览器接上本地模型 AI 助手 【免费下载链接】page-assist Use your locally running AI models to assist you in your web browsing 项目地址: https://gitcode.com/GitHub_Trending/pa/page-assist 在线查资料时想问 AI&#…

2026/9/20 16:42:12 阅读更多 →
FileBrowser Quantum 教程:3 步搭好一个自托管文件管理器

FileBrowser Quantum 教程:3 步搭好一个自托管文件管理器

FileBrowser Quantum 教程:3 步搭好一个自托管文件管理器 【免费下载链接】filebrowser 📂 Web File Browser 项目地址: https://gitcode.com/GitHub_Trending/fileb/filebrowser FileBrowser Quantum 是一个开源的自托管文件管理器,用…

2026/9/20 16:42:12 阅读更多 →
pi-computer-use原生Helper构建指南:build:native与build:linux快速上手

pi-computer-use原生Helper构建指南:build:native与build:linux快速上手

pi-computer-use原生Helper构建指南:build:native与build:linux快速上手 【免费下载链接】pi-computer-use Let Pi control your apps on MacOS & Windows 项目地址: https://gitcode.com/GitHub_Trending/pi/pi-computer-use pi-computer-use 是一个让 …

2026/9/20 16:42:12 阅读更多 →

最新新闻

MicroPython pyboard 入门指南:硬件布局、供电方式与首次上电

MicroPython pyboard 入门指南:硬件布局、供电方式与首次上电

嵌入式语言运行时编程语言解释器编译器物联网系统编程 【免费下载链接】micropython MicroPython - a lean and efficient Python implementation for microcontrollers and constrained systems 项目地址: https://gitcode.com/gh_mirrors/mi/micropython 点击查看…

2026/9/20 18:08:11 阅读更多 →
Flow 中利用 match 表达式一次初始化多个变量:以 applyTheme 为主题的实战指南

Flow 中利用 match 表达式一次初始化多个变量:以 applyTheme 为主题的实战指南

开发工具静态分析代码质量 【免费下载链接】flow Adds static typing to JavaScript to improve developer productivity and code quality. 项目地址: https://gitcode.com/gh_mirrors/flow30/flow 点击查看 免费下载 本指南以 Flow(项目根目录&#x…

2026/9/20 18:08:11 阅读更多 →
SpringBoot智能仓储系统实战:从毕设到工业级落地

SpringBoot智能仓储系统实战:从毕设到工业级落地

/* 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 18:08:11 阅读更多 →
微信Windows旧版本回退指南:历史安装包获取、兼容性验证与数据迁移

微信Windows旧版本回退指南:历史安装包获取、兼容性验证与数据迁移

/* 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 18:08:11 阅读更多 →
安桥TX-NR636说明书实战:接线、AccuEQ校准与常见故障排查

安桥TX-NR636说明书实战:接线、AccuEQ校准与常见故障排查

简介:这是一份安桥TX-NR636功放的中文高级使用说明书,面向拥有该型号功放、希望充分挖掘其功能的中高级用户及家庭影院爱好者。内容涵盖AM/FM自动与手动调台、RDS电台信息显示、USB存储设备音乐播放、网络收音机(TuneIn)与DLNA串流…

2026/9/20 18:08:11 阅读更多 →
Flow 模式匹配实战:用 Tuple Pattern 同时匹配多个参数(tooltipPosition 示例剖析)

Flow 模式匹配实战:用 Tuple Pattern 同时匹配多个参数(tooltipPosition 示例剖析)

开发工具静态分析代码质量 【免费下载链接】flow Adds static typing to JavaScript to improve developer productivity and code quality. 项目地址: https://gitcode.com/gh_mirrors/flow30/flow 点击查看 免费下载 导读 本文以 Flow 官方评估套件(…

2026/9/20 18:07:11 阅读更多 →

日新闻

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 阅读更多 →