Поиск музыки по напеванию

Содержание

Слайд 2

Проблематика

Реализовать поиск песни по напеванию её мелодии (query by humming/singing).

Небольшое напевание песни

Проблематика Реализовать поиск песни по напеванию её мелодии (query by humming/singing). Небольшое

(возможно без конкретных слов)

Nirvana — Smells Like Teen Spirit

Результат

Слайд 3

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

где n — количество песен в датасете,

Метрика для измерения качества работы алгоритма где n — количество песен в
— i-ое напевание, а — позиция соответствующей песни по порядку ранжирования.

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

Слайд 4

Существующие статьи по теме

Большинство статей предлагают решать задачу по следующей схеме:

Запрос

Извлечение основной

Существующие статьи по теме Большинство статей предлагают решать задачу по следующей схеме:
мелодии

Измерение схожести

Ранжированный по схожести список песен

База данных из мелодий песен (MIDI)

Слайд 5

Существующие статьи по теме

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

Запрос

Извлечение основной

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

Измерение схожести

Ранжированный по схожести список песен

База данных из мелодий песен

База данных из песен

Извлечение основной мелодии

Слайд 6

Извлечение основной мелодии

Для извлечения основной мелодии предлагается использовать алгоритмы, вычисляющие фундаментальную (основную)

Извлечение основной мелодии Для извлечения основной мелодии предлагается использовать алгоритмы, вычисляющие фундаментальную
частоту.

В экспериментах были использованы алгоритмы YiN, pYiN, Praat, Kaldi Pitch и Crepe.

Слайд 7

Измерение схожести мелодий

Схожесть двух временных рядов предлагается измерять с помощью DTW (Dynamic

Измерение схожести мелодий Схожесть двух временных рядов предлагается измерять с помощью DTW
Time Warping) и Wasserstain distance. Первый алгоритм более точный, но долгий по сравнению со вторым.

DTW

Слайд 8

Проблемы

Не все люди хорошо умеют петь, из-за чего тональность напевания может не

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

С различными гиперпараметрами и алгоритмами на 135 песнях получился MRR от 0.1 до 0.15.

Результат

Слайд 9

Более современный подход

Система поиска по напеванию реализована в Google. Статьи про это

Более современный подход Система поиска по напеванию реализована в Google. Статьи про
у них нет, но есть два поста в их блоге.

Для создания эмбеддингов используется сиамская сеть.

Подробностей обучения нет, но известно, что было использовано небольшое улучшение Triplet Loss’а.

Слайд 10

Эксперименты

Для обучения глубокой сети оказалось мало данных. Порядка 4 тысяч напеваний

Эксперименты Для обучения глубокой сети оказалось мало данных. Порядка 4 тысяч напеваний
и около 150 соответствующих им песен. Но попробовать похожий с Google подход хотелось.

Лучший результат на около 30 песнях получился 0.18 MRR.

Слайд 11

Что делать дальше

Так как данных не хватает, мы заказали разметку в Толоке.

Попробовать

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