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 后按幅度归一化。如果输入是字符串,则可以选择
"window"
和"frame_length"
,如果需要特定的归一化类型。True
映射到"window"
。当在"window"
上进行归一化时,波形将根据窗口的 L2 能量进行归一化。如果在"frame_length"
上进行归一化,则波形将通过除以 \((\text{frame\_length})^{0.5}\) 来进行归一化。center (布尔值, 可选) – 是否在
waveform
的两侧填充,以便第 \(t\) 帧以时间 \(t \times \text{hop\_length}\) 为中心。默认值:True
pad_mode (字符串, 可选) – 当
center
为True
时控制使用的填充方法。默认值:"reflect"
onesided (布尔值, 可选) – 控制是否返回一半的结果以避免冗余。默认值:
True
return_complex (布尔值, 可选) – 已弃用且未使用。
- 返回:
维度 (…, freq, time),freq 为
n_fft // 2 + 1
且n_fft
为傅里叶频段数,time 为窗口跳跃次数 (n_frame)。- 返回类型:
张量