声学与语音导读
这个系列讲一台能听会说的设备从头到尾要经过什么:声音怎样被采集和播放,怎样去掉回声和噪声,怎样识别文字、区分说话人、合成回答,模型怎样放到本地设备上运行,最后整条链路怎样评估和选型。声学和语音分不开:一只麦克风、一个扬声器的问题,最后都会表现为识别错、唤不醒。
在智能音箱、会议终端、车载座舱、耳机、机器人、语音遥控器、客服系统里,声学问题通常表现为“听不清、唤不醒、识别错、播放刺耳、回声大、噪声重、远场效果差”。这些问题不能只靠模型解决,也不能只靠结构件解决,需要把声场、硬件、信号处理和语音算法放在一条链路里看。
六个部分
这个系列从空气里的声波讲到一个能对话的设备,顺序是:先把声音变成可信的数据,再把数据整理干净,然后识别、区分说话人、合成,接着放到设备上运行,再把一个模型真正压进手机的加速器里跑一遍,最后作为一个系统来评估和选型。
一、声音与设备:声音怎样变成 PCM。后面所有模块拿到的都是这一步的产物。
| 篇目 | 回答的问题 |
|---|---|
| 01. 声音与信号基础 | 频率、分贝、采样率、位深、帧,这些数字各自管什么 |
| 02. 声学结构 | 开孔、腔体、麦克风阵列和扬声器怎样改变进出设备的声音 |
| 03. 采集与播放链路 | Mic、ADC、I2S、缓冲和播放参考怎样接到算法上 |
二、前端处理:在识别之前,把回声、噪声去掉,判断哪里有人声,是否在叫设备。
| 篇目 | 回答的问题 |
|---|---|
| 04. 降噪与前处理 | AEC、NS、AGC 和波束形成的原理、顺序与相互冲突 |
| 05. VAD 语音活动检测 | 怎样把逐帧概率变成稳定的语音片段,Silero、TEN-VAD 等方案怎么选 |
| 06. Silero VAD 工程实践 | 一个具体 VAD 模型的输入契约、流式事件和部署 |
| 07. 语音唤醒 | 唤醒阈值、误唤醒和漏唤醒怎样取舍 |
三、识别、说话人与合成:三类核心模型能力。
| 篇目 | 回答的问题 |
|---|---|
| 08. 语音识别原理 | 特征、声学证据、解码约束、热词和文本规整 |
| 09. 主流识别模型 | CTC、Transducer、编码器-解码器和大模型路线,Whisper、Paraformer、SenseVoice、Qwen3-ASR 等怎么选 |
| 10. 说话人识别与分离 | 声纹验证、说话人分离和目标说话人 ASR 各回答什么 |
| 11. 语音合成 | 文本前端、声学模型、声码器、语音 token 路线和流式合成 |
四、端侧部署:sherpa-onnx:把上面的模型放到电脑、手机和嵌入式设备上运行。
| 篇目 | 回答的问题 |
|---|---|
| 12. 框架总览 | 框架、模型和推理运行时的边界 |
| 13. 识别运行模式 | 流式、VAD 加非流式、文件批处理和端点检测 |
| 14. 模型与部署选型 | 在目标设备上比较模型、量化和后端 |
五、端侧 NPU 加速:同一个流式识别模型真正放到手机 NPU 上的完整过程,以及实测结果。
| 篇目 | 回答的问题 |
|---|---|
| 15. 端侧 NPU 加速导读 | 两条上机通路的区别,以及「更快更省电」这个直觉对了哪一半 |
| 16. 模型压缩与体量门槛 | 哪一级压缩在运行时会被还原,为什么 169 MB 被拒而 168 MB 通过 |
| 17. 图转换与算子适配 | 设备拒收的算子怎样等价替换,重写之后凭什么说没改错 |
| 18. 时延、功耗与内存怎么测 | 定速与背靠背、空载基线、均值与中位数,哪些读数是废的 |
| 19. 为什么没有变快 | 用合成模型量出常数否掉五个假说,真因与采用边界 |
六、系统与工程:把模块串起来,评估并选型。
| 篇目 | 回答的问题 |
|---|---|
| 20. 语音交互链路 | 状态机、打断、端云协同、级联与端到端语音大模型 |
| 21. 质量评估与排错 | SNR、ERLE、WER、MOS 怎么算,问题怎样逐层定位 |
| 22. 工程选型 | 遥控器、音箱、会议、车载和耳机分别怎样取舍 |
一条典型语音链路
语音链路可以按输入、处理、理解、输出四段理解:
- 输入:麦克风把空气压力变化转成电信号,再经过 ADC 变成 PCM 数据。
- 处理:前处理模块压制回声、噪声和音量波动,必要时使用麦克风阵列增强目标方向。
- 理解:唤醒模块判断是否进入交互,ASR 把语音转成文本,NLU 或大模型理解意图。
- 输出:TTS 把文本转成音频,经过 DAC、功放和扬声器播放,播放参考信号再回送给 AEC。
核心边界
声学与音频
声学更关注声音在物理空间中的产生、传播和感知,音频更关注声音信号的采集、编码、传输、处理和播放。工程项目里两者经常交叠:麦克风开孔、喇叭腔体、回声路径属于声学问题;采样率、PCM、滤波、编码属于音频问题。
语音与普通音频
语音是音频的一类,但语音系统有更明确的任务目标:听清人说话、判断是否有人说话、识别文字、理解命令、合成回答。音乐播放更重视频响、失真、动态和主观听感;语音交互更重视 SNR、唤醒率、识别率、端到端延迟和复杂环境鲁棒性。
算法问题与结构问题
结构问题会直接改变算法输入。例如麦克风孔被遮挡、密封不良、喇叭漏音到麦克风、阵列间距不准,都会让算法拿到错误信号。算法能缓解噪声和回声,但无法完全补救错误的声学结构。
两种读法
按顺序读:适合第一次接触语音系统。每篇结尾都指向下一篇。
按问题读:手上已经有设备或服务,从现象对应的场景切入:
| 场景 | 优先关注 | 典型风险 | 先读 |
|---|---|---|---|
| 智能音箱远场唤醒 | 麦克风阵列、AEC、波束形成、唤醒阈值 | 播放音乐时唤不醒、远距离漏唤醒 | 02、04、07 |
| 会议终端与会议转写 | 多人拾音、回声消除、双讲、说话人分离 | 对方听到回声、文字归错人 | 04、10、21 |
| 车载语音 | 路噪、风噪、座舱反射、多人位置 | 高速行驶识别率下降、误唤醒 | 04、07、22 |
| 耳机通话 | 近嘴拾音、风噪、骨传导、低功耗 | 户外风噪大、语音发闷 | 02、04 |
| 语音助手与大模型对话 | 流式识别、轮次判断、流式合成、打断 | 响应慢、抢话、打断不了 | 05、11、20 |
| 客服录音质检 | 双声道分离、长音频切段、ASR 后处理 | 采样率低、压缩损伤、口音和噪声 | 08、09、13 |
| 离线或端侧识别 | 模型体积、内存、RTF、包体 | 设备跑不动、模型许可证不允许 | 09、12、14 |
| 端侧加速器(NPU)选型 | 模型体量门槛、算子支持、张量形状、功耗 | 模型放不进去、放进去反而更慢 | 15、16、19 |
各类指标(SNR、ERLE、WER、误唤醒次数/小时、MOS、端到端延迟)的定义和计算口径集中在 21. 质量评估与排错。
相关系列
| 系列 | 和本系列的分工 |
|---|---|
| 模型训练与调优第 14—16 篇 | 识别和合成模型怎样训练、怎样针对口音和术语微调 |
| 大模型推理优化第 19 篇 | 语音模型的推理优化、首音频时延与部署路线 |
| 流式语音技术实践 | 一条生产级会议转写服务:分段、角色、热词、调度、回放与离线交付 |
| Python 并发第 13、16 篇 | 批量转码预处理与实时语音流水线的并发写法 |
| 嵌入式音视频专题 | 从 PCM、视频帧和容器继续进入 FFmpeg、GStreamer、V4L2、直播协议与硬件编解码 |
总结
排查具体问题时,先确认物理链路和录音数据是否可信,再分析算法和模型效果。结构、采集和前处理出了问题,换再强的模型也补不回来。
