问题背景:当手机麦克风成为生理传感器
可穿戴设备(胸带、指夹式血氧仪)在呼吸监测领域已相当成熟,但它们的共同门槛是 "额外硬件"。shiihaa 项目尝试回答一个更具挑战性的问题:能否仅依靠手机麦克风,在真实生活场景中实现可靠的呼吸周期检测?
这一问题的难度在于信号环境的复杂性。手机麦克风采集的并非纯净的呼吸音,而是混叠了房间底噪、交通声、风扇声、衣物摩擦声,以及设备自动增益控制(AGC)不断调整的动态范围。要在这样的信号中提取出 "一次呼吸的开始与结束",需要多层信号处理策略的配合。
核心创新:频谱质心分类法
shiihaa 的核心技术突破在于利用 ** 频谱质心(Spectral Centroid)** 区分吸气与呼气相位。这一方法的生理学基础是气流的流体力学特性:
- 吸气:空气通过鼻腔时产生湍流,频谱质心落在 800–2500 Hz 区间
- 呼气:气流经放松的声道层流化,频谱质心降至 200–800 Hz
具体实现上,系统对麦克风输入执行 FFT(默认窗口大小 4096),计算 150–2500 Hz 频带内的能量分布与质心位置。通过监测质心变化趋势,算法能够在单次呼吸周期内标记出 "shii..."(吸气)与 "...haa"(呼气)的过渡点。
三层检测架构
第一层:信号预处理
原始音频流被切分为重叠的短时窗口。每个窗口提取两个关键特征:
- 能量包络:经 EMA 平滑(系数 0.25)后的振幅值
- 频谱质心:能量分布的频率重心
第二层:双路径状态机
检测逻辑采用 "双保险" 设计:
路径 A - 阈值状态机:适用于有屏息间隔的呼吸模式(如 4-7-8 呼吸法)。状态机跟踪当前相位(吸气 / 呼气 / 屏息),通过自适应阈值判断相位转换。关键参数包括:
minPhaseSeconds: 1.5 秒(最小相位时长,防止误判)minCycleGapSeconds: 2.5 秒(周期间最小间隔,防止重复计数)thresholdFactor: 0.35(检测灵敏度,0 为敏感,1 为严格)
路径 B - 峰值回退:当能量持续高于阈值(连续呼吸无屏息)时,系统切换为峰值计数模式,两个相邻峰值构成一个完整周期。
第三层:数据质量过滤
在输出结果前,窗口必须通过质量检验:过噪、过静或声学特征模糊的窗口会被标记为 "不确定" 而非强行分类。这种 "诚实失败" 策略比输出错误相位更有利于用户体验。
工程落地参数清单
基于开源库 @shiihaa/breath-detection 的默认配置,以下是可直接用于生产环境的参数:
| 参数 | 默认值 | 调优建议 |
|---|---|---|
fftSize |
4096 | 移动端平衡精度与延迟的折中值 |
smoothingAlpha |
0.25 | 环境噪音大时适当增大 |
freqLow / freqHigh |
150 / 2500 Hz | 覆盖呼吸音主要频段,过滤低频机械噪声 |
centroidThreshold |
40 Hz | 质心差异阈值,低于此值标记为 "不确定" |
| 自动重新校准间隔 | 10 秒 | 适应环境噪音漂移 |
移动端适配要点
iOS 特殊处理
iOS 的 WKWebView 存在已知缺陷:Web Audio API 的 AnalyserNode 通过 getUserMedia 获取的数据存在异常。生产环境需要引入原生插件 @shiihaa/capacitor-audio-analysis,使用 AVAudioEngine 直接采集音频,再将能量值传递给检测库。
AGC 干扰
自动增益控制会动态调整麦克风灵敏度,导致同一呼吸在不同时间点能量差异巨大。解决方案是在检测前执行 6 秒校准流程:前 2 秒采集环境底噪,后 4 秒引导用户正常呼吸,建立相对能量基准。
局限与权衡
需要清醒认识的是,纯麦克风方案在精度上仍低于可穿戴设备。项目文档明确说明正在进行临床验证研究,以确定该方法与金标准(呼吸带、CO2 监测)的一致性边界。
另一个关键设计是隐私优先:原始音频流在端侧处理,不上传云端;算法仅分析能量包络与频谱形状,不做语音识别。这种设计虽然限制了模型训练的数据来源,但消除了健康数据泄露的风险。
延伸应用方向
呼吸检测作为反馈通道,可支撑更复杂的生理调节场景:
- 共振呼吸训练:通过长期监测找到个体最稳定的呼吸频率(通常接近 6 次 / 分钟),而非套用固定数值
- HRV 联合分析:当用户佩戴心率带时,可将呼吸周期与心率变异性关联,评估自主神经平衡状态
- 实时生物反馈:将检测到的相位实时映射为视觉 / 触觉反馈,帮助用户建立本体感觉
资料来源
- shiihaa/shiihaa-breath-detection - 项目文档与方法说明
- shiihaa/breath-detection - TypeScript 检测库源码与 API 文档
内容声明:本文无广告投放、无付费植入。
如有事实性问题,欢迎发送勘误至 i@hotdrydog.com。