torchaudio.functional.spectrogram¶
- torchaudio.functional.spectrogram(waveform: Tensor, pad: int, window: Tensor, n_fft: int, hop_length: int, win_length: int, power: Optional[float], normalized: Union[bool, str], center: bool = True, pad_mode: str = 'reflect', onesided: bool = True, return_complex: Optional[bool] = None) Tensor[源]¶
從原始音訊訊號建立頻譜圖或一批頻譜圖。頻譜圖可以是僅包含幅度,也可以是複數形式。
- 引數:
waveform (Tensor) – 維度為 (…, time) 的音訊 Tensor
pad (int) – 訊號的兩側填充
window (Tensor) – 應用/乘以每個幀/視窗的視窗 Tensor
n_fft (int) – FFT 大小
hop_length (int) – STFT 視窗之間的跳躍長度
win_length (int) – 視窗大小
power (float or None) – 幅度頻譜圖的指數(必須 > 0),例如,1 表示幅度,2 表示功率等。如果為 None,則返回複數頻譜。
normalized (bool or str) – 是否在 STFT 後按幅度歸一化。如果輸入是字串,選項包括
"window"和"frame_length",如果需要特定的歸一化型別。True對映到"window"。當在"window"上歸一化時,波形根據視窗的 L2 能量進行歸一化。如果在"frame_length"上歸一化,波形則透過除以 \((\text{frame\_length})^{0.5}\) 進行歸一化。center (bool, optional) – 是否在
waveform兩側填充,使得第 \(t\) 幀的時間中心位於 \(t \times \text{hop\_length}\) 處。預設值:Truepad_mode (string, optional) – 控制當
center為True時使用的填充方法。預設值:"reflect"onesided (bool, optional) – 控制是否返回一半結果以避免冗餘。預設值:
Truereturn_complex (bool, optional) – 已棄用且未使用。
- 返回值:
維度 (…, freq, time),其中 freq 為
n_fft // 2 + 1且n_fft是傅立葉 bin 的數量,time 是視窗跳躍次數 (n_frame)。- 返回型別:
Tensor