Начало обнаружения удара? - PullRequest
2 голосов
/ 27 июня 2011

Как вы определяете, какие наступления являются ударами? Я использую Spectral Flux для обнаружения начала ноты и скользящее среднее для выбора пиков / пороговых значений.

Я просто работаю с гитарным инструментом, поэтому наличие перкуссии может не помочь с этим. Есть идеи?

Спасибо!

Ответы [ 2 ]

2 голосов
/ 06 февраля 2014

РЕДАКТИРОВАТЬ : Ух ты ... только что понял, что этому вопросу 3 года ... извините, что воскресил старый пост.


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

Мой код (как в C ++, так и в порте Matlab) не является общедоступным из-за возможных проблем с копирайтингом в моем университете, но если вы напишите мне на dberm22 [at] gmail [dot] com, я буду более чем готов на гм :: обсудить мою работу с вами.

2 голосов
/ 28 июня 2011

Попробуйте использовать алгоритм отслеживания ударов. Отслеживание биений - это отдельная проблема по сравнению с обнаружением начала.

Я думаю, что есть хороший алгоритм в наборе плагинов Queen Mary для Sonic Visualizer. Плагины с открытым исходным кодом, так что вы можете взглянуть на код, чтобы понять, как они работают.

Или выполните поиск в Google scholar для "отслеживания ударов". Есть ряд эффективных подходов. Дэн Эллис ' хороший вариант для начала. Это интуитивно понятно, и есть код, доступный в Matlab и Java.

...