Обработка сигнала для аудиофайла в Python
Вопрос
Я связываюсь с обнаружением молчания в несущественных аудиофайлах AIFF. Я предпочитаю делать это в Python, но рассмотрю другие варианты, если это очень неэффективно. Ожидается, что несомненные файлы, с которыми я имею дело, составляют 20 МБ (максимальный размер).
Я могу понять основы обработки сигналов, но не эксперт в ней.
Решение
Тебе повезло! А AIFC Библиотека, кажется, делает достаточно, чтобы поддержать решение вашей проблемы.
Другие советы
Языко-агрессивный псевдод:
- Для каждого окна времени (например, 10 мс)
- Рассчитайте среднеквадратичную мощность во временном окне
- Silence = RMS Power <порог молчания
Для расчета среднеквадратичной мощности:
- sum_sq = 0
- Для каждого образца в окне образца N
- sum_sq += образец^2
- RMS Power = SQRT (SUM_SQ / N)
Вы, вероятно, также хотите добавить еще один слой обнаружения, например, решить, что Silence = M последовательные молчаливые окна, где M определяет, как долго должна быть молчание, прежде чем оно считается реальной тишиной.