Обнаружение ударов по нотам? - PullRequest
4 голосов
/ 02 июля 2011

Как вы определяете, какие ноты начинаются с ударов? В настоящее время у меня есть что-то вроде метода «грубой силы», использующего так называемые «импульсы».

По сути, идея заключается в том, что вы генерируете последовательности импульсов от минимального до максимального темпа. Эти последовательности импульсов являются просто представлениями о том, когда удар происходит в определенном темпе. Например, если Tempo = 60 ударов в минуту (ударов в минуту), последовательность импульсов имеет удары, которые происходят с интервалами в 1 секунду (60/60 ударов в минуту). Для темпа = 120 ударов в минуту последовательность импульсов имеет удары, которые происходят с интервалами в 0,5 секунды (60/120 ударов в минуту).

Теперь, в основном, я просто использую эти последовательности импульсов, чтобы сравнить и сопоставить, насколько близко наступают ноты на предполагаемых ударах. В общем, идея состоит в том, что если наступление нот происходит ближе к месту удара, общая разница будет меньше. Тогда он просто выбирает темп с наименьшей общей разницей.

Однако я столкнулся с двумя проблемами, связанными с этой реализацией.

1.) Идеальное расположение для начала нот редко встречается, особенно благодаря записанной музыке (с которой я работаю), что в целом приводит к худшим результатам.

2.) Более высокие темпы приводят к меньшим интервалам, что приводит к тому, что он становится лучшим кандидатом на музыку с нестандартным началом (т. Е. 8-ми нотами, 16-ю нотами), а не реальным лучшим темпом для музыки (т.е. 60 ударов в минуту с чисто восьмыми нотами, вероятно, вернутся 120 ударов в минуту)

Можете ли вы предложить другие (даже простые) методы обнаружения ударов? Я хотел бы реализовать алгоритм сам, чтобы получить опыт, поэтому полезные ссылки на учебники будут очень цениться. Спасибо!

Ответы [ 3 ]

1 голос
/ 02 июля 2011

Есть довольно много интересных подходов на этой странице .

0 голосов
/ 02 июля 2011

Для большого количества музыки "Grove" и "Swing" изменят местоположение начала нот в точном темпе во времени. Статистический метод сопоставления с образцом, при котором вы сопоставляете спектральные шаблоны целых тактов или целых фраз со смещенными во времени копиями музыки, может работать лучше. Тогда вам все еще нужно оценить делитель, чтобы перейти от тактов / фраз в минуту к тактам в минуту.

0 голосов
/ 02 июля 2011

Я бы предложил проверить Дэн Эллис 'технику.Это интуитивно понятно, и есть код, доступный в Matlab и Java.

...