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]¶
將頻譜圖轉換為色度圖 (chromagram)。
- 引數:
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) – 用於對濾波器加權的 Gaussian 優勢視窗的中心,以八度為單位。(預設值: 5.0)
octwidth (float 或 None, optional) – 用於對濾波器加權的 Gaussian 優勢視窗的寬度,以八度為單位。如果為
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[source]¶
- 引數:
specgram (torch.Tensor) – 維度為 (…,
n_freqs, 時間) 的頻譜圖。- 返回:
大小為 (…,
n_chroma, 時間) 的色度頻譜圖。- 返回型別: