• 文件 >
  • torchaudio >
  • 舊版本 (穩定版)
捷徑

torchaudio

I/O

torchaudio 頂層模組提供以下函式,方便處理音訊資料。

info

取得音訊檔案的訊號資訊。

load

從來源載入音訊資料。

save

將音訊資料儲存到檔案。

list_audio_backends

列出可用的後端

後端和分派器

解碼和編碼媒體是一個高度複雜的過程。因此,TorchAudio 依賴第三方函式庫來執行這些操作。這些第三方函式庫稱為 backend,目前 TorchAudio 整合了以下函式庫。

請參考 安裝 以了解如何啟用後端。

傳統上,TorchAudio 的 I/O 後端會根據可用性在執行時全域設定。然而,這種方法不允許應用程式使用不同的後端,並且不適用於大型程式碼庫。

基於這些原因,在 v2.0 中,我們引入了一個分派器,一種新的機制,允許使用者為每個函式呼叫選擇一個後端。

當啟用分派器模式時,所有 I/O 函式都接受額外的關鍵字引數 backend,用於指定所需的後端。如果指定的後端不可用,則函式呼叫將失敗。

如果未明確選擇後端,函式將根據優先順序和函式庫可用性選擇要使用的後端。

下表總結了後端。

優先順序

後端

支援的作業系統

注意

1

FFmpeg

Linux、macOS、Windows

使用 get_audio_decoders()get_audio_encoders() 以檢索支援的編解碼器。

此後端支援各種協定,例如 HTTPS 和 MP4,以及類似檔案的物件。

2

SoX

Linux、macOS

使用 list_read_formats()list_write_formats() 來檢索支援的編碼格式。

此後端支援類似檔案的物件 (file-like objects)。

3

SoundFile

Linux、macOS、Windows

請參考 官方文件 以了解支援的編碼格式。

此後端支援類似檔案的物件 (file-like objects)。

Dispatcher 遷移

我們正在遷移 I/O 函數以使用 dispatcher 機制,這會導致多項變更,其中一些涉及向後不相容的變更,並且需要使用者更改其函數呼叫。

(計劃的)變更如下。如需最新資訊,請參閱 https://github.com/pytorch/audio/issues/2950

  • 在 2.0 中,引入了音訊 I/O 後端 dispatcher。使用者可以透過設定環境變數 TORCHAUDIO_USE_BACKEND_DISPATCHER=1 來選擇使用 dispatcher。

  • 在 2.1 中,dispatcher 成為 I/O 的預設機制。

  • 在 2.2 中,將移除舊有的全域後端機制。實用程式函數 get_audio_backend()set_audio_backend() 變成 no-op。

此外,我們從 libsox 後端移除了類似檔案的物件的支援,因為 FFmpeg 後端更好地支援了這一點,並簡化了建置過程。因此,從 2.1 開始,FFmpeg 和 Soundfile 是唯一支援類似檔案的物件的後端。

文件

取得 PyTorch 的完整開發人員文件

檢視文件

教學

取得適合初學者和進階開發人員的深入教學課程

檢視教學課程

資源

尋找開發資源並取得您的問題解答

檢視資源