Ударная экстракция в MATLAB - PullRequest
0 голосов
/ 07 января 2011

У меня нет опыта в MATLAB, и, к сожалению, мой проект в MATLAB.

По сути, цель состоит в том, чтобы прочитать источник музыки (желательно в формате mp3, но .wav также хорошо) в MATLAB, а затем применить фильтр низких частот таким образом, чтобы он фильтровал все, кроме битов. Затем он должен получить время, в которое происходит каждый удар, и записать результаты в текстовый файл.

Ответы [ 3 ]

4 голосов
/ 07 января 2011

Я думаю, что с файлами .wav работать немного проще, хотя в Matlab вполне есть утилиты для таких вещей, на самом деле: Чтение .wav

Самый простой способреализовать фильтр нижних частот - это фильтр скользящего среднего.

Самый простой способ сделать это - циклически обработать данные и взять среднее значение для каждой группы из n значений.Я не уверен, как именно частота среза будет зависеть от n, но вы могли бы немного поэкспериментировать.

В противном случае, я знаю, что есть набор инструментов для обработки сигналов для Octave, и я думаю, что Matlab имеет встроенныйв функции фильтра: https://ccrma.stanford.edu/~jos/fp/Matlab_Filter_Implementation.html

Третий способ, который является чрезмерным, состоит в том, чтобы выполнить БПФ и выполнить фильтрацию в частотной области.

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

2 голосов
/ 07 января 2011

30 секунд в Google с ключевыми словами " бит извлечения matlab " дают следующие два источника кода :

  1. Music Audio Tempo Estimateи Beat Tracking
  2. Beat This Проект синхронизации ударов
1 голос
/ 26 ноября 2016

В Matlab вы можете использовать и современный многофункциональный алгоритм отслеживания ударов, информация об алгоритме опубликована здесь: Дж. Р. Сапата, М. Дэвис и Э. Гомес, «Многофункциональный трекер ритма», транзакции IEEE / ACM по обработке аудио, речи и языка 22 (4), стр. 816-825, 2014. http://dx.doi.org/10.1109/TASLP.2014.2305252

Реализация Matlab многофункционального трекера: https://github.com/JoseRZapata/MultiFeatureBeatTracking

...