Original size 1140x1600

Анализ данных музыкальных характеристик и их связь с популярностью

PROTECT STATUS: not protected
6

Описание

Как саундизайнер и музыкальный продюсер, мне было интересно проанализировать данные о музыке в корреляции с ее популярностью и попробовать найти другие связи для достижения успеха при работе с разными жанрами.

Первой попыткой было взять данные с Spotify WebApi. Spotify анализирует музыку на платформе по нескольким параметрам, которые можно использовать для анализа. Но, к сожалению, с недавних пор обычному пользователю получить их невозможно. Поэтому я взял готовую базу данных Spotify с сайта Kaggle.com.

Типы графиков

  • Стандартная диаграмма
  • Диаграмма рассеивания
  • Heatmap (тепловая диаграмма)
  • Матрица корреляции

При выборе диаграмм, я руководствовался наиболее интересными вариантами и при этом наболее простыми и читаемыми для анализа соответсвующих данных

Оформление

Цветовая палитра была создана при помощи ИИ в рамках стандартного правила 30-70-10, которое часто используется в кино и одежде. Использовались простые оттенки черного и белого вместе с акцентным цветом в пастельных тонах. Это позволит графикам выглядеть максимально просто, комфортно и читаемо. В качестве шрифта я выбрал JetBrains Mono, так как работа представляет собой технический анализ, этот шрифт также хорошо читаем и имеет поддержку русского языка.

Сами графики и этапы работы

Начнем с самого интересного для меня — зависимость параметра популярности трека от его громкости. Причем сделаем анализ конкретно по каждому жанру и отсортируем полученные коэффициенты на простой диаграмме

big
Original size 1574x946

Проанализировав эти данные, можно прийти к нескольким интересным фактам:

  1. Для K-pop и J-pop коэффициент почти достигает 0.4, что говорит о том, что громкость очень важна для популярности музыки в этих жанрах.
  2. Классическая музыка также имеет высокий коэффициент, что достаточно интересно.
  3. Некоторые жанры, такие как techno и heavy metal, которые, как правило, характеризуются высокой громкостью — имеют популярность при более низкой громкости. Жанр ambient, наоборот, популярен при более высокой громкости, хотя должен быть тихим.
  4. Анализ данных правильный, подвержден отрицательным коэффициентом -0.4 для жанра sleep.
  5. Акустическая музыка и indie имеют отрицательный коэффициент, что вполне логично.
Original size 1739x864

Для более красивой и интересной визуализации была создана диаграмма рассеивания. Это поможет определить насколько в среднем важна громкость. Как видно на графике — самые популярные треки имеют высокую громкость.

Original size 1500x1000
Original size 1841x515

Перейдем к анализу других аудио-характеристик и рассмотрим связи между ними. Для этого создадим матрицу корреляции всех параметров (за исключением нерелевантных, таких как time signature).

Original size 1340x1058
Original size 1729x505

Нужно учитывать, что при составлении этой матрицы также были включены такие жанры, как comedy и sleep. Я решил их оставить, хотя они могут немного повлиять на анализ, если мы хотим говорить исключительно о музыке.

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

Используя эту матрицу, мы можем понять от чего зависит конкретный параметр и как его поднять в нашем треке, рабатая при этом над связаннами параметрами. Например, для параметра energy, acousticness имеет высокий отрицательный коэфициент. Энергичная музыка не должна содержать в себе гитару.

Original size 976x1051

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

Original size 1768x553

Для heatmap пришлось нормализовать данные, так как параметр loudness может быть отрицательным, что приводило к плохой читаемости диаграммы. Для этого использовалась библиотека Sklearn (scikit-learn) и модуль StandardScaler

Использование ИИ

ИИ в данном проекте использовался для помощи при написании кода, фикса багов, создании цветовой схемы, помог с использованием scikit-learn

Примеры промтов:

  • matplot documentation: quickstart
  • предложи 3 интересных идея для графика с нашими данными похожими на анализ предыдущей диаграммы. Проанализируй сабреддит r/dataisbeautiful, чтобы понять какие графики кажутся интересными и красивыми.
  • откуда в этом коде heatmap отрицательные значения появились?

Вывод

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

Анализ данных музыкальных характеристик и их связь с популярностью
6
We use cookies to improve the operation of the website and to enhance its usability. More detailed information on the use of cookies can be fo...
Show more