Несколько лет назад, занимался изучением теории музыки, продавал и писал аудио-инструментал для аренды или заказов. Изначально, процесс явно творческий, но вскоре, мой интерес к коммерческой части превысил и возник вопрос: «В каком же темпе создавать ритм музыки?». Мною была замечена тенденция вариаций темпа популярных песен одного жанра, поэтому идея анализа крупной выборки лучших композиций, для определения популярного [часто: самого продаваемого] диапазона темпа исполнения, не покидала с тех пор… BPM [в музыке] — показатель, для определения скорости исполнения композиции, путём измерения количества тактовых долей в минуту. Устанавливаем «Matplotlib» и «Pandas» с необходимыми зависимостями через pip-менеджер в консоли/терминале. Создаём директорию, а потом виртуальное окружение для проекта. После, подключаем библиотеки в IDE [в моём случае: PyCharm]. BPM будем вычислять через функцию «Detect tempo» в FL Studio и через сайт tunebat.com Начинаем создание DataSet’а [выборки-коллекции данных] в Excel, для каждого жанра. Экспортируем в CSV-формат с настройками разделителя — запятой. Следующие CSV-файлы создавал в IDE, так удобнее. Выборки перемещаем в директорию, где находится файл самой программы. В первой строке CSV-файлов указываются параметры, которые разделяются запятыми. Следующие строки содержат уже значения этих параметров. При окончательной проверке, DataSet должен последовательно содержать данные: названия трека, BPM и год выхода композиции. Будем использовать информацию выборки в сто песен, для каждого жанра из выбранных пяти. Выборка взята здесь: rollingstone.com/100-greatest-hip-hop-songs-of-all-timeСам CSV-DataSet: github.com/Rap.csv На основе информации DataSet'а, создаём точечную диаграмму [Scatter Plots] для изучения взаимосвязи между BPM и годом выпуска, а также для отображения концентраций при ранжировании данных. Если диаграмма отражает точечное положение трека в зависимости двух переменных, — BPM и года релиза, — то гистограмма покажет частоту-количество попаданий значения BPM для каждого диапазона на шкале. Таким образом, определится популярность определенного темпа. Выборка взята здесь: rockfm.ru/top100Сам CSV-DataSet: github.com/Rock.csv Однозначности пока что нет, — особенность жанра. — поэтому, второй график построен при округлении параметра «year/год выхода композиции». Выборка взята здесь: digitaldreamdoor.com/best_bluesongСам CSV-DataSet: github.com/Blues.csv Выборка взята здесь: open.spotify.com Сам CSV-DataSet: github.com/Chillout.csv  Много наложений точек друг на друга. К сожалению, не знаю, как это исправить. Пришлось сделать точки более прозрачными, с помощью аргумента «alpha» функции «.scatter». Выборка взята здесь: edmcharts.net Сам CSV-DataSet: github.com/EDM.csv Здесь также для наглядности пришлось сделать точки ещё более прозрачными. Если кто-то знает, как исправить дефект наложения, прошу написать в комментариях. Самым простым графиком сравним количество попаданий в каждый диапазон, композиций, из всех проанализированных ранее жанров*. * такие жанры как ethnic, ambient, folk, dubstep, reggae и др, не удалось к сожалению разобрать из-за отсутствия качественной выборки... BPM/Кол-во треков <60 60-80 80-100 100-120 120-140 140-160 160-180 Blues 2 9 25 35 15 6 8 Chillout  11 35 18 19 12 5 EDM  1 3 21 67 6 2 Rap  5 61 20 7 4 3 Rock  6 20 25 27 11 11 Итог: 2 32 144 119 135 39 29 Дизайнер медиа-лаборатории ВолгГТУ