10kHzの正弦波を別の12kHzの正弦波に追加し、それらをiPhoneスピーカーから一緒に出力すると、そこにあるはずのない他の低い周波数が聞こえます。
これを行うには、正弦波を作成し、バッファーにサンプルを入力してから、別の正弦波のサンプルをバッファーに追加します。
これらの個々の正弦波はそれぞれ個別に正しく機能していますが、それらを組み合わせると、以前にはなかった歪みが聞こえます。
これは私のコールバックコードです:
for (int i = 0; i <inNumberFrames; i++)
{
buffer[i] = buffer[i]+ sin(theta12_8) * myInstance->amplitude;
theta12_8 += 2.0 * M_PI * 12800 / (myInstance->sampleRate);
if (theta12_8 > 2.0 * M_PI)
{
theta12_8 -= 2.0 * M_PI;
}
}
for (int i = 0; i <inNumberFrames; i++)
{
buffer[i] = buffer[i]+ sin(theta10) * myInstance->amplitude;
theta10 += 2.0 * M_PI * 10000 / (myInstance->sampleRate);;
if (theta10 > 2.0 * M_PI)
{
theta10 -= 2.0 * M_PI;
}
}