2011-11-18 86 views

回答

1

最简单的方法是回放已经达到所需频率的样本。如果您使用OpenAL,则可以将音调从一半调整到两倍。所以,如果你有一个你知道在440Hz的蜂鸣声样本,那么OpenAL允许你从220Hz - 880Hz重现蜂鸣声。对于连续音调,我会使用另一个样本,再次以已知的频率进行,但适合循环播放并循环播放(再次使用OpenAL)。

任何合成器应该能够以已知频率再现基本音调。如果您可以访问Sound Forge,则可以使用Tools/Synthesis/Simple生成简单的音色。

这里是一个链接,这将有助于你

http://atastypixel.com/blog/using-remoteio-audio-unit/

1

使用音频队列或RemoteIO音频单元API。用适当频率的正弦波样本填充回调缓冲区:

buffer[i] = myVolume * sinf(twoPiFrequencyOverSampleRate * i); 

保存回调之间的相位以避免点击。