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)
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, 可选) – 是否在
waveform
的两侧进行填充,以便 \(t\)-th 帧的中心位于时间 \(t \times \text{hop\_length}\)。默认值:True
pad_mode (string, 可选) – 当
center
为True
时,控制使用的填充方法。默认值:"reflect"
onesided (bool, 可选) – 控制是否返回一半结果以避免冗余。默认值:
True
return_complex (bool, 可选) – 已弃用,未使用。
- 返回
维度为 (..., freq, time),其中 freq 为
n_fft // 2 + 1
,n_fft
是傅里叶变换的 bin 数,time 是窗口跳跃的次数 (n_frame)。- 返回类型
张量