Обнаружение шага в реальном времени

я пытаюсь сделать в реальном времени обнаружение высоты тона пения пользователей, но яЯ сталкиваюсь с множеством проблем. Я'Я перепробовал много методов, включая FFT (Проблема БПФ (возвращает случайные результаты)) и автокорреляция (Автокорреляционное обнаружение высоты тона возвращает случайные результаты с микрофонного входа), Но я могу'Кажется, нет никаких методов, чтобы дать хороший результат. Кто-нибудь может предложить метод для отслеживания основного тона в реальном времени или как улучшить метод, который у меня уже есть? Я могу'Кажется, что нет никаких хороших методов C / C ++ для обнаружения основного тона в реальном времени.

Спасибо,

Найл.

Редактировать: просто отметить, яМы проверили, что входные данные микрофона верны, и что при использовании синусоидальной волны результаты более или менее соответствуют правильной высоте.

Редактировать: Извините, что уже поздно, но в данный момент я визуализирую автоколлацию, вынимая значения из массива результатов и каждого индекса, и нанося на график индекс по оси X и значение по оси Y (оба делятся на 100000 или около того, и я использую OpenGL), подключая данные к хосту VST и используя плагины VSTЭто вариант для меня. На данный момент это выглядит как случайные точки. Правильно ли я делаю это, или вы можете, пожалуйста, указать мне код для этого или помочь мне понять, как визуализировать необработанные аудиоданные и данные автокорреляции.

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

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