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 窗口之间的步长(以样本数为单位)。
另请参阅