torchaudio.prototype.functional.adsr_envelope¶
- torchaudio.prototype.functional.adsr_envelope(num_frames: int, *, attack: float = 0.0, hold: float = 0.0, decay: float = 0.0, sustain: float = 1.0, release: float = 0.0, n_decay: int = 2, dtype: Optional[dtype] = None, device: Optional[device] = None)[源代码]¶
生成 ADSR 包络
- 参数:
num_frames (int) – 输出帧数。
attack (float, 可选) – 从开始到达到最大电平所需的相对时间。(默认值:
0.0
)hold (float, 可选) – 保持最大电平的时间,然后再开始衰减。(默认值:
0.0
)decay (float, 可选) – 从最大电平到维持所需的时间。(默认值:
0.0
)sustain (float, 可选) –
声音应维持的相对电平。(默认值:
1.0
)注意
维持的持续时间由1.0 - (攻击、保持、衰减和释放的总和)得出。
release (float, 可选) – 声音电平在维持后下降到零所需的时间。(默认值:
0.0
)n_decay (int, 可选) – 多项式衰减的次数。默认值:
2
。dtype (torch.dpython:type, 可选) – 返回张量的所需数据类型。默认值:如果为
None
,则使用全局默认值(请参阅torch.set_default_tensor_type()
)。device (torch.device, 可选) – 返回张量的所需设备。默认值:如果为
None
,则使用当前设备作为默认张量类型(请参阅torch.set_default_tensor_type()
)。对于 CPU 张量类型,设备将为 CPU,对于 CUDA 张量类型,设备将为当前 CUDA 设备。
- 返回:
ADSR 包络。形状:(num_frames, )
- 返回类型:
张量
- 示例
- 使用
adsr_envelope
的教程 - 加法合成振荡器和 ADSR 包络