2011-01-31 2 views
4

Я работаю над программой, которая должна захватывать частоту звука с гитары. Я изменил пример aurioTouch, чтобы вывести частоту, используя частоту с наивысшей величиной. Он работает нормально для высоких нот, но очень неточен в нижних строках. Я считаю, что это связано с обертонами. Я исследовал способы решения этой проблемы, такие как Cepstrum Analysis, но я теряюсь в том, как реализовать это в примере кода, поскольку это неясно и трудно следовать без комментариев. любая помощь будет принята с благодарностью, спасибо!расчет частоты с использованием примера auriotouch яблока

+0

Поскольку пример aurioTouch уже имеет возможность захватывать звук, делать БПФ и отображать спектр, не может быть слишком сложно найти часть, которая выполняет БПФ и т. Д., И изменить ее, чтобы делать то, что вы хотите в этой точке , конечно? –

+0

См. Также: http://stackoverflow.com/questions/4501089/fft-pitch-detection-for-guitar-string –

+0

, если вы нашли решение для ios, пожалуйста, помогите мне. – dreamBegin

ответ

4

Как вы обнаружили, музыкальная подача не совпадает с пиковой частотой.

Но попытка исследовать алгоритмы при попытке работать с аудио в реальном времени непросто.

Я предлагаю вам разделить проблемы. Запишите некоторые звуки музыки (гитарные сгибы и т. Д.) На вашем Mac в сырые звуковые файлы. Попробуйте выбранные вами алгоритмы оценки шага на этих записанных наборах образцов. Затем, после того как вы получите эту работу, выясните, как интегрировать свой код в iOS-аудио и ускорить (для FFT).

+0

Неплохая идея, я дам этот снимок – johnm

+0

Привет .. Я также пытаюсь интегрировать проект auriotouch в своем приложении. Я пробовал очень долго, и все же я не мог понять это. Итак, может ли помочь мне разобраться с этой проблемой? –