Easyelectronics.ru

Электроника для всех
Текущее время: 20 сен 2018, 12:19

Часовой пояс: UTC + 5 часов



    • JLCPCB - Прототипы 10 PCBs всего за 2$ (100*100mm, 2-layer)
    • Как мы делаем платы, смотрите на YouTube
    • Крупнейшая китайская фабрика прототипов. 300000+ заказчиков и 10000+ заказов в день!
    • LCSC - Крупнейший китайский онлайн магазин комплектующих.

Начать новую тему Ответить на тему  [ Сообщений: 40 ]  На страницу 1, 2  След.
Автор Сообщение
 Заголовок сообщения: Алгоритм определения темпа музыки...
СообщениеДобавлено: 21 июн 2018, 13:51 
Старожил
Аватара пользователя

Зарегистрирован: 01 ноя 2011, 23:51
Сообщения: 542
Кто нить сталкивался с подобным? Как простым способом определить ПРИМЕРНЫЙ темп музыки??

P.S. Аппаратные решения тоже принимаются.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Алгоритм определения темпа музыки...
СообщениеДобавлено: 21 июн 2018, 13:57 
Старожил

Зарегистрирован: 10 окт 2014, 00:48
Сообщения: 4808
Что есть "темп"? Ритм? - цикличность повторения?
Если надо найти повторяемость неизвестной функции, то есть стандартный работающий механизьм - автокорреляционная функция.
Если вам нужен ритм от громкости, то подаете огибающую громкости звука; если "состава", то подаете спектр.
Цветомузыку делаете? ))) КУ208 еще надобно.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Алгоритм определения темпа музыки...
СообщениеДобавлено: 21 июн 2018, 14:06 
Старожил
Аватара пользователя

Зарегистрирован: 01 ноя 2011, 23:51
Сообщения: 542
u37 писал(а):
Если вам нужен ритм от громкости, то подаете огибающую громкости звука; если "состава", то подаете спектр.
Цветомузыку делаете? ))) КУ208 еще надобно.


Он уже установлен.. :) Не только лишь он... :)

Но да. Делаю цветомузыку а если быть точном то просто расширяю ее возможности. Надо крутить двигатель со скоростью как-то пропорционально скорости(темпу??) музыкального произведения.
Про спектр думал. Но все равно пока не очень понимаю как из него вытянуть ритм. Не факт что он будет основной гармоникой..
Можно конечно считать что всплески музыки это и есть ритм и получить то о чем вы говорили - огибающую..
Вот и не ясно что еще есть за варианты..


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Алгоритм определения темпа музыки...
СообщениеДобавлено: 21 июн 2018, 14:34 
Старожил
Аватара пользователя

Зарегистрирован: 23 сен 2012, 20:35
Сообщения: 2177
kos писал(а):
Можно конечно считать что всплески музыки это и есть ритм и получить то о чем вы говорили - огибающую..
Вот и не ясно что еще есть за варианты..

Что если взять огибающую и офильтровать все, что выше пары-тройки герц? По идее как раз "бумц-бумц" и останется.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Алгоритм определения темпа музыки...
СообщениеДобавлено: 21 июн 2018, 14:54 
Старожил
Аватара пользователя

Зарегистрирован: 01 ноя 2011, 23:51
Сообщения: 542
evsi писал(а):
kos писал(а):
Можно конечно считать что всплески музыки это и есть ритм и получить то о чем вы говорили - огибающую..
Вот и не ясно что еще есть за варианты..

Что если взять огибающую и офильтровать все, что выше пары-тройки герц? По идее как раз "бумц-бумц" и останется.


Дык... Я тоже думал об этом... Но это тогда конечно не "пара тройка" А что-то от 20 и выше... (140) Но тогда и ненужное войдет. Если только огибающую и соответсвенно от нее брать уже эти 20 - 140 герц.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Алгоритм определения темпа музыки...
СообщениеДобавлено: 21 июн 2018, 15:02 
Старожил

Зарегистрирован: 08 авг 2013, 09:43
Сообщения: 963
Бумц-бумц - это BPM называется (Beats per minute). Гуглить BPM detection library - будут примеры. Вот какая-то например: https://github.com/cjcliffe/beatdetekto ... tektor.cpp


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Алгоритм определения темпа музыки...
СообщениеДобавлено: 21 июн 2018, 15:05 
Старожил
Аватара пользователя

Зарегистрирован: 23 сен 2012, 20:35
Сообщения: 2177
kos писал(а):
Если только огибающую и соответсвенно от нее брать уже эти 20 - 140 герц.

Не, по огибающей всплески появляются с частотой ритма музыки, а это как раз единицы герц. Cогласно вики большинство произведений находятся в диапазоне 30-240 BPM, а это как раз 0.5-4Гц. В вики речь идет о длительности нот, но отмеряется эта длительность ударами метронома, который выполняет ту же роль, что и ударные инструменты в танцевальной музыка. Так что, полагаю, эти данные вполне можно использовать для прикидочного расчета.

P.S. альтернативный вариант - использовать пиковый детектор, такой подход используется в индикаторах уровня сигнала во всякой аппаратуре обрабатывающей звук. визуально выбросы синхронные с ритмом музыки вполне себе видны.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Алгоритм определения темпа музыки...
СообщениеДобавлено: 21 июн 2018, 15:17 
Старожил
Аватара пользователя

Зарегистрирован: 01 ноя 2011, 23:51
Сообщения: 542
NStorm писал(а):
Бумц-бумц - это BPM называется (Beats per minute). Гуглить BPM detection library - будут примеры. Вот какая-то например: https://github.com/cjcliffe/beatdetekto ... tektor.cpp

Спасибо! Гляну.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Алгоритм определения темпа музыки...
СообщениеДобавлено: 21 июн 2018, 15:17 
Старожил
Аватара пользователя

Зарегистрирован: 01 ноя 2011, 23:51
Сообщения: 542
evsi писал(а):
kos писал(а):
Если только огибающую и соответсвенно от нее брать уже эти 20 - 140 герц.

Не, по огибающей всплески появляются с частотой ритма музыки, а это как раз единицы герц. Cогласно вики большинство произведений находятся в диапазоне 30-240 BPM, а это как раз 0.5-4Гц. В вики речь идет о длительности нот, но отмеряется эта длительность ударами метронома, который выполняет ту же роль, что и ударные инструменты в танцевальной музыка. Так что, полагаю, эти данные вполне можно использовать для прикидочного расчета.

P.S. альтернативный вариант - использовать пиковый детектор, такой подход используется в индикаторах уровня сигнала во всякой аппаратуре обрабатывающей звук. визуально выбросы синхронные с ритмом музыки вполне себе видны.

ТОЧНО! Они ж в минуту... :)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Алгоритм определения темпа музыки...
СообщениеДобавлено: 21 июн 2018, 15:49 
Старожил

Зарегистрирован: 19 мар 2013, 19:37
Сообщения: 2507
Откуда: Санкт-Петербург
Если не готовую либу, а самому - imho имеет смысл обрабатывать звук в три этапа:
1. ФНЧ (чтобы получить только басы) герц до 250 (барабаны попадут в диапазон)
2. Амплитудный детектор.
3. Полосовой фильтр (чтобы выделить ритм) 30-240 BPM.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Алгоритм определения темпа музыки...
СообщениеДобавлено: 21 июн 2018, 16:27 
Старожил
Аватара пользователя

Зарегистрирован: 01 ноя 2011, 23:51
Сообщения: 542
aamonster писал(а):
Если не готовую либу, а самому - imho имеет смысл обрабатывать звук в три этапа:
1. ФНЧ (чтобы получить только басы) герц до 250 (барабаны попадут в диапазон)
2. Амплитудный детектор.
3. Полосовой фильтр (чтобы выделить ритм) 30-240 BPM.


Ну да.. Согласен.. Вот только думал что может есть какой-нить хитрый ход...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Алгоритм определения темпа музыки...
СообщениеДобавлено: 21 июн 2018, 16:37 
Старожил

Зарегистрирован: 19 мар 2013, 19:37
Сообщения: 2507
Откуда: Санкт-Петербург
Точно нету (кроме как найти готовую либу, автор которой уже наступил на все грабли)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Алгоритм определения темпа музыки...
СообщениеДобавлено: 21 июн 2018, 16:40 
Старожил

Зарегистрирован: 10 окт 2014, 00:48
Сообщения: 4808
aamonster, ваш способ не подходит для цветомузыки. IMHO
Что до использования готового - не факт, что готовое варил человек с должной подготовкой [это я старался быть политкорректным].
Не сложные вопросы я стараюсь решить сам, мозГ развивается. ))


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Алгоритм определения темпа музыки...
СообщениеДобавлено: 21 июн 2018, 17:01 
Старожил
Аватара пользователя

Зарегистрирован: 01 ноя 2011, 23:51
Сообщения: 542
u37 писал(а):
aamonster, ваш способ не подходит для цветомузыки. IMHO
Что до использования готового - не факт, что готовое варил человек с должной подготовкой [это я старался быть политкорректным].
Не сложные вопросы я стараюсь решить сам, мозГ развивается. ))

Соглашусь с тем что могут быть разные косяки. Но ЦМУ вещь не сильно критичная к ним.. Тем более что речь идет просто о скорости вращения двигателя.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Алгоритм определения темпа музыки...
СообщениеДобавлено: 21 июн 2018, 17:45 
Старожил

Зарегистрирован: 10 окт 2014, 00:48
Сообщения: 4808
Возьмите, например, "Night Flight To Venus", и попробуйте представить, как должен работать девайс. С учетом всех "вставок" - пользователь такие проколы заметит сразу.
Вот когда сможете хотя-бы представить "на пальцах", как оно должно трансливаться, вот тогда и стоит думать о железной реализации. ))


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Алгоритм определения темпа музыки...
СообщениеДобавлено: 21 июн 2018, 17:55 
Старожил
Аватара пользователя

Зарегистрирован: 01 ноя 2011, 23:51
Сообщения: 542
u37 писал(а):
Возьмите, например, "Night Flight To Venus", и попробуйте представить, как должен работать девайс. С учетом всех "вставок" - пользователь такие проколы заметит сразу.
Вот когда сможете хотя-бы представить "на пальцах", как оно должно трансливаться, вот тогда и стоит думать о железной реализации. ))


??
Ну а что в ней такого?? Я ж говорю именно про скорость вращения.. Т.е. время интегрирования должно быть большим. Иначе говоря крутилось оно 2 оборота в минуту музыка стала ритмичной и быстрой стала - 4 оборота в минуту.. (все взято с потолка..)

А барабанная партия там и правда хороша.. Вспомнил детство...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Алгоритм определения темпа музыки...
СообщениеДобавлено: 21 июн 2018, 18:09 
Старожил

Зарегистрирован: 10 окт 2014, 00:48
Сообщения: 4808
Такого - ритм:
а. переменный
б. иногда полностью отсутствует. Вращение надо останавливать.
))


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Алгоритм определения темпа музыки...
СообщениеДобавлено: 21 июн 2018, 18:12 
Старожил
Аватара пользователя

Зарегистрирован: 01 ноя 2011, 23:51
Сообщения: 542
u37 писал(а):
Такого - ритм:
а. переменный
б. иногда полностью отсутствует. Вращение надо останавливать.
))


останавливать не надо никогда.. просто на медленное вращение перейти
переменный ритм не страшно если время усреднения в районе 40-50 сек.. Вообще можно подобрать. А если еще сделать его скользящим средним то вообще нет проблем.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Алгоритм определения темпа музыки...
СообщениеДобавлено: 21 июн 2018, 18:15 
Старожил

Зарегистрирован: 10 окт 2014, 00:48
Сообщения: 4808
Не вопрос - делайте определение ритма, потом ФАПЧ к мотору. Без "ритма" мотор будет идти на номинале. Девиация и скорость автоподстройки определяется настройками ФАПЧ.
Куда уж аппаратнее. )))
(564АГ1) описался - ГГ1


Последний раз редактировалось u37 21 июн 2018, 23:11, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Алгоритм определения темпа музыки...
СообщениеДобавлено: 21 июн 2018, 18:20 
Старожил
Аватара пользователя

Зарегистрирован: 11 апр 2016, 18:04
Сообщения: 1225
Откуда: Китай, Пекин
цветомузыки - замшелый анахронизм. практически во всех компьютерных аудиоплеерах есть своя куча реализаций визуальных эффектов, да таких, и с такими алгоритмами, что и не снилось.

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Алгоритм определения темпа музыки...
СообщениеДобавлено: 21 июн 2018, 18:24 
Старожил
Аватара пользователя

Зарегистрирован: 01 ноя 2011, 23:51
Сообщения: 542
cheblin писал(а):
цветомузыки - замшелый анахронизм. практически во всех компьютерных аудиоплеерах есть своя куча реализаций визуальных эффектов, да таких, что и не снилось.

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

Это я все знаю. Но есть такое понятие - ностальгия. Собственно это оно и есть просто по просьбе знакомой востановил(на самом деле схему сделал по новой) ей то что ей когда-то делал отец. И просто возникла ИДЕЯ еще и управлять скоростью вращения двигателя.
И кстати то что сделано там на светодиодах не сделать.. Вещь классная - с душой..
Так что это скорее не "замшелый анахронизм" а винтаж.... :)


Последний раз редактировалось kos 21 июн 2018, 18:25, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Алгоритм определения темпа музыки...
СообщениеДобавлено: 21 июн 2018, 18:25 
Старожил

Зарегистрирован: 19 мар 2013, 19:37
Сообщения: 2507
Откуда: Санкт-Петербург
u37, для просто цветомузыки всё проще - темп не нужен, можно напрямую использовать выходы детекторов.

Конкретно на "Night Flight To Venus" - вроде будет лажать в начале, где ещё выраженного ритма нет или он меняется, а когда пойдёт партия ударных - устаканится.
"Ритм полностью отсутствует, вращение надо останавливать" - неразумно. Без "предзнания" (или предварительной обработки трека, или "ИИ", на основании своего опыта строящего гипотезы о том, что будет дальше) нормальный алгоритм, который мгновенно реагирует на изменения ритма или на его исчезновение, сделать нереально. Разумнее при пропадании ритма - или поддерживать прежний темп вращения, или потихоньку останавливаться (а можно схитрить: убирать подсветку того, что крутим - и, опять же, можно это делать плавно; с детектора ритма, соответственно, надо будет получать не только частоту, но и "достоверность" её определения).


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Алгоритм определения темпа музыки...
СообщениеДобавлено: 21 июн 2018, 18:31 
Старожил

Зарегистрирован: 10 окт 2014, 00:48
Сообщения: 4808
Угу, это и есть "остановить". ))


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Алгоритм определения темпа музыки...
СообщениеДобавлено: 21 июн 2018, 18:37 
Старожил

Зарегистрирован: 23 мар 2017, 14:45
Сообщения: 3515
Я бы сделал так. Обычно есть три канала. По каждому из трех в конечном итоге получена огибающая - она и управляет яркостью лампы.
Так вот: частоту изменения этой огибающей снова переводим в напряжение - отдельно по каждому каналу, а потом все напряжения смешиваем на резистивном делителе. Получаем напряжение, пропорциональное средней частоте моргания ламп.
Что и будет означать "скорость ритма".

Всё можно сделать в чистом аналоге, без МК.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Алгоритм определения темпа музыки...
СообщениеДобавлено: 21 июн 2018, 18:43 
Старожил
Аватара пользователя

Зарегистрирован: 01 ноя 2011, 23:51
Сообщения: 542
Кот495 писал(а):
Я бы сделал так. Обычно есть три канала. По каждому из трех в конечном итоге получена огибающая - она и управляет яркостью лампы.
Так вот: частоту изменения этой огибающей снова переводим в напряжение - отдельно по каждому каналу, а потом все напряжения смешиваем на резистивном делителе. Получаем напряжение, пропорциональное средней частоте моргания ламп.
Что и будет означать "скорость ритма".

Всё можно сделать в чистом аналоге, без МК.


Кстати очень хорошая идея. НО! В этом случае это скорее скорость вращения от громкости музыки..

А вот если взять это с канала НЧ то возможно проканает.. Но тоже не уверен. :)


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 40 ]  На страницу 1, 2  След.

Часовой пояс: UTC + 5 часов


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB