Cмольникова Полина,
Альперович Вадим,
17ПМИ
Главное предположение нашей работы: Звук тоже картинка!
Действительно, представив аудиофайл нужным образом, можно свести задачу классификации аудио к задаче классификации изображений. Таким образом, мы решили попробовать создать классификатор двух наших любимых жанров в музыке: Классика VS Rap
- Для обучающей выборки было собрано (абсолютно легальным образом) 10 классических композиций и 10 трэков в жанре Rap.
- Вот пример собранных трэков:
Piano Sonata No. 11 in A major K331-K300i
,Oxxxymiron - Переплетено
,Bagatelle For Piano in A Minor 'Fur Elise'
,MORGENSHTERN - ICE
Аудиосигнал обладает различными характеристиками, связанными в первую очередь с его волновой природой, например частота сигнала. Однако, также существуют параметры, относящиеся к электронному хранению аудио, форматам и записи, например sample_rate - частота дискретизации, т.е. как часто устройство брало отсчеты записываемого сигнала.
Однако, популярным представлением звука является спектограмма.
Обычная спектрограмма содержит всю ключевую информацию о звуке и строится с помощью оконного преобразования Фурье. Суть этой операции в последовательном применении преобразования Фурье к коротким кусочкам речевого сигнала, домноженным на некоторую оконную функцию. Результат применения оконного преобразования — это матрица, где каждый столбец является спектром короткого участка исходного сигнала. то есть набором множества частот и амплитуд.
Эксперименты ученых показали, что человеческое ухо более чувствительно к изменениям звука на низких частотах, чем на высоких. То есть, если частота звука изменится со 100 Гц на 120 Гц, человек с очень высокой вероятностью заметит это изменение. А вот если частота изменится с 10000 Гц на 10020 Гц, это изменение мы вряд ли сможем уловить.
В связи с этим была введена новая единица измерения высоты звука — мел. Она основана на психо-физиологическом восприятии звука человеком, и логарифмически зависит от частоты
Другими словами, на мел-спектрограмме сохраняется больше информации, которая хорошо воспринимается и различается человеком, чем на обычной спектрограмме. Иными словами, такое представление звука больше сфокусировано на низких частотах, и меньше — на высоких.
Параметр num_mels
отвечает за размер шага при подсчете спектрограммы, рассмотрим его влияние на качество спектрограммы
Важным решением было скачать всего лишь по 10 аудиофайлов для каждого класса, обработать их и разбить каждый трэк на равный отрывки по 15 секунд.
В результате описанных действий мы получили следующие пропорции в наборе данных:
Classique | RAP | |
---|---|---|
Train | N = 92 | N = 104 |
Validate | N = 23 | N = 27 |
Test | N = 70 | N = 70 |
Аrchitecture | parameters number | training time | validation accuracy | test f1 | |
---|---|---|---|---|---|
0 | our CNN | 845218 | 52.0352 | 0.98 | 0.85 |
1 | InceptionResNetV2 | 55958850 | 311.132 | 0.98 | 0.86 |
Посмотрим же на выход с первого сверточного слоя нашей сети:
Complete Edition Vol. 5 - Serenades and Divertimenti for Wind-010. Divertimento in C, KV 188-240b - Allegro.mp3
Input:
Output:
Посмотрим на то, как предсказывают модели , на разных отрывках трэков:
0 - классика
, 1 - реп
,
y_our_pred
-предсказание нашей модели, y_res_pred
- предсказание дообученной InceptionV2
classique_prob
- уверенность в жанре классика от нашей модели, rap_prob
- аналогично для репа
Эх, Баста, моя игра - моя игра:
songname | genre | y_test | part | y_our_pred | y_res_pred | classique_prob | rap_prob | |
---|---|---|---|---|---|---|---|---|
122 | Моя игра.mp3_1 | rap | 1 | 1 | 1 | 1 | 0.01 | 0.99 |
123 | Моя игра.mp3_2 | rap | 1 | 2 | 1 | 1 | 0 | 1 |
124 | Моя игра.mp3_3 | rap | 1 | 3 | 1 | 1 | 0 | 1 |
125 | Моя игра.mp3_4 | rap | 1 | 4 | 1 | 1 | 0 | 1 |
126 | Моя игра.mp3_5 | rap | 1 | 5 | 1 | 1 | 0 | 1 |
127 | Моя игра.mp3_6 | rap | 1 | 6 | 1 | 1 | 0 | 1 |
128 | Моя игра.mp3_7 | rap | 1 | 7 | 1 | 1 | 0 | 1 |
129 | Моя игра.mp3_8 | rap | 1 | 8 | 1 | 1 | 0 | 1 |
130 | Моя игра.mp3_9 | rap | 1 | 9 | 1 | 1 | 0 | 1 |
131 | Моя игра.mp3_10 | rap | 1 | 10 | 1 | 1 | 0 | 1 |
132 | Моя игра.mp3_11 | rap | 1 | 11 | 1 | 1 | 0 | 1 |
133 | Моя игра.mp3_12 | rap | 1 | 12 | 1 | 0 | 0 | 1 |
134 | Моя игра.mp3_13 | rap | 1 | 13 | 1 | 1 | 0 | 1 |
135 | Моя игра.mp3_14 | rap | 1 | 14 | 1 | 1 | 0 | 1 |
136 | Моя игра.mp3_15 | rap | 1 | 15 | 1 | 1 | 0 | 1 |
137 | Моя игра.mp3_16 | rap | 1 | 16 | 1 | 1 | 0 | 1 |
138 | Моя игра.mp3_17 | rap | 1 | 17 | 1 | 1 | 0 | 1 |
139 | Моя игра.mp3_18 | rap | 1 | 18 | 1 | 1 | 0.04 | 0.96 |
Вивальди времена года - действительно классика:
songname | genre | y_test | part | y_our_pred | y_res_pred | classique_prob | rap_prob | |
---|---|---|---|---|---|---|---|---|
56 | Зима ( Antonio Vivaldi ).mp3_1 | classique | 0 | 1 | 1 | 0 | 0 | 1 |
57 | Зима ( Antonio Vivaldi ).mp3_2 | classique | 0 | 2 | 0 | 0 | 0.71 | 0.29 |
58 | Зима ( Antonio Vivaldi ).mp3_3 | classique | 0 | 3 | 0 | 0 | 0.95 | 0.05 |
59 | Зима ( Antonio Vivaldi ).mp3_4 | classique | 0 | 4 | 0 | 0 | 0.72 | 0.28 |
60 | Зима ( Antonio Vivaldi ).mp3_5 | classique | 0 | 5 | 0 | 0 | 0.72 | 0.28 |
61 | Зима ( Antonio Vivaldi ).mp3_6 | classique | 0 | 6 | 1 | 0 | 0.4 | 0.6 |
62 | Зима ( Antonio Vivaldi ).mp3_7 | classique | 0 | 7 | 1 | 0 | 0.09 | 0.91 |
63 | Зима ( Antonio Vivaldi ).mp3_8 | classique | 0 | 8 | 0 | 0 | 0.97 | 0.03 |
64 | Зима ( Antonio Vivaldi ).mp3_9 | classique | 0 | 9 | 0 | 0 | 0.94 | 0.06 |
65 | Зима ( Antonio Vivaldi ).mp3_10 | classique | 0 | 10 | 0 | 0 | 0.66 | 0.34 |
66 | Зима ( Antonio Vivaldi ).mp3_11 | classique | 0 | 11 | 0 | 0 | 0.67 | 0.33 |
67 | Зима ( Antonio Vivaldi ).mp3_12 | classique | 0 | 12 | 1 | 1 | 0.2 | 0.8 |
68 | Зима ( Antonio Vivaldi ).mp3_13 | classique | 0 | 13 | 1 | 0 | 0.21 | 0.79 |
69 | Зима ( Antonio Vivaldi ).mp3_14 | classique | 0 | 14 | 0 | 0 | 0.54 | 0.46 |
Научно-технический реп - задача не из легких:
songname | genre | y_test | part | y_our_pred | y_res_pred | classique_prob | rap_prob | |
---|---|---|---|---|---|---|---|---|
94 | Теорема Лагранжа.mp3_1 | rap | 1 | 1 | 1 | 0 | 0 | 1 |
95 | Теорема Лагранжа.mp3_2 | rap | 1 | 2 | 1 | 1 | 0.24 | 0.76 |
96 | Теорема Лагранжа.mp3_3 | rap | 1 | 3 | 1 | 1 | 0.01 | 0.99 |
97 | Теорема Лагранжа.mp3_4 | rap | 1 | 4 | 1 | 1 | 0 | 1 |
98 | Теорема Лагранжа.mp3_5 | rap | 1 | 5 | 1 | 1 | 0 | 1 |
99 | Теорема Лагранжа.mp3_6 | rap | 1 | 6 | 1 | 1 | 0 | 1 |
100 | Теорема Лагранжа.mp3_7 | rap | 1 | 7 | 1 | 1 | 0 | 1 |
101 | Теорема Лагранжа.mp3_8 | rap | 1 | 8 | 1 | 1 | 0 | 1 |
102 | Теорема Лагранжа.mp3_9 | rap | 1 | 9 | 1 | 1 | 0 | 1 |
103 | Теорема Лагранжа.mp3_10 | rap | 1 | 10 | 1 | 1 | 0.01 | 0.99 |
104 | Теорема Лагранжа.mp3_11 | rap | 1 | 11 | 1 | 1 | 0 | 1 |
105 | Теорема Лагранжа.mp3_12 | rap | 1 | 12 | 1 | 1 | 0 | 1 |
106 | Теорема Лагранжа.mp3_13 | rap | 1 | 13 | 1 | 1 | 0 | 1 |
107 | Теорема Лагранжа.mp3_14 | rap | 1 | 14 | 1 | 0 | 0.01 | 0.99 |
И самая сложная задача, исполненная великим комбинатором собственного сочинения песня стоит послушать!:
songname | genre | y_test | part | y_our_pred | y_res_pred | classique_prob | rap_prob | |
---|---|---|---|---|---|---|---|---|
108 | Сергей Мавроди Горе не беда.mp3_1 | rap | 1 | 1 | 1 | 0 | 0.04 | 0.96 |
109 | Сергей Мавроди Горе не беда.mp3_2 | rap | 1 | 2 | 0 | 0 | 0.94 | 0.06 |
110 | Сергей Мавроди Горе не беда.mp3_3 | rap | 1 | 3 | 0 | 1 | 0.87 | 0.13 |
111 | Сергей Мавроди Горе не беда.mp3_4 | rap | 1 | 4 | 0 | 1 | 0.86 | 0.14 |
112 | Сергей Мавроди Горе не беда.mp3_5 | rap | 1 | 5 | 0 | 0 | 0.99 | 0.01 |
113 | Сергей Мавроди Горе не беда.mp3_6 | rap | 1 | 6 | 0 | 0 | 0.95 | 0.05 |
114 | Сергей Мавроди Горе не беда.mp3_7 | rap | 1 | 7 | 0 | 0 | 0.99 | 0.01 |
115 | Сергей Мавроди Горе не беда.mp3_8 | rap | 1 | 8 | 0 | 0 | 0.82 | 0.18 |
116 | Сергей Мавроди Горе не беда.mp3_9 | rap | 1 | 9 | 0 | 0 | 0.97 | 0.03 |
117 | Сергей Мавроди Горе не беда.mp3_10 | rap | 1 | 10 | 0 | 1 | 0.81 | 0.19 |
118 | Сергей Мавроди Горе не беда.mp3_11 | rap | 1 | 11 | 0 | 1 | 0.91 | 0.09 |
119 | Сергей Мавроди Горе не беда.mp3_12 | rap | 1 | 12 | 0 | 0 | 0.9 | 0.1 |
120 | Сергей Мавроди Горе не беда.mp3_13 | rap | 1 | 13 | 0 | 0 | 0.95 | 0.05 |
121 | Сергей Мавроди Горе не беда.mp3_14 | rap | 1 | 14 | 0 | 0 | 0.95 | 0.05 |
Классика никогда не станет репом, а вот реп уже стал классикой...