1. 唤醒词基础与行业现状

各位同学好。今天咱们聊聊唤醒词——这个看似简单、实则坑不少的技术。

唤醒词,说白了就是让设备「醒过来」的那句话。你喊一声「Hey Siri」,手机亮了;说句「小爱同学」,音箱开始听你指令。这就是唤醒词干的事。

我入行那会儿,唤醒词还是个挺小众的方向。现在呢?几乎每个智能设备都有。你想想看,从手机到音箱,从耳机到车载,唤醒词已经成了人机交互的第一道门。

1.1 唤醒词的定义与技术本质

唤醒词(Wake Word)也叫触发词(Trigger Phrase),是设备从待机状态进入交互状态的语音指令。它和普通语音指令最大的区别在于——唤醒词必须在设备本地实时处理,不能依赖云端。

为什么?因为唤醒词要一直「听着」。如果每次都要联网,功耗和延迟都受不了。我做过一个项目,客户非要把唤醒词放云端,结果设备待机功耗直接飙到 2W,电池撑不过半天。后来老老实实改回本地处理。

核心要点:唤醒词系统是一个始终在线的、低功耗的、本地运行的语音触发引擎。它需要在极低资源消耗下,从连续音频流中准确检测到预设的关键词。

技术架构上,唤醒词系统通常分三块:

  • 前端信号处理:降噪、回声消除、语音增强。这部分决定了唤醒词能不能在嘈杂环境下工作。
  • 唤醒词检测引擎:核心算法,负责从音频流中识别关键词。传统方法用 HMM/GMM,现在主流是 DNN/CNN/Transformer。
  • 后端确认与仲裁:防止误唤醒,做多轮确认。比如 Alexa 的「Alexa, stop」需要连续两次确认才执行。

1.2 技术演进:从模板匹配到端到端

唤醒词技术走了大概三个阶段。我按自己的经历给大家捋一捋。

阶段 时间 核心技术 代表产品 痛点
第一阶段 2010-2014 模板匹配、DTW 早期车载语音 对环境噪声敏感,换个人说话就识别不了
第二阶段 2014-2018 HMM/GMM + DNN Hey Siri、Google Now 模型体积大,低功耗设备跑不动
第三阶段 2018-至今 端到端 DNN、TCN、Transformer 小爱同学、Alexa 需要大量训练数据,小语种支持困难

第一阶段我印象很深。2012 年我参与过一个车载项目,用的就是 DTW(动态时间规整)。那会儿为了降低误唤醒,我们给每个用户录了 5 遍模板。结果呢?用户感冒了,声音变了,就唤不醒了。说白了,模板匹配太死板。

第二阶段 HMM 加 DNN 的组合,算是把唤醒词带入了实用阶段。Apple 在 iPhone 4S 上推出 Siri 时,用的就是这套方案。不过那时候模型还挺大的,iPhone 4S 的 A5 芯片跑起来有点吃力。

第三阶段端到端模型是现在的标配。我最近在做的项目,用的就是基于 TCN(时序卷积网络)的轻量模型,参数量不到 200K,在 Cortex-M4 上都能跑。嗯,这里要注意——端到端模型虽然精度高,但对数据量和标注质量要求也高。我踩过坑,后面会细说。

1.3 市场主流方案对比

目前市面上主流的唤醒词方案,我挑三个有代表性的聊聊:小爱同学、Hey Siri、Alexa。

个人经验:选方案不能只看唤醒率。我见过不少团队,一味追求唤醒率,结果误唤醒率飙到每小时几十次,用户直接关掉唤醒功能。唤醒率和误唤醒率是跷跷板,必须一起看。

维度 小爱同学 Hey Siri Alexa
唤醒词长度 4 字 2 字(Hey Siri) 2 字(Alexa)
模型架构 自研 TCN + Attention Apple 自研 DNN Amazon 自研 CNN + LSTM
参数量 ~150K ~300K ~500K
典型误唤醒率 每 24h < 5 次 每 24h < 3 次 每 24h < 8 次
低功耗方案 DSP 协处理器 Apple H1/H2 芯片 Amazon AZ1 神经网络加速器
多语言支持 中文为主 20+ 语言 8 语言

小爱同学我比较熟,因为之前和小米团队有过合作。他们的策略很有意思——唤醒词选「小爱同学」四个字,比「Hey Siri」长一倍。长唤醒词的好处是区分度高,不容易误唤醒。坏处是用户说着费劲。不过中文环境下,四个字的唤醒词用户接受度还行。

Hey Siri 是典型的短唤醒词方案。两个字,用户说着顺口。但短唤醒词容易和日常对话混淆。Apple 怎么解决的?他们加了一层「用户声纹确认」。只有设备主人的声音才能唤醒。我试过,确实有效,但偶尔也会把主人拒之门外。

Alexa 的方案比较重。Amazon 在 Echo 设备里塞了一颗 AZ1 神经网络加速芯片,专门跑唤醒词模型。好处是唤醒率极高,坏处是成本上去了。不过 Amazon 不靠硬件赚钱,所以无所谓。

1.4 唤醒词系统的核心指标

做唤醒词,你得盯住这几个指标。我建议每个项目开始前,先把指标定清楚。

  • 唤醒率(Wake-up Rate):用户说唤醒词时,设备成功响应的比例。一般要求 > 95%。
  • 误唤醒率(False Wake-up Rate):没人说唤醒词时,设备自己醒过来的频率。一般要求每 24h < 10 次。
  • 响应延迟(Latency):从用户说完唤醒词到设备给出反馈的时间。一般要求 < 300ms。
  • 功耗(Power Consumption):唤醒词模块的待机功耗。电池设备要求 < 10mW。

避坑指南:我曾经在一个项目中,把唤醒率目标定到了 99%。结果团队花了三个月,把误唤醒率搞到了每小时 20 次。用户投诉说「音箱半夜自己唱歌」。后来我们不得不把唤醒率降到 96%,误唤醒率才回到正常水平。记住——没有完美的唤醒词系统,只有合适的平衡点。

1.5 唤醒词系统的典型流程

下面这张图展示了唤醒词系统的完整工作流程。我画的时候特意把关键节点标出来了。

唤醒词系统工作流程 音频采集 前端信号处理 特征提取 唤醒词检测 后处理/确认 唤醒响应 低功耗待机 持续监听循环 关键设计点 • 始终在线监听 • 本地实时处理 • 低功耗运行 • 毫秒级响应

这个流程里,最容易被忽视的是「低功耗待机」和「持续监听循环」之间的切换。我见过不少方案,待机时功耗控制得很好,但一旦检测到疑似唤醒词,整个系统就全速跑起来,功耗瞬间飙升。结果呢?电池续航直接腰斩。

好的做法是分级唤醒——先用一个超低功耗的「预检测」模块过滤掉大部分非语音信号,只有通过预检测才启动完整的唤醒词引擎。这样既保证了唤醒率,又控制了功耗。

1.6 行业现状与挑战

说到行业现状,我觉得有几个趋势值得关注。

第一,唤醒词越来越短。 从「小爱同学」到「Hey Siri」到「Alexa」,唤醒词长度在缩短。短唤醒词用户体验好,但技术难度大。我最近在做的项目,客户要求用单字唤醒——一个字就把设备叫醒。说实话,单字唤醒的误唤醒率控制是个大难题。

第二,多模态融合。 现在的设备不只有麦克风,还有摄像头、触控屏。唤醒词可以和视觉、触控结合。比如你对着摄像头说「Hey Siri」,设备通过唇语辅助确认,能大幅降低误唤醒。这个方向我比较看好。

第三,个性化唤醒。 同一个设备,不同家庭成员用不同的唤醒词。或者设备学习用户的说话习惯,自动优化唤醒参数。这个方向还在早期,但潜力很大。

我的建议:如果你刚入行做唤醒词,别急着上大模型。先把手头的信号处理做好——降噪、回声消除、VAD(语音活动检测)。这些基础工作做好了,唤醒率自然就上去了。我见过太多团队,模型换了一版又一版,结果发现是麦克风阵列没调好。