快捷方式

重采样

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 的完整开发者文档

查看文档

教程

获取针对初学者和高级开发者的深入教程

查看教程

资源

查找开发资源并获得问题解答

查看资源