Современные информационные
технологии/
2. Вычислительная техника и программирование
Станкевич Ф.В.
Томский политехнический
университет, Россия
Использование
мел-кепстральных коэффициентов для нейросетового распознавания тембра
музыкального инструмента
Человеческий мозг способен распознавать различные визуальные и звуковые образы, в том числе и отличать звучание одного музыкального инструмента от другого, даже на фоне звучания других инструментов. В данной работе рассматривается проблема распознавания тембра отдельного музыкального инструмента на основе его спектральных особенностей с применением нейронных сетей.Звук представляет собой волну, распространяющуюся в среде и изменяющуюся во времени. Любая волна характеризуется спектром и амплитудой. Каждый музыкальный инструмент имеет свое неповторимое звучание, которое характеризуется набором обертонов содержащихся в звуке данного музыкального инструмента (рисунок 1).
Рисунок 1 Частотный спектр звука музыкального инструментаВ связи с этим для решения задачи распознавания тембра музыкального инструмента было предложено анализировать именно такие обертоны. Так как обертоны представляют собой дополнительные частоты, содержащиеся в звуке, то целесообразно извлекать информацию о таких обертонах из спектральной характеристики звукового сигнала с учетом амплитуды спектральных составляющих и использовать такую информацию для решения задачи распознавания. Однако спектр сигнала представляет собой большой набор данных, а именно все частоты, содержащиеся в сигнале, что является избыточным для поставленной зачади.Вследствие избыточности информации в спектре сигнала, необходимо каким-либо образом осуществить свертку данного сигнала. Для этой цели было предложено использовать мел-кепстральные коэффициенты (mel-frequency cepstral coefficients, MFCC) – набор коэффициентов, характеризующих сигнал на основе его спектра и амплитуды. Данные коэффициенты успешно применяются в задачах распознавания речи.
Для решения задачи распознавания тембра было предложено использовать нейронную сеть, так как нейронные сети способны к обобщению и показывают хорошие результаты на данных со сложными закономерностями, что для рассматриваемой задачи является несомненным преимуществом, в сравнении с другими классификаторами (например, с наивным байесовским классификатором).Для построения нейронной сети была выбрана сеть прямого распространения с одним скрытым слоем (рисунок 2). Скрытый слой содержит 12 нейронов.
Рисунок 2 – Искусственная нейронная сеть прямого распространения [1]В соответствие с выбранным подходом, алгоритм распознавания тембра музыкального инструмента можно описать следующий образом:1.Разбиение входного сигнала на интервалы. Целесообразно разбивать сигнал на небольшие промежутки от 20 до 100 мс, так как сигнал изменяется во времени и использование больших интервалов может привести к снижению качества распознавания. В данной работе был выбран сравнительно большой интервал ~100 мс (4096 отсчетов при частоте дискретизации 44 100 Гц), для ускорения скорости обработки и снижения числа входных данных, так как на текущем этапе данная работа носит исследовательский, нежели прикладной характер.
2.Вычисление преобразования Фурье для каждого входного интервала. В данной работе было использовано быстрое преобразование Фурье с применением оконной функции Хэмминга.
3.Вычисление MFCC. Вычисление коэффициентов происходит на основе спектральной плотности мощности сигнала (power spectrum). При этом рассматривается тот интервал, где находится интересующие нас частоты. Для музыкальных инструментов целесообразно рассматривать интервал соответствующий частотному диапазону рояля, а именно от 27,5 Гц (нота ля субконтроктавы) до 4186 Гц (нота до пятой октавы), однако некоторые обертоны могут лежать за пределами данного интервала частот, поэтому можно добавить некоторый запас к указанным частотам. Рассматриваемый интервал разбивается на n + 2 частей, где n – число вычисляемых коэффициентов, причем интервалы имеет разный размер, то есть плотность выше там, где выше плотность данных. Затем на каждом интервале вычисляется суммарная мощность сигнала, попадающая в треугольную область, основание треугольника лежит в соседних точках разбиения на интервалы, например в точках, n и n + 1. Число коэффициентов n может варьироваться. Для рассматриваемой задачи было решено использовать 12 коэффициентов, именно это число применяется в задачах распознавания речи. Более подробное описание процедуры вычисления MFCC приведено в [2].
4. Обучение нейронной сети на основе полученных коэффициентов. Для обучения нейронной сети был использован метод градиентного спуска, а именно метод обратного распространения ошибки (backpropogation).
Для выполнения данной работы был использованы два набора инструментов. Первый набор состоял из трех инструментов — фортепиано, труба и скрипка. Во второй набор были дополнительно добавлены еще два инструмента — флейта и кларнет. Для обучения нейронной сети для каждого инструмента были выбраны основные ноты (ноты гаммы до-мажор) из трех октав: малая, первая и вторая. В качестве критерия остановки обучения нейронной сети использовался набор дополнительных нот (диезы и бемоли) из указанных октав, которые не участвовали в процесс обучения, а именно ноты ре бемоль и си бемоль.Для оценки сети после обучения использовались ноты ми бемоль, соль бемоль и ля бемоль, которые так же не принимали участие в процессе обучения. В результате удалось достичь точности около 90% для трех инструментов и около 80% для пяти инструментов.В ходе исследования были решены следующие задачи: изучены характеристики звуков музыкальных инструментов, определен значимый набор признаков, выбран классификатор, подготовлены данные и произведено распознавание тембра музыкальных инструментов. Данное решения было реализовано в виде программы на языке C#. Несомненно, полученные результаты будут улучшены в ходе проведения дальнейших исследований в данном направлении.
Литература:
1. В.Г. Спицын, Ю.Р. Цой. Интеллектуальные
системы. Томский политехнический университет, 2012.