torchaudio.functional.phase_vocoder¶
- torchaudio.functional.phase_vocoder(complex_specgrams: Tensor, rate: float, phase_advance: Tensor) Tensor [source]¶
給定一個 STFT 張量,在不改變音調的情況下,按
rate
因子加速時間。- 參數:
complex_specgrams (Tensor) – 維度為 (…, freq, num_frame) 的複數 dtype 張量。
rate (float) – 加速因子
phase_advance (Tensor) – 每個 bin 中的預期相位前進。維度為 (freq, 1)
- 返回:
拉伸的頻譜圖。結果張量與輸入頻譜圖具有相同的 dtype,但幀數更改為
ceil(num_frame / rate)
。- 返回類型:
Tensor
- 範例
>>> freq, hop_length = 1025, 512 >>> # (channel, freq, time) >>> complex_specgrams = torch.randn(2, freq, 300, dtype=torch.cfloat) >>> rate = 1.3 # Speed up by 30% >>> phase_advance = torch.linspace( >>> 0, math.pi * hop_length, freq)[..., None] >>> x = phase_vocoder(complex_specgrams, rate, phase_advance) >>> x.shape # with 231 == ceil(300 / 1.3) torch.Size([2, 1025, 231])