Work in progress

The content of this page was not yet updated for Godot 4.2 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.

音訊匯流排

前言

Godot的音訊處理程式碼是為了遊戲而寫的, 以達到性能和音質之間的最佳平衡.

Godot的音訊引擎允許建立任意數量的音訊匯流排, 並且可以向每個匯流排新增任意數量的效果處理器. 運作遊戲的裝置的硬體會限制匯流排的數量, 以及在性能開始下降之前可以使用的效果.

分貝標度

Godot的聲音介面是為了滿足聲音設計專業人士的期望而設計的. 因此主要採用分貝標度.

對於那些不熟悉它的人, 可以用一些事實來解釋:

  • 分貝(dB)標度是一個相對標度.它等於聲功率比的常用對數的20倍(20 × log:sub:'10'(P/P/:sub:'0'))。

  • 每增/減6分貝, 聲幅就會加倍/減半.12dB代表係數4,18dB代表係數8,20dB代表係數10,40dB代表係數100, 以此類推.

  • 由於比例是對數的, 因此無法表示真零(無音訊).

  • 0 dB 是數位音訊系統中可能的最大振幅. 這個限制不是人為的限制, 而是聲音硬體的限制. 因振幅太高而無法完全反映在0dB以下的音訊, 會產生一種被稱為 削波 的失真.

  • 為了避免削波,你應該調整混音,使*master 匯流排*(後面會有更多的介紹)永遠不超過 0 dB。

  • 低於0dB限制的每6dB, 聲能就會 減半 . 這意味著-6dB的音量是0dB的一半. -12dB是-6dB的一半, 依此類推.

  • 使用分貝時, -60dB和-80dB範圍內的聲音被認為是聽不見的. 也就是說你的工作範圍一般在-60dB和0dB之間.

這可能需要一點時間來習慣, 但最終會變得友好, 並且可以讓您與音訊專業人員更好地進行交流.

音訊匯流排

音訊匯流排可以在Godot 編輯器的底部面板中找到:

../../_images/audio_buses1.png

音訊匯流排 (audio bus)(通常也稱為 音訊通道 (audio channel) )是音訊從揚聲器播放出來之前通過的地方. 它可以 修改重路由 音訊資料. 音訊匯流排有一個 VU表(播放聲音時亮起的條形), 表示通過的訊號的幅度.

最左邊的匯流排是 主匯流排 . 此匯流排將混音輸出到你的揚聲器, 因此, 正如之前 分貝標度 部分所述, 請確保主匯流排中的混音水平永遠低於 0 dB. 其餘的音訊匯流排可以靈活地進行路由. 在修改聲音後, 它們會將其發送到左邊的另一條匯流排上. 非主匯流排的目標匯流排可以被單獨設定. 而右側匯流排的音訊會被路由至左側匯流排, 這避免了無限迴圈.

../../_images/audio_buses2.png

在上圖中, Bus 2 的輸出被路由到了 匯流排.

通過匯流排播放音訊

要測試將音訊傳遞到匯流排, 請建立AudioStreamPlayer節點, 載入AudioStream並選擇要播放的目標匯流排:

../../_images/audio_buses3.png

最後將 Playing 屬性勾上 On , 聲音就開始播放了.

也參考

你現在可能有興趣閱讀 音訊流

新增特效

音訊匯流排可以包含各種效果. 這些效果以某種方式修改聲音並按順序應用.

../../_images/audio_buses4.png

更多有關光照烘焙的資訊,請參考 doc_baked_lightmaps

自動匯流排禁用

你不需要手動禁用閒置匯流排,Godot在偵測到匯流排已經靜音數秒之後, 就會禁用它(以及所有效果).

../../_images/audio_buses5.png

已禁用的匯流排VU表為藍色, 而不是紅綠色.

匯流排重排

流播放機使用匯流排名稱來識別匯流排, 允許在保留對匯流排的引用時新增, 刪除和移動匯流排. 然而, 重命名匯流排會導致引用丟失, 流播放機將輸出到主匯流排. 之所以選擇這個系統, 是因為重新排列匯流排相比重命名匯流排更為常用.

預設匯流排佈局

預設的匯流排佈局會自動保存到 res:// default_bus_layout.tres 檔案中. 自訂匯流排佈局可以從磁片中保存和載入.