# faster-whisper VAD 静音过滤：保留原时间轴并对照空白段

faster-whisper VAD 静音过滤通过独立输入、具体脚本和逐项回听完成。本页附 CPU tiny/int8 真实 ASR 结果，保留误识别，人工原文单独保存。

## 1. 下载含五秒静音的输入

练习录音包含两组不同句子，中间人为加入五秒零样本静音。input.wav 的实际波形可见静音段；它与短句转录页的输入和验收目标不同。

## 2. 分别保留 VAD 开关两次输出

先执行 run.py 不加 --vad，再加 --vad 输出 vad-on.json。保持模型、beam_size、语言和词级参数一致；只改变 VAD，避免把多个参数变化当作过滤效果。

## 3. 读取静音参数

示例 min_silence_duration_ms=500 表示 VAD 判断静音的最小时长参数，不是字幕每五百毫秒一行。它会影响合并语音区间；先从保守设置开始，再用自己的录音回听。

```sh
python run.py input.wav --out vad-off.json --language en --words
python run.py input.wav --out vad-on.json --language en --words --vad
python check.py
```

## 4. 对照 durationAfterVad 与原始时长

输出记录 duration 与 durationAfterVad。实际过滤结果可能只减少推理音频量，导出时间仍应关联原 WAV；不把过滤后拼接时长直接覆盖字幕绝对时间。

## 5. 专门回听静音两侧

查看静音前的尾字和静音后的首字是否被裁掉。对无声段的额外识别单独记为错误；录音有音乐或弱音时不能仅凭波形幅度判定没有讲话。

## 6. 保存参数与两版结果

下载含开关两版 JSON/SRT 的素材，运行校验并对照真实输出。最终采用哪版由回听决定，VAD 不保证消除所有幻觉。

## 7. 下载材料、检查负例与继续操作

解压素材包后先运行 python check.py，再运行 python check.py --self-test。前者读取真实 WAV / JSON / SRT 与源 hash；后者拒绝损坏 WAV、倒置时间、越界时间和缺失词时间。文件通过不代表文字、情绪或说话人判定已通过。

## 来源与范围

见 PROVENANCE.md。WhisperX/CosyVoice 推理本次未执行，系统音频为原创练习输入。

- https://github.com/SYSTRAN/faster-whisper
- https://github.com/SYSTRAN/faster-whisper/blob/master/faster_whisper/vad.py
- https://huggingface.co/Systran/faster-whisper-tiny
