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 [source]¶
从原始音频信号创建频谱图或一批频谱图。频谱图可以是仅幅度或复数。
- 参数:
waveform (Tensor) – 音频张量,维度为 (…, time)
pad (int) – 信号的双边填充
window (Tensor) – 应用于/乘以每个帧/窗口的窗口张量
n_fft (int) – FFT 的大小
hop_length (int) – STFT 窗口之间的跳跃长度
win_length (int) – 窗口大小
power (float 或 None) – 幅度谱的指数,(必须 > 0),例如,幅度为 1,功率为 2 等。如果为 None,则返回复数谱。
normalized (bool 或 str) – 是否在 stft 后按幅度归一化。如果输入是 str,则选项为
"window"
和"frame_length"
,如果需要特定的归一化类型。True
映射到"window"
。当在"window"
上归一化时,波形根据窗口的 L2 能量进行归一化。如果在"frame_length"
上归一化,则波形通过除以 \((\text{frame\_length})^{0.5}\) 进行归一化。center (bool, optional) – 是否在
waveform
两侧填充,以便第 \(t\)-th 帧以时间 \(t \times \text{hop\_length}\) 为中心。默认值:True
pad_mode (string, optional) – 当
center
为True
时,控制使用的填充方法。默认值:"reflect"
onesided (bool, optional) – 控制是否返回一半结果以避免冗余。默认值:
True
return_complex (bool, optional) – 已弃用,不再使用。
- 返回:
维度 (…, freq, time),freq 为
n_fft // 2 + 1
,n_fft
是傅里叶 bin 的数量,time 是窗口跳数 (n_frame)。- 返回类型:
Tensor