torchaudio.compliance.kaldi.spectrogram¶
- torchaudio.compliance.kaldi.spectrogram(waveform: Tensor, blackman_coeff: float = 0.42, channel: int = -1, dither: float = 0.0, energy_floor: float = 1.0, frame_length: float = 25.0, frame_shift: float = 10.0, min_duration: float = 0.0, preemphasis_coefficient: float = 0.97, raw_energy: bool = True, remove_dc_offset: bool = True, round_to_power_of_two: bool = True, sample_frequency: float = 16000.0, snip_edges: bool = True, subtract_mean: bool = False, window_type: str = 'povey') Tensor [source]¶
从原始音频信号创建语谱图。这与 Kaldi 的 compute-spectrogram-feats 的输入/输出相匹配。
- 参数:
waveform (Tensor) – 音频张量,大小为 (c, n),其中 c 在 [0,2) 范围内
blackman_coeff (float, optional) – 广义 Blackman 窗口的常系数。(默认值:
0.42
)channel (int, optional) – 要提取的通道(-1 -> 期望单声道,0 -> 左声道,1 -> 右声道)(默认值:
-1
)dither (float, optional) – 抖动常数(0.0 表示无抖动)。如果您关闭此选项,则应设置 energy_floor 选项,例如设置为 1.0 或 0.1(默认值:
0.0
)energy_floor (float, optional) – 语谱图计算中的能量下限(绝对值,非相对值)。注意:此下限应用于零分量,代表总信号能量。单个语谱图元素的下限固定为 std::numeric_limits<float>::epsilon()。(默认值:
1.0
)frame_length (float, optional) – 帧长(毫秒)(默认值:
25.0
)frame_shift (float, optional) – 帧移(毫秒)(默认值:
10.0
)min_duration (float, optional) – 要处理的最小段持续时间(秒)。(默认值:
0.0
)preemphasis_coefficient (float, optional) – 用于信号预加重的系数(默认值:
0.97
)raw_energy (bool, optional) – 如果为 True,则在预加重和加窗之前计算能量(默认值:
True
)remove_dc_offset (bool, optional) – 从每帧波形中减去均值(默认值:
True
)round_to_power_of_two (bool, optional) – 如果为 True,则通过对 FFT 输入进行零填充,将窗口大小向上取整到最接近的二次幂。(默认值:
True
)sample_frequency (float, optional) – 波形数据采样频率(必须与波形文件中的指定值匹配)(默认值:
16000.0
)snip_edges (bool, optional) – 如果为 True,则仅输出完全适合文件中的帧,以处理端部效应,且帧数取决于 frame_length。如果为 False,则帧数仅取决于 frame_shift,并在末端反射数据。(默认值:
True
)subtract_mean (bool, optional) – 减去每个特征文件的均值 [CMS];不建议采用这种方式。(默认值:
False
)window_type (str, optional) – 窗口类型(‘hamming’|’hanning’|’povey’|’rectangular’|’blackman’)(默认值:
'povey'
)
- 返回:
与 Kaldi 输出的语谱图完全相同。形状为 (m,
padded_window_size // 2 + 1
),其中 m 在 _get_strided 中计算得出- 返回类型:
Tensor