2011-09-15 22 views
2

私は* .cafオーディオファイルに基づいてサウンドを再生するために私のアプリでOpenALを使用しています。OpenALでホワイトノイズを生成して再生する方法は?

tutorial which describes how to generate white noise in OpenALがあります:

amplitude - rand(2*amplitude) 

しかし、彼らは

alSourcei(source, AL_LOOPING, AL_TRUE); 

で、このアプローチの問題その後、1000のサンプルとちょうどループバッファことでバッファを作成している:ちょうどdoesnのホワイトノイズのループをDCオフセットのためにこのように動作しません。音には目立つぐらつきがあります。私は、さまざまなアプリケーションで生成された数十のホワイトノイズ領域をループさせてみましたが、それらのすべてが同じ問題を抱えていたためです。クロスフェードを試み、領域がゼロ交差点にカットされていることを確認した後でさえも。

OpenALはAudio UnitやAudio Queuesよりも低レベルなので、ループを必要としないように連続してホワイトノイズを生成する方法が必要です。

多分、誰かがそのトピックに関するいくつかの有益なリソースを指摘できます。

答えて

3

最小限の変更を加えたソリューションは、ウォブルが低すぎて簡単に聞こえないように、はるかに長いOpenALノイズバッファ(数秒)を作成することです。 44Hzリピートで隠された波形(44.1kサンプルレートで1000サンプル)は、通常の人間の聴覚範囲内です。

関連する問題