Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Задача поймать ритм мелодии
Форум разработчиков электроники ELECTRONIX.ru > Цифровая обработка сигналов - ЦОС (DSP) > Алгоритмы ЦОС (DSP)
kumle
Всем привет. Есть задача поймать ритм мелодии, в частности ударники, и получить на выходе короткие прямоугольные импульсы (длина неважна) но синхронно со звуками ударников.
Решил сделать с помощью алгоритма Герцеля, для нескольких спектральных составляющих соответствующих ударникам.
Но возникает вопрос, велечину которую я получу с помощью алгоритма нужно с чем то сравнивать, чтоб принять решение о
выдаче импульса или не выдаче.
Так вот непонятно как получить эту величину с которой я буду сравнивать ?
Есть только идея на входе АЦП поставить аналоговый компрессор, чтоб эта величина не зависела от уровня сигнала, и была бы константой ?
Либо применить цифровой фильтр для усреднения за период типа такого:
Нажмите для просмотра прикрепленного файла
phantom
Может просто НЧ фильтровать, потом нормализовать и реагировать на превышения порога?
SPACUM
Цитата(kumle @ Dec 1 2011, 11:47) *
Есть задача поймать ритм мелодии

Если хотите по звуку барабанов, так это по корреляции со стандартным звуком данного барабана.
Можно даже по каждому барабану отдельно.
Однако живьем этот сигнал придет в момент окончания звука.
А чтобы на начало, то нужно чтобы программа определяла период или сложный рисунок ритма и предсказывала.
Например рок-н-ролл имеет четырехтактный ритм с ударением на третьем такте.
Так что меняя уровень можете намерять 4 удара за период или один удар за период.
Для попсы, где ритм отдельно и все остальное тоже, может и подойдет.
А у чего-нибудь более сложного автоматом не получится. Например у Битлс в песне "I Want To Hold Your Hand"
в припеве не только другая тональность и другой ритм, но и полностью отсутствуют барабаны.
Так что мой прогноз отрицательный, но советую все-же попробовать потому, что иначе не интересно.
phantom
По корреляции наверное слишком сложно. Звуки барабанов разные и наперед не заданы, разве прошить библиотеку эталонов. Если это для светомузыкального автомата, то можна проще пробовать.
SPACUM
Цитата(phantom @ Dec 4 2011, 23:25) *
Если это для светомузыкального автомата,

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