快捷方式

torchaudio.prototype.functional.oscillator_bank

torchaudio.prototype.functional.oscillator_bank(frequencies: Tensor, amplitudes: Tensor, sample_rate: float, reduction: str = 'sum', dtype: Optional[dtype] = torch.float64) Tensor[source]

根据给定的瞬时频率和幅度合成波形。

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

注意

输出波形的相位信息通过对给定的瞬时频率 (frequencies) 进行累积求和得到。当数据类型精度不足时,这会导致舍入误差。使用 torch.float64 可以解决此问题。

下图显示了在生成采样率为 8000 [Hz] 的恒定频率和幅度的正弦波时,torch.float32torch.float64 之间的差异。注意,torch.float32 版本显示了一些在 torch.float64 版本中看不到的伪影。

https://download.pytorch.org/torchaudio/doc-assets/oscillator_precision.png
参数:
  • frequencies (Tensor) – 采样点处的振荡器频率 (Hz)。形状为 (…, time, N)

  • amplitudes (Tensor) – 采样点处的振荡器幅度。形状为 (…, time, N)

  • sample_rate (float) – 采样率

  • reduction (str) – 要执行的归约操作。有效值为 "sum""mean""none"。默认值:"sum"

  • dtype (torch.dpython:typeNone, 可选) – 执行累积求和操作的数据类型。默认值:torch.float64。传递 None 以禁用类型转换。

返回值:

生成的波形。

如果 reduction"none",则形状为 (…, time, N),否则形状为 (…, time)

返回类型:

Tensor

使用 oscillator_bank 的教程
Additive Synthesis

加法合成

加法合成
Oscillator and ADSR envelope

振荡器和 ADSR 包络

振荡器和 ADSR 包络

文档

访问 PyTorch 的全面开发者文档

查看文档

教程

获取初学者和高级开发人员的深入教程

查看教程

资源

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

查看资源