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)[原始碼]¶
將頻譜圖轉換為色度圖。
- 參數:
sample_rate (int) – 音訊訊號的取樣率。
n_freqs (int) – STFT 中的頻率組數。請參閱
Spectrogram
中的n_fft
。n_chroma (int, 選用) – 色度數。(預設值:
12
)tuning (float, 選用) – 以色度組的分數表示,從 A440 的音調偏差。(預設值:0.0)
ctroct (float, 選用) – 高斯優勢視窗的中心,用於加權濾波器,以八度音程表示。(預設值:5.0)
octwidth (float 或 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 [原始碼]¶
- 參數:
specgram (torch.Tensor) – 維度為 (…,
n_freqs
, time) 的頻譜圖。- 回傳:
大小為 (…,
n_chroma
, time) 的色度頻譜圖。- 回傳類型: