torchaudio.load¶
- torchaudio.load(uri: Union[BinaryIO, str, PathLike], frame_offset: int = 0, num_frames: int = -1, normalize: bool = True, channels_first: bool = True, format: Optional[str] = None, buffer_size: int = 4096, backend: Optional[str] = None) Tuple[Tensor, int]¶
從源載入音訊資料。
預設情況下(
normalize=True,channels_first=True),此函式返回 dtype 為float32且形狀為 [channel, time] 的 Tensor。警告
normalize引數不執行音量歸一化。它僅將樣本型別從原生樣本型別轉換為 torch.float32。當輸入格式為整數型別的 WAV 時,例如 32 位有符號整數、16 位有符號整數、24 位有符號整數和 8 位無符號整數,透過提供
normalize=False,此函式可以返回整數 Tensor,其中樣本值表示在對應 dtype 的完整範圍內,即 32 位有符號 PCM 對應int32Tensor,16 位有符號 PCM 對應int16,8 位無符號 PCM 對應uint8。由於 torch 不支援int24dtype,因此 24 位有符號 PCM 會轉換為int32Tensor。normalize引數對 32 位浮點 WAV 和其他格式(如flac和mp3)無效。對於這些格式,此函式始終返回包含值的
float32Tensor。- 引數:
uri (路徑類物件或檔案類物件) – 音訊資料的源。
frame_offset (int, 可選) – 開始讀取資料前要跳過的幀數。
num_frames (int, 可選) – 要讀取的最大幀數。
-1表示從frame_offset開始讀取所有剩餘樣本。如果給定檔案中沒有足夠的幀,此函式可能會返回少於指定數量的幀。normalize (bool, 可選) –
當為
True時,此函式將原生樣本型別轉換為float32。預設值:True。如果輸入檔案是整數 WAV,將其設定為
False將把結果 Tensor 型別更改為整數型別。此引數對整數 WAV 型別以外的格式無效。channels_first (bool, 可選) – 當為 True 時,返回的 Tensor 的維度為 [channel, time]。否則,返回的 Tensor 的維度為 [time, channel]。
format (str 或 None, 可選) – 如果不是
None,則被視為一個提示,可能允許後端覆蓋檢測到的格式。(預設值:None)buffer_size (int, 可選) – 處理檔案類物件時使用的緩衝區大小,單位為位元組。(預設值:
4096)backend (str 或 None, 可選) –
要使用的 I/O 後端。如果為
None,函式將根據輸入和可用後端選擇後端。否則,必須是 ["ffmpeg","sox","soundfile"] 之一,且對應的後端可用。(預設值:None)另請參閱
- 返回值:
- 結果 Tensor 和取樣率。
如果輸入檔案是整數 wav 格式且未開啟歸一化,則返回整數型別,否則為
float32型別。如果channels_first=True,返回維度為 [channel, time],否則為 [time, channel]。
- 返回型別:
(torch.Tensor, int)
- 使用
load的教程