nvidia.dali.fn.spectrogram#

nvidia.dali.fn.spectrogram(__input, /, *, bytes_per_sample_hint=[0], center_windows=True, layout='ft', nfft=None, power=2, preserve=False, reflect_padding=True, window_fn=[], window_length=512, window_step=256, device=None, name=None)#

从 1D 信号(例如,音频)生成频谱图。

输入数据应为单通道(形状为 (nsamples,)(nsamples, 1)(1, nsamples))的 float32 类型。

支持的后端
  • ‘cpu’

  • ‘gpu’

参数:

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

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

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

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

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

    指示是否应填充提取的窗口,以便窗口函数在 window_step 的倍数处居中。

    如果设置为 False,则不会填充信号,即,只会提取输入范围内的窗口。

  • layout (layout str, 可选, 默认 = ‘ft’) – 输出布局:“ft”(频率优先)或“tf”(时间优先)。

  • nfft (int, 可选) –

    FFT 的大小。

    输出中创建的 bin 的数量为 nfft // 2 + 1

    注意

    输出仅表示频谱的正半部分。

  • power (int, 可选, 默认 = 2) –

    频谱幅度的指数。

    支持的值

    • 1 - 幅度,

    • 2 - 功率(计算速度更快)。

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

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

    指示在信号边界外采样时的填充策略。

    如果设置为 True,则信号相对于边界镜像,否则信号用零填充。

    注意

    center_windows 设置为 False 时,将忽略此选项。

  • window_fn (float 或 list of float, 可选, 默认 = []) –

    窗口函数的样本,在计算 STFT 时,将乘以每个提取的窗口。

    如果提供值,则应为大小为 window_length 的浮点数列表。如果未提供值,则将使用 Hann 窗口。

  • window_length (int, 可选, 默认 = 512) – 窗口大小(以样本数为单位)。

  • window_step (int, 可选, 默认 = 256) – STFT 窗口之间的步长(以样本数为单位)。

另请参阅