Я работаю над программой, которая должна захватывать частоту звука с гитары. Я изменил пример aurioTouch, чтобы вывести частоту, используя частоту с наивысшей величиной. Он работает нормально для высоких нот, но очень неточен в нижних строках. Я считаю, что это связано с обертонами. Я исследовал способы решения этой проблемы, такие как Cepstrum Analysis, но я теряюсь в том, как реализовать это в примере кода, поскольку это неясно и трудно следовать без комментариев. любая помощь будет принята с благодарностью, спасибо!расчет частоты с использованием примера auriotouch яблока
ответ
Как вы обнаружили, музыкальная подача не совпадает с пиковой частотой.
Но попытка исследовать алгоритмы при попытке работать с аудио в реальном времени непросто.
Я предлагаю вам разделить проблемы. Запишите некоторые звуки музыки (гитарные сгибы и т. Д.) На вашем Mac в сырые звуковые файлы. Попробуйте выбранные вами алгоритмы оценки шага на этих записанных наборах образцов. Затем, после того как вы получите эту работу, выясните, как интегрировать свой код в iOS-аудио и ускорить (для FFT).
Неплохая идея, я дам этот снимок – johnm
Привет .. Я также пытаюсь интегрировать проект auriotouch в своем приложении. Я пробовал очень долго, и все же я не мог понять это. Итак, может ли помочь мне разобраться с этой проблемой? –
Поскольку пример aurioTouch уже имеет возможность захватывать звук, делать БПФ и отображать спектр, не может быть слишком сложно найти часть, которая выполняет БПФ и т. Д., И изменить ее, чтобы делать то, что вы хотите в этой точке , конечно? –
См. Также: http://stackoverflow.com/questions/4501089/fft-pitch-detection-for-guitar-string –
, если вы нашли решение для ios, пожалуйста, помогите мне. – dreamBegin