# human voice identify **Repository Path**: howardwang/human-voice-identify ## Basic Information - **Project Name**: human voice identify - **Description**: 人声识别 - **Primary Language**: Python - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-04-03 - **Last Updated**: 2025-05-30 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 介绍 音频中语音检查的方法 * webrtc-vad * silero-vad * convert_to_16khz.sh 转换音频格式脚本 详情参考各个目录下的 `README.md` ```sh \.venv\Scripts\activate # 进入 python 虚拟环境 ``` ## 说明 Silero-VAD 比 WebRTC-VAD 更准确的主要原因在于: 1. 神经网络架构 Silero 使用基于深度学习的端到端神经网络(如STFT+RNN/Transformer),能更好地捕捉音频信号的时序特征和非线性关系,而 WebRTC-VAD 使用的是传统 GMM 模型 2. 噪声鲁棒性 Silero 在训练时加入了大量背景噪声数据增强(如白噪声、音乐、环境声),使其在信噪比低至 **-5dB** 时仍能保持高准确率 3. 多采样率支持 原生支持 8k/16k/24k/32k/48kHz 多种采样率,通过模型自适应调整,而 WebRTC 需要手动重采样到特定频率 4. 上下文感知 采用滑动窗口机制(默认 512 采样点窗口 + 1536 采样点上下文),能更好地区分语音边界处的瞬态噪声 5. 多语言优化 训练数据包含英语、中文、俄语等 20+ 语言的语音样本,对非平稳语音(如声调语言)有更好识别能力 根据 silero 的基准测试,在相同误报率下,Silero-VAD 的**召回率**比 WebRTC-VAD 高 18-23%(在-5dB~10dB噪声环境中) ### 召回率(Recall Rate) 召回率(Recall Rate)是衡量语音活动检测(VAD)系统捕捉真实语音能力的关键指标,其定义为: 召回率 = 正确检测的语音时长 / (正确检测的语音时长 + 漏检的语音时长) × 100% 实际案例: 若 10 秒音频中包含 8 秒真实语音,VAD 检测到 7 秒语音(正确)但漏检 1 秒,则召回率为 7/(7+1)=87.5% 与精确率(Precision)的区别: * 高召回率:宁可多标记非语音为语音,也要尽量捕获所有真实语音(适合语音转录等场景) * 高精确率:宁可漏检部分语音,也要确保标记的语音段绝对准确(适合实时通信场景) 在语音助手等应用中,召回率低下会导致指令漏识别,因此 Silero-VAD 通过长上下文建模来优化该指标。