Как только новый трек загружается на платформу, алгоритм сразу начинает его разбирать на части.
Первое - метаданные. Жанр, поджанр, настроение, язык, инструменты, тип релиза (оригинал, кавер, ремикс). Часть этого заполняет сам артист через Spotify for Artists, остальное система определяет автоматически.
Второе - аудиосигнал. Это наследие компании Echo Nest, которую Spotify купил ещё в 2014 году. Система анализирует несколько десятков характеристик трека, из которых пользователям через API доступны основные:
- Danceability - насколько трек подходит для танца, на основе темпа, ритмической стабильности и силы бита
- Energy - интенсивность и активность: динамический диапазон, громкость, тембр
- Valence - условная "радостность". Высокий valence - трек звучит счастливо или эйфорично. Низкий - грустно или тревожно
- Instrumentalness - уверенность алгоритма в том, что в треке нет вокала
- Tempo - удары в минуту
Но это не всё. Параллельно трек разбивается на структурные сегменты: куплеты, припевы, бриджи - вплоть до мельчайших долей ритма. В одной из исследовательских работ Spotify упоминалось, что аудиофичи передаются в модель в виде вектора из 42 параметров. Через публичный API видна только часть этого.
Проще говоря: Spotify не просто знает, что трек "энергичный". Он знает, когда именно в треке начинается энергичный припев и как долго длится.