과 주파수 영역을 얻으이 코드 사용 : 그 알고리즘 주파수 도메인을 얻기 위해 다음에 무엇을해야합니까, 오디오 데이터를 처리하는 동안 기능 사용 후Goertzel 알고리즘
public double goertzel(List<double> sngData, long N, float frequency, int samplerate)
{
double skn, skn1, skn2;
skn = skn1 = skn2 = 0;
samplerate = this.sampleRate;
frequency = this.freq;
double c = 2 * pi * frequency/samplerate;
double cosan = Math.Cos(c);
for (int i = 0; i < N; i++)
{
skn2 = skn1;
skn1 = skn;
skn = 2 * cosan * skn1 - skn2 + sngData[i];
}
return skn - Math.Exp(-c) * skn1;
}
를?
귀하의 질문에 이해가되지 않습니다. Goertzel 알고리즘은 신호 데이터에서 주파수를 끌어냅니다. 그 결과는 주파수 영역에 있습니다. 단일 주파수를 감지하려고합니까? 아니면 Constant Q 변환과 같은 것을 원하십니까? – Brannon
나는 Goertzel이 FFT와 같다고 생각한다. 그래서, 나는 그 알고리즘으로 오디오 샘플의 주파수를 얻어야합니다. 그 goertzel 알고리즘을 노래 식별자 (예 : shazam, 등)을 구현하고 싶습니다. 주파수를 얻기 위해 Goertzel 알고리즘을 사용하면 어떻게 될까요? –