как узнать бипиэм трека
Популярность BPM в разных жанрах музыки. Python: анализ скорости исполнения 500 лучших песен
Несколько лет назад, занимался изучением теории музыки, продавал и писал аудио-инструментал для аренды или заказов. Изначально, процесс явно творческий, но вскоре, мой интерес к коммерческой части превысил и возник вопрос: «В каком же темпе создавать ритм музыки?».
BPM [в музыке] — показатель, для определения скорости исполнения композиции, путём измерения количества тактовых долей в минуту.
1: Пролог
Устанавливаем «Matplotlib» и «Pandas» с необходимыми зависимостями через pip-менеджер в консоли/терминале.
Создаём директорию, а потом виртуальное окружение для проекта. После, подключаем библиотеки в IDE [в моём случае: PyCharm].
File — Settings — Project: [. ] — Python Interpreter
2: BPM
BPM будем вычислять через функцию «Detect tempo» в FL Studio и через сайт tunebat.com
ПКМ по верхней левой иконке на звуковой дорожке — Detect tempo — Выбрать диапазон
3: DataSet
Начинаем создание DataSet’а [выборки-коллекции данных] в Excel, для каждого жанра. Экспортируем в CSV-формат с настройками разделителя — запятой. Следующие CSV-файлы создавал в IDE, так удобнее. Выборки перемещаем в директорию, где находится файл самой программы.
В первой строке CSV-файлов указываются параметры, которые разделяются запятыми. Следующие строки содержат уже значения этих параметров. При окончательной проверке, DataSet должен последовательно содержать данные: названия трека, BPM и год выхода композиции. Будем использовать информацию выборки в сто песен, для каждого жанра из выбранных пяти.
Параметры: «name» — название трека; «bpm» — темп; «year» — год релиза
4: Rap — построение точечной диаграммы и гистограммы
На основе информации DataSet’а, создаём точечную диаграмму [Scatter Plots] для изучения взаимосвязи между BPM и годом выпуска, а также для отображения концентраций при ранжировании данных.
Видно, что с 1980 по 2005 гг. основным темпом был диапазон в 90-105 BPM «Код точечной диаграммы с комментариями»
Если диаграмма отражает точечное положение трека в зависимости двух переменных, — BPM и года релиза, — то гистограмма покажет частоту-количество попаданий значения BPM для каждого диапазона на шкале. Таким образом, определится популярность определенного темпа.
Самый популярный диапазон: 80-100 BPM «Код гистограммы без комментариев»
5: Рок
Однозначности пока что нет, — особенность жанра. — поэтому, второй график построен при округлении параметра «year/год выхода композиции».
«Код точечной диаграммы с комментариями»
6: Блюз
Видно высокую концентрацию использования темпа около 100 BPM в 90-х «Код точечной диаграммы с комментариями»
7: Chillout
Много наложений точек друг на друга. К сожалению, не знаю, как это исправить. Пришлось сделать точки более прозрачными, с помощью аргумента «alpha» функции «.scatter».
«Код точечной диаграммы с комментариями»
8: EDM
Здесь также для наглядности пришлось сделать точки ещё более прозрачными. Если кто-то знает, как исправить дефект наложения, прошу написать в комментариях.
Довольно однозначно вышло. «Код точечной диаграммы с комментариями»
9: Заключение
Самым простым графиком сравним количество попаданий в каждый диапазон, композиций, из всех проанализированных ранее жанров*.
* такие жанры как ethnic, ambient, folk, dubstep, reggae и др, не удалось к сожалению разобрать из-за отсутствия качественной выборки.
Как определить BPM песни в php
Как можно программно определить темп /BPM песни? Какие алгоритмы обычно используются и какие соображения должны быть сделаны?
Ключевыми словами для поиска являются «Beat Detection», «Beat Tracking» и «Music Information Retrieval». Здесь много информации: http://www.music-ir.org/
Существует (может быть) ежегодный конкурс под названием MIREX, где тестируются различные алгоритмы с их характеристикой обнаружения биений.
Это должно дать вам список алгоритмов для тестирования.
Классическим алгоритмом является Beatroot (google it), что приятно и легко понять. Он работает следующим образом:
Недостатки этого алгоритма в моем опыте:
- Обнаружение пиков является скорее ad-hoc и чувствительным к пороговым параметрам и еще что-то.
В какой-то музыке нет явных битков на битах. Очевидно, что это не сработает с ними.
Трудно узнать, как решить проблему с 60bpm-vs-120bpm, особенно с отслеживанием в реальном времени!
Выбрасывает много информации только с использованием 1D спектрального потока. Я считаю, что вы можете сделать гораздо лучше, имея несколько ограниченных диапазоном спектральных потоков (и, возможно, один широкополосный для барабанов).
Досадно, что я нашел очень хороший сайт со многими алгоритмами и кодом для обнаружения биений несколько лет назад. Однако я полностью не смог его переделать.
Изменить: Найди его!
Вот несколько отличных ссылок, которые вы должны начать:
Tap space bar or click/tap to detect BPMs.
Rhythm Accuracy: 100
Time Unit
Reset Timer
What does BPM Stand for?
Beats Per Minute (an exact measurement of tempo)
What does BPM Mean?
Beats per minute usually refers to either the tempo of music or heart rate.
In musical terms, BPM refers to tempo and measures how fast or slow a piece of music is. The time signature of a song determines the beat of the song. For example, a time signature of 4/4 means that a beat is ¼ of a measure, or there are 4 beats per measure.
In terms of heart rate, beats per minute refers to the total number of contractions that the heart makes in 60 seconds. The average heart rate is between 60 and 100 and can vary on physical health and exertion levels (increased during exercise).
Additional Instructions and Helper Keys
Press space bar to add a new beat to timeline. Press the ESC key to reset the beat counter. You may also tap or click outside of the BPM counter to reset the beat counts.
Experimental BPM Calculations
These calculated BPM Measurements may be accurate given your rhythm or latency.
Moving: Moving average of last 10 taps
Derived: Calculated BPM from standard deviation
Composite: Combination of Average, Derived and Moving BPM
Filtered: Average BPM from removed outlier tap
Держи ритм: Как правильно бегать под музыку?
Большинство бегунов предпочитает тренироваться под музыку: бегать с плеером действительно веселее. Чтобы любимые песни Рианны не сбивали ваше дыхание и ритм, музыка должна быть подобрана с учётом каденса — частоты шагов бегуна в минуту. В нашей инструкции — всё, что нужно знать новичку о каденсе, BPM и правильной музыке для бега.
Большинство бегунов предпочитает тренироваться под музыку: бегать с плеером действительно веселее. Чтобы любимые песни Рианны не сбивали ваше дыхание и ритм, музыка должна быть подобрана с учётом каденса — частоты шагов бегуна в минуту. В нашей инструкции — всё, что нужно знать новичку о каденсе, BPM и правильной музыке для бега.
Измеряем каденс
Первое слагаемое эффективной пробежки под музыку — это каденс, частота касания земли ногами бегуна. Определить свой каденс можно с помощью специальных датчиков, крепящихся на кроссовок (такие есть, например, у Garmin, Polar, Suunto), но можно обойтись и без них, просто посчитав количество шагов за 30 секунд бега в комфортном темпе. Полученную цифру умножайте на два — это и будет ваш каденс. Лучше сделать это несколько раз и вывести средний результат. Некоторые приложения для смартфонов также предлагают посчитать каденс (например, miCoach от adidas), но учитывайте, что они, как и GPS-технологии, могут давать большую погрешность.
Существует так называемый «идеальный каденс» — 180 шагов в минуту, именно эта цифра считается оптимальным каденсом для серьёзного бегуна. Впервые её озвучил американский тренер Джек Дэниелс, подсчитавший шаги олимпийских бегунов на длинные дистанции на Олимпиаде 1984 года. Он обнаружил, что большинство спортсменов совершает одно и то же число шагов в минуту — 180 для обеих ног (90 для одной). Естественно, с таким каденсом бегают в первую очередь профессионалы, беговая элита, для которой бег — это работа. Позже цифра 180 в значении «идеального каденса» была упомянута в популярной книге Кристофера Маклуга «Рождённый бежать» — и благодаря этому распространилась по беговому сообществу.
Что делать, если вы далеко не легкоатлет-профессионал и вообще бегать начали не так давно? Посчитать свой каденс и начать понемногу его наращивать. Исследователи утверждают, что постепенное увеличение каденса на 5–10% делает бег более эффективным и безопасным. Так что если ваш комфортный каденс находится в районе 164 шагов и выше — можете смело наращивать его до 180. Если цифра ниже 164, просто прибавьте к ней 5-10%, примите получившееся число за свой текущий идеальный каденс — и начинайте тренироваться.
Определяем BPM
Разобравшись с каденсом, можно приступить к подбору идеальной для него музыки. У каждой песни есть свой темп, измеряемый в количестве ударов за минуту (этот показатель сокращённо называют BPM — beats per minute). Для бега, естественно, подойдут композиции с ровным темпом, так что джазовые импровизации или хардкорный панк будете слушать на досуге, а не на пробежке. Темп плейлиста должен совпадать с вашим каденсом, тогда музыка поможет не сбиться с запланированного ритма и меньше уставать.
Как определить BPM у любимых power-songs? Профессиональные диджеи умеют делать это на слух, вам же, скорее всего, придётся воспользоваться приложением. Если вы пользуетесь iTunes, в нём есть даже специальная графа для обозначения BPM композиции, правда, заполнять её придется самостоятельно — не вручную, а пропустив песни через приложение вроде Cadence Desktop или beaTunes — они сохранят BPM для каждого трека.
Правила просты: бегаете с каденсом 180 — отберите композиции на 180 BPM (или 90, тогда каждый второй шаг будет приходиться на слабую долю). Работаете над повышением каденса — собирайте плейлист с темпом +2 BPM к вашему начальному показателю, или с постепенно нарастающим темпом. Хотите делать под музыку интервалы — чередуйте быстрые и медленные треки.
Песни с нужным BPM можно отбирать из собственной фонотеки вручную, а можно воспользоваться беговыми музыкальными приложениями, например, Cadence Run DJ или Jog.fm. Оба умеют воспроизводить музыку с заданным BPM, на ходу выбирая её из библиотеки. У Jog.fm помимо этого есть режим автоматической подстройки темпа музыки под скорость бегуна, определяемую на ходу, — но работает эта функция довольно неровно, требует сильного интернет-сигнала и не имеет смысла для тренировок с целевым каденсом.
Собираем плейлист
Скорее всего, вы обнаружите, что в вашей личной фонотеке песен с нужным вам BPM окажется немного — где найти ещё? В iTunes есть специальный раздел с музыкой для бега, а также подборка самых популярных исполнителей для занятий спортом. Однако для серьёзных тренировок они не годятся, так как темп на них скачет.
Много беговых подборок с заданным темпом есть среди подкастов и онлайн-радиостанций, BPM обычно указывается в названии, так что их удобно искать — но это в основном электронная танцевальная музыка с жёстким битом, бегать под неё может быть некомфортно, если вы привыкли к песням Рианны. Если такая музыка вам всё-таки по душе, профессиональные миксы для пробежек разного типа (5к, полумарафон, интервалы, темпо) можно найти на Podrunner или run2rythm. У последнего, например, есть полное музыкальное сопровождение для популярного у новичков плана Couch to 5k.
Обновить беговой плейлист можно и на веб-версии Jog.fm: это огромный каталог музыки всех возможных стилей, которую можно сортировать по BPM, создавать из неё плейлисты и делиться ими с друзьями (вот, например, хип-хоп-подборка бегуна Алишера Якупова на 178-194 BPM). Купить музыку или скачать плейлист на Jog.fm не получится, но в качестве навигатора этот сервис — один из лучших.
Чтобы освежить свой плейлист парой-тройкой новых песен советуем иногда заглядывать в топ беговой музыки на Reddit — там нет профессиональных функций вроде сортировки по BPM, зато гарантировано найдётся что-то новое, неожиданное и вдохновляющее. Если у вас уже установлена программа Cadence Desktop Pro, узнать BPM незнакомого трека можно мгновенно, отстучав его ритм пальцем на экране телефона в течение 10-15 секунд. Ну и напоследок неожиданный совет любителям классики: обязательно пропустите через BPM-определитель любимые вальсы, бегать под них — одно удовольствие, и Венский марафон тому подтверждение!