--- title: AudioParam slug: Web/API/AudioParam translation_of: Web/API/AudioParam ---
Web Audio APIのAudioParamインタフェースは、オーディオ関連のパラメーターを表します、通常は{{domxref("AudioNode")}}のパラメーター({{ domxref("GainNode.gain") }}など)です。AudioParamは特定の値または値の変化に設定でき、特定の時間に特定のパターンに従って発生するようにスケジュールできます。
AudioParamには、a-rateとk-rateの2種類のパラメータがあります。
AudioParam は、オーディオ信号の各 sample frame の現在のオーディオパラメータ値を取ります。AudioParam は、処理されるブロック全体に対して同じ初期オーディオパラメータ値、つまり128サンプルフレームを使用します。各{{domxref("AudioNode")}}は、そのパラメータのどれがスペック内のa-rateまたはk-rateであるかを定義します。
各AudioParamには、いつ、どのように値が変化するかを定義する初期値が空のイベントリストがあります。 このリストが空でない場合、AudioParam.value属性を使用した変更は無視されます。 このイベントリストにより、タイムラインベースの任意のオートメーションカーブを使用して、非常に正確な時間に発生する必要がある変更をスケジュールすることができます。 使用される時間は{{domxref("AudioContext.currentTime")}}で定義されているものです。
親であるAudioNodeの属性を継承します。
AudioParam.defaultValueの値に設定されています。 設定することはできますが、スケジュールされた自動化イベント(つまり、AudioParamのメソッドを使用してスケジュールされたイベント)がある間に発生した変更は無視され、例外は発生しません。親であるAudioNodeのメソッドを継承します。
AudioParamの値の変更をスケジュールします。 新しい値はvalueパラメータによって与えられます。AudioParamの値を徐々に線形に変化させるようにスケジュールします。 変更は、前のイベントに指定された時間に開始され、valueパラメーターで指定された新しい値へのランプ関数に従って進み、endTimeパラメーターで指定された時間に新しい値に到達します。AudioParamの値の段階的な指数関数的な変化をスケジュールします。 変更は前のイベントに指定された時間に開始され、valueパラメーターで指定された新しい値への指数関数的な増加をたどり、endTimeパラメーターで指定された時間に新しい値に到達します。AudioParamの値に対する変更の開始をスケジュールします。 変更はstartTimeで指定された時間に開始し、targetパラメータで指定された値に向かって指数関数的に移動します。 指数関数的な減衰率は、timeConstantパラメーターによって定義されます。これは、秒単位で測定された時間です。AudioParamの値が、指定された開始時間から開始し、指定された期間にわたって、指定された間隔に収まるようにスケーリングされた浮動小数点数の配列で定義された一連の値に従うようにスケジュールします。AudioParamに対する今後予定されているすべての変更をキャンセルします。まず、ゲイン値を設定した{{domxref("GainNode")}}の基本的な例です。 値はオーディオのサンプルフレームごとに異なるように設定される可能性があるため、ゲインはa-rateのAudioParamの例です。
var AudioContext = window.AudioContext || window.webkitAudioContext; var audioCtx = new AudioContext(); var gainNode = audioCtx.createGain(); gainNode.gain.value = 0;
次に、いくつかの値が設定された{{ domxref("BiquadFilterNode") }}を示す例です。 値はオーディオブロック全体に一度に設定されるため、これらはk-rateのAudioParamの例です。
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;
| Specification | Status | Comment |
|---|---|---|
| {{SpecName('Web Audio API', '#AudioParam', 'AudioParam')}} | {{Spec2('Web Audio API')}} |
{{Compat("api.AudioParam")}}