реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> Задача поймать ритм мелодии
kumle
сообщение Dec 1 2011, 07:47
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 149
Регистрация: 15-12-09
Из: Москва
Пользователь №: 54 280



Всем привет. Есть задача поймать ритм мелодии, в частности ударники, и получить на выходе короткие прямоугольные импульсы (длина неважна) но синхронно со звуками ударников.
Решил сделать с помощью алгоритма Герцеля, для нескольких спектральных составляющих соответствующих ударникам.
Но возникает вопрос, велечину которую я получу с помощью алгоритма нужно с чем то сравнивать, чтоб принять решение о
выдаче импульса или не выдаче.
Так вот непонятно как получить эту величину с которой я буду сравнивать ?
Есть только идея на входе АЦП поставить аналоговый компрессор, чтоб эта величина не зависела от уровня сигнала, и была бы константой ?
Либо применить цифровой фильтр для усреднения за период типа такого:
Прикрепленное изображение
Go to the top of the page
 
+Quote Post
phantom
сообщение Dec 4 2011, 16:25
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 323
Регистрация: 13-05-05
Пользователь №: 4 986



Может просто НЧ фильтровать, потом нормализовать и реагировать на превышения порога?


--------------------
О сколько нам открытий чудных ...
Go to the top of the page
 
+Quote Post
SPACUM
сообщение Dec 4 2011, 17:51
Сообщение #3


Частый гость
**

Группа: Участник
Сообщений: 161
Регистрация: 22-06-09
Из: Москва
Пользователь №: 50 531



Цитата(kumle @ Dec 1 2011, 11:47) *
Есть задача поймать ритм мелодии

Если хотите по звуку барабанов, так это по корреляции со стандартным звуком данного барабана.
Можно даже по каждому барабану отдельно.
Однако живьем этот сигнал придет в момент окончания звука.
А чтобы на начало, то нужно чтобы программа определяла период или сложный рисунок ритма и предсказывала.
Например рок-н-ролл имеет четырехтактный ритм с ударением на третьем такте.
Так что меняя уровень можете намерять 4 удара за период или один удар за период.
Для попсы, где ритм отдельно и все остальное тоже, может и подойдет.
А у чего-нибудь более сложного автоматом не получится. Например у Битлс в песне "I Want To Hold Your Hand"
в припеве не только другая тональность и другой ритм, но и полностью отсутствуют барабаны.
Так что мой прогноз отрицательный, но советую все-же попробовать потому, что иначе не интересно.

Сообщение отредактировал SPACUM - Dec 4 2011, 18:10


--------------------
Ты можешь знать все что угодно, но пока ты не доказал это на практике, ты не знаешь ничего!© Ричард Бах
Go to the top of the page
 
+Quote Post
phantom
сообщение Dec 4 2011, 19:25
Сообщение #4


Местный
***

Группа: Свой
Сообщений: 323
Регистрация: 13-05-05
Пользователь №: 4 986



По корреляции наверное слишком сложно. Звуки барабанов разные и наперед не заданы, разве прошить библиотеку эталонов. Если это для светомузыкального автомата, то можна проще пробовать.


--------------------
О сколько нам открытий чудных ...
Go to the top of the page
 
+Quote Post
SPACUM
сообщение Dec 4 2011, 20:47
Сообщение #5


Частый гость
**

Группа: Участник
Сообщений: 161
Регистрация: 22-06-09
Из: Москва
Пользователь №: 50 531



Цитата(phantom @ Dec 4 2011, 23:25) *
Если это для светомузыкального автомата,

Вообще светомузыку тупую не люблю. А на виндусных проигрывателях неплохо смотрится. Так там настоящие художники делали и этому научить может только автор. Чаще всего используются пики громкости, иногда короткий БПФ или просто куски выборки. Я не почувствовал чего-нибудь связанного только с барабанами. И ритм там практически не представлен. Только когда совпадает с пиками громкости. ФНЧ вызвал бы только противную задержку.


--------------------
Ты можешь знать все что угодно, но пока ты не доказал это на практике, ты не знаешь ничего!© Ричард Бах
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 20th July 2025 - 21:55
Рейтинг@Mail.ru


Страница сгенерированна за 0.03284 секунд с 7
ELECTRONIX ©2004-2016