Как сегментировать звук телефонных звонков в тишину / не тишину?

9

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

Майкл Литвин
источник
6
У меня недостаточно информации, чтобы дать полный ответ, но ваша проблема называется обнаружением голосовой активности . Не существует единого согласованного лучшего способа сделать это, и если вы посмотрите, вы, вероятно, натолкнетесь на множество разных подходов. Возможно, некоторые другие могут сделать это немного подробнее.
Джейсон Р
@ Михаил Литвин, есть класс нелинейных фильтров (используется в «детектировании энергии» под названием «Teager-Kaiser». Я думаю, что это подмножество так называемых «ядер вольтеров». Извините, я не могу предоставить какие-либо больше информации, но если вы будете искать вокруг этих слов, вы можете найти то, что вы ищете. Я знаю, что метод Teager-Kaiser используется для того, чтобы «когда» звуки кита начинались, а не просто фоновый шум
Spacey

Ответы:

4

Есть несколько параметров, которые вы можете посмотреть:

  1. Общая энергия
  2. Краткосрочный спектр: Речь имеет довольно характерный «розовый» спектр, и шум (который происходит во время неречевых частей) имеет тенденцию быть белым, если он электрически доминирует, или «красным» (то есть низкочастотным), если он имеет акустический фон шум или шум микрофона
  3. Амплитудная статистика. Большинство шумовых сигналов имеют гауссово распределение, речь ближе к распределению Лапласа

Я думаю, что комбинация этих трех должна дать довольно надежную схему обнаружения.

Hilmar
источник