能量探测器
对于语音活动检测,我一直在使用基于 ALIZE 库的MISTRAL(原为 LIA_RAL)说话人识别工具包的 EnergyDetector 程序。
它适用于特征文件,而不适用于音频文件,因此您需要提取信号的能量。我通常使用 log-energy 参数提取倒谱特征 (MFCC),并将此参数用于 VAD。您可以通过以下方式使用SPro信号处理工具包的实用程序部分 sfbcep` :
sfbcep -F PCM16 -p 19 -e -D -A input.wav output.prm
它将提取 19 个 MFCC + 对数能量系数 + 一阶和二阶 delta 系数。能量系数是第 19 位,您将在 EnergyDetector 配置文件中指定。
然后,您将以这种方式运行 EnergyDetector:
EnergyDetector --config cfg/EnergyDetector.cfg --inputFeatureFilename output
如果您使用答案末尾找到的配置文件,则需要output.prm
输入prm/
,您会在lbl/
.
作为参考,我附上了我的 EnergyDetector 配置文件:
*** EnergyDetector Config File
***
loadFeatureFileExtension .prm
minLLK -200
maxLLK 1000
bigEndian false
loadFeatureFileFormat SPRO4
saveFeatureFileFormat SPRO4
saveFeatureFileSPro3DataKind FBCEPSTRA
featureServerBufferSize ALL_FEATURES
featureServerMemAlloc 50000000
featureFilesPath prm/
mixtureFilesPath gmm/
lstPath lst/
labelOutputFrames speech
labelSelectedFrames all
addDefaultLabel true
defaultLabel all
saveLabelFileExtension .lbl
labelFilesPath lbl/
frameLength 0.01
segmentalMode file
nbTrainIt 8
varianceFlooring 0.0001
varianceCeiling 1.5
alpha 0.25
mixtureDistribCount 3
featureServerMask 19
vectSize 1
baggedFrameProbabilityInit 0.1
thresholdMode weight
CMU狮身人面像
CMU Sphinx语音识别软件包含一个内置的 VAD 。它是用 C 语言编写的,您可以破解它来为您生成标签文件。
最近添加的是 GStreamer 支持。这意味着您可以在 GStreamer 媒体管道中使用其 VAD。请参阅将 PocketSphinx 与 GStreamer 和 Python 一起使用 -> 'vader' 元素
其他 VAD
我也一直在使用 AMR1 编解码器的修改版本,它输出具有语音/非语音分类的文件,但我无法在网上找到它的来源,抱歉。