AudioParam
Web Audio API のAudioParam
インタフェースは、オーディオ関連のパラメーターを表します、通常はAudioNode
のパラメーター(GainNode.gain
など)です。AudioParam
は特定の値または値の変化に設定でき、特定の時間に特定のパターンに従って発生するようにスケジュールできます。
AudioParam
には、a-rate と k-rate の 2 種類のパラメータがあります。
- a-rate
AudioParam
は、オーディオ信号の各 sample frame の現在のオーディオパラメータ値を取ります。 - k-rate
AudioParam
は、処理されるブロック全体に対して同じ初期オーディオパラメータ値、つまり 128 サンプルフレームを使用します。
各AudioNode
は、そのパラメータのどれがスペック内の a-rate または k-rate であるかを定義します。
各AudioParam
には、いつ、どのように値が変化するかを定義する初期値が空のイベントリストがあります。 このリストが空でない場合、AudioParam.value
属性を使用した変更は無視されます。 このイベントリストにより、タイムラインベースの任意のオートメーションカーブを使用して、非常に正確な時間に発生する必要がある変更をスケジュールすることができます。 使用される時間はAudioContext.currentTime
で定義されているものです。
Properties
親であるAudioNode
の属性を継承します。
AudioParam.defaultValue
(en-US) 読取専用-
AudioParam を作成する特定の
AudioNode
によって定義された属性の初期ボリュームを表します。 AudioParam.maxValue
(en-US) 読取専用-
パラメータの公称(有効)範囲の最大可能値を表します。
AudioParam.minValue
(en-US) 読取専用-
パラメータの公称(有効)範囲の最小可能値を表します。
AudioParam.value
(en-US)-
パラメータの現在のボリュームを浮動小数点値として表します。 最初は
AudioParam.defaultValue
の値に設定されています。 設定することはできますが、スケジュールされた自動化イベント(つまり、AudioParam
のメソッドを使用してスケジュールされたイベント)がある間に発生した変更は無視され、例外は発生しません。
Methods
親であるAudioNode
のメソッドを継承します。
AudioParam.setValueAtTime()
(en-US)-
AudioContext.currentTime
に対して正確な時間にAudioParam
の値の変更をスケジュールします。 新しい値はvalue
パラメータによって与えられます。 AudioParam.linearRampToValueAtTime()
(en-US)-
AudioParam
の値を徐々に線形に変化させるようにスケジュールします。 変更は、前のイベントに指定された時間に開始され、value
パラメーターで指定された新しい値へのランプ関数に従って進み、endTime
パラメーターで指定された時間に新しい値に到達します。 AudioParam.exponentialRampToValueAtTime()
(en-US)-
AudioParam
の値の段階的な指数関数的な変化をスケジュールします。 変更は前のイベントに指定された時間に開始され、value
パラメーターで指定された新しい値への指数関数的な増加をたどり、endTime
パラメーターで指定された時間に新しい値に到達します。 AudioParam.setTargetAtTime()
(en-US)-
AudioParam
の値に対する変更の開始をスケジュールします。 変更はstartTime
で指定された時間に開始し、target
パラメータで指定された値に向かって指数関数的に移動します。 指数関数的な減衰率は、timeConstant
パラメーターによって定義されます。これは、秒単位で測定された時間です。 AudioParam.setValueCurveAtTime()
(en-US)-
AudioParam
の値が、指定された開始時間から開始し、指定された期間にわたって、指定された間隔に収まるようにスケーリングされた浮動小数点数の配列で定義された一連の値に従うようにスケジュールします。 AudioParam.cancelScheduledValues()
(en-US)-
AudioParam
に対する今後予定されているすべての変更をキャンセルします。 AudioParam.cancelAndHoldAtTime()
(en-US)-
AudioParam に対して将来予定されているすべての変更をキャンセルしますが、他の方法でさらに変更が加えられるまで、指定された時間にその値を保持します。
Examples
まず、ゲイン値を設定したGainNode
の基本的な例です。 値はオーディオのサンプルフレームごとに異なるように設定される可能性があるため、ゲインは a-rate のAudioParam
の例です。
js
var AudioContext = window.AudioContext || window.webkitAudioContext;
var audioCtx = new AudioContext();
var gainNode = audioCtx.createGain();
gainNode.gain.value = 0;
次に、いくつかの値が設定されたBiquadFilterNode
(en-US)を示す例です。 値はオーディオブロック全体に一度に設定されるため、これらは k-rate のAudioParam
の例です。
js
var AudioContext = window.AudioContext || window.webkitAudioContext;
var audioCtx = new AudioContext();
var biquadFilter = audioCtx.createBiquadFilter();
biquadFilter.type = "lowshelf";
biquadFilter.frequency.value = 1000;
biquadFilter.gain.value = 25;
Specifications
Specification |
---|
Web Audio API # AudioParam |
Browser compatibility
BCD tables only load in the browser