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
),此函數會傳回具有float32
資料類型且形狀為 [通道, 時間] 的 Tensor。警告
normalize
參數不會執行音量正規化。它只會將樣本類型從原生樣本類型轉換為 torch.float32。當輸入格式是具有整數類型的 WAV 時,例如 32 位元帶正負號整數、16 位元帶正負號整數、24 位元帶正負號整數和 8 位元不帶正負號整數,透過提供
normalize=False
,此函數可以傳回整數 Tensor,其中樣本表示在相應資料類型的整個範圍內,也就是 32 位元帶正負號 PCM 的int32
Tensor、16 位元帶正負號 PCM 的int16
和 8 位元不帶正負號 PCM 的uint8
。由於 torch 不支援int24
資料類型,因此 24 位元帶正負號 PCM 會轉換為int32
Tensor。normalize
參數對 32 位元浮點 WAV 和其他格式(例如flac
和mp3
)沒有影響。對於這些格式,此函數始終傳回具有值的
float32
Tensor。- 參數:
uri (類路徑物件 或 類檔案物件) – 音訊資料的來源。
frame_offset (int, optional) – 開始讀取資料前要跳過的影格數量。
num_frames (int, optional) – 要讀取的最大影格數量。
-1
從frame_offset
開始讀取所有剩餘的樣本。如果在給定的檔案中沒有足夠的影格,此函數可能會傳回較少的影格數量。normalize (bool, optional) –
若為
True
,此函式會將原生樣本類型轉換為float32
。預設值:True
。如果輸入檔案是整數 WAV,設為
False
將會把產生的 Tensor 類型改為整數類型。此參數對於整數 WAV 類型以外的格式沒有作用。channels_first (bool, optional) – 若為 True,回傳的 Tensor 維度為 [channel, time]。否則,回傳的 Tensor 維度為 [time, channel]。
format (str or None, optional) – 如果不是
None
,則會被解釋為提示,允許後端覆蓋偵測到的格式。(預設值:None
)buffer_size (int, optional) – 處理類似檔案物件時使用的緩衝區大小,以位元組為單位。(預設值:
4096
)backend (str or None, optional) –
要使用的 I/O 後端。如果為
None
,函式會根據輸入和可用的後端選擇後端。否則,必須是 ["ffmpeg"
,"sox"
,"soundfile"
] 之一,且對應的後端必須可用。(預設值:None
)另請參閱
- 返回值:
- 產生的 Tensor 和取樣率。
如果輸入檔案是整數 wav 格式且 normalization 關閉,則其類型為整數類型,否則為
float32
類型。如果channels_first=True
,則具有 [channel, time],否則具有 [time, channel]。
- 返回類型:
(torch.Tensor, int)
- 使用
load
的教學課程