Полностью с открытым исходным кодом Совместимость с API Spotify для извлечения функций аудио высокого уровня из пользовательских музыкальных файлов? - PullRequest
0 голосов
/ 14 апреля 2019

Я хотел бы получить аудиофункции аудиофайлов, содержащих музыку, которые совместимы с API Spotify, и, если нет, с аналогичными функциями, насколько это возможно.(https://developer.spotify.com/documentation/web-api/reference/tracks/get-audio-features/).

Я хотел бы использовать Python (и, если это невозможно, C / C ++ или Java, или любую другую реализацию, которую эти три языка могут передавать и реализовывать).

Однако в https://github.com/spotify/web-api/issues/209#issuecomment-254040416

разработчики Spotify предлагают «использовать доступные экстракторы функций более низкого уровня, такие как librosa, essentia и meyda, которые охватывают Python, C и Javascript».

Кроме того, в https://github.com/spotify/web-api/issues/209#issuecomment-297585403 альтернативный веб-сайт не является открытым исходным кодом, а API недоступен.

Поскольку я не понимаю, как использовать этот «экстрактор функций более низкого уровня»Чтобы повторить шкалы Spotify, есть ли альтернативные реализации или метод для пользовательского кода, который может создавать такие же или похожие метрики звуковых функций?

Заранее большое спасибо.

1 Ответ

0 голосов
/ 04 мая 2019

Проверенным методом создания таких субъективных высокоуровневых функций является создание большого маркированного набора данных, а затем обучение оценщиков с использованием контролируемого обучения. Кто-то должен собрать эти данные с нуля. Обычно люди слушают много песен и оценивают их по каждой функции. Нужно, чтобы несколько человек слушали каждую песню, чтобы установить, в какой степени люди согласны или нет относительно «правильной» ценности. Это очень трудоемкий шаг, так как в таком наборе данных нужно было бы тысячи разных песен. Если и вы, и Spotify проделали основательную работу, теоретически результаты должны иметь достаточное количество соглашений.

В идеале, существовал бы открытый набор данных с такими аннотациями. Вы можете спросить об этом в Open Data Stack Exchange.

Хитрость заключается в том, чтобы использовать существующий оценщик, такой как Spotify, «оракул» для создания маркированного набора данных. В основном выберите несколько звуковых дорожек, используйте их API, чтобы получить соответствующие высокоуровневые значения объектов, и обработайте их как метки наземной правды. Обратите внимание, что это своего рода обратный инжиниринг, и что этот может нарушать их Условия обслуживания . Поэтому обязательно проверьте это, прежде чем продолжить.

...