ChromaScale¶
- class torchaudio.prototype.transforms.ChromaScale(sample_rate: int, n_freqs: int, *, n_chroma: int = 12, tuning: float = 0.0, ctroct: float = 5.0, octwidth: Optional[float] = 2.0, norm: int = 2, base_c: bool = True)[源代码]¶
已弃用
警告
此类已从 2.8 版本开始弃用。它将在 2.9 版本中移除。此弃用是大型重构工作的一部分,目的是将 TorchAudio 迁移到维护阶段。有关更多信息,请参阅 https://github.com/pytorch/audio/issues/3902。
将频谱图转换为色度图。
- 参数 (Args)
sample_rate (int): 音频信号的采样率。n_freqs (int): STFT 中的频率 bin 数量。请参阅
Spectrogram
中的n_fft
。n_chroma (int, optional): 色度数量。(默认:12
) tuning (float, optional): 调谐偏差,相对于 A440,以色度 bin 的分数表示。(默认: 0.0) ctroct (float, optional): 高斯优势窗口的中心,用于加权滤波器,单位为倍频程。(默认: 5.0) octwidth (float 或 None, optional): 高斯优势窗口的宽度,用于加权滤波器,单位为倍频程。如果为
None
,则禁用加权。(默认: 2.0)norm (int, optional): 用于归一化滤波器组的范数阶数。(默认: 2) base_c (bool, optional): 如果为 True,则滤波器组从 C 开始。否则,从 A 开始。(默认: True)
- 示例
>>> waveform, sample_rate = torchaudio.load("test.wav", normalize=True) >>> spectrogram_transform = transforms.Spectrogram(n_fft=1024) >>> spectrogram = spectrogram_transform(waveform) >>> chroma_transform = transforms.ChromaScale(sample_rate=sample_rate, n_freqs=1024 // 2 + 1) >>> chroma_spectrogram = chroma_transform(spectrogram)
- 另请参阅
torchaudio.prototype.functional.chroma_filterbank()
— 用于生成滤波器组的函数。
- forward(x: Tensor) Tensor [源代码]¶
- 参数
specgram (torch.Tensor) – 维度为 (...,
n_freqs
, time) 的频谱图。- 返回
维度为 (...,
n_chroma
, time) 的色度频谱图。- 返回类型