Как получить метки времени для тишины в аудиофайле

258
Al Berger

Мне нужен способ автоматически (с помощью скрипта 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 или какой-либо другой программы список с правильными временными метками для интервалов молчания в аудиофайлах?

0

0 ответов на вопрос