快捷方式

重取樣

class torchaudio.transforms.Resample(orig_freq: int = 16000, new_freq: int = 16000, resampling_method: str = 'sinc_interp_hann', lowpass_filter_width: int = 6, rolloff: float = 0.99, beta: Optional[float] = None, *, dtype: Optional[dtype] = None)[source]

將訊號從一個頻率重取樣到另一個頻率。可以指定重取樣方法。

This feature supports the following devices: CPU, CUDA This API supports the following properties: Autograd, TorchScript

注意

如果在精度高於 float32 的波形上進行重取樣,可能會有一些精度損失,因為核心一次被快取為 float32。如果高精度重取樣對您的應用很重要,函式形式將保留更高的精度,但執行會較慢,因為它不會快取核心。或者,您可以重寫一個快取更高精度核心的轉換(transform)。

引數:
  • orig_freq (int, 可選) – 訊號的原始頻率。(預設值: 16000)

  • new_freq (int, 可選) – 期望的頻率。(預設值: 16000)

  • resampling_method (str, 可選) – 使用的重取樣方法。選項包括: [sinc_interp_hann, sinc_interp_kaiser] (預設值: "sinc_interp_hann")

  • lowpass_filter_width (int, 可選) – 控制濾波器的銳度,值越大越銳利但效率越低。(預設值: 6)

  • rolloff (float, 可選) – 濾波器的滾降頻率,作為奈奎斯特頻率的一部分。值越低,抗鋸齒效果越差,但也會減少一些最高頻率。(預設值: 0.99)

  • beta (floatNone, 可選) – 用於 Kaiser 窗的形狀引數。

  • dtype (torch.device, 可選) – 確定重取樣核的預計算和快取精度。如果未提供,核將使用 torch.float64 計算,然後快取為 torch.float32。如果您需要更高精度,請提供 torch.float64,預計算的核將以 torch.float64 精度計算和快取。如果您使用較低精度進行重取樣,則不應提供此引數,而是使用 Resample.to(dtype),以便核的生成仍以 torch.float64 進行。

示例
>>> waveform, sample_rate = torchaudio.load("test.wav", normalize=True)
>>> transform = transforms.Resample(sample_rate, sample_rate/10)
>>> waveform = transform(waveform)
使用 Resample 的教程
Speech Recognition with Wav2Vec2

使用 Wav2Vec2 進行語音識別

使用 Wav2Vec2 進行語音識別
Audio Resampling

音訊重取樣

音訊重取樣
forward(waveform: Tensor) Tensor[source]
引數:

waveform (Tensor) – 維度為 (…, 時間) 的音訊張量。

返回值:

維度為 (…, 時間) 的輸出訊號。

返回型別:

Tensor

文件

訪問 PyTorch 的完整開發者文件

檢視文件

教程

獲取針對初學者和高階開發者的深入教程

檢視教程

資源

查詢開發資源並獲得問題解答

檢視資源