ADSR
Gate が開いている間ずっと値を保持できるエンベロープです。Gate が true になると 0 から Attack 秒で 1 まで立ち上がり、Decay 秒かけて Sustain の高さまで落ちて、そこで保持します。Gate が false になったら、その瞬間の値から Release 秒かけて 0 へ落ちます。カーブの形は Curve ドロップダウンで選び、4区間すべてに同じ Ease が使われます(Easing と共通の一覧)。
Trigger 入力は Gate を持たない相手(拍・ヒット検出)用で、開けた直後に Attack + Decay 経過で自動的に閉じます。結果として AD エンベロープ + Release になり、Sustain は Decay の着地点として効きます。
- Attack 既定 0.05 秒 / Decay 既定 0.2 秒 / Release 既定 0.4 秒(いずれも負値は 0 扱い)
- Sustain 既定 0.6(0〜1 にクランプ)
- Curve 既定 OutQuad
- Envelope は 0〜1、On Release End はリリースが終わって 0 になった瞬間に発火
再トリガーは値の連続性を取らず、常に 0 から立ち上げ直します。
Gate は値が 変化した瞬間(false→true / true→false)だけを見ます。毎フレーム true を送り続ける出力(再生中フラグ等)を挿しても開き直しは起きず、Attack は正常に完了します。
動画
入力ポート
| Port ID | 型 |
|---|---|
Gate | bool |
Trigger | trigger |
Attack | float |
Decay | float |
Sustain | float |
Release | float |
出力ポート
| Port ID | 型 |
|---|---|
Envelope | float |
On Release End | trigger |
スクリプトから設定可能なメンバー
| パス | 型 |
|---|---|
gateInput | bool |
attackInput | float |
decayInput | float |
sustainInput | float |
releaseInput | float |
Synapse Apps(スクリプティング)
await synapse.modules.create({ type: "ADSR" }) 
