nvidia.dali.fn.audio_resample#

nvidia.dali.fn.audio_resample(__input, /, *, bytes_per_sample_hint=[0], dtype=None, in_rate=None, out_length=None, out_rate=None, preserve=False, quality=50.0, scale=None, device=None, name=None)#

重采样音频信号。

重采样通过应用 sinc 滤波器和 Hann 窗口实现,窗口范围由 quality 参数控制。

重采样率可以直接指定,也可以指定为目标采样率与源采样率的比率,或者从请求的输出长度与输入长度的比率计算得出。

支持的后端
  • ‘cpu’

  • ‘gpu’

参数:

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

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

    输出大小提示,以每样本字节为单位。

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

  • dtype (nvidia.dali.types.DALIDataType, 可选) –

    输出类型。

    如果未指定,则输出类型与输入类型相同。 当类型更改时,值将被标准化以填充目标数据类型的动态范围。 当将浮点输入转换为整数类型时,输入值被假定在 -1..1 范围内。 当在有符号和无符号类型之间转换时,0 转换为无符号类型的一半范围。 示例

    float -> uint8
    -1.0  -> 0
    0     -> 128
    1.0   -> 255
    
    uint8 -> int16
    0     -> -32767
    127   -> -128
    128   ->  128
    255   ->  32767
    
    uint16 -> float
    0      -> -1
    32767  -> -0.000015
    32768  ->  0.000015
    65535  ->  1
    

  • in_rate (floatTensorList of float, 可选) –

    输入采样率。

    输入样本的采样率。 此参数必须与 out_rate 一起指定。 该值相对于 out_rate,并且只要输入和输出速率的单位匹配,就不需要使用任何特定单位。

    in_rateout_rate 参数不能与 scaleout_length 一起指定。

  • out_length (intTensorList of int, 可选) –

    请求的输出长度,以样本为单位。

    缩放因子是此输出长度与输入长度的比率。 此参数不能与 in_rate, out_ratescale 一起指定。

  • out_rate (floatTensorList of float, 可选) –

    输出采样率。

    请求的输出采样率。 此参数必须与 in_rate 一起指定。 该值相对于 in_rate,并且只要输入和输出速率的单位匹配,就不需要使用任何特定单位。

    in_rateout_rate 参数不能与 scaleout_length 一起指定。

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

  • quality (float, 可选, 默认 = 50.0) –

    重采样质量,其中 0 为最低,100 为最高。

    0 提供 sinc 滤波器的 3 个瓣,50 提供 16 个瓣,100 提供 64 个瓣。

  • scale (floatTensorList of float, 可选) –

    缩放因子。

    缩放因子是目标采样率与源采样率的比率。 例如,scale=2 将生成输出,其样本数是输入的两倍。

    此参数不能与 in_rateout_rateout_length 一起指定。