обработка сигналов для аудиофайла в python - PullRequest
2 голосов
/ 21 января 2011

Я пытаюсь обнаружить тишину в несжатых аудиофайлах AIFF.Я предпочитаю делать это на Python, но рассмотрю другие варианты, если это супер неэффективно.Ожидается, что размер несжатых файлов, с которыми я имею дело, составит 20 МБ (максимальный размер).

Я могу понять основы обработки сигналов, но я не эксперт в этом.

Ответы [ 2 ]

1 голос
/ 21 января 2011

Вам повезло! Библиотека aifc кажется достаточной для решения вашей проблемы.

0 голосов
/ 21 января 2011

Не зависящий от языка псевдокод:

  • для каждого временного окна (например, 10 мс)
    • вычисление среднеквадратичной мощности во временном окне
    • тишина = среднеквадратичная мощность <порог молчания </li>

Для расчета среднеквадратичной мощности:

  • sum_sq = 0
  • для каждого семпла в окне N семплов
    • sum_sq + = sample ^ 2
  • RMS power = sqrt (sum_sq / N)

Возможно, вы также захотите добавить дополнительный уровень обнаружениянапример, решить, что молчание = M последовательных окон молчания, где М определяет, как долго должно быть молчание, прежде чем оно будет считаться фактическим молчанием.

...