Как в linux произвести захват звука с пропуском тишины (отсутствия голоса)?
Идея:
консольное приложение, постоянно слушающее микрофон и производящее запись в файл(ы) при обнаружении голоса человека. Далее файл будет отправлен для распознавания через яндекс(или google) speachAPI а результат распознавания использован для различных целей, одна из которых - голосовое управление.
Про Sphinx знаю, задачу голосового управления он вполне покрывает, но имеются и другие задачи, для которых его недостаточно, например консольное приложение для голосового общения с яндекс Алисой.
Уточнения/желания:
1. программа (набор программ) должна работать из консоли не требуя установленной DE (desktop environment);
2. желательно чтобы она могла отличать голос от шумов;
3. идентифицируя во входящем с микрофона аудиопотоке звук (желательно голос) должна записывать его в файл;
4. при наступлении тишины (отсутствия голоса) должна закрывать файл, а при последующих срабатываниях либо создавать новый файл либо перезаписывать имеющийся;
5. желательно чтобы была возможность указать длительность тишины (отсутствия голоса) по достижении которой текущий записываемый файл будет закрыт.
Что мне необходимо:
1. если Вы знаете о существующем свободном, бесплатном ПО или наборе утилит, не тянущих за собой сотни мегабайт зависимостей, на базе которого(которых) можно организовать требуемое поведение, подскажите мне пожалуйста (названия/ссылки).
2. если у Вас имеется ссылка(и) на мануал/описание/пример с описанием/реализацией требуемого поведения буду признателен если поделитесь материалом.
Заранее благодарю за потраченное Вами время и оказанную помощь.
Роман, Забавно. Я сейчас вспомнил, что сам когда-то с помощью sox писал звук с активацией по уровню (но не с таким набором требований как у вас, а значительно проще).