当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。