EnergyDetector
Для распознавания голосовой активности я использовал программу EnergyDetector из набора инструментов распознавания динамиков MISTRAL (was LIA_RAL), основанного на библиотеке ALIZE.
Он работает с файлами функций, а не с аудиофайлами, поэтому вам необходимо извлечь энергию сигнала. Я обычно извлекаю кепстральные функции (MFCC) с параметром log-energy, и я использую этот параметр для VAD. Вы можете использовать sfbcep`, служебную часть SPro набора инструментов для обработки сигналов, следующим образом:
sfbcep -F PCM16 -p 19 -e -D -A input.wav output.prm
Извлечет 19 MFCC + логарифмический коэффициент + дельта-коэффициенты первого и второго порядка. Коэффициент энергии является 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 Sphinx
Программное обеспечение для распознавания речи CMU Sphinx содержит встроенный VAD. Он написан на C, и вы можете взломать его, чтобы создать для вас файл метки.
Самым недавним дополнением является поддержка GStreamer. Это означает, что вы можете использовать его VAD в медиа-конвейере GStreamer. См. Использование PocketSphinx с GStreamer и Python -> Элемент 'vader'
Другие VAD
Я также использовал модифицированную версию кодека AMR1, которая выводит файл с речевой / неречевой классификацией, но я не могу найти его источники в Интернете, извините.