2016-11-14 2 views
1

Я работаю над анализом аудиофайлов в Python, в частности музыкальным звуком, и я применил DFT (FFT) для получения данных в частотной области, но никакого поиска или возиться с ним, показал хороший способ идентифицировать «пики»/локальные максимумы в частотах. Мои данные довольно шумные, пример графика после применения преобразования Фурье ниже. Помощь была бы действительно оценена. Я также смотрю на получение коэффициентов MFCC из этих данных, но я также не уверен, как это сделать, поэтому знание по этому вопросу также будет полезно.Как определить локальные максимумы данных FFT

FFT of Audio File

+0

Я бы просто выполнил средний пробег с соответствующей шириной (10 Гц, похоже, хороший старт), чтобы сгладить ваши данные, а затем просто найдите локальный макс на denoised signal ... – Julien

+0

попробуйте с этой библиотекой: https: // github. com/jameslyons/python_speech_features, «не повторяйте себя», «Не изобретайте велосипед», – eyllanesc

ответ

0

Во-первых, вам нужно, чтобы сгладить ваши данные (FFT), выполнив фильтрации нижних частот. После этого вы можете найти пересечения нуля на градиентах сигнала. Вы можете фильтровать сигнал с помощью [-1, 1], чтобы найти градиент, и выбрать элементы, предшественник которых положителен, а преемник отрицательный.

Смежные вопросы