Мне кажется тут больше подойдет непрерывное вейвлет-преобразование в котором выделять бочку.
Попробую пример сделать. Я как-то делал анализатор ЭКГ, там использовал вейвлеты, не знаю как на музыке будет работать.
Mikle
> Но особо меня вымораживает, когда БПФ используют для простых вещей, типа ФВЧ
> или ФНЧ.
КИХ фильтры с произвольной частотной характеристикой как раз и делаются на основе БПФ. У этих фильтров есть преимущество в линейности фазы.
the trick
> подойдет непрерывное вейвлет-преобразование
Вейвлеты одну нерешенную задачу сводят к другой нерешенной. Как ты будешь распознавать картинку? Человеку конечно удобно, мы легко узнаем образы, но автоматически то как?
Zab
> Как ты будешь распознавать картинку
Какую картинку?
the trick
> Какую картинку?
Результат вейвлет-преобразования - картинка, на которой надеются что-нибудь увидеть. Глазами увидеть, не формализуя. Очень хорошо работает, но только с участием человека.
the trick
> КИХ фильтры с произвольной частотной характеристикой как раз и делаются на
> основе БПФ. У этих фильтров есть преимущество в линейности фазы.
Это если нужна линейность фазы. Для топикстартовой задачи это - излишки.
Zab
Это результат преобразования, который анализируя на определенном масштабе (в самом простом случае по порогу) можно выделить характерные особенности сигнала во времени. К примеру для бочки характерен короткий ВЧ всплеск, а затем затухающий бас. Для упрощения можно просто смотреть на большом масштабе НЧ составляющую, на выходе будут всплески с частотой бочки. Если в треке более-менее прямая бочка, то по некоторому усреднению значений можно выделить темп, либо через автокорреляцию.
Сделаю пример - покажу наглядно, т.к. не уверен как это будет работать на реальной музыке, а не на тестовых образцах.
На видео в конце видно как работает алгоритм.
Через анализ спектра после FFT работает вполне приемлемо. Анализ заключается в простом суммировании значений диаграммы для части низких частот и указания полученного значения в качестве смещения для рук.
Тема в архиве.