InverseBarkScale¶
- class torchaudio.prototype.transforms.InverseBarkScale(n_stft: int, n_barks: int = 128, sample_rate: int = 16000, f_min: float = 0.0, f_max: Optional[float] = None, max_iter: int = 100000, tolerance_loss: float = 1e-05, tolerance_change: float = 1e-08, sgdargs: Optional[dict] = None, bark_scale: str = 'traunmuller')[源代码]¶
已弃用
警告
此类从 2.8 版本开始已弃用。它将在 2.9 版本中移除。此弃用是过渡 TorchAudio 进入维护阶段的大规模重构工作的一部分。有关更多信息,请参阅 https://github.com/pytorch/audio/issues/3902。
从 bark 频率域估计正常频率域的 STFT。
它使用 SGD 最小化输入 bark-谱与估计谱和滤波器组乘积之间的欧几里得范数。
- 参数 (Args)
n_stft (int): STFT 中的 bin 数量。请参阅
Spectrogram
中的n_fft
。n_barks (int, optional): bark 滤波器组的数量。(默认:128
) sample_rate (int, optional): 音频信号的采样率。(默认:16000
) f_min (float, optional): 最小频率。(默认:0.
) f_max (float 或 None, optional): 最大频率。(默认:sample_rate // 2
) max_iter (int, optional): 优化迭代的最大次数。(默认:100000
) tolerance_loss (float, optional): 停止优化的损耗值。(默认:1e-5
) tolerance_change (float, optional): 停止优化的损耗变化量。(默认:1e-8
) sgdargs (dict 或 None, optional): SGD 优化器的参数。(默认:None
) bark_scale (str, optional): 使用的尺度:traunmuller
、schroeder
或wang
。(默认:traunmuller
)- 示例
>>> waveform, sample_rate = torchaudio.load("test.wav", normalize=True) >>> mel_spectrogram_transform = transforms.BarkSpectrogram(sample_rate, n_fft=1024) >>> mel_spectrogram = bark_spectrogram_transform(waveform) >>> inverse_barkscale_transform = transforms.InverseBarkScale(n_stft=1024 // 2 + 1) >>> spectrogram = inverse_barkscale_transform(mel_spectrogram)
- forward(barkspec: Tensor) Tensor [源代码]¶
- 参数
barkspec (torch.Tensor) – 尺寸为 (...,
n_barks
, time) 的 bark 频率频谱图- 返回
尺寸为 (..., freq, time) 的线性尺度频谱图
- 返回类型