AudioDecoder¶
- class torchcodec.decoders.AudioDecoder(source: Union[str, Path, RawIOBase, BufferedReader, bytes, Tensor], *, stream_index: Optional[int] = None, sample_rate: Optional[int] = None, num_channels: Optional[int] = None)[原始碼]¶
一個單流音訊解碼器。
這可用於解碼純音訊檔案(例如 mp3、wav 等)或包含音訊流的影片(例如 mp4 影片)中的音訊。
返回的樣本是歸一化在 [-1, 1] 範圍內的浮點樣本
- 引數:
(str (source) –
object): 影片或音訊的來源
如果為
str:本地路徑或影片/音訊檔案的 URL。如果為
Pathlib.path:本地影片或音訊檔案的路徑。如果為
bytes物件或torch.Tensor:原始編碼的音訊資料。如果是類檔案物件:我們將按需從該物件讀取影片資料。該物件必須公開 read(self, size: int) -> bytes 和 seek(self, offset: int, whence: int) -> bytes 方法。詳細閱讀:透過類檔案支援流式傳輸資料。
Pathlib.path –
object): 影片或音訊的來源
如果為
str:本地路徑或影片/音訊檔案的 URL。如果為
Pathlib.path:本地影片或音訊檔案的路徑。如果為
bytes物件或torch.Tensor:原始編碼的音訊資料。如果是類檔案物件:我們將按需從該物件讀取影片資料。該物件必須公開 read(self, size: int) -> bytes 和 seek(self, offset: int, whence: int) -> bytes 方法。詳細閱讀:透過類檔案支援流式傳輸資料。
bytes –
object): 影片或音訊的來源
如果為
str:本地路徑或影片/音訊檔案的 URL。如果為
Pathlib.path:本地影片或音訊檔案的路徑。如果為
bytes物件或torch.Tensor:原始編碼的音訊資料。如果是類檔案物件:我們將按需從該物件讀取影片資料。該物件必須公開 read(self, size: int) -> bytes 和 seek(self, offset: int, whence: int) -> bytes 方法。詳細閱讀:透過類檔案支援流式傳輸資料。
file-like (torch.Tensor 或) –
object): 影片或音訊的來源
如果為
str:本地路徑或影片/音訊檔案的 URL。如果為
Pathlib.path:本地影片或音訊檔案的路徑。如果為
bytes物件或torch.Tensor:原始編碼的音訊資料。如果是類檔案物件:我們將按需從該物件讀取影片資料。該物件必須公開 read(self, size: int) -> bytes 和 seek(self, offset: int, whence: int) -> bytes 方法。詳細閱讀:透過類檔案支援流式傳輸資料。
stream_index (int, optional) – 指定要從中解碼樣本的檔案的流。請注意,此索引對於所有媒體型別都是絕對的。如果未指定,則使用 最佳流。
sample_rate (int, optional) – 解碼樣本所需的輸出取樣率。預設情況下,使用源的取樣率。
num_channels (int, optional) – 解碼樣本所需的通道數。預設情況下,使用源的通道數。
- 變數:
metadata (AudioStreamMetadata) – 音訊流的元資料。
stream_index (int) – 此解碼器正在從中檢索樣本的流索引。如果在初始化時提供了流索引,則此值為相同的值。如果未指定,則為 最佳流。
使用
AudioDecoder的示例- get_all_samples() AudioSamples[原始碼]¶
返回源中的所有音訊樣本。
要解碼特定範圍內的樣本,請使用
get_samples_played_in_range()。- 返回:
檔案中的樣本。
- 返回型別:
- get_samples_played_in_range(start_seconds: float = 0.0, stop_seconds: Optional[float] = None) AudioSamples[原始碼]¶
返回給定範圍內的音訊樣本。
樣本位於半開區間 [start_seconds, stop_seconds)。
要解碼從開始到結束的所有樣本,您可以呼叫此方法,將
start_seconds和stop_seconds保留為其預設值,或者使用get_all_samples()作為更方便的別名。- 引數:
- 返回:
指定範圍內的樣本。
- 返回型別: