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


Python PyTorch GriffinLim用法及代码示例


本文简要介绍python语言中 torchaudio.transforms.GriffinLim 的用法。

用法:

class torchaudio.transforms.GriffinLim(n_fft: int = 400, n_iter: int = 32, win_length: Optional[int] = None, hop_length: Optional[int] = None, window_fn: Callable[[...], torch.Tensor] = <built-in method hann_window of type object>, power: float = 2.0, wkwargs: Optional[dict] = None, momentum: float = 0.99, length: Optional[int] = None, rand_init: bool = True)

参数

  • n_fft(int,可选的) -FFT 的大小,创建n_fft // 2 + 1 bins。 (默认:400)

  • n_iter(int,可选的) -阶段恢复过程的迭代次数。 (默认:32)

  • win_length(int或者None,可选的) -窗口大小。 (默认:n_fft)

  • hop_length(int或者None,可选的) -STFT 窗口之间的跳跃长度。 (默认:win_length // 2)

  • window_fn(可调用[..,Tensor],可选的) - 创建一个窗口张量的函数,该窗口张量应用于/乘以每个帧/窗口。 (默认:torch.hann_window)

  • power(float,可选的) -幅度谱图的 index ,(必须 > 0)例如,1 表示能量,2 表示功率等(默认值:2)

  • wkwargs(dict或者None,可选的) -窗口函数的参数。 (默认:None)

  • momentum(float,可选的) -快速Griffin-Lim 的动量参数。将此设置为 0 会恢复原始的 Griffin-Lim 方法。接近 1 的值可以导致更快的收敛,但高于 1 可能不会收敛。 (默认:0.99)

  • length(int,可选的) -预期输出的数组长度。 (默认:None)

  • rand_init(bool,可选的) -如果为真则随机初始化相位,否则初始化为零。 (默认:True)

使用Griffin-Lim 变换从线性尺度幅度谱图计算波形。

移植自 Library [2],快速Griffin-Lim算法[3] 和来自修改的short-time傅里叶变换的信号估计[4]。

示例
>>> batch, freq, time = 2, 257, 100
>>> spectrogram = torch.randn(batch, freq, time)
>>> transform = transforms.GriffinLim(n_fft=512)
>>> waveform = transform(spectrogram)

相关用法


注:本文由纯净天空筛选整理自pytorch.org大神的英文原创作品 torchaudio.transforms.GriffinLim。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。