オーディオバス

はじめに

Godotのオーディオ処理コードは、パフォーマンスと音質の最適なバランスを実現することを目的として、ゲームを念頭に置いて書かれています。

Godotのオーディオエンジンを使用すると、任意の数のオーディオバスを作成でき、各バスに任意の数のエフェクトプロセッサを追加できます。ゲームを実行しているデバイスのハードウェアのみが、パフォーマンスが低下しない範疇で使用可能なバスとエフェクトの数を規定します。

デシベルスケール

Godotのサウンドインターフェイスは、サウンドデザインの専門家の期待に応えるように設計されています。この目的のために、主にデシベルスケールを使用します。

それに不慣れな人のために、いくつかの事実で説明できます:

  • デシベル(dB)スケールは相対スケールです。これは、比率の常用対数に20を掛けて(20 × log10(P/P0))、音響パワーの比を表します。

  • 6dBごとに、音の振幅は2倍または半分になります。 12dBは係数4、18dBは係数8、20dBは係数10、40dBは係数100などを表します。

  • スケールは対数であるため、真のゼロ(オーディオなし)は表現できません。

  • 0dBは、デジタルオーディオシステムで可能な最大振幅です。この制限は人間の制限ではなく、サウンドハードウェアの制限です。振幅が大きすぎて0dB未満で適切に表現できないオーディオでは、クリッピング と呼ばれる一種の歪みが発生します。

  • クリッピングを避けるために、 master bus (詳細は後述)の出力が 0dBを超えないようにサウンドミックスを調整する必要があります。

  • 0dBの上限を6dB下回るごとに、音響エネルギーは *半分*になります。つまり、-6dBでの音量は0dBの半分です。-12dBは、-6dBの半分の音量です。

  • デシベルを使用する場合、-60dB〜-80dBの間で音は聞こえないと見なされます。これにより、作業範囲は通常-60dB〜0dBになります。

これには少し慣れる必要がありますが、最終的には使いやすくなり、オーディオの専門家とのコミュニケーションが向上します。

オーディオバス

オーディオバスは、Godotエディタの下部パネルにあります:

../../_images/audio_buses1.webp

audio bus (audio channel とも呼ばれる)は、デバイスのスピーカーを介して再生する途中でオーディオが流れる場所と見なすことができます。オーディオデータは、オーディオバスによって変更および再ルーティングできます。オーディオバスには、通過する信号の振幅を示すVUメーター(サウンドが再生されると点灯するバー)があります。

左端のバスはmaster busです。このバスはミックスをスピーカーに出力するため、上記のデシベルスケールセクションで説明したように、このバスでミックスレベルが0dBに達しないようにしてください。残りのオーディオバスは柔軟にルーティングできます。サウンドを変更した後、左の別のバスに送信します。宛先バスは、非マスターオーディオバスごとに指定できます。ルーティングは、常に右側のバスからさらに左側のバスにオーディオを渡します。これにより、無限ルーティングループが回避されます。

../../_images/audio_buses2.webp

上の画像では、Bus2の出力はMasterバスにルーティングされています。

バスを介したオーディオの再生

バスへのオーディオの受け渡しをテストするには、AudioStreamPlayerノードを作成し、AudioStreamを読み込みんで、再生するターゲット バスを選択します:

../../_images/audio_buses3.webp

最後に、Playing プロパティを On に切り替えると、音が流れます。

参考

また、同時にオーディオストリーム を読むことに興味があるかもしれません。

エフェクトの追加

警告

AudioStreamPlayerの再生モードがデフォルトの Sample に設定されている場合、この機能はWebプラットフォームではサポートされません。この機能は再生モードが Stream に設定されている場合にのみ機能しますが、スレッドが有効になっていない場合はレイテンシが増加します。

詳細については、 Audio playback in the Exporting for the Web documentation を参照してください。

オーディオバスには、あらゆる種類のエフェクトを含めることができます。これらのエフェクトは、何かの方法でサウンドを変更し、順番に適用されます。

../../_images/audio_buses4.webp

各エフェクトの詳細については、 オーディオエフェクト を参照してください。

自動的なバス無効化

使用していないときにバスを手動で無効にする必要はありません。 Godotは、バスが数秒間無音であることを検出し、無効にします(すべての効果を含む)。

../../_images/audio_buses5.webp

無効になっているバスには、赤緑の代わりに青いVUメーターがあります。

バスの再配置

ストリームプレイヤーはバス名を使用してバスを識別し、バスへの参照が保持されている間にバスを追加、削除、移動できるようにします。ただし、バスの名前を変更すると、参照は失われ、ストリームプレイヤーはマスターに出力されます。このシステムが選択されたのは、バスの並べ替えが名前を変更するよりも一般的なプロセスであるためです。

デフォルトのバスレイアウト

デフォルトのバスレイアウトは自動的に res://default_bus_layout.tres ファイルに保存されます。カスタムのバス配置を保存し、ディスクからロードできます。