Время извлечения частот - PullRequest
1 голос
/ 21 марта 2012

Я беру сэмпл песни и выполняю БПФ (быстрое преобразование Фурье) сэмпла. Я могу получить частоты песни, но не могу определить время, когда эти частоты происходят. Таким образом, это в основном становится бесполезным, поскольку мне приходится сопоставлять его с другим образцом, если я не получу информацию о времени из него.

Как мне поступить?

Ответы [ 2 ]

5 голосов
/ 21 марта 2012

Вам нужно разбить сэмпл на несколько меньших временных интервалов и БПФ для каждого среза. Каждый результат FFT дает вам среднюю частоту контента за этот отрезок времени. Это обычно называется спектрограмма

3 голосов
/ 21 марта 2012

Ответ на ваш вопрос включает в себя компромисс между частотой и временем, с которым вам придется принять решение. Чем меньше интервал времени вы анализируете, чтобы получить меньшее окно временной неопределенности, тем выше точность частоты. И наоборот. Если вам нужна точная частота, тогда требуется временное окно и, таким образом, неопределенность во времени может стать бесконечно большой.

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

...