T("env")

KR/AR Envelope

Description

エンベロープを定義し、bang()を受けて動作します。インプットがない場合はエンベロープ値のみを、インプットがある場合はインプットを加算したものにエンベロープ値を積算して出力します。

エンベロープの形状は table プロパティで指定します。table初期値 に続いて [次の値, 時間(ms), カーブの種類] の子配列を要素に持つ配列です。以下の例では 440Hzから 0.5秒かけて 880Hzに上昇し、0.25秒で 660Hzに遷移するエンベロープをオシレーターの周波数の入力として 3回動作させています。

releaseNode プロパティを指定すると、 release() メソッドをトリガするまで持続するエンベロープを作成できます。以下の例では 3番目の要素をリリースノードとすることで直前の値 0.6 まで遷移した後、持続して release() がトリガされてから 1秒かけて 0 に遷移するエンベロープを動作させています。

loopNode プロパティを指定すると、エンベロープの末尾まで到達した後、リリースノード以降を繰り返すエンベロープを作成できます。以下の例では 1番目の要素をループノードとすることで周期的に変化するエンベロープを作成して、オシレーターの周波数の入力とすることでビブラートを行っています。releaseNode と合わせて使用した場合、ループノードとリリースノードの間でループします。

Properties

Methods

Events

Tips

Constructors

T("env") クラスには便利なコンストラクタが用意されています。それらを使えば、最小限のパラメータでエンベロープテーブルを作成することができます。

T("perc")

T("perc") はパーカッシブなエンベロープを作ります。

T("adsr")

T("adsr") はADSRタイプの持続エンベロープを作ります。

T("adshr")

T("adshr") はADSHRタイプのエンベロープを作ります。

T("asr")

T("asr") はASRタイプの持続エンベロープを作ります。

T("dadsr")

T("dadsr") は DADSRタイプの持続エンベロープを作ります。

T("ahdsfr")

T("ahdsfr") は AHDSFRタイプの持続エンベロープを作ります。

T("linen")

T("linen") は台形エンベロープを作ります。

T("env.tri")

T("env.tri") は三角エンベロープを作ります。

T("env.cutoff")

T("env.cutoff") はカットオフエンベロープを作ります。

Source

https://github.com/mohayonao/timbre.js/blob/master/src/objects/env.js