Как извлечь информацию о частоте из образцов из PortAudio, используя FFTW в C

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

Из некоторых исследований, которые я провел, я знаю, что мне нужно сделать БПФ. Так что я гуглил библиотеку для этого в C и нашел FFTW.

Однако сейчас я немного растерялся. Что именно я должен делать с записанными сэмплами, чтобы извлечь из них некоторую частоту? Какой тип БПФ мне следует использовать (я полагаю, мне нужны реальные данные 1D?)?

И как только я сделаю БПФ, как мне получить информацию о частоте из данных, которые он мне дает?

РЕДАКТИРОВАТЬ: Теперь я нашел также алгоритм автокорреляции. Это лучше? Simpler?

Большое спасибо заранее, и извините, у меня нет абсолютно никакого опыта, если это. Я надеюсь, что это имеет хоть какой-то смысл.

Ответы на вопрос(1)

Ваш ответ на вопрос