Duix Mobile 离线数字人三步跑通
【免费下载链接】Duix-Mobile🚀 全网效果最好的移动端【实时对话数字人】。 支持本地部署、多模态交互(语音、文本、表情),响应速度低于 1.5 秒,适用于直播、教学、客服、金融、政务等对隐私与实时性要求极高的场景。开箱即用,开发者友好。项目地址: https://gitcode.com/openguiji/duix-mobile
Duix Mobile 是一套在手机上直接跑实时交互数字人的开源 SDK:推一段音频,数字人开口型,全程本地渲染、不依赖服务器。读完这篇,你能构建 Android 演示工程、用自有音频驱动数字人播报,并避开三个最常见的坑。
三分钟上手
- 克隆仓库:源码包含 Android、iOS 双端 SDK 和演示应用。
git clone https://gitcode.com/openguiji/duix-mobile - 配置构建:用 Android Studio 打开
duix-android/dh_aigc_android,把 Gradle JDK 设为 17(工程使用 Gradle 8.0);iOS 开发者用 Xcode 12+ 打开duix-ios/GJLocalDigitalDemo工程即可。 - 构建启动:编译 test 演示模块并安装到真机,建议 Android 10+、8 核 CPU、8GB 以上内存、1GB 以上可用存储。
gradle assembleDebug
核心能力速览
音频驱动口型。数字人是"音频进、动作出":把 16kHz、16bit、单通道的 PCM 通过startPush()/pushPcm()/stopPush()推给 DUIX 对象,引擎实时提取音频特征驱动嘴部。想整段播报时也可以用playAudio()直接播本地 WAV,内部同样转成 PCM 流驱动。
本地渲染。渲染走 OpenGL ES,SDK 自带DUIXRenderer+DUIXTextureView,支持透明通道,数字人可以叠在任意背景图或视频上。若要嵌入自己的渲染管线,实现RenderSink接口接收 BGR 帧数据即可。
动作区间可控。模型包里带SpecialAction.json动作标注(打招呼、挥手等)。运行时startMotion("打招呼", true)按名播放,或startRandomMotion(true)随机挑一个,用来填补对话间隙。
模型资源自管理。VirtualModelUtil统一处理基础配置和模型包的下载、解压、校验:先checkModel检查,没下过就触发下载解压。模型落盘后,整条链路完全离线,可反复驱动。
双端一致。Android 与 iOS 提供同一套"初始化 → 渲染 → 音频驱动 → 动作"接口。仓库自带可交互的演示应用,改一下MainActivity.kt里的模型地址就能体验完整流程。
关键参数与调优
真正决定口型"动得起来"的参数只有两个:
- 音频格式:必须是 16kHz 采样率、16bit 位深、单通道,不合规格的 WAV/PCM 不会驱动口型。
- 段长下限:每段
startPush到stopPush至少 1 秒(32000 字节),否则不触发口型驱动;短句先用空白帧补齐再推。
duix?.startPush() duix?.pushPcm(pcm) // 16k / 16bit / 单通道,单段不少于 1 秒 duix?.stopPush()容易踩的坑
⚠️init 回调失败。模型文件或基础配置没有完整下载到指定目录。先用checkBaseConfig/checkModel校验本地状态,下载解压完成后再调init()。
⚠️渲染黑屏。纹理视图被当成不透明背景配置,或在设置 renderer 之前就改了渲染模式。照示例配置setEGLConfigChooser(8, 8, 8, 8, 16, 0)并设isOpaque = false,setRenderer之后再设RENDERMODE_WHEN_DIRTY。
⚠️内存持续增长直到 OOM。推送的 PCM 缓存在内存里,不随播放进度释放。长音频分段推送,每段推完立刻调stopPush()结束会话,别把分钟级音频塞进一段。
延伸阅读
- Android SDK 中文文档:DUIX 接口、渲染控制与动作区间的完整说明。
- iOS SDK 文档:手动集成步骤与麦克风权限配置。
【免费下载链接】Duix-Mobile🚀 全网效果最好的移动端【实时对话数字人】。 支持本地部署、多模态交互(语音、文本、表情),响应速度低于 1.5 秒,适用于直播、教学、客服、金融、政务等对隐私与实时性要求极高的场景。开箱即用,开发者友好。项目地址: https://gitcode.com/openguiji/duix-mobile
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考