torchaudio.compliance.kaldi¶
kaldi 的有用处理操作可以使用 torchaudio 执行。 提供了具有相同参数的各种函数,以便 torchaudio 可以生成类似的输出。
功能¶
频谱图¶
-
torchaudio.compliance.kaldi.spectrogram(waveform: torch.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') → torch.Tensor[source]¶ 从原始音频信号创建语谱图。这与 Kaldi 的 compute-spectrogram-feats 的输入/输出相匹配。
- Parameters
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,则通过零填充输入将窗口大小舍入到 2 的幂以进行 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')
- Returns
与 Kaldi 输出相同的频谱图。形状为 (m,
padded_window_size // 2 + 1),其中 m 在 _get_strided 中计算- Return type
张量
滤波器组¶
-
torchaudio.compliance.kaldi.fbank(waveform: torch.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') → torch.Tensor[source]¶ 从原始音频信号创建 fbank。这与 Kaldi 的 compute-fbank-feats 的输入/输出相匹配。
- Parameters
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)high_freq (float, optional) – 梅尔倒谱系数的高频截止频率(如果 <= 0,则为相对于奈奎斯特频率的偏移量) (默认值:
0.0)htk_compat (bool, optional) – 如果为真,将能量放在最后。警告:这不足以获取与 HTK 兼容的特征(需要更改其他参数)。(默认值:
False)low_freq (float, optional) – 梅尔分箱的低截止频率(默认值:
20.0)min_duration (float, optional) – 要处理的片段的最小持续时间(以秒为单位)。(默认值:
0.0)num_mel_bins (int, optional) – 三角形梅尔频率分箱的数量(默认值:
23)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,则通过零填充输入将窗口大小舍入到 2 的幂以进行 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)use_energy (bool, optional) – 在 FBANK 输出中添加一个包含能量的额外维度。(默认值:
False)use_log_fbank (bool, optional) – 如果为真,则生成对数滤波器组,否则生成线性滤波器组。(默认值:
True)use_power (bool, optional) – 如果为 true,则使用 power,否则使用 magnitude。(默认值:
True)vtln_high (float, optional) – 分段线性 VTLN 变形函数中的高拐点(如果为负,则相对于高梅尔频率的偏移量(默认值:
-500.0)vtln_low (float, optional) – 分段线性 VTLN 变形函数中的低拐点(默认值:
100.0)vtln_warp (float, optional) – Vtln 扭曲因子(仅在未指定 vtln_map 时适用)(默认值:
1.0)window_type (str, optional) – 窗口类型('hamming'|'hanning'|'povey'|'rectangular'|'blackman') (默认值:
'povey')
- Returns
与 Kaldi 输出完全相同的 fbank。形状为 (m,
num_mel_bins + use_energy),其中 m 在 _get_strided 中计算- Return type
张量
梅尔频率倒谱系数¶
-
torchaudio.compliance.kaldi.mfcc(waveform: torch.Tensor, blackman_coeff: float = 0.42, cepstral_lifter: float = 22.0, 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, num_ceps: int = 13, 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, vtln_high: float = - 500.0, vtln_low: float = 100.0, vtln_warp: float = 1.0, window_type: str = 'povey') → torch.Tensor[source]¶ 从原始音频信号创建 MFCC。这与 Kaldi 的 compute-mfcc-feats 的输入/输出相匹配。
- Parameters
waveform (Tensor) – 大小为 (c, n) 的音频张量,其中 c 的范围在 [0,2) 之间
blackman_coeff (float, optional) – 广义 Blackman 窗的常数系数。(默认值:
0.42)cepstral_lifter (float, optional) – 控制 MFCC 缩放的常数(默认值:
22.0)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)high_freq (float, optional) – 梅尔倒谱系数的高频截止频率(如果 <= 0,则为相对于奈奎斯特频率的偏移量) (默认值:
0.0)htk_compat (bool, optional) – 如果为真,则将能量置于最后。警告:这不足以获取与 HTK 兼容的特征(需要更改其他参数)。(默认值:
False)low_freq (float, optional) – 梅尔分箱的低截止频率(默认值:
20.0)num_ceps (int, optional) – MFCC 计算中的倒谱数量(包括 C0)(默认值:
13)min_duration (float, optional) – 要处理的片段的最小持续时间(以秒为单位)。(默认值:
0.0)num_mel_bins (int, optional) – 三角形梅尔频率分箱的数量(默认值:
23)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,则通过零填充输入将窗口大小舍入到 2 的幂以进行 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)use_energy (bool, optional) – 在 FBANK 输出中添加一个包含能量的额外维度。(默认值:
False)vtln_high (float, optional) – 分段线性 VTLN 变形函数中的高拐点(如果为负,则相对于高梅尔频率的偏移量(默认值:
-500.0)vtln_low (float, optional) – 分段线性 VTLN 变形函数中的低拐点(默认值:
100.0)vtln_warp (float, optional) – Vtln 扭曲因子(仅在未指定 vtln_map 时适用)(默认值:
1.0)window_type (str, optional) – 窗口类型('hamming'|'hanning'|'povey'|'rectangular'|'blackman') (默认值:
"povey")
- Returns
与 Kaldi 输出完全相同的 mfcc。形状为 (m,
num_ceps),其中 m 在 _get_strided 中计算- Return type
张量