當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python PyTorch Resample用法及代碼示例


本文簡要介紹python語言中 torchaudio.transforms.Resample 的用法。

用法:

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

參數

  • orig_freq(int,可選的) -信號的原始頻率。 (默認:16000)

  • new_freq(int,可選的) -所需的頻率。 (默認:16000)

  • resampling_method(str,可選的) -要使用的重采樣方法。選項:[sinc_interpolationkaiser_window](默認:'sinc_interpolation')

  • lowpass_filter_width(int,可選的) -控製過濾器的銳度,更多 == 更銳利但效率更低。 (默認:6)

  • rolloff(float,可選的) -濾波器的roll-off 頻率,作為奈奎斯特的一部分。較低的值會降低抗鋸齒,但也會降低一些最高頻率。 (默認:0.99)

  • beta(float或者None,可選的) -用於凱撒窗的形狀參數。

  • dtype(torch.device,可選的) -確定預先計算和緩存重采樣內核的精度。如果未提供,則使用 torch.float64 計算內核,然後緩存為 torch.float32 。如果您需要更高的精度,請提供 torch.float64 ,並且預先計算的內核被計算並緩存為 torch.float64 。如果您使用精度較低的重采樣,請不要提供此參數,而是使用 Resample.to(dtype) ,以便內核生成仍然在 torch.float64 上進行。

將信號從一個頻率重新采樣到另一個頻率。可以給出重采樣方法。

注意

如果對精度高於 float32 的波形進行重新采樣,則可能會有少量精度損失,因為內核被緩存為 float32 一次。如果高精度重采樣對您的應用程序很重要,則函數形式將保留更高的精度,但運行速度較慢,因為它不緩存內核。或者,您可以重寫緩存更高精度內核的轉換。

示例
>>> waveform, sample_rate = torchaudio.load('test.wav', normalize=True)
>>> transform = transforms.Resample(sample_rate, sample_rate/10)
>>> waveform = transform(waveform)

相關用法


注:本文由純淨天空篩選整理自pytorch.org大神的英文原創作品 torchaudio.transforms.Resample。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。