Work in progress
The content of this page was not yet updated for Godot
4.5
and may be outdated. If you know how to improve this page or you can confirm
that it's up to date, feel free to open a pull request.
オーディオストリーム
はじめに
すでに オーディオバス を読んでいるかもしれませんが、音声はAudioStreamPlayerノードを介して各バスに送信されます。 AudioStreamPlayerにはさまざまな種類があります。それぞれがAudioStreamをロードして再生します。
AudioStream
オーディオ ストリームは、サウンドを出力する抽象的なオブジェクトです。サウンド(のデータ)は多くの場所からやってくる可能性がありますが、最も一般的にはファイルシステムから読み込まれます。オーディオファイルはAudioStreamとして読み込んで、AudioStreamPlayer内に配置できます。対応しているフォーマットとそれぞれの違いに関しては オーディオのインポート を参照してください。
他のAudioStreamの種類には、 たとえば AudioStreamRandomizer があります。これは、再生されるたびにStreamのリストからランダムなAudioStreamを選択し、ピッチと音量をランダムに調整します。これは、頻繁に再生されるサウンドにバリエーションを加えるのに役立ちます。
AudioStreamPlayer
これは標準の、位置を持たないストリームプレーヤーです。どのバスでもプレイできます。5.1サウンド設定では、オーディオをステレオミックスまたはフロントスピーカーに送信できます。
Playback Type は実験的な設定であり、Godotの将来のバージョンでは変更される可能性があります。これはWebエクスポートでWeb Audio-APIベースのサンプルを使用するために存在します。これはほとんどのプラットフォームのような、全てのサウンドをブラウザにストリームするのと異なる方法です。これによってシングルスレッドのWebエクスポートでオーディオが不明瞭になることを防ぎます。デフォルトでは、Webプラットフォームのみがサンプルを使います。この設定を変えることは明確な理由がなければ非推奨です。プロジェクト設定の オーディオ > 一般 で、Webとその他プラットフォームのデフォルトPlayback Typeを変更できます(設定を見るには高度な設定をオンにする必要があります)。
AudioStreamPlayer2D
これはAudioStreamPlayerのバリアントですが、2Dの位置環境で音を発します。画面の左に近づくと、パンが左に移動します。右側に近づくと、右側に移動します。
注釈
Area2Dを使用すると、その領域に含まれるAudioStreamPlayer2Dから、特定のバスにサウンドを転送できます。これにより、さまざまなリバーブまたは音質のバスを作成して、ゲームワールドの特定の部分で発生するアクションを処理できます。
AudioStreamPlayer3D
これはAudioStreamPlayerのバリアントですが、3Dの位置環境で音を発します。画面に対するプレーヤーの位置や、選択したオーディオ設定に応じて、5.1、7.1のステレオでサウンドを配置できます。
AudioStreamPlayer2Dと同様に、Area3Dはサウンドをオーディオ バスに転送できます。
2Dとは異なり、AudioStreamPlayerの3Dバージョンには、さらに高度なオプションがいくつかあります:
Reverb bus
警告
AudioStreamPlayerの再生モードがデフォルトの Sample に設定されている場合、この機能はWebプラットフォームではサポートされません。この機能は再生モードが Stream に設定されている場合にのみ機能しますが、スレッドが有効になっていない場合はレイテンシが増加します。
詳細については、 Audio playback in the Exporting for the Web documentation を参照してください。
Godotでは、特定のエリア3Dノードに入る3Dオーディオストリームを使用して、ドライオーディオとウェットオーディオを別々のバスに送信できます。これは、空間の種類ごとに複数のリバーブ構成がある場合に便利です。これは、エリア3Dの Reverb Bus プロパティのセクションでこのタイプのリバーブを有効にすることで実行されます。
同時に、各エリア3Dが各エリア3Dからリバーブ情報を受け取る特別なバスレイアウトが作成されます。目的のエフェクトのセットアップを完了するには、各リバーブバスでリバーブエフェクトを作成および構成する必要があります:
エリア3Dの Reverb Bus セクションには、Uniformity という名前のパラメーターもあります。一部のタイプの空間(倉庫など)は他の空間よりも音がよく反響するため、音源が遠く離れていても部屋全体にほぼ均一に残響が聞こえます。このパラメーターをいじることでその効果をシミュレートできます。
ドップラー
警告
AudioStreamPlayerの再生モードがデフォルトの Sample に設定されている場合、この機能はWebプラットフォームではサポートされません。この機能は再生モードが Stream に設定されている場合にのみ機能しますが、スレッドが有効になっていない場合はレイテンシが増加します。
詳細については、 Audio playback in the Exporting for the Web documentation を参照してください。
エミッターとリスナー間の相対速度が変化すると、これは放出された音のピッチの増加または減少として認識されます。 Godotは、AudioStreamPlayer3DおよびCameraノードの速度の変化を追跡できます。両方のノードにはこのプロパティがあり、手動で有効にする必要があります。
オブジェクトの移動方法に応じて設定して有効にします: _process を使用して移動するオブジェクトには Idle を使用し、_physics_process を使用して移動するオブジェクトには Physics を使用します。追跡は自動的に行われます。