浏览器端离线唤醒词:用 ONNX 实现网页本地语音触发
网页只需要识别“开始录音”“下一页”或一个固定唤醒词时,不必把麦克风音频持续上传给云端 ASR。关键词识别模型可以直接在浏览器中完成推理。
直接体验:进入听词控制台并登录,在“演示模型”中点击“在线测试”。授权麦克风后即可测试;演示模型也可以直接下载,并提供推理代码入口。
浏览器里的处理链路
麦克风 → 单声道 PCM → 重采样到 16 kHz → Mel 特征
→ ONNX 模型 → 连续帧与冷却判决 → JavaScript 事件模型加载后,推理在当前设备完成,不需要推理服务器或运行时 AccessKey。它适合网页快捷操作、展厅大屏、PWA、内网控制台和本地设备面板。
什么时候用 KWS,什么时候用 ASR
| 需求 | 建议 |
|---|---|
| 识别少量固定短语 | 浏览器 KWS,结果直接映射页面动作 |
| 把任意语音转成文字 | 使用 ASR |
| 全天候后台监听 | 优先 Android、Linux 或嵌入式运行时 |
为什么不能只看模型阈值
模型会连续输出短音频窗口的分数。实际产品还需要连续帧确认、检测后冷却、背景峰值比较以及针对持续媒体声音的过滤。建议先记录真实误触类型,再逐项增加限制,避免过滤过严造成漏检。
浏览器端的工程边界
- 线上麦克风通常要求 HTTPS,并需要用户明确授权。
- 不同设备采样率不同,送入模型前需要转换到模型要求的采样率。
- 移动浏览器可能挂起后台标签页,不能未经验证就宣传后台常驻。
- 语音结果不应直接执行删除、付款等高风险操作。
先用 Demo 验证,再接入自己的模型
- 打开控制台,选择一个演示模型。
- 点击“在线测试”,检查自己的麦克风和浏览器能否正常触发。
- 点击“下载”取得模型,并从页面进入推理代码。
- 需要自定义词时再创建模型,先在线测试实际发音,再下载部署。
完整 Web SDK 和示例代码位于 onnx-wakeword。模型下载后可以在本地运行,不按识别次数或设备数量收取运行费用。
在线测试并下载 Demo 模型