УДК 62

МЕТОДИКА ОПРЕДЕЛЕНИЯ ЗВУЧАЩЕГО МУЗЫКАЛЬНОГО ИНСТРУМЕНТА НА ОСНОВЕ ЕГО БАЗОВЫХ ХАРАКТЕРИСТИК С ИСПОЛЬЗОВАНИЕМ НЕЙРОННОЙ СЕТИ

№25,

Технические науки

Беззубцев Иван Алексеевич
Волощук Мария Александровна
Корлякова Дарья Вячеславовна
Ли Дмитрий Олегович


Ключевые слова: НЕЙРОННЫЕ СЕТИ; РАСПОЗНАВАНИЕ; ОБРАБОТКА СИГНАЛОВ; РАЗРАБОТКА ПРИЛОЖЕНИЯ; МУЗЫКАЛЬНЫЕ ИНСТРУМЕНТЫ; ИДЕНТИФИКАЦИЯ; ПРЕДОБРАБОТКА ОБУЧАЮЩИХ ДАННЫХ; ИНТЕЛЛЕКТУАЛЬНЫЕ СИСТЕМЫ ПОИСКА; АУДИОИНФОРМАЦИЯ; NEURAL NETWORKS; RECOGNITION; SIGNAL PROCESSING; APPLICATION DEVELOPMENT; MUSICAL INSTRUMENTS; IDENTIFICATION; TRAINING DATA PREPROCESSING; INTELLIGENT SEARCH.


Аннотация: В данной статье рассматривается методика определения звучащего инструмента на основе его базовых характеристик с использованием нейронных сетей.

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

В рамках работы были выдвинуты гипотезы о влиянии базовых характеристик звука музыкального инструмента на успешность их определения. На основе этих гипотез был выбран подход к обработке входных сигналов с целью выделения базовых характеристик звука.

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

Итогом данной работы является приложение, которое может выступать как компонент внутри интеллектуальной поисковой системы или системы транскрибирования музыки и т.п.


В связи с быстрым ростом количества цифровых медиа возникла потребность к технологиям работы с данными для эффективного управления этими медиа и их успешного развития. Одними из самых популярных направлений таких медиа, вошедших в повседневную жизнь человека, являются различные музыкальные сервисы. Работа с музыкальными данными является областью науки извлечения данных из музыки (Music Information Retrieval или, кратко, MIR). Извлечение данных из музыки – это небольшая, но растущая область исследований со многими практическими приложениями [1].

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

  • для образовательных целей (транскрибирование музыки, создание аннотаций к произведению);
  • в качестве инструмента, с которым работают композиторы, студии звукозаписи, аудио-инженеры и т.п.;
  • как компонент внутри интеллектуальных поисковых систем (определение жанра или стиля музыки, на основе данных о муз. инструментах, звучащих в композиции).

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

Методика определения музыкального инструмента

Данные для обучения

В качестве инструмента для определения музыкального инструмента было принято решение использовать нейронные сети [3-5]. Это решение определяет следующие этапы в методике распознавания:

  • поиск данных для работы с нейронной сетью;
  • подготовка обучающих и тестовых данных;
  • формирование наборов данных для экспериментов с ключевыми характеристиками звука;
  • разработка архитектуры нейронной сети;
  • обучение и тестирование нейронной сети.

В качестве данных для обучения и тестирования нейронной сети был использован открытый набор семплов (небольшие оцифрованные звуковые фрагменты), записанный Лондонским филармоническим оркестром. Данный набор содержит:

  • 20 музыкальных инструментов;
  • звук каждого инструмента записан для каждой ноты в разных октавах;
  • для каждого инструмента есть семплы разной длительности;
  • звуки записаны с разными уровнем динамики/громкости;
  • звук записан с использованием разных техник игры на инструменте.

На данном этапе работы было выбрано 5 музыкальных инструментов (таблица 1), принадлежащих разным группам (струнные-щипковые, струнные-смычковые, деревянные духовые, медные духовые). Для каждого инструмента использованы семплы для каждой из 12 нот, но только в 4 октаве. Это сделано для избегания получения одинакового набора спектра для одного тона в разных октавах и переобучения сети.

Таблица 1

Музыкальные инструменты, выбранные для обучения

Индекс Муз. инструмент Кол-во семплов
1 Кларнет 131
2 Английский рожок 234
3 Гитара 29
4 Труба 140
5 Скрипка 366

Выбранная методика предобработки данных

В рассмотрении принимали участие такие методы, как: работа с сырым аудио сигналом, использование дискретного преобразования Фурье, использование мел-кепстральных коэффициентов, константное Q преобразование[3].

Для формирования набора тестовых и обучающих данных к каждому семплу необходимо применить следующий разработанный алгоритм:

  • преобразовать входной сигнал из временного вида, в частотный спектр (превращение функции времени, в функцию частоты);
  • обрезать полученный частотный спектр, ограничивая область допустимых частот (от 0 до 1000 Гц);
  • сдвинуть основной тон звука в частоту A4(440 Hz), чтобы минимизировать шанс того, что нейронная сеть научится различать высоту звука, а не музыкальные инструменты;
  • разделить спектр на конечное число участков по частотам, каждый из которых представлен средней амплитудой частот на этом участке;
  • нормализовать значения амплитуд, для последующего обучения нейронной сети.

На выходе данного алгоритма получается массив данных, содержащий n значений от 0 до 1, где n – кол-во участков, на который делится спектр. Этот массив является базовым набором характеристик музыкального инструмента. Конечный набор обучающих данных содержит базовый набор выделенных характеристик для каждого семпла в выбранном датасете.

На вход алгоритму подается семпл, представленный в виде временной функции. Пример входного сигнала ноты A4 для скрипки можно увидеть на рисунке 1. Для дальнейшей работы временную функцию необходимо привести к дискретному виду.


Рис. 1 — Входной сигнал A4 для скрипки

Для преобразования входного сигнала из функции времени в функцию частоты используется быстро преобразование Фурье (далее БПФ). БПФ – операция, сопоставляющая одной функции вещественной переменной другую функцию вещественной переменной. Эта новая функция описывает коэффициенты («амплитуды») при разложении исходной функции на элементарные составляющие — гармонические колебания с разными частотами (подобно тому, как музыкальный аккорд может быть выражен в виде суммы музыкальных звуков, которые его составляют). После БПФ получается набор частотных характеристик, который представляет собой основную частоту тона, а также набор гармоник(обертонов) для звука. Именно набор обертонов формирует тембр звука и позволяет отличать звучащие музыкальные инструменты, играющие одну и ту же ноту в одной и той же октаве, на слух. Пример спектра, полученного после БПФ, можно увидеть на рисунке 2.


Рис. 2- Пример входного сигнала A4 для скрипки после БПФ

После БПФ обрезаем полученный частотный спектр, чтобы значения частот находились в диапазоне от 0 до 1000 Гц. Для этого удаляем из массива все значения, частота которых выше 1000 Гц. После ограничения спектра сдвигаем полученный тон к частоте A4 – 440 Гц. Пример графика после обрезания диапазона и сдвигания к частоте A4 на рисунке 3.


Рис. 3 – Пример данных после обрезания спектра и сдвига к частоте A4 для скрипки

Для избегания переобучения нейронной сети разделяем полученный частотный спектр на некоторое количество равных частей, чтобы каждый из отрезков содержал более 1 Гц на диапазон. В данной работе было решено разделить диапазон от 0 до 1000 Гц на 50 равных отрезков, каждый из которых содержит по 20 частот. В качестве значений амплитуды для каждого отрезка берется среднее значений амплитуд частот на этом участке. Пример на рисунке 4.


Рис. 4 — Пример набора данных для скрипки, разбитого на 50 участков

После получения разделенного на участки графика нормализуем значения амплитуд, чтобы диапазон значений был от 0 до 1 для последующего обучения нейронной сети. Для нормализации используется формула 1. Этот набор данных является вектором базовых характеристик звука[6]. Пример получаемого набора базовых характеристик для скрипки представлен на рисунке 5.


Рис. 5 – Вектор базовых характеристик для скрипки

Наборы данных для экспериментов с ключевыми характеристиками

После предобработки данных было сформировано 3 набора данных для обучения нейронной сети. Помимо базового набора, включающего все характеристики, было выделено еще два набора: построенный только на атаке звука и построенный на основе всей звуковой волне, кроме атаки. Атака звука – это первоначальный импульс звукоизвлечения, необходимый для образования звуков при игре на каком-либо музыкальном инструменте или при пении вокальных партий. Атака звука показана на рисунке 6.


Рис. 6 — Составляющие звукового сигнала

Чтобы найти точку начала звукового сигнала(атаки), входной сигнал был разделены на окна, каждое из которых состоит из 10 мс данных. Для каждого окна была рассчитан среднеквадратичное значение энергии. Используя эти дискретные значения энергий, каждое из которых сравнивалось со среднеквадратичной энергией от общего сигнала, точка начала атаки была определена как точка, где значение средней энергии было от 10 дБ.

Название и описание обучающих наборов данных представлены в таблице 2.

Таблица 2

Итоговые обучающие наборы для нейронной сети

Набор Описание
Базовый Наиболее полный набор, включающий и атаку, и весь набор гармоник
Только атака Набор данных, построенный только на основе атаки звука
Все, кроме атаки Набор данных, построенный на основе входного семпла без атаки

Для формирования наборов «Только атака» и «Все, кроме атаки» перед применением алгоритма предобработки данных необходим дополнительный этап. В случае, когда требуется только атака – обрезать часть входного сигнала после атаки. В случае без атаки – обрезать часть входного сигнала до атаки и ее часть, оставляя только угасающий со временем основной тон.

Обучение нейронной сети

В качестве модели нейронной сети был выбран многослойный перцептрон (Multilayer Perceptron), использующий метод обучения с ранним остановом и упругим обратным распространением ошибки (Resilient Back Propagation)[7].

Многослойный перцептрон – это нейронная сеть с прямой связью, где наборы входов отображаются на соответствующие
выходы, используя слои узлов в ориентированном графе.

Архитектуру нейронной сети можно увидеть на рисунке 7.


Рис. 7- Архитектура нейронной сети

На входе нейронной сети стоит 50 узлов, представляющие значения от 0 до 1 для каждого участка базового набора характеристик, полученного при предобработке данных. В скрытом слое находится 30 узлов, функцией активации в скрытом слое является гиперболический тангенс (формула 2).

В выходном слое находится 5 узлов с функцией активации – сигмоид (формула 3).

На выходе 5 узлов, каждый из которых представляет один из выбранных инструментов для обучения.

На выходе используется размеченный набор размерностью 5 * кол-во семплов на входе. Для каждого семпла соответствующий инструмент имеет значений 1, остальные – 0.

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


Рис. 8 -Матрица ошибок, полученная после обучения нейронной сети для базового эксперимента

Средняя точность определения, полученная при обучении нейронной сети на каждом из ранее созданных наборов в 10 экспериментах, представлена в таблице 3.

Таблица 3

Средняя точность определения для эксперимента

Набор Средняя точность
Базовый 90.5%
Без атаки 82.0%
Только атака 70.2%

Заключение

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

Также можно сделать вывод, что такая характеристика, как атака звука, вносит существенный вклад в успешность определения звучащего инструмента (без нее точность определения падает ~10%), хотя сама атака без остальной части звукового сигнала малоэффективна при определении звучащего инструмента с помощью нейронной сети.

Для улучшения результатов распознавания на основе базовых характеристик планируется разобрать и попробовать использовать другие методы предобработки данных для идентификации музыкальных инструментов [8-10].

Работа выполнена при частичной поддержке РФФИ и администрации Волгоградской области (гранты 18-07-00220, 19-47-343001, 19-47-340003, 19-07-00020, 19-47-340009, 19-37-90060).


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

  1. Pons J. Neural Networks For Music: A Journey Through Its History // Towards Data Science URL: towardsdatascience.com/neural-networks-for-music-a-journey-through-its-history-91f93c3459fb
  2. David N. Levin On the representation of speech and music // arXiv URL: arxiv.org/abs/1905.03278
  3. Owers J. An Exploration into the Application of Convolutional Neural Networks for Instrument Classification on Monophonic Note Sample: 2016.
  4. Hall G., Ezzaidi H., Bahoura M. Study of Feature Categories for Musical Instrument Recognition // Advanced Machine Learning Technologies and Applications. 2012. С. 152-161.
  5. Azarloo A., Farokhi F. Automatic Musical Instrument Recognition Using K-NN and MLP Neural Networks // IEEE URL: ieeexplore.ieee.org/document/6274357
  6. Racharla K., Kumar V., Jayant C., Khairkar A., Harish P. Predominant Musical Instrument Classification based on Spectral Features // arXiv URL: arxiv.org/abs/1912.02606
  7. Multilayer Shallow Neural Network Architecture // MathWorks URL: ch.mathworks.com/help/deeplearning/ug/multilayer-neural-network-architecture.html
  8. Gururani S., Sharma M., Lerch A. An Attention Mechanism for Musical Instrument Recognition // arXiv URL: arxiv.org/abs/1907.04294
  9. Shreevathsa P., Harshith M., Abhishek Rao M., Ashwini Music Instrument Recognition using Machine Learning Algorithms // IEEE URL: ieeexplore.ieee.org/document/9051514
  10. Mazarakis G., Tzevelekos P., Kouroupetroglou G. Musical Instrument Recognition and Classification Using Time Encoded Signal Processing and Fast Artificial Neural Networks // SpringerLink URL: link.springer.com/chapter/10.1007/11752912_26