1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
|
---
title: AudioParam
slug: Web/API/AudioParam
translation_of: Web/API/AudioParam
---
<div>{{APIRef("Web Audio API")}}</div>
<div>
<p><span class="seoSummary">Web Audio APIの<code>AudioParam</code>インタフェースは、オーディオ関連のパラメーターを表します、通常は{{domxref("AudioNode")}}のパラメーター({{ domxref("GainNode.gain") }}など)です。</span><code>AudioParam</code>は特定の値または値の変化に設定でき、特定の時間に特定のパターンに従って発生するようにスケジュールできます。</p>
<p><code>AudioParam</code>には、a-rateとk-rateの2種類のパラメータがあります。</p>
</div>
<ul>
<li><em>a-rate</em> <code>AudioParam</code> は、オーディオ信号の各 <a href="/ja/docs/Web/API/Web_Audio_API/Basic_concepts_behind_Web_Audio_API#Audio_buffers.3A_frames.2C_samples_and_channels">sample frame</a> の現在のオーディオパラメータ値を取ります。</li>
<li><em>k-rate</em> <code>AudioParam</code> は、処理されるブロック全体に対して同じ初期オーディオパラメータ値、つまり128サンプルフレームを使用します。</li>
</ul>
<p>各{{domxref("AudioNode")}}は、そのパラメータのどれがスペック内のa-rateまたはk-rateであるかを定義します。</p>
<p>各<code>AudioParam</code>には、いつ、どのように値が変化するかを定義する初期値が空のイベントリストがあります。 このリストが空でない場合、<code>AudioParam.value</code>属性を使用した変更は無視されます。 このイベントリストにより、タイムラインベースの任意のオートメーションカーブを使用して、非常に正確な時間に発生する必要がある変更をスケジュールすることができます。 使用される時間は{{domxref("AudioContext.currentTime")}}で定義されているものです。</p>
<h2 id="Properties">Properties</h2>
<p>親である<a href="/ja/docs/Web/API/AudioNode" title="The AudioNode interface is a generic interface for representing an audio processing module like an audio source (e.g. an HTML <audio> or <video> element), audio destination, intermediate processing module (e.g. a filter like BiquadFilterNode or ConvolverNode), or volume control (like GainNode).AudioNodeインターフェースは、オーディオソース(例:、, OscillatorNode、音声出力、中間処理モジュール(BiquadFilterNodeやConvolverNodeのようなフィルター)、GainNodeのような音量コントロール)などの音声処理モジュールを表現するための、一般的なインターフェースです。"><code>AudioNode</code></a>の属性を継承します。</p>
<dl>
<dt>{{domxref("AudioParam.defaultValue")}} {{readonlyInline}}</dt>
<dd>AudioParamを作成する特定の{{domxref("AudioNode")}}によって定義された属性の初期ボリュームを表します。</dd>
<dt>{{domxref("AudioParam.maxValue")}} {{readonlyInline}}</dt>
<dd>パラメータの公称(有効)範囲の最大可能値を表します。</dd>
<dt>{{domxref("AudioParam.minValue")}} {{readonlyinline}}</dt>
<dd>パラメータの公称(有効)範囲の最小可能値を表します。</dd>
<dt>{{domxref("AudioParam.value")}}</dt>
<dd>パラメータの現在のボリュームを浮動小数点値として表します。 最初は<code>AudioParam.defaultValue</code>の値に設定されています。 設定することはできますが、スケジュールされた自動化イベント(つまり、<code>AudioParam</code>のメソッドを使用してスケジュールされたイベント)がある間に発生した変更は無視され、例外は発生しません。</dd>
</dl>
<h2 id="Methods">Methods</h2>
<p>親である<a href="/ja/docs/Web/API/AudioNode" title="The AudioNode interface is a generic interface for representing an audio processing module like an audio source (e.g. an HTML <audio> or <video> element), audio destination, intermediate processing module (e.g. a filter like BiquadFilterNode or ConvolverNode), or volume control (like GainNode).AudioNodeインターフェースは、オーディオソース(例:、, OscillatorNode、音声出力、中間処理モジュール(BiquadFilterNodeやConvolverNodeのようなフィルター)、GainNodeのような音量コントロール)などの音声処理モジュールを表現するための、一般的なインターフェースです。"><code>AudioNode</code></a>のメソッドを継承します。</p>
<dl>
<dt>{{domxref("AudioParam.setValueAtTime()")}}</dt>
<dd>{{domxref("AudioContext.currentTime")}}に対して正確な時間に<code>AudioParam</code>の値の変更をスケジュールします。 新しい値は<code>value</code>パラメータによって与えられます。</dd>
<dt>{{domxref("AudioParam.linearRampToValueAtTime()")}}</dt>
<dd><code>AudioParam</code>の値を徐々に線形に変化させるようにスケジュールします。 変更は、<em>前のイベント</em>に指定された時間に開始され、<code>value</code>パラメーターで指定された新しい値へのランプ関数に従って進み、<code>endTime</code>パラメーターで指定された時間に新しい値に到達します。</dd>
<dt>{{domxref("AudioParam.exponentialRampToValueAtTime()")}}</dt>
<dd><code>AudioParam</code>の値の段階的な指数関数的な変化をスケジュールします。 変更は<em>前のイベント</em>に指定された時間に開始され、<code>value</code>パラメーターで指定された新しい値への指数関数的な増加をたどり、<code>endTime</code>パラメーターで指定された時間に新しい値に到達します。</dd>
<dt>{{domxref("AudioParam.setTargetAtTime()")}}</dt>
<dd><code>AudioParam</code>の値に対する変更の開始をスケジュールします。 変更は<code>startTime</code>で指定された時間に開始し、<code>target</code>パラメータで指定された値に向かって指数関数的に移動します。 指数関数的な減衰率は、<code>timeConstant</code>パラメーターによって定義されます。これは、秒単位で測定された時間です。</dd>
<dt>{{domxref("AudioParam.setValueCurveAtTime()")}}</dt>
<dd><code>AudioParam</code>の値が、指定された開始時間から開始し、指定された期間にわたって、指定された間隔に収まるようにスケーリングされた浮動小数点数の配列で定義された一連の値に従うようにスケジュールします。</dd>
<dt>{{domxref("AudioParam.cancelScheduledValues()")}}</dt>
<dd><code>AudioParam</code>に対する今後予定されているすべての変更をキャンセルします。</dd>
<dt>{{domxref("AudioParam.cancelAndHoldAtTime()")}}</dt>
<dd>AudioParamに対して将来予定されているすべての変更をキャンセルしますが、他の方法でさらに変更が加えられるまで、指定された時間にその値を保持します。</dd>
</dl>
<h2 id="Examples">Examples</h2>
<p>まず、ゲイン値を設定した{{domxref("GainNode")}}の基本的な例です。 値はオーディオのサンプルフレームごとに異なるように設定される可能性があるため、ゲインはa-rateの<code>AudioParam</code>の例です。</p>
<pre class="brush: js;highlight[5]">var AudioContext = window.AudioContext || window.webkitAudioContext;
var audioCtx = new AudioContext();
var gainNode = audioCtx.createGain();
gainNode.gain.value = 0;</pre>
<p>次に、いくつかの値が設定された{{ domxref("BiquadFilterNode") }}を示す例です。 値はオーディオブロック全体に一度に設定されるため、これらはk-rateの<code>AudioParam</code>の例です。</p>
<pre class="brush: js;highlight[6,7,8]">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;</pre>
<h2 id="Specifications">Specifications</h2>
<table class="standard-table">
<tbody>
<tr>
<th scope="col">Specification</th>
<th scope="col">Status</th>
<th scope="col">Comment</th>
</tr>
<tr>
<td>{{SpecName('Web Audio API', '#AudioParam', 'AudioParam')}}</td>
<td>{{Spec2('Web Audio API')}}</td>
<td> </td>
</tr>
</tbody>
</table>
<h2 id="Browser_compatibility">Browser compatibility</h2>
<div>
<p>{{Compat("api.AudioParam")}}</p>
</div>
<h2 id="See_also">See also</h2>
<ul>
<li><a href="/ja/docs/Web_Audio_API/Using_Web_Audio_API">Using the Web Audio API</a></li>
</ul>
|