Up to date

This page is up to date for Godot 4.2. If you still find outdated information, please open an issue.

匯入音訊樣本

支援的圖片格式

原始音訊檔通常都很大,而且我們通常都不會想用原始檔。Godot 中提供了兩個主要選項來匯入音訊資料:WAV 與 Ogg Vorbis。

各有優點。

  • WAV 檔使用原始資料或輕度壓縮,播放時不太吃 CPU (使用該格式可同時播放數百個聲音),但該檔案格式會佔用許多空間。

  • Ogg Vorbis 檔使用強力壓縮,因此檔案大小較小,但需要更多的效能才能播放。

  • MP3 檔案的壓縮比的 WAV 的 IMA-ADPCM 好,但比 Ogg Vorbis 差。這意味著,一個與 Ogg Vorbis 品質大致相同的 MP3 檔明顯更大。從好的方面來看,與 Ogg Vorbis 相比,MP3 在播放時需要使用更少的 CPU。這使得 MP3 對於 CPU 資源有限的移動端和 HTML5 專案非常有用,特別是在同時播放多個壓縮過的聲音時(如長的環境音)。

備註

若使用自行從原始碼編譯的 Godot 編輯器時禁用了特定模組,可能會無法使用某些格式。

以下是每種格式 1 秒音訊檔案大小的比較圖表:

格式

1 秒的音訊

WAV 24 位元, 96 kHz, 立體聲

576 KB

WAV 16 位元, 44 kHz, 單聲道

88 KB

WAV 16 位元, IMA-ADPCM, 單聲道

22 KB

Ogg Vorbis 128 Kb/秒, 立體聲

24 KB

Ogg Vorbis 128 Kb/秒, 立體聲

16 KB

Ogg Vorbis 96Kb/秒, 立體聲

12 KB

請注意,MP3 和 Ogg Vorbis 的數字可能會因編碼型別而異。為簡單起見,上圖使用 CBR(恆定位元率)編碼,但您可以在網路上找到的大多數 Ogg Vorbis 和 MP3 檔案都使用 VBR(可變位元速率)編碼,效率更高。 VBR 編碼使有效音訊檔案大小取決於來源音訊的「複雜程度」。

小訣竅

MP3 檔案的壓縮比的 WAV 的 IMA-ADPCM 好,但比 Ogg Vorbis 差。這意味著,一個與 Ogg Vorbis 品質大致相同的 MP3 檔明顯更大。從好的方面來看,與 Ogg Vorbis 相比,MP3 在播放時需要使用更少的 CPU。這使得 MP3 對於 CPU 資源有限的移動端和 HTML5 專案非常有用,特別是在同時播放多個壓縮過的聲音時(如長的環境音)。

匯入音訊樣本

在檔案系統擴充座中選擇 WAV 檔案後,匯入擴充座中會提供多個選項:

在檔案系統擴充座中選擇 WAV 檔案後,匯入擴充座中的匯入選項

在檔案系統擴充座中選擇 WAV 檔案後,匯入擴充座中的匯入選項

選擇 Ogg Vorbis 或 MP3 檔案後可用的選項集有所不同:

在檔案系統擴充座中選擇 MP3 檔案後,匯入擴充塢中的匯入選項

在檔案系統擴充座中選擇 MP3 檔案後,匯入擴充塢中的匯入選項。 Ogg Vorbis 檔案的選項相同。

匯入聲音後,您可以使用 AudioStreamPlayer、AudioStreamPlayer2D 或 AudioStreamPlayer3D 節點進行播放。請參閱 doc_audio_streams 以了解更多資訊。

匯入選項

強制 > 8 位

如果啟用,如果來源檔案為 16 位元或更高,則強制匯入的音訊使用 8 位元量化。

通常不建議啟用此功能,因為 8 位元量化會顯著降低音訊品質。如果您需要較小的檔案大小,請考慮使用 Ogg Vorbis 或 MP3 音訊。

力 > 單聲道

如果啟用,如果來源檔案是立體聲,則強制匯入的音訊為單聲道。透過將兩個通道合併為一個,檔案大小可減少 50%。

力 > 最大速率

如果設定為大於「0」的值,則強制音訊的取樣率會降低到低於或等於此處指定的值。

這可以顯著減小某些聲音的檔案大小,而不會影響質量,具體取決於實際聲音的內容。請參閱 doc_importing_audio_samples_best_practices` 以了解更多資訊。

編輯 > 修剪

音訊檔前後有很長一段無聲音的時間也是其中一種常見問題。這段無聲的時間通常是由 DAW 在保存波形時插入的,這會導致檔案大小沒必要地增加,並讓播放時產生延遲。

如果*標準化後音訊低於 -50 dB,則啟用 修剪 將自動修剪音訊的開頭和結尾(請參閱下方的 編輯 > 標準化)。修剪期間也使用 500 個樣本的淡入/淡出週期,以避免發出爆音。

編輯器使用手冊

如果啟用,音訊音量將被“標準化”,使其峰值音量等於 0 dB。啟用後,標準化將使音訊聽起來更響亮,具體取決於其原始峰值音量。

迴圈模式

與 Ogg Vorbis 和 MP3 不同,WAV 檔案可以包含元資料來指示它們是否正在循環(除了循環點之外)。預設情況下,Godot 將遵循此元資料,但您可以選擇套用特定的循環模式:

  • 停用: 不要循環音頻,即使元資料指示檔案應該循環播放。

  • 前進: 標準音訊循環。

  • 乒乓球: 向前播放音訊直至播放完畢,然後向後播放並重複。這類似於鏡像紋理重複,但適用於音訊。

  • 向後: 反向播放音頻,播放完畢後循環回到最後。

When choosing one of the Forward, Ping-Pong or Backward loop modes, loop points can also be defined to make only a specific part of the sound loop. Loop Begin is set in samples after the beginning of the audio file. Loop End is also set in samples after the beginning of the audio file, but will use the end of the audio file if set to -1.

警告

在 AudioStreamPlayer 中,當循環音訊到達音訊檔案末尾時,不會發出「finished」訊號,因為音訊將無限期地繼續播放。

壓縮模式

WAV 檔案可以選擇兩種壓縮模式:停用**(預設)或**RAM (Ima-ADPCM)RAM (Ima-ADPCM) 稍微減少了檔案大小和記憶體使用量,但代價是以可聽見的方式降低了品質。

Ogg Vorbis 和 MP3 不會降低品質那麼多,可以更大程度地減少檔案大小,但代價是播放期間 CPU 使用率更高。這種較高的 CPU 使用率通常不是問題(尤其是 MP3),除非在行動/網路平台上同時播放數十個壓縮聲音。

有許多匯入選項:

迴圈

如果啟用,播放至音訊末尾後會從開頭開始播放。

警告

在 AudioStreamPlayer 中,當循環音訊到達音訊檔案末尾時,不會發出「finished」訊號,因為音訊將無限期地繼續播放。

迴圈偏移

循環偏移決定播放到達音訊末端後音訊將開始循環的位置。這可用於僅循環音訊檔案的一部分,這對於某些環境聲音或音樂很有用。該值以相對於音訊開頭的秒數確定,因此「0」將循環整個音訊檔案。

僅當啟用 Loop 時才有效。

進階匯入設定 <doc_importing_audio_samples_advanced_import_settings> 對話方塊中提供了更方便的 循環偏移 編輯器,因為它可以讓您預覽更改,而無需重新匯入音訊。

BPM

音軌的每分鐘節拍數。這應該與用於創作曲目的 BPM 測量相配對。這僅與希望利用互動式音樂功能(尚未實作)的音樂相關,與聲音效果無關。

進階匯入設定 <doc_importing_audio_samples_advanced_import_settings>` 對話方塊中提供了更方便的 BPM 編輯器,因為它可以讓您預覽更改,而無需重新匯入音訊。

節拍計數

音軌的節拍數。這僅與希望利用互動式音樂功能(尚未實作)的音樂相關,與聲音效果無關。

進階匯入設定 <doc_importing_audio_samples_advanced_import_settings>` 對話方塊中提供了更方便的 Beat Count 編輯器,因為它可以讓您預覽更改,而無需重新匯入音訊。

節拍

音軌中單一節拍內的小節數。這僅與希望利用互動式音樂功能(尚未實作)的音樂相關,與聲音效果無關。

進階匯入設定 <doc_importing_audio_samples_advanced_import_settings>` 對話方塊中提供了更方便的 Bar Beats 編輯器,因為它可以讓您預覽更改,而無需重新匯入音訊。

高級匯入設定(Ogg Vorbis 和 MP3)

按兩下檔案系統面板中的 Ogg Vorbis 或 MP3 檔(或者在匯入面板中選擇**高級...**),就會出現一個對話方塊:

按兩下檔案系統面板中的 Ogg Vorbis 或 MP3 檔案時的高級對話方塊

按兩下檔案系統面板中的 Ogg Vorbis 或 MP3 檔案時的高級對話方塊

除了 BPM(每分鐘節拍數)、節拍數和小節節拍之外,此對話方塊還可讓您透過即時預覽編輯音訊的循環點。這 3 個設定目前未使用,但將來將用於互動式音樂支援(允許在不同音樂曲目之間平滑過渡)。

備註

與 WAV 檔案不同,Ogg Vorbis 和 MP3 僅支援「循環開始」循環點,而不支援「循環結束」點。循環也可以只是標準的向前循環,而不是乒乓或向後循環。

最佳實踐

取得專案或編輯器設定

雖然在執行編輯時保持原始品質的音訊來源很重要,但在匯出的專案中沒有必要使用相同的品質。對於 WAV 檔案,Godot 提供了多個匯入選項來減少最終檔案大小,而無需修改磁碟上的來源檔案。

若要減少記憶體使用量和檔案大小,請為音訊選擇適當的量化、取樣率和頻道數:

  • 使用 24 位元音訊並沒有「聽覺上」的好處,尤其是在經常同時播放多種聲音的遊戲中(這使得欣賞單一聲音變得更加困難)。

  • 除非您在運作時減慢音訊速度,否則使用大於 48 kHz 的取樣率沒有任何「聽得見」的好處。如果您希望保留具有較高取樣率的來源進行編輯,請使用 強制 > 最大速率 匯入選項來限制匯入聲音的取樣率(僅適用於 WAV 檔案)。

  • 許多音效通常可以轉換為單聲道而不是立體聲。如果您希望保留立體聲來源進行編輯,請使用 強制 > 單聲道 匯入選項將匯入的聲音轉換為單聲道(僅適用於 WAV 檔案)。

  • 聲音通常可以轉換為單聲道,但也可以將取樣率降低到 22 kHz,而不會明顯降低品質(除非聲音非常高音調)。這是因為大多數人的聲音永遠不會超過 11 kHz。

使用即時音訊效果降低檔大小

Godot 中有自帶許多特效的 豐富匯流排系統 。得益於該系統,SFX 藝術家便無需在音效檔中處理殘響,可有效降低檔案大小並能確保剪輯正確。再也不需要烘焙殘響 SFX 了。

../../_images/reverb.png

就像這樣,包含殘響的音效檔變得很大。

也參考

Audio samples can be loaded and saved at runtime using runtime file loading and saving, including from an exported project.