VAD语音活动检测

902 阅读4分钟

1. VAD简介

语音活动检测(Voice Activity Detection,VAD),就是检测是否有声音,常规的算法是通过声音音量和频谱特征来判断是否有声音的,但是无法区分是噪音还是人声

VAD技术主要用于语音编码和语音识别。

  1. 它可以简化语音处理。
  2. 也可用于在音频会话期间去除非语音片段
  3. 可以在IP电话应用中避免对静音数据包的编码和传输,节省计算时间和带宽。

2. VAD活动检测常见术语

"DetectionAggressiveness" 这个术语在计算机科学和网络安全领域中通常用来描述安全检测系统的强度或积极性。它衡量的是检测系统在识别和防止潜在威胁或恶意行为时的努力程度。

一般来说,DetectionAggressiveness 的级别可以从低到高分为以下几种:

  1. 低侵略性(Low Aggressiveness):这种级别的检测系统通常比较温和,它们会尽量减少误报或误判的可能性,但相应地,也可能会漏过一些真实的威胁。
  2. 中等侵略性(Medium Aggressiveness):这种级别的检测系统在保证准确性的同时,会适当提高警惕性,以尽可能发现更多的潜在威胁。但相应的,误报或误判的可能性也会有所增加。
  3. 高侵略性(High Aggressiveness):这种级别的检测系统非常警惕,对任何可能的威胁都会进行深入的调查和分析,但相应的,误报或误判的可能性也会大大增加。

需要注意的是,DetectionAggressiveness 的选择应该基于具体的应用场景和安全需求。对于一些需要高度安全保障的重要系统,可能会需要选择中等或高侵略性的检测系统;而对于一些对误报或误判容忍度较高的系统,可能会选择低侵略性的检测系统。

3. VAD数据从哪来?

VAD数据一般来说都是自己采集或者自己造的,纯净语音+加任意噪声,自己控制好信噪比就可以了。但是,方便调试还是有一些开源的VAD数据,比如:

  1. GitHub - jtkim-kaist/VAD: Voice activity detection (VAD) toolkit including DNN, bDNN, LSTM and ACAM based VAD. We also provide our directly recorded dataset.
  2. RealVAD: A Real-World Dataset and A Method for Voice Activity Detection by Body Motion Analysis

4. VAD语音活动检测开源库

libfvad是一个开源的语音活动检测(VAD)库,属于WebRTC本机代码包的一部分,可以用作独立于WebRTC代码其余部分的独立库(1)。

通过使用libfvad,开发人员可以方便地将语音活动检测功能集成到自己的应用程序中,以实现更精确的语音识别、语音合成、语音过滤等功能。在实际应用中,libfvad可以与其他开源库和工具(如PortAudio、PulseAudio、FFmpeg等)结合使用,以实现更丰富的音频处理功能(2)。

libfvad

libfvad 是一个语音活动检测(Voice Activity Detection,简称VAD)的开源库,它提供了一组函数用于实现语音活动检测的功能。以下是libfvad中常用的函数:

  1. fvad_init(): 初始化libfvad库,分配必要的内存和资源。
  2. fvad_set_parameters(): 设置VAD参数,如信号处理参数、噪声抑制参数等。
  3. fvad_process(): 执行语音活动检测,输入音频数据并返回检测结果。
  4. fvad_get_speech_segments(): 获取语音活动检测结果中的语音段信息。
  5. fvad_get_speech_probability(): 获取语音活动检测结果中的语音概率信息。
  6. fvad_get_noise_probability(): 获取语音活动检测结果中的噪声概率信息。
  7. fvad_get_frame_size(): 获取语音活动检测的帧大小。
  8. fvad_get_sample_rate(): 获取语音活动检测的采样率。
  9. fvad_deinit(): 释放libfvad库的资源,清理内存。

这些函数是libfvad库中常用的核心函数,开发人员可以通过调用这些函数来实现语音活动检测的功能,并将其集成到自己的应用程序中。具体的函数使用方法和参数设置可以参考libfvad的官方文档或源代码

参考资料

mp.weixin.qq.com/s/omIvmO1ES…

github.com/dpirch/libf…

github.com/msching/MCA…

www.cnblogs.com/rome753/p/1…

www.ddrj.com/smartivr/va…

github.com/Baidu-AIP/s…