私はこれと似たようなことが必要なので、このexample about sound generation on iOSを見ていますが、理解できない部分があり、誰かがそれを手伝ってくれることを望んでいました。コードのこの部分でiOSの音色の生成
:
double theta_increment = 2.0 * M_PI * viewController->frequency/viewController->sampleRate;
// Generate the samples
for (UInt32 frame = 0; frame < inNumberFrames; frame++)
{
buffer[frame] = sin(theta) * amplitude;
theta += theta_increment;
if (theta > 2.0 * M_PI)
{
theta -= 2.0 * M_PI;
}
}
は、私は本当にtheta += theta_increment;
部分が何のためにあるのかを理解していません。私にとっては、forループの内部でこれを行う方が意味があります。
buffer[frame] = sin(theta_increment * frame);
なぜそれがうまくいかないのでしょうか?また、私はコードのこの部分が何であるか分かりません:if (theta > 2.0 * M_PI)
それについての説明も非常に歓迎されるでしょう。