Методы декомпозиции звукового сигнала

Опубликовано в сборнике научных статей "Молодёжь третьего тысячелетия" (XLI), c. 833

И.Д. Сиганов

2017.04.24

Аннотация

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

Ключевые слова: анализ независимых компонент, декомпозиция звука, coctail party problem, цифровая обработка, слепое разделение сигнала


Рассмотрим следующую проблему: как можно максимально сильно подавить определенный фоновый звук в аудиозаписи не исказив полезный сигнал без знания конфигурации микрофонов и окружения? Решение этой проблемы может найти применение в следующих задачах: удалении фоновой музыки защищенной авторскими правами из записей на таких сервисах как YouTube или Twitch и подобных; улучшение существующих систем шумоподавления; ручное управление «слоями» звуковых сигналов в аудиозаписях; улучшение алгоритмов сжатия, так как можно будет применять специфические алгоритмы сжатия на каждый «слой» звука. Стоит сразу отметить некоторые ключевые особенности этой проблемы, чтобы показать, что она не решается классическими широко применяемыми методами фильтрации частот, формирования диаграмм направленности и так далее. Во-первых, фоновый звук далеко не всегда можно вычесть удалением некоторой полосы частот, а в нашем случае, частоты всегда будут перекрываться между фоном и полезным сигналом. Во-вторых, мы не знаем никаких априорных сведений, о том сколько микрофоном участвовало в записи, где они располагались, в каком пространстве была запись, а всё что есть – это только готовая запись звука. В-третьих, мы хотим вносить как можно меньше искажений в полезный сигнал, а фильтрация может приводить к потере части информации и к ухудшению звука.

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

Непосредственное применение метода ICA к реальным данным весьма затруднено существованием аддитивного шума, реверберации и тем фактом, что реальные звуки не обязательно являются статистически независимыми.

Рассмотрим детальнее задачу о подавлении фоновой музыки. Предлагаются следующие гипотезы: фоновый звук известен; смешивание фоновой музыки и полезного звука было сделано синтетически на компьютере простым сведением дорожек, что исключает эффекты реверберации. Тогда можно выделить такие проблемы: как определить какая конкретно музыка играет в фоне; как определить точно моменты времени, когда начинает играть определенный фоновый звук; как вычесть эталон фона из записи. Первая проблема решается алгоритмами идентификации звука по его отпечатку. Сервисы типа Shazam, Goolge music уже решают эту задачу очень эффективно. Вторую и третью проблему можно определить через задачу синхронизации дорожек.

Пусть существует два сигнала S1(n)S_1(n) и S2(n)S_2(n). Возможны следующие случаи:

  1. Смещения на dd отсчетов: S1(n)=S2(n+d)S_1(n)=S_2(n+d)
  2. Разные масштабы ww: S1(n)=S2(n)wS_1(n) = S_2(n) * w
  3. Комбинация смещения и разности масштабов: S1(n)=S2(n+d)wS_1(n) = S_2(n+d) * w
  4. Растягивание сигнала на l: S1(n)=S2(n),S1(n+1)=S2(n+1l)S_1(n) = S_2(n), S_1(n+1)=S_2(n+1*l)
  5. Другие сложные искажения сигналов

В нашем случае имеем: S(n)=S0(n)+S1(n)=S0(n)+A[S2(n)]S(n) = S_0(n)+S_1(n)=S_0(n) + A[S_2(n)], где AA – некоторый оператор смещения-искажения, S(n)S(n) – наблюдаемый сигнал, S0(n)S_0(n) – это полезный сигнал, S1(n)S_1(n) – слышимый фоновый сигнал, S2(n)S_2(n) – исходный фоновый сигнал. Исходя из первоначальной гипотезы о знании S2(n)S_2(n), необходимо найти S0(n)S_0(n) и S1(n)S_1(n), что сводится к поиску оператора AA.

С помощью метода ICA можно найти этот оператор AA для 2-го случая. Для поиска смещения dd предлагается воспользоваться полным перебором в лоб, но остается вопрос, что использовать как критерий нахождения верного dd?

Одна из реализаций метода ICA использует коэффициент эксцесса как меру непохожести распределения сигнала на нормальное распределение. Напомним, что этот коэффициент эксцесса имеет следующую формулу y2=μ4σ43y_2 = \frac{\mu_4}{\sigma^4}-3 и принимает значение 0 для нормального распределения.

Учитывая, что полезные сигналы не похожи на нормальное распределение, а из центральной предельной теоремы сумма независимых случайных величин стремится к нормальному распределению, то предположим, что сумма коэффициентов эксцесса при правильно найденном dd будет больше, чем их же сумма при ложном dd. Интуитивно, при верно найденном dd сигналы вычисленные с помощью метода ICA будут полезными, тем самым будут меньше похожи на нормальное распределение, чем ложно найденные сигналы при неверном dd. Автор отдаёт себе отчёт, что сформулированная гипотеза не более чем интуитивное предположение проверенное эмпирически на нескольких опытах, необходимо будет аккуратно провести доказательство этого утверждения позже.

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

Алгоритм по поиску смещения следующий:

  1. Фиксируем окно в m отсчетов в оригинальном фоновом звуке.
  2. Смещаем окна на один отсчет и применяем алгоритм ICA на двух сигналах – оригинальном фоне S2(n)S_2(n) и принятом сигнале S(n)S(n). Получаем S0(n)S_0^*(n) и S1(n)S_1^*(n).
  3. Вычисляем и сохраняем эксцессы каждого из полученных сигналов.
  4. Повторяем шаги 1-3 по всему исходному звуковому файлу.
  5. Строим график коэффициентов эксцесса и ищем аномалию – резкий пик на фоне общего плато. В этом пике и будет отражен момент правильного обнаружения S0(n)S_0(n) и S1(n)S_1(n).

В синтетическом тесте была взята аудиозапись, где говорили два человека; поверх этого звука была наложена музыка со словами и смещена на 50 отсчетов от начала звукового файла. Частота дискретизации звука 16 кГц, общая длительность звука 180 секунд. Окно поиска было 15 секунд.

Рис. 1. График суммы коэффициентов эксцесса сигналов на синтетическом тесте. Рис. 1. График суммы коэффициентов эксцесса сигналов на синтетическом тесте.

В тесте на реальных данных был взят звуковой файл с частотой дискретизации 16кГц длительностью 480 секунд, в котором на фоне играла известная музыка без голоса общей длительностью 230 секунд. Окно было 15 секунд. В результате эксперимента удалось успешно подавить фоновую музыку.

Рис. 2. График суммы коэффициентов эксцесса сигналов на реальном тесте. Рис. 2. График суммы коэффициентов эксцесса сигналов на реальном тесте.

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

Список литературы:

  1. Hyvärinen A. Independent component analysis. // Philosophical transactions of the royal society. 2013.
  2. Nicolas Mitianoudis. Audio source separation using ICA. University of London 2004.
  3. Pierre Comon. Independent component analysis. A new concept? // Signal processing. 1994. Вып. 3.

Sound source decomposition methods

I.D. Siganov

Abstract

In the article was described an approach to suppress background sound by stochastic methods. This method despite the common filter algorithms doesn’t utilize a spectral representation of sound because two sounds actually overlap the spectrum, thus it would be useless at all. The described method was successfully tested on some real dataset, so from the audio track the music was subtracted and payload was obtained.

Keywords: independent component analysis, sound source decomposition, coctail party problem, blind source separation

results matching ""

    No results matching ""