快捷鍵

重新取樣

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 精度的波形上進行重新取樣,可能會有一些精度損失,因為核心 (kernel) 會被快取為 float32 一次。如果高精度重新取樣對您的應用程式很重要,則使用函數形式會保留更高的精度,但運行速度會較慢,因為它不會快取核心。或者,您可以重寫一個轉換,以快取更高精度的核心。

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

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

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

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

  • rolloff (float, optional) – 濾波器的滾降頻率 (roll-off frequency),以奈奎斯特頻率 (Nyquist frequency) 的分數表示。較低的值會減少反鋸齒 (anti-aliasing),但也會減少一些最高頻率。(預設值: 0.99)

  • beta (float or None, optional) – 用於 kaiser 視窗的形狀參數。

  • dtype (torch.device, optional) – 決定預先計算並快取重新取樣核心的精度。 如果未提供,則核心會以 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) – 音訊張量,維度為 (…, time)。

回傳值:

輸出訊號,維度為 (…, time)。

回傳類型:

Tensor

文件

取得 PyTorch 的完整開發者文件

檢視文件

教學

取得適合初學者和進階開發者的深入教學課程

檢視教學課程

資源

尋找開發資源並取得問題解答

檢視資源