Формулировка задачи
Вам нужен показатель сходства c (тип расстояния Метри c), который предсказывает две выборки одного и того же типа инструмента / инструмента как очень похожие (низкий балл) и два образца разных инструментов как совершенно разные (высокий балл). И это верно независимо от того, какая нота играется. Таким образом, он должен быть чувствительным к тембру и не чувствительным к музыкальному контенту.
Настройка обучения
Задача может именоваться Обучение сходству, Популярным и эффективным подходом для нейронных сетей является Triplet Loss . Вот пост в блоге , представляющий концепцию в контексте сходства изображений. До этого он успешно применялся к аудио.
Архитектура модели
Первичной архитектурой модели, которую я бы рассмотрел, была бы сверточная нейронная сеть на спектрограммах логарифмической структуры. Сначала попробуйте использовать обобщенную c модель, такую как OpenL3 , в качестве экстрактора функций. Он выдает 1024-мерный вывод, называемый «Аудио-вложение», с помощью которого вы можете создать модель потери триплета.
Наборы данных
Ключом к успеху для вашего приложения будет наличие подходящего набора данных. Возможно, вы сможете использовать Nsynth набор данных . Возможно, тренировка на одном только этом может дать хорошие результаты. Или вы можете использовать его в качестве обучающего набора, а затем выполнить точную настройку на собственном обучающем наборе.
Как минимум, вам потребуется создать набор проверки / тестирования для ваших собственных аудиоклипов, в Для того, чтобы оценить производительность модели. Минимум 10-100 помеченных примеров каждого интересующего типа инструмента.