mindspore.dataset.audio.Dither
- class mindspore.dataset.audio.Dither(density_function=DensityFunction.TPDF, noise_shaping=False)[源代码]
通过消除非线性截断失真,来抖动增加存储在特定位深的音频的动态感知范围。
- 参数:
density_function (
DensityFunction
, 可选) - 连续随机变量的密度函数。 可为DensityFunction.TPDF
(三角概率密度函数)、DensityFunction.RPDF
(矩形概率密度函数) 或DensityFunction.GPDF
(高斯概率密度函数)。默认值:DensityFunction.TPDF
。noise_shaping (bool, 可选) - 是否通过滤波操作,来消除频谱能量的量化误差。默认值:
False
。
- 异常:
TypeError - 当 density_function 的类型不为
mindspore.dataset.audio.DensityFunction
。TypeError - 当 noise_shaping 的类型不为bool。
RuntimeError - 当输入音频的shape不为<…, time>。
- 支持平台:
CPU
样例:
>>> import numpy as np >>> import mindspore.dataset as ds >>> import mindspore.dataset.audio as audio >>> >>> # Use the transform in dataset pipeline mode >>> waveform = np.random.random([5, 16]) # 5 samples >>> numpy_slices_dataset = ds.NumpySlicesDataset(data=waveform, column_names=["audio"]) >>> transforms = [audio.Dither()] >>> numpy_slices_dataset = numpy_slices_dataset.map(operations=transforms, input_columns=["audio"]) >>> for item in numpy_slices_dataset.create_dict_iterator(num_epochs=1, output_numpy=True): ... print(item["audio"].shape, item["audio"].dtype) ... break (16,) float64 >>> >>> # Use the transform in eager mode >>> waveform = np.random.random([16]) # 1 sample >>> output = audio.Dither()(waveform) >>> print(output.shape, output.dtype) (16,) float64
- 教程样例: