2017-04-25 7 views
0

これはTone.jsを初めて使用しているので愚かな疑問かもしれませんが、ローパスフィルタの周波数値をrampToすることは可能ですか? ローパスを値(x)にランプする必要があるリアルタイムのインタラクティブな作業をしようとしています。 私はいくつかのことを試しましたが、うまくいくものはありません。 synth.volume.rampTo(x、t)のようなものはうまく動作しますが、Filterコンポーネントでは機能しないようです。RampTo Tone.jsでのフィルタの周波数値

例えばSignalクラスには.rampToのようなメソッドがあるので、私はFrequency値としてSignalを渡そうとしました。これは正しいです?私はこれをどのようにしなければならないのですか?

var lowPassFreq = new Tone.Signal(300, Tone.Frequency); 

var lowPass = new Tone.Filter(
    { 
     "type":"lowpass", 
     "frequency":lowPassFreq.value   
    } 
).toMaster(); 

var noiseSynth = new Tone.NoiseSynth().connect(lowPass); 

this.playSound = function (x){ 

    noiseSynth.triggerAttack("4n"); 

    lowPassFreq.rampTo(x, 0.05) 
    lowPass.frequency.value = lowPassFreq.value 

} 

答えて

0

ないあなたがやろうとしているが、あなたはvaluetimeのための適切な値でlowPass.frequency.linearRampToValueAtTime(value, time)を試みることができるかを正確に確認してください。これにより、フィルタの周波数(カットオフ)が現在の値から新しいvalueまで直線的に変更されます。

+0

ahhh Raymondに感謝します。問題はlowPass.frequency.value.rampTo()を使用しようとしていて、エラーが発生していたことです。だから、私はlowPassFreq信号を通過しようとしていたのです... ...。 –

+0

あなたが何をしようとしているかわからなかったので、うれしかったです。誰もがある時点で騒ぎです! –