5 分钟为您的 Web 应用添加唤醒词
本指南详述了如何在 Web 浏览器中使用 WebAssembly SIMD128 实现本地唤醒词检测器("Hey Assistant")。该方法消除了云端 API 的延迟、按请求计费以及隐私顾虑,因为音频数据始终保留在用户设备上。要开始使用,用户需要现代浏览器、麦克风以及安全服务器(HTTPS 或 localhost)。SDK 可通过 npm 或 CDN 安装,大小约为 275 KB,小于大多数图标字体。设置过程包括一个带有启动按钮和状态显示的 HTML 外壳,并通过安全方式提供以获取麦克风访问权限。下一步是初始化 WakeWordEngine 并加载预训练的 100 KB"Hey Assistant"模型,同时设置检测阈值。随后,使用 AudioContext 以 16 kHz 单声道格式捕获麦克风音频,以确保最佳的检测质量。检测的核心在于在 audioprocess 事件监听器中,将固定大小的音频块(Int16 PCM 样本)推送到引擎。检测到的唤醒词会触发带有时间戳和分数的控制台日志,并更新屏幕上的状态。引擎自行管理冷却时间,以防止单次发音产生重复检测。用户可以自定义输入格式,选择 Float32 样本,并微调检测阈值以调整灵敏度。降低阈值会提高灵敏度,但可能导致更多误报;提高阈值可减少误报,但可能会漏掉较安静的发音。该模型具备高精确度和召回率,默认阈值为 0.9。本文提供了一份完整的、可直接复制粘贴的功能演示代码示例。除了"Hey Assistant"之外,自定义短语和语言可在付费 tier 中获得,SDK 还扩展至原生移动平台(iOS、Android)以及 Linux/边缘设备(如树莓派)。SDK 的封装代码为开源(Apache-2.0),而 WebAssembly 运行时和模型权重为专有,但允许作为 SDK 的一部分进行再分发。