torchaudio.compliance.kaldi.fbank¶
- torchaudio.compliance.kaldi.fbank(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, high_freq: float = 0.0, htk_compat: bool = False, low_freq: float = 20.0, min_duration: float = 0.0, num_mel_bins: int = 23, 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, use_energy: bool = False, use_log_fbank: bool = True, use_power: bool = True, vtln_high: float = -500.0, vtln_low: float = 100.0, vtln_warp: float = 1.0, window_type: str = 'povey') Tensor [source]¶
从原始音频信号创建滤波器组特征 (fbank)。这与 Kaldi 的 compute-fbank-feats 的输入/输出匹配。
- 参数:
waveform (Tensor) – 音频张量,大小为 (c, n),其中 c 在 [0,2) 范围内
blackman_coeff (float, 可选) – 广义 Blackman 窗口的常数系数。 (默认值:
0.42
)channel (int, 可选) – 要提取的通道 (-1 -> 期望单声道,0 -> 左声道,1 -> 右声道) (默认值:
-1
)dither (float, 可选) – 抖动常数 (0.0 表示不抖动)。如果关闭此选项,则应设置 energy_floor 选项,例如设置为 1.0 或 0.1 (默认值:
0.0
)energy_floor (float, 可选) – 语谱图计算中的能量下限 (绝对值,而非相对值)。注意:此下限应用于表示总信号能量的第零个分量。各个语谱图元素的下限固定为 std::numeric_limits<float>::epsilon()。 (默认值:
1.0
)frame_length (float, 可选) – 帧长(毫秒) (默认值:
25.0
)frame_shift (float, 可选) – 帧移(毫秒) (默认值:
10.0
)high_freq (float, 可选) – 梅尔滤波器组的高截止频率 (如果 <= 0,则为奈奎斯特频率的偏移量) (默认值:
0.0
)htk_compat (bool, 可选) – 如果为真,则将能量放在最后。警告:这不足以获得与 HTK 兼容的特征 (需要更改其他参数)。 (默认值:
False
)low_freq (float, 可选) – 梅尔滤波器组的低截止频率 (默认值:
20.0
)min_duration (float, 可选) – 要处理的片段的最小持续时间(秒)。 (默认值:
0.0
)num_mel_bins (int, 可选) – 三角梅尔频率滤波器组的数量 (默认值:
23
)preemphasis_coefficient (float, 可选) – 用于信号预加重的系数 (默认值:
0.97
)raw_energy (布尔值, 可选) – 如果为 True,则计算预加重和加窗之前的能量(默认值:
True
)remove_dc_offset (布尔值, 可选) – 从每个帧的波形中减去平均值(默认值:
True
)round_to_power_of_two (布尔值, 可选) – 如果为 True,则通过对输入到 FFT 的数据进行零填充,将窗口大小四舍五入到 2 的幂。(默认值:
True
)sample_frequency (浮点数, 可选) – 波形数据采样频率(必须与波形文件匹配,如果在波形文件中指定了频率)(默认值:
16000.0
)snip_edges (布尔值, 可选) – 如果为 True,则通过仅输出完全适合文件的帧来处理边缘效应,帧数取决于 frame_length。如果为 False,则帧数仅取决于 frame_shift,并且我们在端点处反射数据。(默认值:
True
)subtract_mean (布尔值, 可选) – 减去每个特征文件的平均值 [CMS];不建议以这种方式进行。(默认值:
False
)use_energy (布尔值, 可选) – 向 FBANK 输出添加一个包含能量的额外维度。(默认值:
False
)use_log_fbank (布尔值, 可选) – 如果为 True,则生成对数滤波器组,否则生成线性滤波器组。(默认值:
True
)use_power (布尔值, 可选) – 如果为 True,则使用功率,否则使用幅度。(默认值:
True
)vtln_high (浮点数, 可选) – 分段线性 VTLN 翘曲函数中的高拐点(如果为负数,则从高梅尔频率偏移)(默认值:
-500.0
)vtln_low (浮点数, 可选) – 分段线性 VTLN 翘曲函数中的低拐点(默认值:
100.0
)vtln_warp (浮点数, 可选) – Vtln 翘曲因子(仅在未指定 vtln_map 时适用)(默认值:
1.0
)window_type (字符串, 可选) – 窗口类型('hamming'|'hanning'|'povey'|'rectangular'|'blackman')(默认值:
'povey'
)
- 返回值:
与 Kaldi 输出相同的 fbank。形状为 (m,
num_mel_bins + use_energy
),其中 m 在 _get_strided 中计算- 返回类型:
张量
- 使用
fbank
的教程 - 使用 CUDA CTC 解码器进行 ASR 推理