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
新しい PannerNode オブジェクトを作成します。

属性

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

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

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

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

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

メソッド

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

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

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

仕様

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

ブラウザー実装状況

BCD tables only load in the browser

関連情報