Каков хороший подход для извлечения частей речи из произвольного аудиофайла?

У меня есть набор аудиофайлов, загруженных пользователями, и я не знаю, что они содержат.

Я хотел бы взять произвольный аудиофайл и выделить каждый из случаев, когда кто-то говорит, в отдельные аудио файлы. Я не хочу обнаруживать настоящие слова, только точки «начал говорить», «перестал говорить» и генерировать новые файлы в этих точках.

(я ориентируюсь на среду Linux и разрабатываю на Mac)

Я нашел Sox , который выглядит многообещающим и имеет режим «vad» (обнаружение голосовой активности). Однако это, похоже, находит первый экземпляр речи и удаляет звук до этого момента, так что это близко, но не совсем правильно.

Я также просмотрел библиотеку Python 'wave', но затем я ' Мне нужно написать свою собственную реализацию Sox 'vad'.

Существуют ли какие-либо инструменты командной строки, которые бы делали то, что я хочу, из готовой продукции? Если нет, подойдет какой-нибудь хороший Python или Ruby?

16
задан Ilmari Karonen 26 October 2013 в 18:01
поделиться