Как вы определяете, какие ноты начинаются с ударов? В настоящее время у меня есть что-то вроде метода «грубой силы», использующего так называемые «импульсы».
По сути, идея заключается в том, что вы генерируете последовательности импульсов от минимального до максимального темпа. Эти последовательности импульсов являются просто представлениями о том, когда удар происходит в определенном темпе. Например, если Tempo = 60 ударов в минуту (ударов в минуту), последовательность импульсов имеет удары, которые происходят с интервалами в 1 секунду (60/60 ударов в минуту). Для темпа = 120 ударов в минуту последовательность импульсов имеет удары, которые происходят с интервалами в 0,5 секунды (60/120 ударов в минуту).
Теперь, в основном, я просто использую эти последовательности импульсов, чтобы сравнить и сопоставить, насколько близко наступают ноты на предполагаемых ударах. В общем, идея состоит в том, что если наступление нот происходит ближе к месту удара, общая разница будет меньше. Тогда он просто выбирает темп с наименьшей общей разницей.
Однако я столкнулся с двумя проблемами, связанными с этой реализацией.
1.) Идеальное расположение для начала нот редко встречается, особенно благодаря записанной музыке (с которой я работаю), что в целом приводит к худшим результатам.
2.) Более высокие темпы приводят к меньшим интервалам, что приводит к тому, что он становится лучшим кандидатом на музыку с нестандартным началом (т. Е. 8-ми нотами, 16-ю нотами), а не реальным лучшим темпом для музыки (т.е. 60 ударов в минуту с чисто восьмыми нотами, вероятно, вернутся 120 ударов в минуту)
Можете ли вы предложить другие (даже простые) методы обнаружения ударов? Я хотел бы реализовать алгоритм сам, чтобы получить опыт, поэтому полезные ссылки на учебники будут очень цениться. Спасибо!