PannerNode

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since April 2021.

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

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

The PannerNode defines a spatial position and direction for a given signal.

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

コンストラクター

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() 非推奨;

聞き手(BaseAudioContext.listener 属性に格納された AudioListener オブジェクトで表される)からの音源の相対位置を定義します。

PannerNode.setOrientation() 非推奨;

音源が再生されている方向を設定します。

コード例については BaseAudioContext.createPanner() を参照してください。

仕様書

Specification
Web Audio API
# PannerNode

ブラウザーの互換性

BCD tables only load in the browser

関連情報