В продолжение моего предыдущего вопроса мне было интересно, существуют ли какие-либо библиотеки обнаружения речи. Под распознаванием речи я подразумеваю передачу в аудиобуфере и получение индекса того, где речь начинается и заканчивается. Так что, если у меня есть 10 секунд выборки звука на частоте 44 кГц, я бы ожидал массив чисел, таких как:
44000
88000
123000
190334
...
Это может указывать, например, на то, что речь начинается через одну секунду, а затем заканчивается в второй точке и т. Д.
Чего я не ищу, так это распознавания речи, которое выписывает текст из произнесенного слова. Это, к сожалению, то, что я вижу много, когда я гуглю «обнаружение речи».
Было бы замечательно, если бы библиотека была на C, C ++ или даже Objective-C, поскольку я пишу приложение для iPhone.
Благодарность!
Ответы:
В своем ответе на этот вопрос я упомянул, что обнаружение голосовой активности является стандартной функцией для кодеков, таких как G.729 и других.
Вы должны искать эталонные кодеры и декодеры для алгоритмов, которые применяют это.
Один из таких примеров - http://www.voiceage.com/openinit_g729.php
Другой возможный источник - кодек Speex. Который реализует VAD
Кстати: вы должны Google "Обнаружение голосовой активности" или "Разговор речи", а не "Обнаружение речи".
источник
В проектах Sphinx и Freeswitch есть реализации с открытым исходным кодом. Я думаю, что они все детекторы на основе энергии, они не нуждаются в какой-либо модели.
Sphinx 4 (Java, но его должно быть легко перенести на C / C ++)
PocketSphinx
FreeSwitch
Ответ взят из вопроса Stackoverflow .
источник
Обнаружение голосовой активности с использованием Adaptive Threshold очень легко и удобно реализовать на любой платформе.
Здесь вы можете иметь алгоритм на основе адаптивной энергии
Небольшое дополнение к приведенному выше алгоритму, когда вы рассчитываете в первый раз, для получения среднего значения энергии и отметки как Emin
в этом кадре, который вы передаете, делится на подкадры и далее вы можете проверить каждый подкадр на его активность
Вы можете преодолеть дальнейшие проблемы с наложенными кадрами
источник
Как насчет LibVAD?
Похоже, это именно то, что вы описываете.
Раскрытие информации: я разработчик LibVAD
источник