Как получить основную частоту от БПФ?

Я разрабатываю флеш-гитару, и единственный очевидный метод определения частоты данных с микрофона - это использование FFT. Тем не менее, после 30 часов исследований я не смог найти лучший способ сделать это. Должен ли я использовать Harmonic Product Spectrum (HPS), Cepstrum или максимальное правдоподобие? Тюнер должен будет показывать частоты от 25 до 3000 Гц.

Также, если кто-то знает о каком-то открытом исходном коде, готовом найти основную частоту, пожалуйста, сообщите мне. Я могу перевести его на ActionScript.

Спасибо!

3 ответа

Самая простая техника, с которой я добился успеха, - это использовать БПФ, а затем выполнить Гармонический спектр продуктов. Он прост в реализации и не очень ресурсоемкий, вам просто нужно правильно уменьшить частоту FFT и создавать продукты.

Следующий вопрос также должен быть полезен: обнаружение основной частоты

Я пытаюсь ответить с моим основным воспоминанием: когда у вас есть БПФ вашего сигнала, фундаментальный не тот с максимальной амплитудой?

БПФ это не лучший способ найти основную частоту музыкального инструмента. На самом деле, да, было бы лучше использовать кепстр. Подобные вопросы вы можете найти здесь: Алгоритм определения основной частоты по потенциальным гармоникам и здесь: MATLAB - Отсутствует фундаментальный из БПФ

Другие вопросы по тегам