2016-01-10 53 views
1
this.source.connect(this.filter); // Filter set to eq value 200 
this.source.connect(this.convolver); 
this.source.connect(this.dry); 
this.convolver.connect(this.wet); // Convolver is the actual convolver 
this.filter.connect(context.destination);  
this.dry.connect(context.destination); // Dry is a gain (at 1) 
this.wet.connect(context.destination); // Wet is a gain (at 1) 

只要我想添加一個過濾器,事情就會變得非常混亂。你可以假設過濾器和一切都設置正確。單獨測試他們工作正常。但現在看來,除了過濾器之外,一切都可以工作。再說一次,過濾器本身工作正常,但我不知道如何正確地路由它。在Webaudio API中路由多重效果

我確實看過這裏:http://www.w3.org/TR/webaudio/#ModularRouting 儘管這個例子對於像我這樣的初學者來說有點過於複雜。

如何將過濾器路由到其餘部分,以及在想要將更多效果添加到音頻文件的乾燥和溼潤部分時需要考慮什麼?

獎金:一個不錯的「中間」圖將會很棒:)。

回答

2

一般來說,大多數「效果」風格的路線需要串聯,而不是平行。最終,過濾後的信號會被添加到未經過濾的信號中(通過卷積器的乾溼路徑)。它仍然會有一些效果,但這可能不是你想要的;你可能想這一點:

this.source.connect(this.filter); // Filter set to eq value 200 
this.filter.connect(this.convolver); 
this.filter.connect(this.dry); 
this.convolver.connect(this.wet); // Convolver is the actual convolver 
this.dry.connect(context.destination); // Dry is a gain (at 1) 
this.wet.connect(context.destination); // Wet is a gain (at 1) 

現在,幹/溼收益將卷積和unconvolved信號之間的平衡,但都將被過濾。

+0

哦,我明白了!我想我可以同時做到這一點。由於你的解釋總是如此詳細,所以你迄今爲止的答案都是完美的。我很高興有人對這個主題有所瞭解。很難得到諸如tge webaudio api這樣的新技術的建議,所以我會在2天內再次給你一個獎勵:) – Asperger

+0

我設法路由許多效果,比如延遲和壓縮器。 – Asperger