Как получить основную частоту от БПФ? - PullRequest
1 голос
/ 06 февраля 2011

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

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

Спасибо!

Ответы [ 3 ]

4 голосов
/ 26 апреля 2011

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

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

2 голосов
/ 06 февраля 2011

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

0 голосов
/ 06 февраля 2011

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

...