AudioParam

このロケールの翻訳が存在しないため、英語バージョンのコンテンツを表示しています。 Help us translate this article!

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 読取専用
AudioParamを作成する特定のAudioNodeによって定義された属性の初期ボリュームを表します。
AudioParam.maxValue 読取専用
パラメータの公称(有効)範囲の最大可能値を表します。
AudioParam.minValue 読取専用
パラメータの公称(有効)範囲の最小可能値を表します。
AudioParam.value
パラメータの現在のボリュームを浮動小数点値として表します。 最初はAudioParam.defaultValueの値に設定されています。 設定することはできますが、スケジュールされた自動化イベント(つまり、AudioParamのメソッドを使用してスケジュールされたイベント)がある間に発生した変更は無視され、例外は発生しません。

Methods

親であるAudioNodeのメソッドを継承します。

AudioParam.setValueAtTime()
AudioContext.currentTimeに対して正確な時間にAudioParamの値の変更をスケジュールします。 新しい値はvalueパラメータによって与えられます。
AudioParam.linearRampToValueAtTime()
AudioParamの値を徐々に線形に変化させるようにスケジュールします。 変更は、前のイベントに指定された時間に開始され、valueパラメーターで指定された新しい値へのランプ関数に従って進み、endTimeパラメーターで指定された時間に新しい値に到達します。
AudioParam.exponentialRampToValueAtTime()
AudioParamの値の段階的な指数関数的な変化をスケジュールします。 変更は前のイベントに指定された時間に開始され、valueパラメーターで指定された新しい値への指数関数的な増加をたどり、endTimeパラメーターで指定された時間に新しい値に到達します。
AudioParam.setTargetAtTime()
AudioParamの値に対する変更の開始をスケジュールします。 変更はstartTimeで指定された時間に開始し、targetパラメータで指定された値に向かって指数関数的に移動します。 指数関数的な減衰率は、timeConstantパラメーターによって定義されます。これは、秒単位で測定された時間です。
AudioParam.setValueCurveAtTime()
AudioParamの値が、指定された開始時間から開始し、指定された期間にわたって、指定された間隔に収まるようにスケーリングされた浮動小数点数の配列で定義された一連の値に従うようにスケジュールします。
AudioParam.cancelScheduledValues()
AudioParamに対する今後予定されているすべての変更をキャンセルします。
AudioParam.cancelAndHoldAtTime()
AudioParamに対して将来予定されているすべての変更をキャンセルしますが、他の方法でさらに変更が加えられるまで、指定された時間にその値を保持します。

Examples

まず、ゲイン値を設定したGainNodeの基本的な例です。 値はオーディオのサンプルフレームごとに異なるように設定される可能性があるため、ゲインはa-rateのAudioParamの例です。

var AudioContext = window.AudioContext || window.webkitAudioContext;
var audioCtx = new AudioContext();

var gainNode = audioCtx.createGain();
gainNode.gain.value = 0;

次に、いくつかの値が設定された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;

Specifications

Specification Status Comment
Web Audio API
AudioParam の定義
草案  

Browser compatibility

Update compatibility data on GitHub
デスクトップモバイル
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewAndroid 版 ChromeAndroid 版 FirefoxAndroid 版 OperaiOSのSafariSamsung Internet
AudioParamChrome 完全対応 14Edge 完全対応 ありFirefox 完全対応 25IE 未対応 なしOpera 完全対応 15Safari 完全対応 6WebView Android 完全対応 ありChrome Android 完全対応 18Firefox Android 完全対応 26Opera Android 完全対応 14Safari iOS 完全対応 ありSamsung Internet Android 完全対応 あり
automationRateChrome 完全対応 68Edge ? Firefox ? IE 未対応 なしOpera 完全対応 ありSafari ? WebView Android 完全対応 68Chrome Android 完全対応 68Firefox Android ? Opera Android 完全対応 ありSafari iOS 完全対応 ありSamsung Internet Android ?
cancelAndHoldAtTimeChrome 完全対応 57
完全対応 57
未対応 ? — 56
代替名
代替名 非標準の名前 cancelValuesAndHoldAtTime() を使用しています。
Edge ? Firefox 未対応 なしIE 未対応 なしOpera 完全対応 44
完全対応 44
未対応 ? — 43
代替名
代替名 非標準の名前 cancelValuesAndHoldAtTime() を使用しています。
Safari 未対応 なしWebView Android 完全対応 57
完全対応 57
未対応 ? — 56
代替名
代替名 非標準の名前 cancelValuesAndHoldAtTime() を使用しています。
Chrome Android 完全対応 57
完全対応 57
未対応 ? — 56
代替名
代替名 非標準の名前 cancelValuesAndHoldAtTime() を使用しています。
Firefox Android 未対応 なしOpera Android 完全対応 43
完全対応 43
未対応 ? — 43
代替名
代替名 非標準の名前 cancelValuesAndHoldAtTime() を使用しています。
Safari iOS 未対応 なしSamsung Internet Android 完全対応 7.0
cancelScheduledValuesChrome 完全対応 14Edge 完全対応 12Firefox 完全対応 25IE 未対応 なしOpera 完全対応 15Safari 完全対応 6WebView Android 完全対応 ありChrome Android 完全対応 18Firefox Android 完全対応 26Opera Android 完全対応 14Safari iOS 完全対応 ありSamsung Internet Android 完全対応 あり
defaultValueChrome 完全対応 14Edge 完全対応 12Firefox 完全対応 25IE 未対応 なしOpera 完全対応 15Safari 完全対応 6WebView Android 完全対応 ありChrome Android 完全対応 18Firefox Android 完全対応 26Opera Android 完全対応 14Safari iOS 完全対応 ありSamsung Internet Android 完全対応 あり
exponentialRampToValueAtTimeChrome 完全対応 14Edge 完全対応 12Firefox 部分対応 25
補足
部分対応 25
補足
補足 Does not work (see bug 1171438 and bug 1567777).
IE 未対応 なしOpera 完全対応 15Safari 完全対応 6WebView Android 完全対応 ありChrome Android 完全対応 18Firefox Android 部分対応 26
補足
部分対応 26
補足
補足 Does not work (see bug 1171438 and bug 1567777).
Opera Android 完全対応 14Safari iOS 完全対応 ありSamsung Internet Android 完全対応 あり
linearRampToValueAtTimeChrome 完全対応 14Edge 完全対応 12Firefox 部分対応 25
補足
部分対応 25
補足
補足 Does not work (see bug 1171438 and bug 1567777).
IE 未対応 なしOpera 完全対応 15Safari 完全対応 6WebView Android 完全対応 ありChrome Android 完全対応 18Firefox Android 部分対応 26
補足
部分対応 26
補足
補足 Does not work (see bug 1171438 and bug 1567777).
Opera Android 完全対応 14Safari iOS ? Samsung Internet Android 完全対応 あり
maxValueChrome 完全対応 52Edge 完全対応 ありFirefox 完全対応 53IE 未対応 なしOpera 完全対応 39Safari 完全対応 6WebView Android 完全対応 52Chrome Android 完全対応 52Firefox Android 完全対応 53Opera Android 完全対応 41Safari iOS 完全対応 ありSamsung Internet Android 完全対応 6.0
minValueChrome 完全対応 52Edge 完全対応 ありFirefox 完全対応 53IE 未対応 なしOpera 完全対応 39Safari 完全対応 6WebView Android 完全対応 52Chrome Android 完全対応 52Firefox Android 完全対応 53Opera Android 完全対応 41Safari iOS 完全対応 ありSamsung Internet Android 完全対応 6.0
setTargetAtTimeChrome 完全対応 14Edge 完全対応 12Firefox 完全対応 25IE 未対応 なしOpera 完全対応 15Safari 完全対応 6WebView Android 完全対応 ありChrome Android 完全対応 18Firefox Android 完全対応 26Opera Android 完全対応 14Safari iOS 完全対応 ありSamsung Internet Android 完全対応 あり
setValueAtTimeChrome 完全対応 14Edge 完全対応 12Firefox 完全対応 25IE 未対応 なしOpera 完全対応 15Safari 完全対応 6WebView Android 完全対応 ありChrome Android 完全対応 18Firefox Android 完全対応 26Opera Android 完全対応 14Safari iOS 完全対応 ありSamsung Internet Android 完全対応 あり
setValueCurveAtTimeChrome 完全対応 14Edge 完全対応 12Firefox 完全対応 25IE 未対応 なしOpera 完全対応 15Safari 完全対応 6WebView Android 完全対応 ありChrome Android 完全対応 18Firefox Android 完全対応 26Opera Android 完全対応 14Safari iOS 完全対応 ありSamsung Internet Android 完全対応 あり
valueChrome 完全対応 14Edge 完全対応 12Firefox 完全対応 25
補足
完全対応 25
補足
補足 Prior to Firefox 69, value did not take into account scheduled or gradiated changes to the parameter's value; instead, only explicitly set values were returned.
IE 未対応 なしOpera 完全対応 15Safari 完全対応 6WebView Android 完全対応 ありChrome Android 完全対応 18Firefox Android 完全対応 26
補足
完全対応 26
補足
補足 Firefox for Android does not currently take into account scheduled or gradiated changes to the parameter's value; only the initial value or the most recent explicitly set value is returned.
Opera Android 完全対応 14Safari iOS 完全対応 ありSamsung Internet Android 完全対応 あり

凡例

完全対応  
完全対応
部分対応  
部分対応
未対応  
未対応
実装状況不明  
実装状況不明
実装ノートを参照してください。
実装ノートを参照してください。
非標準の名前を使用しています。
非標準の名前を使用しています。

See also