PannerNode

PannerNode は音源の空間上の位置と振る舞いを表現したインターフェイスで、AudioNode の一種です。右手直交座標系に従って位置を表し、音源の動きは速度ベクトルと、向きを表すサウンドコーンを利用して表現します。

PannerNode は必ず 1 つの入力と、1 つの出力を持ちます。入力はモノラルでもステレオでも構いませんが、出力は必ずステレオとなります。つまりパンニングを行うには最低でも 2 チャンネルの音声チャンネルを必要です。

The PannerNode brings a spatial position and velocity and a directionality for a given signal.

入力数 1
出力数 1
チャンネルの数え方 "clamped-max"
チャンネル数 2
チャンネルの意味 "speakers"

コンストラクター

PannerNode.PannerNode (en-US)
新しい PannerNode オブジェクトを作成します。

属性

親クラスである AudioNode の属性を継承しています。

向きと位置の設定と取得は異なる方法で行います。これは、これらの値が AudioParam として保存されてるためです。値の取得は  PannerNode.positionX のように行えますが、同じ属性に対して値を設定するには PannerNode.positionX.value のように行います。そのため、これらの値は、WebIDL にあるように、読み取り専用とは定義されていません。

PannerNode.coneInnerAngle
音量が低減しない範囲を内側にもつコーンの角度が、実数値 (倍精度) で参照できます。
PannerNode.coneOuterAngle
音量が一定値まで低減される範囲を外側に持つコーンの角度が、実数値 (倍精度) で参照できます。低減は  coneOuterGain 属性の値に従います。
PannerNode.coneOuterGain (en-US)
coneOuterAngle の外で行われる音量の低減量を定義します。標準値は 0 で、これは音が聞こえなくなることを表します。
PannerNode.distanceModel (en-US)
音量の低減計算に用いるアルゴリズムを定めます。アルゴリズムは定められたものの中から選択します。とりうる値は "linear""inverse""exponential"で、デフォルト値は "inverse"です。
PannerNode.maxDistance (en-US)
音源と聴取者の最大距離を定義します。これを超えた場合、音量の低減計算がなされません。
PannerNode.orientationX
右手直交座標系における音源の向きを表すベクトルのうち、水平方向の値です。AudioParam は直接変更できないため、値の変更はvalue (en-US) 属性を通して行います。初期値は 1 となっています。
PannerNode.orientationY (en-US)
右手直交座標系における音源の向きを表すベクトルのうち、垂直方向の値です。AudioParam は直接変更できないため、値の変更はvalue (en-US) 属性を通して行います。初期値は 0 となっています。
PannerNode.orientationZ (en-US)
右手直交座標系における音源の向きを表すベクトルのうち、奥行き(前後)方向の値ですAudioParam は直接変更できないため、値の変更はvalue (en-US) 属性を通して行います。初期値は 0 となっています。
PannerNode.panningModel (en-US)

立体音響計算を行うアルゴリズムを定めます。アルゴリズムは定められたものの中から選びます。

PannerNode.positionX (en-US)
右手直交座標系における音源の位置を表すベクトルのうち、水平方向の値ですAudioParam は直接変更できないため、値の変更はvalue (en-US) 属性を通して行います。初期値は 0 となっています。
PannerNode.positionY (en-US)
右手直交座標系における音源の位置を表すベクトルのうち、垂直方向の値ですAudioParam は直接変更できないため、値の変更はvalue (en-US) 属性を通して行います。初期値は 0 となっています。
PannerNode.positionZ (en-US)
右手直交座標系における音源の位置を表すベクトルのうち、奥行き(前後)方向の値ですAudioParam は直接変更できないため、値の変更はvalue (en-US) 属性を通して行います。初期値は 0 となっています。
PannerNode.refDistance (en-US)
音量の低減計算に用いる基準距離を表します。音源と聴取者との距離がこれを超えた場合、rolloffFactordistanceModel に基づいて音量の低減が起きます。
PannerNode.rolloffFactor (en-US)
音源が聴取者から離れていく際に起きる音量の低減量を定めます。この値は、全ての距離モデルで利用されます。

メソッド

親クラスである AudioNode のメソッドを継承しています。

PannerNode.setPosition() (en-US)
聴取者に対する音源の相対位置を設定します。聴取者の位置は AudioContext.listener  で参照されるAudioListener オブジェクトで表されています。
PannerNode.setOrientation() (en-US)
音源が再生されている方向を設定します。
PannerNode.setVelocity() (en-US) これは廃止された API であり、動作は保証されていません。
音源の速度を表したベクトルです。移動する速さと方向を表しています。以前の仕様では下流に接続されたAudioBufferSourceNode のピッチを上げ下げするために、PannerNode は速度を表す属性を持っていました。この機能は明瞭に定義されておらず、問題も多かったため、現在の仕様からは削除されています。

{{page("/ja/docs/Web/API/AudioContext.createPanner","Example")}}

仕様

仕様 状況 コメント
Web Audio API
PannerNode の定義
草案

ブラウザー実装状況

BCD tables only load in the browser

関連情報