mindspore.dataset.audio.Biquad
- class mindspore.dataset.audio.Biquad(b0, b1, b2, a0, a1, a2)[源代码]
给音频波形施加双二阶滤波器。
具体的数学公式与参数详见 数字双二阶滤波器 。
- 参数:
b0 (float) - 当前输入的分子系数,x[n]。
b1 (float) - 一个时间间隔前输入的分子系数x[n-1]。
b2 (float) - 两个时间间隔前输入的分子系数x[n-2]。
a0 (float) - 当前输出y[n]的分母系数,该值不能为0,通常为
1
。a1 (float) - 当前输出y[n-1]的分母系数。
a2 (float) - 当前输出y[n-2]的分母系数。
- 异常:
TypeError - 如果 b0 不是float类型。
TypeError - 如果 b1 不是float类型。
TypeError - 如果 b2 不是float类型。
TypeError - 如果 a0 不是float类型。
TypeError - 如果 a1 不是float类型。
TypeError - 如果 a2 不是float类型。
ValueError - 如果 a0 为0。
- 支持平台:
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.Biquad(0.01, 0.02, 0.13, 1, 0.12, 0.3)] >>> 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.Biquad(0.01, 0.02, 0.13, 1, 0.12, 0.3)(waveform) >>> print(output.shape, output.dtype) (16,) float64
- 教程样例: