У меня есть большое количество аудиофайлов, которые несколько шумят и не полностью параллельны друг другу (разные голоса, разные уровни фонового шума).
Я хочу посчитать продолжительность времени в началеи конец каждой записи, которая не является человеческой речью.То есть каждая запись имеет форму: <0: шум, 1: речь, 2: шум>, и я хочу, чтобы продолжительность составляла 0 и 2.
Я написал сценарий, который выполняет более или менеечто я хочу, путем поиска в начале и в конце файла с пороговым значением переменной dbFS, но в некоторых случаях он не может найти разумное значение.Возможно, это невозможно, потому что файлы слишком шумные, но, может быть, есть лучший метод, чем тот, который я реализовал (например, что-то, кроме объема, или какой-то более умный алгоритм).
https://gist.github.com/moui72/6f537928b04443fba9ca575573488263
Если у кого-нибудь есть совет, как улучшить мою точность и / или получить результаты из большего процента файлов с шумом, я был бы благодарен.
Примечание: я написал свой сценарий на основе ответа Алек измерение длины тишины в начале аудиофайла (wav)