2013-08-06 56 views
0

我知道如何製作一個sf::SoundBuffer之類的東西,但是我怎樣才能以編程方式創建一個SFML能夠讀取的短節距噪聲。或者我會怎樣去創造一個逐漸增加音量或者變得更高/更低的噪音?存儲什麼格式的聲音? OpenAL/SFML

回答

1

您可以使用sf::SoundBufferloadFromSamples(請參閱documentation)。

聲音在內存中的表示基本上是一個大的整數陣列,給出了給定時間信號的幅度。您可以使用正確的參數將您自己的陣列提供給sf::SoundBuffer,這將爲您提供程序化生成的聲音。

對於聲音,音量等的操作,我不能幫你,但你必須搜索信號處理等的數學。

+0

所以,如果我創建一個立體聲樣本,這是否意味着我應該通過樣本並將其設置爲數組大小的一半? –

+0

哪些數據代表左側揚聲器,哪些數據是正確的? –

+1

'channelCount'參數告訴它它是一個單聲道,立體聲聲音或其他。我敢打賭,如果它提供了立體聲,SFML會假定2個連續樣本代表左/右輸出。但你最好在論壇上提問(http://en.sfml-dev.org/forums/)。 –