2011-11-18 84 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); 

保存回調之間的相位以避免點擊。