快捷方式

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[源代码]

从原始音频信号创建频谱图。这与 Kaldi 的 compute-spectrogram-feats 的输入/输出匹配。

参数
  • waveform (Tensor) – 音频的 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

  • min_duration (float, 可选) – 要处理的片段的最小持续时间(以秒为单位)。(默认:0.0

  • preemphasis_coefficient (float, 可选) – 用于信号预加重的系数(默认:0.97

  • raw_energy (bool, 可选) – 如果为 True,则在预加重和加窗之前计算能量(默认:True

  • remove_dc_offset (bool, 可选) – 从每帧的波形中减去均值(默认:True

  • round_to_power_of_two (bool, 可选) – 如果为 True,则通过零填充输入到 FFT 来将窗口大小四舍五入到 2 的幂。(默认:True

  • sample_frequency (float, 可选) – 波形数据采样频率(必须与波形文件匹配,如果在此处指定)(默认:16000.0

  • snip_edges (bool, 可选) – 如果为 True,则通过仅输出完全适合文件的帧来处理边缘效应,并且帧数取决于 frame_length。如果为 False,则帧数仅取决于 frame_shift,并且我们将在末尾反射数据。(默认:True

  • subtract_mean (bool, 可选) – 减去每个特征文件的均值 [CMS];不建议这样做。(默认:False

  • window_type (str, 可选) – 窗口类型('hamming'|'hanning'|'povey'|'rectangular'|'blackman')(默认:'povey'

返回

一个与 Kaldi 输出相同的频谱图。形状为 (m, padded_window_size // 2 + 1),其中 m 在 _get_strided 中计算。

返回类型

张量

文档

访问全面的 PyTorch 开发者文档

查看文档

教程

为初学者和高级开发者提供深入的教程

查看教程

资源

查找开发资源并让您的问题得到解答

查看资源