J'ai lu un code pour la détermination du pas en utilisant la méthode d'autocorrélation. Quelqu'un peut-il s'il vous plaît dire quelles seraient les données d'entrée (passé comme argument à DetectPitch()) fonction ici:Méthode d'autocorrélation pour la détermination de la hauteur: quelle est la forme des données d'entrée?
double DetectPitch(short* data)
{
int sampleRate = 2048;
//Create sine wave
double *buffer = malloc(1024*sizeof(short));
double amplitude = 0.25 * 32768; //0.25 * max length of short
double frequency = 726.0;
for (int n = 0; n < 1024; n++)
{
buffer[n] = (short)(amplitude * sin((2 * 3.14159265 * n * frequency)/sampleRate));
}
doHighPassFilter(data);
printf("Pitch from sine wave: %f\n",detectPitchCalculation(buffer, 50.0, 1000.0, 1, 1));
printf("Pitch from mic: %f\n",detectPitchCalculation(data, 50.0, 1000.0, 1, 1));
return 0;
}
Votre question est très vague - s'il vous plaît indiquer clairement ce qu'il est que vous avez un problème ici. Vous avez probablement aussi besoin de poster le code pour detectPitchCalculation. –