Мне нужен способ автоматически (с помощью скрипта Python) найти в аудиофайле все места, где нет звука (тишина), и получить список с метками времени для этих мест.
Я могу получить такой список с Audacity, но я не знаю, как это сделать из скрипта.
Я могу использовать SoX. Если я запускаю следующую команду:
play someFile.mp3 silence -l 0 1 0.26t -54d : restart
Тогда у меня есть точный вывод, который мне нужен:
In:0.04% 00:00:00.74 [00:29:29.08] Out:14.5k [ | ] Clip:0
In:0.88% 00:00:15.60 [00:29:14.22] Out:341k [ | ] Clip:0
In:0.90% 00:00:15.98 [00:29:13.84] Out:349k [ | ] Clip:0
In:0.92% 00:00:16.35 [00:29:13.47] Out:356k [ | ] Clip:0
In:0.94% 00:00:16.72 [00:29:13.10] Out:363k [ | ] Clip:0
In:0.97% 00:00:17.09 [00:29:12.73] Out:369k [ | ] Clip:0
In:1.03% 00:00:18.20 [00:29:11.62] Out:400k [ | ] Clip:0
Проблема в том, что аудиофайл воспроизводится с нормальной скоростью, поэтому для файла продолжительностью 1 час получение этого списка займет 1 час.
Мой вопрос: есть ли быстрый и автоматический способ получить из sox, Audacity или какой-либо другой программы список с правильными временными метками для интервалов молчания в аудиофайлах?