nvidia.dali.fn.mel_filter_bank#

nvidia.dali.fn.mel_filter_bank(__input, /, *, bytes_per_sample_hint=[0], freq_high=0.0, freq_low=0.0, mel_formula='slaney', nfilter=128, normalize=True, preserve=False, sample_rate=44100.0, device=None, name=None)#

通过应用三角形滤波器组将频谱图转换为梅尔频谱图。

频率 ('f') 维度从输入布局中选择。如果没有布局,则假定为 "f"、"ft" 或 "*ft",具体取决于维度的数量。

支持的后端
  • ‘cpu’

  • ‘gpu’

参数:

__input (TensorList) – 操作符的输入。

关键字参数:
  • bytes_per_sample_hint (int 或 list of int, 可选, 默认值 = [0]) –

    每个样本的输出大小提示(以字节为单位)。

    如果指定,则将预先分配位于 GPU 或分页锁定主机内存中的操作符输出,以容纳此大小的样本批次。

  • freq_high (float, 可选, 默认值 = 0.0) –

    最大频率。

    如果未提供此值,则使用 sample_rate/2

  • freq_low (float, 可选, 默认值 = 0.0) – 最小频率。

  • mel_formula (str, 可选, 默认值 = ‘slaney’) –

    确定将用于将频率从赫兹转换为梅尔以及从梅尔转换为赫兹的公式。

    梅尔刻度是音高的感知刻度,因此没有单一的公式。

    支持的值为

    • slaney,它遵循 Slaney 的 MATLAB Auditory Modelling Work 行为。
      此公式在 1 KHz 以下是线性的,在此值之上是对数的。该实现与 Librosa 的默认实现一致。
    • htk,它遵循 O'Shaughnessy 的书公式,m = 2595 * log10(1 + (f/700))
      此值与 Hidden Markov Toolkit (HTK) 的实现一致。

  • nfilter (int, 可选, 默认值 = 128) – 梅尔滤波器的数量。

  • normalize (bool, 可选, 默认值 = True) –

    确定是否按其频带宽度归一化三角形滤波器权重。

    • 如果设置为 True,则滤波器函数的积分将为 1。

    • 如果设置为 False,则滤波器函数的峰值将为 1。

  • preserve (bool, 可选, 默认值 = False) – 阻止操作符从图中删除,即使其输出未使用。

  • sample_rate (float, 可选, 默认值 = 44100.0) – 音频信号的采样率。

另请参阅