2011-08-22 40 views
0

我一直在玩的動態音頻庫standingwave 3裁剪。幾乎第一件事一個通知的是,如果一個人試圖從在developer's guide代碼樣本,即此代碼:重疊的聲音和StandingWave3

// Create a chord of three simultaneous sine tones: A3, E4, A4. 
var sequence:ListPerformance = new ListPerformance(); 
sequence.addSourceAt(0, new SineSource(new AudioDescriptor(), 0.1, 440)); 
sequence.addSourceAt(0, new SineSource(new AudioDescriptor(), 0.1, 660)); 
sequence.addSourceAt(0, new SineSource(new AudioDescriptor(), 0.2, 880)); 
// Play it back. 
var source:IAudioSource = new AudioPerformer(sequence); 
player.play(source); 

然後一個得到一個非常令人不快的聲音和微量元素,上面寫着「AUDIO裁剪」的消息。開發人員在github的issue reports之一中解釋說,當你將它們混合在一起以避免這種情況時,你需要減少採樣的增益,並且沒有簡單的方法來動態地知道需要多少壓縮。

我的問題是,它是如何stangingwave2似乎已經處理了這個自動?例如,上面引用的代碼不會在SW2中剪輯。同樣考慮這個SW2 example demo - 如果增加維持和保持(S/H的滑塊),然後按順序按鈕中的一個,多個音調將不削波重疊,即使source不顯示改變增益的任何明顯標誌或罪的音量,他們只是混合在一起。

這是怎麼回事 - 沒SW2有處理這種自動的一些方式,或者是有一般的聲音疊加任意數目的動態,而不會造成裁剪一些可靠的方法?謝謝!

回答

1

由於沒有活動似乎可能在這裏,我會注意的,顯然SW2只是返回比全尺寸小得多正弦源的年齡,但事實證明,如果你把足夠的資源你就得到裁剪。 SW3以全尺寸返回信號源,因此削波變得明顯,信號源更少。