Определение тангажа в реальном времени с использованием БПФ

Я пытаюсь сделать в реальном времени определение высоты тона, используя C++. Я тестирую некоторый код с сайта Perforous ( http://performous.org/), потому что все остальное у меня не сработало. Я точно знаю, что это работает, но я просто не могу заставить его работать. Я пробовал это в течение нескольких недель, и я не смог заставить работать какой-либо код обнаружения тона.

3 ответа

Вместо того, чтобы использовать вход от микрофона, вы должны создать данные с известной единственной частотой и пропустить их через программу и посмотреть, дает ли она правильный результат. Затем вы можете добавить к нему гармоники и посмотреть, работает ли это. Данные реального мира слишком переменны для первоначального тестирования.

Производительный аудиокод имеет некоторые оптимизации, ограничения по частоте и эвристику, которые делают его пригодным только для пения (и других подобных тонов). Оптимальный диапазон составляет около 80-600 Гц.

C/C++/Obj-C Алгоритм реального времени для определения ноты (не высоты звука) из вокального ввода

Проверьте принятый ответ по этой ссылке.

Я искал SO для ответа на эту проблему, и это самый полезный ресурс, который я нашел.

Похоже, что Performous использует этот алгоритм, но его трудно разобрать из кода Performous.

РЕДАКТИРОВАТЬ: я наконец-то удалось рабочее решение. напишите мне, если заинтересован sunfish|gmail|c0m

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