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


Python PyTorch phase_vocoder用法及代碼示例


本文簡要介紹python語言中 torchaudio.functional.phase_vocoder 的用法。

用法:

torchaudio.functional.phase_vocoder(complex_specgrams: torch.Tensor, rate: float, phase_advance: torch.Tensor) → torch.Tensor

參數

  • complex_specgrams(Tensor) -(…, freq, num_frame, complex=2) 維度的實數張量或具有複雜 dtype 的維度 (…, freq, num_frame) 的張量。

  • rate(float) -加速係數

  • phase_advance(Tensor) -每個 bin 中的預期相位提前。 (freq, 1)的尺寸

返回

拉伸頻譜圖。生成的張量與輸入頻譜圖具有相同的 dtype,但幀數更改為 ceil(num_frame / rate)

返回類型

Tensor

給定一個 STFT 張量,在不以 rate 係數修改音高的情況下及時加速。

示例 - 使用複雜 dtype 的張量
>>> 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])
示例 - 具有真實 dtype 的張量和複雜字段的額外維度
>>> freq, hop_length = 1025, 512
>>> # (channel, freq, time, complex=2)
>>> complex_specgrams = torch.randn(2, freq, 300, 2)
>>> 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, 2])

相關用法


注:本文由純淨天空篩選整理自pytorch.org大神的英文原創作品 torchaudio.functional.phase_vocoder。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。