當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。