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)[source]¶
将频谱图转换为色度图。
- 参数:
sample_rate (int) – 音频信号的采样率。
n_freqs (int) – STFT 中的频率箱数。参见
n_fft
inSpectrogram
。n_chroma (int, 可选) – 色度数量。 (默认:
12
)tuning (float, 可选) – 与 A440 的音调偏差,以色度箱分数表示。 (默认: 0.0)
ctroct (float, 可选) – 高斯主导窗口的中心,以八度表示,用于对滤波器进行加权。 (默认: 5.0)
octwidth (float or None, 可选) – 高斯主导窗口的宽度,以八度表示,用于对滤波器进行加权。 如果为
None
,则完全禁用加权。 (默认: 2.0)norm (int, 可选) – 用于对滤波器组进行归一化的范数阶数。 (默认: 2)
base_c (bool, 可选) – 如果为 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 [source]¶
- 参数:
specgram (torch.Tensor) – 维度为 (…,
n_freqs
, time) 的频谱图。- 返回:
大小为 (…,
n_chroma
, time) 的色度频谱图。- 返回类型: