저는 현재 제로 크로싱 추정을 사용하여 들어오는 신호의 주파수를 감지해야하는 오디오 프로세싱 소프트웨어를 개발 중입니다. 완전한 죄파가 입력 일 때 빈도를 추정하는 것은 어렵지 않지만 피아노에 관해 말할 때 음파는 다르며 이에 대한 이론이 바뀝니다.알 수없는 패턴 추출 C
현재 소프트웨어는 모든 제로를 감지하고 그 사이에 색인 위치를 저장합니다 (얼마나 많은 샘플이 기록되었는지 기록하기 위해).
다음은 44.1kHz로 샘플링 된 130Hz 피아노 C 노트의 각 영점 사이의 샘플을 포함하는 배열입니다.
44 11 36 65 56 12 37 66 52 13 38 67 51 11 39 68 50 11 47 60 49 11 48 61 47 14 47 66 43 13
알 수없는 길이의 알 수없는 패턴을 결정하는 작업입니다. 그러나 이러한 패턴에는 오류 마진이있을 수 있습니다. 예 :
44, 11, 36, 65
56, 12, 37, 66
52, 13, 38, 67
은 패턴입니다. 따라서 패턴의 평균 합계를 처리 한 후 주파수를 쉽게 감지 할 수 있습니다. 어떻게 패턴을 그대로두고 길이가 불분명한지 알고 이러한 유형의 패턴을 감지 할 수 있습니까?
나는 주파수를 추정하기 위해 제로 크로싱을 사용하지 말 것을 제안합니다 ... –
[auto-correlation] (http://en.wikipedia.org/wiki/Autocorrelation)을 상기시켜줍니다. 아무튼, 당신은 [피치 탐지] (http://en.wikipedia.org/wiki/Pitch_detection_algorithm)를 찾고 있어야합니다. –
구현 된 마이크로 프로세서가 실시간으로 FFT를 실행할 수 없기 때문에 ZeroX 접근 방식을 사용하고 있습니다. @OliCharlesworth –