CRI ADX  Last Updated: 2024-03-21 14:32 p
3Dサウンドを使うか否か

3Dサウンドというとさまざまなものが思い浮かぶのですが、 ここでは、単純に「奥行表現を含めた音像定位」のことを指します。

L,RのバランスのことをL,Rパンと呼び、L,Rのスピーカーの間に音を定位させることができます。 L,Rパンはプログラムから簡易にコントロールするための目的で使用されます。 Lレベル、Rレベルを指定します。 デザイナ側で設定する項目はありません。

パン(サラウンド)

パンは、L,R,Ls,Rsまで含めた音の定位指定を行う項目です。 4chのスピーカーの出力をレベルで指定するのは難しいため、ADX では角度と内部距離(インテリアディスタンス)で表現します。

これにより、4chのスピーカーの間にあるような音の位置の指定が直観的に行えます。

L,Rパンの上位互換であり、直感的に音の位置を指定することができます。
角度-30~30がL,Rパンのところの-1~1の範囲と同じになります。

マルチチャンネル素材

基本的に何も設定しない状態で、2ch素材ならL,Rからステレオ再生ができます。 5.1ch素材であれば、5.1chサラウンドの再生が行えます。

3Dポジショニング

3Dポジショニングは、上記のパンとはまったく異なる考え方から生まれた音の定位を指定する方法です。 仮想の3D空間上の座標に点の音源があり、点のリスナーがどの向きになるかなどの計算が行われ、 最終的に各スピーカーへの割り振りが行われます。

3Dポジショニングのために減衰距離の設定が最低限必要です。この設定が無いとリスナーと同じ位置の時しか音が鳴らない状態になります。(距離0で減衰してしまうため)

また、ウェーブフォームリージョンの設定では3Dポジショニングを選択しておきます。この設定によりどの音が3Dポジショニングの影響を受けるかを変更できます。

モノラルの素材について

モノラル素材は指定した角度から再生されます。
等距離パンニングの影響があるため、角度0の初期状態では、L,Rからそれぞれ-3dB下がった音量で再生されます。
この音を-30度の位置へパンニングすれば、Lスピーカーから-0dBの音量で再生されます。

マルチチャンネルの素材について

ステレオの場合は60度の幅をもった形になります。
これは、角度0度の初期状態で正しくスピーカー位置から再生されることを意図しています。
マルチチャンネルの素材の場合、Ls,Rsサウンドは120度の幅を持つ位置から再生されます。

マルチチャンネル7.1chの素材について

パンや3Dポジショニングでは音の位置を計算し各スピーカーへ再配分することで音がさまざまな角度から聞こえるようになっています。
7.1ch素材を扱う場合はランタイムの初期化時の設定が必要です。
7.1ch素材の場合、パンスピーカータイプ(パンニング計算時の出力スピーカータイプ)が6または7の時に限り各チャンネルへ出力されます。
パンスピーカータイプが4や5の場合チャンネル数が減ってしまうため正しく出力されません。
通常7.1ch素材は回転させないため、角度の情報はあまり意味がないものなのですが、角度を変更した場合 30,110,150,-30,-110,-150の位置からの相対的な位置からそれぞれのチャンネルの音が再生されます。

3Dポジション、3Dサウンドの動作を無視させる

通常、ステレオ以上の素材をパンニングすると、スピーカー間で音が混ざってしまい定位がおかしくなってしまうためお勧めしません。
キューのインスペクターから「AtomExPlayerの無視」をTrueにすることでパンの影響を受けないキューにすることができます。

この機能は影響が強くプレーヤーパラメーターのすべて(ボリュームやAISACの変化も)受け付けなくなります。
REACT、カテゴリのコントロールは可能です。

特殊な構成の波形での3Dポジション3Dサウンドは制限される

ADX では特殊な再生のために8chまでの素材を扱うことができ、プログラム上では、それぞれのチャンネルをどこから出すかといった設定をcriAtomExPlayer_SetTrackInfo関数で行うことができます。
これにより、複数のトラック(マルチチャンネル波形のトラック)をもった波形としてコントロールするといったこともできます。
この場合3Dポジションは使用できなくなります。

マルチチャンネル波形の広がり

criAtomExPlayer_SetPanSpreadを使用することでマルチチャンネル波形の広がりを変更できます。
ただし左右の音が混ざってしまうため音源によっては好ましくない変化をする場合があります。

マルチチャンネルのセンドレベル設定

criAtomExPlayer_SetSendLevelを使用することで、波形ファイルの各チャンネルの波形を、どのスピーカーから どの程度の音量で出力するかを指定できます。
レベル調整だけでパンを変更するバランスパンのような動作をさせる場合に使用します。