GetSpectrumData 함수를 사용하여 가장 높은 피크 bin을 찾아 마이크의 Unity에서 실시간 오디오 입력의 기본 주파수를 계산할 수 있습니다. 그러나 더 낮은 주파수에서는 실패합니다. 저주파 음을 연주하면 고조파의 빈도가 발생한다고 생각합니다. 어떻게 고조파 데이터를 사용하여 기본 주파수를 계산할 수 있습니까?고조파 데이터를 사용하여 마이크로폰 입력의 기본 주파수를 계산하는 방법
답변
풍부한 모노 모노 피치 감지 및 추정을 위해 하모닉 제품 스펙트럼 알고리즘을 사용할 수 있습니다.
또 다른 가능성은 Cepstrum 또는 Cepstral 분석입니다.
어떻게 HPS 알고리즘을 사용할 수 있습니까? –
그건 별개의 질문입니다. 왜 물어 보지 않으시겠습니까? (주석 달기 대신). – hotpaw2
http://tackoverflow.com/questions/42694778/how-can-i-use-harmonic-product-spectrum-algorithm-for-overtone-rich-monophonic-p –
휠을 다시 발명하려고 시도하지 않고 적절한 피치 검출 알고리즘을 사용할 수 있습니다. 또는 "빠르고 더러운"무언가를 원한다면 연속 고조파 간의 거리를 측정 할 수 있습니다. 일반적으로 동일하기 때문에 기본 주파수로. –
입력이 모노 포닉이고 굉장히 시끄럽지 않은 경우 [autocorrelation] (http://dsp.stackexchange.com/questions/386/autocorrelation-in-audio-analysis)을 사용할 수 있습니다. – Linuxios
@Linuxios 자기 상관을 시도했지만, 잘 동작한다 (https://pitchtracker.codeplex.com/). 그러나 나는 또한 첫 7 고조파의 진폭을 원합니다. 그것은 자기 상관을 사용하는 것이 가능합니다. 그렇다면 올바른 길로 인도하십시오. –