Hi there,
There's a line in the midisine.c code at jack's example client directory.
In this code, Ian Esten has calculated note frequencies in the function below:
void calc_note_frqs(jack_default_audio_sample_t srate)
{
int i;
for(i=0; i<128; i++)
{
note_frqs[i] = (2.0 * 440.0 / 32.0) * pow(2, (((jack_default_audio_sample_t)i - 9.0) / 12.0)) / srate;
}
}
after that, a variable called ramp is used to form the sine wave samples in the function process:
ramp += note_frqs[note];
ramp = (ramp > 1.0) ? ramp - 2.0 : ramp;
out[i] = note_on*sin(2*M_PI*ramp);
I actually understood what the code does. But can someone show me a place to read information about the equation:
note_frqs[i] = (2.0 * 440.0 / 32.0) * pow(2, (((jack_default_audio_sample_t)i - 9.0) / 12.0)) / srate;
I couldn't catch the relationship in the calculation above.
Thanks.
--
Arda EDEN
Cumhuriyet University
Faculty of Fine Arts
Department of Music Technology
Sivas/TURKEY