是否有通用的代碼可用於使用數學課程生成正方形,三角形,鋸齒或任何其他自定義波形?ActionScript - 從Math.sin()創建正方形,三角形,鋸齒波?
下面是處理SampleDataEvent並播放中等c(440 Hz)正弦波的基本函數。我想通過結合正方形,三角形和其他波來改變音調。
var position:int = 0;
var sound:Sound = new Sound();
sound.addEventListener(SampleDataEvent.SAMPLE_DATA, sampleDataHandler);
sound.play();
function sampleDataHandler(event:SampleDataEvent):void
{
for(var i:int = 0; i < 2048; i++)
{
var phase:Number = position/44100 * Math.PI * 2;
position ++;
var sample:Number = Math.sin(phase * 440);
event.data.writeFloat(sample); // left
event.data.writeFloat(sample); // right
}
}
你只需要用'sin'嗎?你可以寫你自己的功能嗎? – kennytm 2010-08-02 11:16:46
我沒有要求使用Math.sin(),但我只是假設使用Math.sin()(或.cos())將如何創建自定義波形完成?或者至少很容易完成。 – TheDarkIn1978 2010-08-02 11:27:53