小新 APP
基于 Flutter、小智协议、离线热词唤醒、VAD、Opus 流式语音与 H5 Bridge,把手机、平板、挂墙屏、桌面屏等设备变成可接入 AI 服务端的语音交互终端。让屏幕呈现与流畅语音在端侧深度融合。
[ Real-time Audio Stream Active ]
应用定位
小新 APP 专注于解决端侧语音链路的软硬件交互细节。它本身不提供官方 AI 云端服务,开发者可以通过配置轻松接入自建的小智协议服务端,从而拥有完全的数据掌控权。
小新负责什么
- 端侧热词离线唤醒与音频采集
- Silero 算法级端侧 VAD 活动检测
- Opus 高压缩比流式语音编解码
- WebSocket 流式双向通信控制
- 原生 PCM 环形缓冲低延迟播放
- H5 容器注入与 JS Bridge 双向桥接
- MCP 工具发现与原生系统硬件控制
您需要准备什么
- 一台 Android 智能屏或 iOS 手机/平板
- 兼容小智 WebSocket 通信协议的服务端
- 根据业务场景编写自定义的H5业务页面
- 或者有性能要求,自定义dart代码集成
- 可选的 MCP/Function Call 外部工具实现
- 本地或云端ASR/TTS/LLM服务
如何快速体验
- 下载最新版 Android 安装包直接装机
- 可通过本地内置的 H5/Native Demo 测试
- 在配置页面一键修改 WebSocket 服务端地址
- 可参考小智开放平台(xiaozhi.me)快速注册并获得体验地址
- 对技术深度感兴趣,可拉取源码调试开发
先把语音链路打好
再把业务能力接上来
小新的主旨不是强调设备有没有屏幕,而是把移动端/终端侧语音链路沉淀成可复用的开源代码:唤醒、VAD、录音、Opus、WebSocket、播放、打断和状态机。
基于这套语音底座,你可以继续开发 H5/Flutter 业务界面;也可以把小新的语音模块、协议和状态机接入已有 Android/iOS 业务应用,让原本的业务增加语音入口,而不用从音频底层重新开始。
小新适合两类扩展方式:
- 新项目向上扩展:直接以小新作为语音客户端底座,在上层开发 H5 或原生业务界面。
- 已有应用接入语音:复用小新的唤醒、VAD、流式传输、播放打断和协议状态机,为现有 Android/iOS 应用增加语音能力。
- 界面和语音协同:语音负责自然输入,界面负责确认、列表、表单、二维码、多媒体等结构化交互。
- 多终端复用:同一套语音能力可以适配手机、平板、挂墙屏、桌面屏等不同 Android/iOS 终端形态。
核心工程能力概览
小新不只是一个简单的客户端演示 Demo,它将端侧语音底层极其分散的唤醒、降噪、检测、流传输、缓冲和状态机整理为一个高度内聚的开源工程。
跨平台 Flutter 架构
基于 Flutter 现代轻量架构,一份源码同时兼顾 Android 和 iOS,已对平板、手机、智能屏进行了极佳的适配。
兼容小智协议
完美遵循小智 WebSocket 协议规范。内置 hello、listen、stt、tts、llm、mcp 等多种信令报文和音频二进制流的管理机制。
Sherpa-ONNX 离线热词唤醒
随包集成本地轻量推理引擎,支持常驻后台的“小新小新”离线唤醒监听,不产生任何云端网络流量与资费。
Silero 端侧 VAD 智能检测
随包加载 Silero 高精度语音检测大模型。智能识别环境噪声与说话停顿,精准判别用户何时开始说、何时结束说。
Opus 音频流式网络传输
本地麦克风实时高频 PCM 采音重采样,经由高效 Opus 音频编解码压缩后,基于流式 WebSocket 进行超低延迟收发。
PCM 低延迟播放链路
对服务端实时下推的流式 TTS 块进行分帧即时解码,直接写入端侧 PCM 缓冲区流式播放,消除等待完整音频的焦虑。
会话状态机一致性管理
构建 SessionManager 统一调度 idle、connecting、listening、speaking、error 五大状态,协调音频硬件、流传输与 H5 界面渲染。
H5 容器与原生 JS Bridge
内置强化的全屏 Web 容器,向 window 注入 `window.XiaoXin` 原生对象,使任意第三方 H5 业务页拥有一键唤醒、原生打断及事件调用的能力。
MCP 工具发现与硬件控制
遵循 MCP 规范规范工具链。支持在会话中接收服务端下发的 tools/call 指令,实时修改系统音量、屏幕亮度及其他物理 IoT 节点。
多环境 OTA 远程下发
支持配置测试、预发、生产等多种服务器环境,支持 OTA 链路动态更新 WebSocket 目标基地址与 H5 远程业务首页,极利于批量常驻常亮设备运维。
业务扩展参数透传
H5 可通过 setVoiceParams 设置 userId、roleId、buildingId 等业务上下文,参数会随 hello/listen 的 extend 字段透传给服务端,方便自有业务接入。
稳定设备身份与授权
基于 Android ID 或 iOS Keychain 生成稳定 MAC 格式设备 ID,同时维护 clientId 与授权码,协议和 OTA 请求自动携带,便于识别与批量管理。
流畅对话工程:我们的技术核心
实时语音链路跑通只是第一步,能在喧嚣、延迟、超时、打断等真实的恶劣环境下表现得像人类一样自然对话,才是最具技术深度的工程难点。小新将对话链路细节进行了极致调优。
01 离线唤醒要快且支持打断
采用 Sherpa-ONNX 离线轻量 Zipformer KWS 方案,不仅支持待机快起,更支持在 AI 正在滔滔不绝播放 TTS 音频的嘈杂声场下,通过“小新小新”快速打断并截流,无需等待播放完毕。
02 收音前缓存,避免开头字被吃
VAD 算法模型在端侧推理判定用户开始说话有天然的延迟,会导致录音文件缺失开头半秒。小新采用麦克风 1.5 秒环形内存预缓存机制,在唤醒和 VAD 判定前自动缝合录制历史音频,确保说出的第一个字能完美上传。
03 说完要准确判定,静音时间可调
静音判定太短会导致说话断断续续时被强行切断,判定太长会导致对话迟钝。小新将 Silero 模型的判定阈值、静音区间、连续性验证(chunk size)向开发者完全暴露,支持不同场景的调优参数实时生效。
04 Opus 流式高压缩网络传输
录制的 PCM 原始音频数据极大,若直接传输会导致高网络延迟与丢包。小新通过 native 库进行流式 Opus 实时编码,高保真压缩后基于 WebSocket 音频分块(60ms帧长)快速递交,即使在弱网环境下也能传输自如。
05 流式 TTS 低延迟 PCM 极速解码
不采用“等待服务端合并成完整音频再播放”的传统链路。服务端 TTS 产生的流式分片,通过 WebSocket 立即推送到小新,端侧分片即时解码为原始 PCM 写入环形队列,播放线程直接从中消费,最大化榨干首帧延迟。
06 动作打断要自然、干净
当用户通过说“闭嘴”、点击屏幕“停止”或通过热词重新唤醒时,小新能干净利索地清空本地 PCM 播放器缓冲区、抛弃流式剩余帧,向服务端发送 `abort` 帧终止当前 LLM 推理,并一键恢复至 listening 录音状态,绝无任何尾音杂音存留。
小新 APP 分层架构设计
从业务界面到端侧语音能力,再到小智协议服务端,所有模块围绕 SessionManager 统一编排。
让 H5 业务页面获得原生语音能力
小新 APP 封装了全屏 WebView 容器和精简的 JS Bridge。您的 H5 业务系统无需重构原生 App,只需监听 `window.XiaoXin` 触发的原生事件,即可获得强大的语音录音、热词监听、TTS播放以及系统硬件控制能力。
JS Bridge 原生调用 API 列表
// 监听小新 Bridge 加载就绪事件
window.addEventListener('xiaoxin:ready', function () {
console.log('小新 Bridge 已经就绪');
// 1. 监听端侧会话状态机变更
XiaoXin.on('onStateChange', function (data) {
// 状态包括: idle, connecting, listening, speaking, error
console.log('当前终端状态:', data.state);
});
// 2. 监听用户实时说话识别文本 (STT)
XiaoXin.on('onSttText', function (data) {
console.log('用户说:', data.text);
});
// 3. 监听 AI 回复的分句 TTS 文本
XiaoXin.on('onTtsSentence', function (data) {
console.log('AI 分句文本:', data.text);
});
// 4. 主动触发原生语音开始对话
XiaoXin.startVoice({}, function (success, data, error) {
if (!success) {
console.error('启动语音会话失败:', error);
}
});
});
现场软件界面截图一览
小新在多端表现极其稳定,已深度测试并部署在手机端、10寸工控屏、4寸桌面中控和 iPad 上。点击以下截图可放大清晰预览。
下载安装与快速开始
无论是想要快速安装包进行物理常驻设备的部署体验,还是想要本地克隆代码进行模块定制开发,这里都为您准备好了起点。
Android APK & 编译指引
直接下载编译好的 Release 包,或者阅读 iOS 平台的离线编译打包步骤。
本地源码运行
四步命令即可在本地开发环境将小新编译运行至真机设备:
# 克隆项目仓库
git clone https://github.com/fengin/xiaoxin-app.git
# 进入目录
cd xiaoxin-app
# 安装所有的 Flutter 依赖
flutter pub get
# 联机运行调试 (Android 或 iOS 真机)
flutter run
开发与集成参考文档入口
MCP 用法与扩展说明
介绍在小新中如何加载和相应 MCP(Model Context Protocol)工具发现、获取工具列表及 tools/call 原生调用的扩展控制方式。
查看 MCP 文档 →模型与第三方许可证
涉及项目内置模型的合规 commercial 商用。提供 Silero VAD (MIT License) 与 Sherpa KWS (Apache 2.0) 开源协议及三方依赖许可证指引。
查看模型协议 →技术实战地图与 FAQ
小新在静态官网之外,保留了可持续更新的技术经验。我们把底层的技术实践沉淀到 AI全书,让开发者在掌握代码的同时,也能系统性地学习 AI 语音技术。
MCP (Model Context Protocol) 扩展实践
不仅是一个回复声音的玩具,语音助手应该能控制设备。本文详解小新如何基于 JSON-RPC 的工具调用,驱动智能家居及业务流程。
进入 AI全书阅读 ↗开源透明、允许进行商业化二次构建
小新 APP 以非常宽松的 MIT License 开源发布;内置的 Silero/Sherpa 算法模型亦完全合规可商用。
常见热点问题解答
加入小新 APP 技术交流圈
欢迎加入AI开发、语音技术生态圈共同碰撞
添加微信:mossbot
小新 APP