快捷方式

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) -> bytesseek(self, offset: int, whence: int) -> bytes 方法。詳細閱讀:透過類檔案支援流式傳輸資料

  • Pathlib.path

    object): 影片或音訊的來源

    • 如果為 str:本地路徑或影片/音訊檔案的 URL。

    • 如果為 Pathlib.path:本地影片或音訊檔案的路徑。

    • 如果為 bytes 物件或 torch.Tensor:原始編碼的音訊資料。

    • 如果是類檔案物件:我們將按需從該物件讀取影片資料。該物件必須公開 read(self, size: int) -> bytesseek(self, offset: int, whence: int) -> bytes 方法。詳細閱讀:透過類檔案支援流式傳輸資料

  • bytes

    object): 影片或音訊的來源

    • 如果為 str:本地路徑或影片/音訊檔案的 URL。

    • 如果為 Pathlib.path:本地影片或音訊檔案的路徑。

    • 如果為 bytes 物件或 torch.Tensor:原始編碼的音訊資料。

    • 如果是類檔案物件:我們將按需從該物件讀取影片資料。該物件必須公開 read(self, size: int) -> bytesseek(self, offset: int, whence: int) -> bytes 方法。詳細閱讀:透過類檔案支援流式傳輸資料

  • file-like (torch.Tensor 或) –

    object): 影片或音訊的來源

    • 如果為 str:本地路徑或影片/音訊檔案的 URL。

    • 如果為 Pathlib.path:本地影片或音訊檔案的路徑。

    • 如果為 bytes 物件或 torch.Tensor:原始編碼的音訊資料。

    • 如果是類檔案物件:我們將按需從該物件讀取影片資料。該物件必須公開 read(self, size: int) -> bytesseek(self, offset: int, whence: int) -> bytes 方法。詳細閱讀:透過類檔案支援流式傳輸資料

  • stream_index (int, optional) – 指定要從中解碼樣本的檔案的流。請注意,此索引對於所有媒體型別都是絕對的。如果未指定,則使用 最佳流

  • sample_rate (int, optional) – 解碼樣本所需的輸出取樣率。預設情況下,使用源的取樣率。

  • num_channels (int, optional) – 解碼樣本所需的通道數。預設情況下,使用源的通道數。

變數:
  • metadata (AudioStreamMetadata) – 音訊流的元資料。

  • stream_index (int) – 此解碼器正在從中檢索樣本的流索引。如果在初始化時提供了流索引,則此值為相同的值。如果未指定,則為 最佳流

使用 AudioDecoder 的示例

使用 AudioDecoder 解碼音訊流

使用 AudioDecoder 解碼音訊流

透過類檔案物件流式傳輸資料

透過類檔案物件流式傳輸資料

使用 AudioEncoder 對音訊樣本進行編碼

使用 AudioEncoder 對音訊樣本進行編碼
get_all_samples() AudioSamples[原始碼]

返回源中的所有音訊樣本。

要解碼特定範圍內的樣本,請使用 get_samples_played_in_range()

返回:

檔案中的樣本。

返回型別:

AudioSamples

get_samples_played_in_range(start_seconds: float = 0.0, stop_seconds: Optional[float] = None) AudioSamples[原始碼]

返回給定範圍內的音訊樣本。

樣本位於半開區間 [start_seconds, stop_seconds)。

要解碼從開始到結束的所有樣本,您可以呼叫此方法,將 start_secondsstop_seconds 保留為其預設值,或者使用 get_all_samples() 作為更方便的別名。

引數:
  • start_seconds (float) – 範圍開始時間(以秒為單位)。預設為 0。

  • stop_seconds (floatNone) – 範圍結束時間(以秒為單位)。作為一個半開區間,不包括結束時間。預設為 None,表示解碼直到最後。

返回:

指定範圍內的樣本。

返回型別:

AudioSamples

文件

訪問全面的 PyTorch 開發者文件

檢視文件

教程

為初學者和高階開發者提供深入的教程

檢視教程

資源

查詢開發資源並讓您的問題得到解答

檢視資源