匯入音訊樣本
支援的圖片格式
Godot 提供三種音訊匯入格式:WAV、Ogg Vorbis 以及 MP3。
各有優點。
WAV 檔案可使用原始資料或輕量壓縮(IMA ADPCM 或 Quite OK Audio)。目前匯入時只能以原始格式導入,但 Godot 可在匯入後進行壓縮。此格式在 CPU 上播放負擔很輕(同時播放上百個聲軌也沒問題),缺點是非常佔用磁碟空間。
Ogg Vorbis 檔使用強力壓縮,因此檔案大小較小,但需要更多的效能才能播放。
MP3 的壓縮效率優於使用 IMA ADPCM 或 QOA 的 WAV,但不如 Ogg Vorbis。也就是說,要達到與 Ogg Vorbis 大致相同的音質,MP3 的檔案會顯著更大。好處是,相較於 Ogg Vorbis,MP3 播放時的 CPU 佔用更低。
備註
若使用自行從原始碼編譯的 Godot 編輯器時禁用了特定模組,可能會無法使用某些格式。
以下是每種格式 1 秒音訊檔案大小的比較圖表:
格式 |
1 秒的音訊 |
|---|---|
WAV 24 位元, 96 kHz, 立體聲 |
576 KB |
WAV 16 位元, 44 kHz, 單聲道 |
88 KB |
WAV IMA ADPCM,44 kHz,單聲道 |
22 KB |
Quite OK Audio,44 kHz,單聲道 |
17 KB |
MP3 192 Kb/秒, 立體聲 |
24 KB |
Ogg Vorbis 128 Kb/秒, 立體聲 |
16 KB |
Ogg Vorbis 96Kb/秒, 立體聲 |
12 KB |
請注意,MP3 和 Ogg Vorbis 的數字可能會因編碼型別而異。為簡單起見,上圖使用 CBR 編碼,但您可以在網路上找到的大多數 Ogg Vorbis 和 MP3 檔案都使用 VBR 編碼,效率更高。 VBR 編碼使有效音訊檔案大小取決於來源音訊的「複雜程度」。
小訣竅
短、重複播放的音效建議用 WAV,音樂、語音或長音效建議用 Ogg Vorbis。若是手機或網頁遊戲,CPU 資源有限且會同時播放多個壓縮音檔時(如長迴圈環境聲),MP3 會較適合。
匯入音訊樣本
在檔案系統擴充座中選擇 WAV 檔案後,匯入擴充座中會提供多個選項:
在檔案系統擴充座中選擇 WAV 檔案後,匯入擴充座中的匯入選項
選擇 Ogg Vorbis 或 MP3 檔案時,顯示的匯入選項會有所不同:
在檔案系統面板選取 MP3 檔後,匯入面板所顯示的匯入選項。Ogg Vorbis 檔案會有相同的選項。
匯入聲音後,您可以使用 AudioStreamPlayer、AudioStreamPlayer2D 或 AudioStreamPlayer3D 節點進行播放。請參閱 音訊流 以了解更多資訊。
匯入選項
強制 > 8 位
如果啟用,如果來源檔案為 16 位元或更高,則強制匯入的音訊使用 8 位元量化。
通常不建議啟用此功能,因為 8 位元量化會顯著降低音訊品質。如果您需要較小的檔案大小,請考慮使用 Ogg Vorbis 或 MP3 音訊。
強制 > 單聲道
如果啟用,如果來源檔案是立體聲,則強制匯入的音訊為單聲道。透過將兩個通道合併為一個,檔案大小可減少 50%。
強制 > 最大取樣率
如果設定為大於「0」的值,則強制音訊的取樣率會降低到低於或等於此處指定的值。
這可以顯著減小某些聲音的檔案大小,而不會影響質量,具體取決於實際聲音的內容。請參閱 最佳實務 以了解更多資訊。
編輯 > 自動裁切無聲
音訊檔前後有很長一段無聲音的時間也是其中一種常見問題。這段無聲的時間通常是由 DAWs 在保存波形時插入的,這會導致檔案大小沒必要地增加,並讓播放時產生延遲。
啟用 自動裁切無聲 後,經標準化處理(見下方**編輯 > 標準化**)後,若音訊開頭或結尾區段小於 -50 dB,會自動裁切掉。為避免爆音,裁切時會自動加入 500 個採樣點的淡入/淡出效果。
編輯器使用手冊
啟用後,會將音訊做 標準化,也就是將最大音量調整至 0 dB。啟用後,音檔會根據其原始最大音量而變得更響亮。
編輯 > 迴圈模式
與 Ogg Vorbis 和 MP3 不同,WAV 檔案可以包含元資料來指示它們是否正在循環(除了循環點之外)。預設情況下,Godot 將遵循此元資料,但您可以選擇套用特定的循環模式:
從 WAV 偵測: 使用 WAV 中的中繼資料來取得循環資訊。
停用: 不要循環音頻,即使元資料指示檔案應該循環播放。
Forward: 標準音訊循環。從開頭正向播放至循環結束點,然後回到循環起點重複。
Ping-Pong: 先正向播放至循環尾,再反向播放回循環頭,持續來回循環。
Backward: 從循環結束點反向播放至循環起點,然後重複。
選擇 Forward、Ping-Pong 或 Backward 其中一種模式時,可以指定迴圈區段起止點。Loop Begin 以「從音檔開頭起算的樣本數」設定。Loop End 也同理,若設為 -1 則會以音檔結尾作為終點。
警告
在 AudioStreamPlayer 中,當循環音訊到達音訊檔案末尾時,不會發出「finished」訊號,因為音訊將無限期地繼續播放。
壓縮模式
WAV 可選三種壓縮模式: PCM (未壓縮) 、 IMA ADPCM ,或 Quite OK Audio (預設) 。 IMA ADPCM 能稍微減少檔案大小與記憶體用量,但音質下降可被明顯聽出。 Quite OK Audio 比 IMA ADPCM 更省空間,音質劣化也不那麼明顯,但 CPU 使用率略高一些 (仍遠低於 MP3) 。
Ogg Vorbis 和 MP3 不會降低品質那麼多,可以更大程度地減少檔案大小,但代價是播放期間 CPU 使用率更高。這種較高的 CPU 使用率通常不是問題(尤其是 MP3),除非在行動/網路平台上同時播放數十個壓縮聲音。
匯入選項(Ogg Vorbis 和 MP3)
迴圈
啟用後,音訊播放到結束會直接從頭再播。
警告
在 AudioStreamPlayer 中,當循環音訊到達音訊檔案末尾時,不會發出「finished」訊號,因為音訊將無限期地繼續播放。
迴圈起始位置
迴圈起始位置決定音訊播放到尾時,要從哪個時間點重頭開始。這可以讓你只迴圈音檔裡的某一段,適合環境音或音樂。單位是秒,0 就是整段都重複。
僅當啟用 Loop 時才有效。
Advanced import settings 對話方塊中提供了更方便的 循環偏移 編輯器,因為它可以讓您預覽更改,而無需重新匯入音訊。
BPM
音樂軌的 BPM(每分鐘幾拍),應該與原始編曲設定相同。這僅跟互動式音樂功能(尚未支援)相關,對一般音效沒影響。
Advanced import settings 對話方塊中提供了更方便的 BPM 編輯器,因為它可以讓您預覽更改,而無需重新匯入音訊。
節拍計數
音樂軌的節拍數。只用於互動式音樂(尚未支援),對一般音效沒影響。
Advanced import settings 對話方塊中提供了更方便的 Beat Count 編輯器,因為它可以讓您預覽更改,而無需重新匯入音訊。
節拍
每一拍中的小節數。僅和互動式音樂功能有關(尚未支援),與音效無關。
Advanced import settings 對話方塊中提供了更方便的 Bar Beats 編輯器,因為它可以讓您預覽更改,而無需重新匯入音訊。
進階匯入設定(Ogg Vorbis、MP3)
按兩下檔案系統面板中的 Ogg Vorbis 或 MP3 檔(或者在匯入面板中選擇**高級...**),就會出現一個對話方塊:
在檔案系統面板中雙擊 Ogg Vorbis 或 MP3 檔案時出現的進階對話框
這個對話框讓您可以編輯音訊的循環點,具有即時預覽功能,除此之外還有 BPM 、節拍數和每小節節拍數。這 3 個設定目前未使用,但未來會用於互動式音樂支援 (這讓您可以在不同音樂軌道之間流暢地切換)。
備註
與 WAV 檔不同,Ogg Vorbis 與 MP3 只能設定「迴圈起點」,無法指定迴圈結束點。也只支援標準的正向循環,不支援 ping-pong 或反向循環。
最佳實務
使用合適的音質設定
若你還要後製,保留無損高音質原始檔很重要,但專案包出去時沒必要用同樣等級的音質。對 WAV 檔,Godot 提供多種匯入選項,可減少專案檔案大小又不會改動原始音檔。
若要減少記憶體使用量和檔案大小,請為音訊選擇適當的量化、取樣率和頻道數:
遊戲裡同時會放很多聲音,沒有人會聽得出 24 位音檔的差別。用 24 位元音訊在遊戲中沒實質好處。
除非你在遊戲執行時需要大幅降速回放(像慢動作),否則用超過 48 kHz 的取樣率沒聽覺差別。若要保留高取樣率原檔做後製,可用「強制 > 最大取樣率」匯入選項(僅支援 WAV)限制專案內實際用到的取樣率。
大多數音效都可以轉成單聲道。若你原始檔要保留立體聲方便後製,專案匯入時可用「強制 > 單聲道」讓專案內用單聲道(只限 WAV)。
人聲大多可用單聲道,而且取樣率降到 22 kHz 也聽不出損失(除非是很高音的聲音)。因為大部分人類聲音頻率不超過 11 kHz。
使用即時音訊效果降低檔大小
Godot 中有自帶許多特效的 豐富匯流排系統 。得益於該系統,SFX 藝術家便無需在音效檔中處理殘響,可有效降低檔案大小並能確保剪輯正確。再也不需要烘焙殘響 SFX 了。
如上例,若聲音檔已經包含殘響,檔案會大得多。
也參考
音訊樣本可在執行時用 執行時檔案讀取與儲存 載入與儲存(包含匯出後的專案)。