Предварительное исследование снижения речевого шума — спектральное вычитание

алгоритм

содержание

1. Принцип спектрального вычитания

2. Реализация спектрального вычитания

3. Реализация спектрального вычитания Берути

Подавление речевого шума является начальным этапом обработки речевого сигнала, и уже существует множество зрелых алгоритмов. Являясь классическим алгоритмом шумоподавления, спектральное вычитание легко реализовать и быстро обработать, и оно широко используется в области шумоподавления речи.

1. Принцип спектрального вычитания

Спектральное вычитание, как следует из названия, заключается в вычитании спектра шумового сигнала из спектра шумового сигнала (как амплитудного спектра, так и спектра мощности). Спектральное вычитание основано на простом предположении: если предположить, что шум в речи является только аддитивным шумом, чистая речь может быть получена путем вычитания спектра шума из спектра зашумленной речи при условии, что шумовой сигнал является постоянным или медленно изменяющимся. Это предположение сделано на основе коротковременного спектра (25 мс), то есть спектр стабилен в течение короткого времени. Предполагая, что зашумленный сигнал y состоит из чистого сигнала x и аддитивного шума d, спектр мощности чистого сигнала можно получить по следующей формуле:

Ключ к реализации спектрального вычитания лежит в оценке спектра шума.Принято считать, что первые несколько кадров речевого сигнала не имеют речевой активности, поэтому первые несколько кадров представляют собой чистые шумовые сигналы, поэтому первые несколько кадров речевого сигнала используются для оценки спектра шума.

2. Реализация спектрального вычитания

Простая реализация спектрального вычитания состоит из следующих шагов:

  1. Рассчитайте средний спектр шума как спектр шума в соответствии с первыми несколькими кадрами речевого сигнала, обычно берут первые 5 кадров.

  2. Кадрирование речи, кадрирование каждого кадра, затем использование спектра сигнала для вычитания спектра шума

  3. Если возникает отрицательное значение, установите его на 0

  4. Выполните istft для сигнала с вычтенным спектром шума, чтобы получить сигнал во временной области.

  5. Восстановите сигнал во временной области согласно длине речевого кадра и длине сдвига кадра

В алгоритме спектрального вычитания, если амплитудный спектр зашумленной речи (то же верно и для спектра мощности) и оцениваемый спектр шума показывают отрицательное значение, это означает, что существует проблема переоценки шума, и самый простой способ Чтобы справиться с этим явлением, нужно установить отрицательное значение на 0, чтобы обеспечить неотрицательный амплитудный спектр. Но такая обработка отрицательных значений приводит к появлению небольших независимых пиков в случайных местах спектра кадра сигнала, называемыхмузыкальный шум. Предлагается усовершенствованный метод решения музыкального шума Берути.

3. Реализация спектрального вычитания Берути

Способ уменьшить музыкальный шум состоит в том, чтобы использовать метод избыточного вычитания в спектре шума, при этом устанавливая нижнюю границу отрицательных спектрально вычитаемых значений, вместо того, чтобы устанавливать их равными 0, что можно выразить как:

Среди них альфа (больше или равная 1) является коэффициентом сверхредукции, который в основном влияет на степень искажения речевого спектра. Бета (больше 0 и меньше 1) — это параметр нижнего предела спектра, который управляет количеством остаточного шума и величиной музыкального шума. Во время спектрального вычитания бета является фиксированным значением, а альфа рассчитывается на основе отношения сигнал/шум текущего кадра. Спектральное вычитание Берути состоит из следующих шагов:

  1. Рассчитайте средний спектр шума как спектр шума в соответствии с первыми несколькими кадрами речевого сигнала, обычно берут первые 5 кадров.

  2. Обрамление речи и кадрирование каждого кадра

  3. Вычислите отношение сигнал/шум текущего кадра, а затем найдите альфа-коэффициент сверхвычитания.

  4. Сигнал обрабатывается по формуле (2)

  5. Выполните istft для сигнала с вычтенным спектром шума, чтобы получить сигнал во временной области.

  6. Восстановите сигнал во временной области согласно длине речевого кадра и длине сдвига кадра

Наконец, мы рассмотрим эффект спектрального вычитания, как показано на следующем рисунке. Видно, что усовершенствованный метод, предложенный Берути, лучше исходного спектрального вычитания.

Исходная форма речи:

Исходная форма волны спектрального вычитания:

Форма сигнала после обработки спектрального вычитания Берути:

Следуйте группе голосовых алгоритмов официальной учетной записи WeChat, нажмите «Дополнительно» -> «Код» в строке меню официальной учетной записи, чтобы получить код.