2011-01-31 7 views
4

기타의 소리의 주파수를 캡처해야하는 프로그램을 작성 중입니다. 나는 aurioTouch 예제를 변경하여 주파수를 최대 크기로 출력합니다. 그것은 높은 음표에는 괜찮지 만 낮은 음계에는 매우 부정확합니다. 나는 그것이 배음 때문이라고 생각합니다. Cepstrum Analysis와 같은 문제를 해결하는 방법을 연구했지만 예제 코드 내에서이를 구현하는 방법에 대해 분실했습니다. 설명이 명확하지 않고 따를 필요가 없기 때문입니다. 어떤 도움을 주시면 대단히 감사하겠습니다.애플의 auriotouch 예제로 주파수 계산하기

+0

aurioTouch 예제에는 이미 오디오를 캡처하고 FFT를 수행하고 스펙트럼을 표시하는 기능이 있으므로 FFT 등을 수행하는 부분을 찾은 다음 해당 지점에서 원하는 것을 수행하기 위해 수정할 수 없습니다 , 틀림없이? –

+0

또한보십시오 : http://stackoverflow.com/questions/4501089/fft-pitch-detection-for-guitar-string –

+0

당신이 ios를위한 해결책을 찾아내는 경우에 저를 도우십시오. – dreamBegin

답변

4

음악 피치는 최고 주파수와 다릅니다.

그러나 실시간 오디오로 작업하는 동안 알고리즘을 조사하는 것은 쉽지 않습니다.

문제를 분리하는 것이 좋습니다. Mac에있는 음악 사운드 (기타 뽑기 등)를 원시 사운드 파일에 녹음하십시오. 이러한 녹음 된 샘플 세트에서 선택한 피치 추정 알고리즘을 사용해보십시오. 그런 다음,이 작업을 완료 한 후 코드를 iOS 오디오 및 Accelerate (FFT 용) 프레임 워크에 통합하는 방법을 파악하십시오.

+0

나쁘지 않은 생각 이군요, 그 샷을 드리겠습니다 – johnm

+0

안녕하세요. 저는 또한 내 앱에 auriotouch 프로젝트를 통합하려고합니다. 나는 오랫동안 노력해 왔지만 여전히 그것을 파악할 수 없었습니다. 그래서,이 문제를 해결할 수 있도록 도와 줄 수 있습니까? –