Перенос VAD из 3GPP протокола
Во время распознавания речи необходимо отсечь тишину в начале и в конце аудиофрагмента, чтобы на вход декодера попадала только чистая речь. Для этого используется функция VAD.
После переноса и проверки VAD по протоколу 3GPP, его можно внедрить в программу для реального времени декодирования звука. Репозиторий проекта находится по адресу: https://github.com/xiangxyq/kaldi_nnet3_real_time_audio_decode.
Компиляция: a. Перейдите в каталог с исходным кодом и выполните команду make VAD=VAD1. b. Создайте статическую библиотеку libvad.a, используя команду ar rc libvad.a *.o. c. Протестируйте код с помощью команды gcc wav_vad_test.c -L. libtest.a -o wav_vad_test, где wav_vad_test — это файл с тестовым кодом.
Запустите ./wav_vad_test для обработки исходного аудиофайла vad.pcm. В результате будет получен обработанный файл processed.pcm, а результаты обработки можно увидеть в файле result.jpg.
Примечание:
a. VAD зависит от файлов, которые не были отделены от кода 3GPP. Вместо этого весь код был скомпилирован в одну библиотеку. Если необходимо, можно самостоятельно удалить ненужные файлы. b. Параметры VAD, используемые в этом коде, могут быть неоптимальными для вашей конкретной ситуации. В этом проекте параметры порога VAD были изменены в файле cnst_vad.h:
/* Constants for VAD threshold */
//#define VAD_THR_HIGH 1260 /* Highest threshold */
//#define VAD_THR_LOW 720 /* Lowest threshold */
#define VAD_THR_HIGH 2500 /* Highest threshold */
#define VAD_THR_LOW 1500 /* Lowest threshold
/* Limits for background noise estimate */
//#define NOISE_MIN 40 /* minimum */
#define NOISE_MIN 350 /* minimum */
//#define NOISE_INIT 150 /* initial */
#define NOISE_INIT 450 /* initial */
c. Файлы формата PCM можно открыть с помощью программы Audacity. Выберите «Файл» → «Импортировать» → «Исходные данные» → «Подписанные 16-битные PCM» → «Маленький хвост» → «Один канал» → «Смещение 0» → «Всего импортировать 100%» → «Частота дискретизации 16000 Гц».
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )