1. 课程导入
什么是唤醒词
唤醒词,说白了就是让设备「醒过来」的那句话。
你对着智能音箱说「小爱同学」,它亮了。你对着车机说「你好,宝马」,它应了。这个触发词,就是唤醒词。
从技术角度看,唤醒词是一个轻量级的语音关键词检测任务。设备平时处于低功耗监听状态,麦克风一直在工作,但只做一件事——判断当前语音里有没有预设的那个词。有,就唤醒;没有,继续睡。
我刚开始做这个方向时,总觉得唤醒词不就是个语音识别吗?后来踩了坑才明白,它跟大词表语音识别完全是两码事。唤醒词模型只有几个输出类别,模型体积通常只有几百KB,推理延迟要求控制在几十毫秒以内。你想想看,设备要全天候开着麦克风,如果模型太大,电池撑不过半天。
唤醒词的应用场景
这些年我经手的项目里,唤醒词几乎覆盖了所有带麦克风的智能设备。挑三个最典型的说说。
智能音箱
这是唤醒词最广为人知的应用。亚马逊Echo用「Alexa」,天猫精灵用「天猫精灵」,小度用「小度小度」。智能音箱的唤醒词有个特点——远场。用户可能在三米外说话,背景有电视声、空调声、人声。模型要在这些干扰里准确检出唤醒词,还不能被广告里的「小爱同学」误触发。
我记得有一次,某品牌音箱在电视购物频道播出时疯狂误唤醒,用户投诉炸了。排查下来,是电视里主持人说了个发音相似的词。后来我们加了一层声纹过滤,才把误唤醒率压下去。
车载场景
车载唤醒词对噪声鲁棒性要求极高。风噪、胎噪、发动机声、空调声、乘客聊天声,这些都会混进麦克风信号。我做过一个车载项目,在高速120km/h的测试环境下,信噪比低到-5dB,人耳都听不清自己说了什么,模型还得正常工作。
车载还有一个特殊要求——免唤醒。很多操作(比如调音量、切歌、导航)不应该每次都说唤醒词。这其实已经超出了纯唤醒词的范畴,进入了「语音命令词」的领域,但底层技术是相通的。
手机端
手机上的唤醒词,最典型的就是「Hey Siri」和「OK Google」。手机场景的特点是功耗敏感。唤醒词模型必须跑在协处理器或DSP上,主CPU不能参与,否则待机功耗会飙升。
我见过一个方案,把唤醒词模型量化到8bit,部署在Cortex-M4上,整体功耗控制在10mW以内。嗯,这个数字我记得很清楚,因为当时为了压功耗,我们反复调了三个月的模型结构。
| 场景 | 核心挑战 | 典型功耗预算 | 常用部署平台 |
|---|---|---|---|
| 智能音箱 | 远场、多噪声源 | 100-500mW | ARM Cortex-A / DSP |
| 车载 | 高噪声、低信噪比 | 200-1000mW | 车规级SoC / FPGA |
| 手机 | 超低功耗、协处理器 | 5-20mW | Cortex-M / 专用NPU |
课程目标与学习路径
这门课的目标很明确——让你从零开始,亲手搭建一个能用的唤醒词模型。不需要你有深度学习背景,不需要你懂语音信号处理,甚至不需要你写过一行Python。我会带着你一步步走完整个流程。
整个课程分成四个阶段,我画了张图帮你理解。
具体来说,每个阶段你会学到这些。
阶段一:基础理论(第1-6章)
我会从最基础的语音信号讲起。什么是采样率?什么是FFT?MFCC特征怎么提取?唤醒词检测的「检测」到底是什么意思?这些概念我都会用最直白的方式讲清楚。你不需要去啃信号处理教材,跟着我做就行。
阶段二:数据处理(第7-12章)
数据是唤醒词模型的命根子。这个阶段我会教你如何采集数据、如何做数据增强(加噪声、变速、混响)、如何标注和清洗。我曾经因为数据标注错误,导致模型在测试集上表现很好,上线后一塌糊涂。嗯,这种坑我会帮你提前避开。
阶段三:模型训练(第13-22章)
这是课程的核心。我会带你从最简单的DNN模型开始,逐步过渡到CNN、TCN,最后到轻量级的Transformer。每个模型我都会给出完整的训练代码,你可以在自己的电脑上跑起来。我会告诉你每个模型适合什么场景,为什么选它不选别的。
阶段四:部署优化(第23-30章)
模型训练出来只是第一步,真正难的是把它塞进嵌入式设备里。这个阶段我会教你模型量化(FP32→INT8)、剪枝、蒸馏,以及如何在Cortex-M和Cortex-A上做推理加速。最后我们会把模型跑在一块真实的开发板上,验证唤醒效果。