Как извлечь информацию о частоте из образцов из PortAudio, используя FFTW в C
Я хочу создать программу, которая будет записывать аудиоданные с помощью PortAudio (я сделал эту часть), а затем отображать информацию о частоте этого записанного звука (на данный момент, я хотел бы отобразить среднюю частоту каждой из группы сэмплов как они входят).
Из некоторых исследований, которые я провел, я знаю, что мне нужно сделать БПФ. Так что я гуглил библиотеку для этого в C и нашел FFTW.
Однако сейчас я немного растерялся. Что именно я должен делать с записанными сэмплами, чтобы извлечь из них некоторую частоту? Какой тип БПФ мне следует использовать (я полагаю, мне нужны реальные данные 1D?)?
И как только я сделаю БПФ, как мне получить информацию о частоте из данных, которые он мне дает?
РЕДАКТИРОВАТЬ: Теперь я нашел также алгоритм автокорреляции. Это лучше? Simpler?
Большое спасибо заранее, и извините, у меня нет абсолютно никакого опыта, если это. Я надеюсь, что это имеет хоть какой-то смысл.