Skip to content
Star

智能静音判停(VAD)

智能静音判停(Voice Activity Detection, VAD)是一项基于语音活动检测的自动化功能,能够在您停止说话后自动停止录音,无需手动操作。

功能原理

工作机制

智能判停基于 Silero VAD 模型 实现实时语音活动检测:

录音 → 实时分析音频 → 检测说话/静音 → 累计静音时长 → 达到阈值 → 自动停止

核心逻辑:

  1. 实时分析录音音频,判断是否有人说话
  2. 检测到静音后开始计时
  3. 静音持续时间超过设定阈值(如 1.2 秒),自动停止录音
  4. 提交识别,无需手动点击停止

VAD 模型

说点啥使用 Silero VAD v5 模型,特点:

  • 轻量级:模型大小仅约 629KB
  • 低延迟:实时检测
  • 高准确率:区分说话和背景噪音
  • 离线运行:完全本地处理

配置选项

所有配置位于 设置 → 语音识别设置 → 智能静音判停

配置项类型范围默认值说明
autoStopOnSilenceEnabledBoolean-false启用智能判停开关
autoStopSilenceWindowMsInt500-30001200静音时长阈值(毫秒)
autoStopSilenceSensitivityInt1-104检测灵敏度(1=保守,10=敏感)

详细说明

1. 启用开关

  • 配置项autoStopOnSilenceEnabled
  • 路径设置 → 语音识别设置 → 智能静音判停 → 启用
  • 默认:关闭(false
  • 说明:总开关,控制是否启用智能判停功能

2. 静音时长阈值

  • 配置项autoStopSilenceWindowMs
  • 路径设置 → 语音识别设置 → 智能静音判停 → 静音时长
  • 范围:500ms - 3000ms(0.5 秒 - 3 秒)
  • 默认:1200ms(1.2 秒)
  • 说明:检测到静音后等待多久自动停止录音

推荐值

  • 快速模式:800ms(适合短句、聊天)
  • 平衡模式:1200ms(默认,适合日常使用)
  • 宽松模式:2000ms(适合长句、需要停顿思考)

3. 检测灵敏度

  • 配置项autoStopSilenceSensitivity
  • 路径设置 → 语音识别设置 → 智能静音判停 → 灵敏度
  • 范围:1 - 10
  • 默认:4
  • 说明:控制判定"静音"的阈值,数值越大越容易触发

灵敏度档位

档位说明适用场景
1-3 保守只在非常确定静音时停止嘈杂环境、说话声音小、经常停顿思考
4-6 平衡正常判定,平衡准确性与响应速度日常使用,办公室、家庭环境
7-10 敏感快速响应,轻微停顿即触发安静环境、连续说话、追求快速输入

配置建议

场景化配置

日常聊天

autoStopOnSilenceEnabled = true
autoStopSilenceWindowMs = 1000  # 1 秒
autoStopSilenceSensitivity = 5  # 中等偏敏感

效果:说话停顿 1 秒后自动停止,适合快速聊天

文档口述

autoStopOnSilenceEnabled = true
autoStopSilenceWindowMs = 1500  # 1.5 秒
autoStopSilenceSensitivity = 4  # 平衡

效果:允许短暂停顿思考,避免频繁误停

会议记录

autoStopOnSilenceEnabled = true
autoStopSilenceWindowMs = 2000  # 2 秒
autoStopSilenceSensitivity = 3  # 保守

效果:避免发言人停顿时误停,适合多人对话

工作细节

检测周期

VAD 检测以 96ms 为周期,实时分析音频:

每 96ms 分析一次 → 判断说话/静音 → 更新静音计时器 → 达到阈值触发

判停触发条件

只有同时满足以下条件才会触发自动停止:

  1. ✅ 启用智能判停开关(autoStopOnSilenceEnabled = true
  2. ✅ VAD 模型初始化成功
  3. ✅ 连续静音时长 ≥ autoStopSilenceWindowMs
  4. ✅ 当前处于录音状态

与流式识别的关系

智能判停支持所有识别模式

识别模式VAD 判停说明
流式识别✅ 支持判停后停止上传音频流
文件识别✅ 支持判停后上传完整音频文件
本地识别✅ 支持判停后提交完整音频到本地引擎

故障排查

VAD 判停不生效

检查清单

  1. ✅ 总开关已启用(autoStopOnSilenceEnabled = true
  2. ✅ 静音时长足够(停顿时间 ≥ autoStopSilenceWindowMs
  3. ✅ 环境安静(背景噪音不会被误判为说话)
  4. ✅ 录音状态正常(界面显示"录音中")

常见原因

  • 环境噪音干扰(风扇、空调、键盘声)
  • 静音时长设置过长
  • 灵敏度设置过低(保守)

解决方案

# 提高灵敏度
autoStopSilenceSensitivity = 6

# 缩短静音时长
autoStopSilenceWindowMs = 1000

误判停止(说话中突然停止)

可能原因

  • 说话停顿时间过长
  • 灵敏度设置过高
  • 说话声音过小
  • 距离麦克风太远

解决方案

# 降低灵敏度
autoStopSilenceSensitivity = 3

# 延长静音时长
autoStopSilenceWindowMs = 2000

环境噪音导致无法停止

现象:持续录音,无法自动停止

原因:背景噪音被误判为语音

解决方案

  1. 更换安静环境
  2. 使用定向麦克风或降噪耳机
  3. 降低灵敏度:
    autoStopSilenceSensitivity = 2
  4. 或暂时关闭智能判停,手动控制

延迟感明显(停止说话后等待时间长)

原因:静音时长设置过长

解决方案

# 缩短静音时长(适合快速输入)
autoStopSilenceWindowMs = 800

平衡建议

  • 快速响应:800-1000ms(可能误停)
  • 平衡模式:1200-1500ms(推荐)
  • 宽松模式:2000-3000ms(延迟较大)

相关功能

Released under the Apache 2.0 License.