
Описание
Как саундизайнер и музыкальный продюсер, мне было интересно проанализировать данные о музыке в корреляции с ее популярностью и попробовать найти другие связи для достижения успеха при работе с разными жанрами.
Первой попыткой было взять данные с Spotify WebApi. Spotify анализирует музыку на платформе по нескольким параметрам, которые можно использовать для анализа. Но, к сожалению, с недавних пор обычному пользователю получить их невозможно. Поэтому я взял готовую базу данных Spotify с сайта Kaggle.com.
При выборе диаграмм, я руководствовался наиболее интересными вариантами и при этом наболее простыми и читаемыми для анализа соответсвующих данных
Оформление
Цветовая палитра была создана при помощи ИИ в рамках стандартного правила 30-70-10, которое часто используется в кино и одежде. Использовались простые оттенки черного и белого вместе с акцентным цветом в пастельных тонах. Это позволит графикам выглядеть максимально просто, комфортно и читаемо. В качестве шрифта я выбрал JetBrains Mono, так как работа представляет собой технический анализ, этот шрифт также хорошо читаем и имеет поддержку русского языка.
Сами графики и этапы работы
Начнем с самого интересного для меня — зависимость параметра популярности трека от его громкости. Причем сделаем анализ конкретно по каждому жанру и отсортируем полученные коэффициенты на простой диаграмме

Для более красивой и интересной визуализации была создана диаграмма рассеивания. Это поможет определить насколько в среднем важна громкость. Как видно на графике — самые популярные треки имеют высокую громкость.
Перейдем к анализу других аудио-характеристик и рассмотрим связи между ними. Для этого создадим матрицу корреляции всех параметров (за исключением нерелевантных, таких как time signature).
Нужно учитывать, что при составлении этой матрицы также были включены такие жанры, как comedy и sleep. Я решил их оставить, хотя они могут немного повлиять на анализ, если мы хотим говорить исключительно о музыке.
Для популярности громкость является самым главным параметром, при этом если трек слишком инструментальный или вокальный, то он не будет популярен. Судя по всему, смесь вокала и инструментала является идеальным сочетанием. При этом для дальнейшего анализа конечно лучше составлять эту матрицу для конкретных жанров.
Используя эту матрицу, мы можем понять от чего зависит конкретный параметр и как его поднять в нашем треке, рабатая при этом над связаннами параметрами. Например, для параметра energy, acousticness имеет высокий отрицательный коэфициент. Энергичная музыка не должна содержать в себе гитару.
Теперь перейдем к тепловой диаграмме, где можно наблюдать в среднем характеристики жанров. Это может помочь создать музыку, более похожую на средний трек в жанре.
Для heatmap пришлось нормализовать данные, так как параметр loudness может быть отрицательным, что приводило к плохой читаемости диаграммы. Для этого использовалась библиотека Sklearn (scikit-learn) и модуль StandardScaler
Использование ИИ
ИИ в данном проекте использовался для помощи при написании кода, фикса багов, создании цветовой схемы, помог с использованием scikit-learn
Вывод
Данная работа может помочь мне с написанием музыки в определенных жанрах. Кроме этого для заказчика данные могут быть интересным подтверждением выбранных мною решений.