mindspore.dataset.audio.SlidingWindowCmn
- class mindspore.dataset.audio.SlidingWindowCmn(cmn_window=600, min_cmn_window=100, center=False, norm_vars=False)[源代码]
对每个话语应用滑动窗口倒谱均值(和可选方差)归一化。
- 参数:
cmn_window (int, 可选) - 用于运行平均CMN计算的帧中窗口。默认值:
600
。min_cmn_window (int, 可选) - 解码开始时使用的最小CMN窗口(仅在开始时增加延迟)。 仅在 center 为
False
时适用,在 center 为True
时忽略。默认值:100
。center (bool, 可选) - 如果为
True
,则使用以当前帧为中心的窗口。如果为False
,则窗口在左侧。默认值:False
。norm_vars (bool, 可选) - 如果为
True
,则将方差规范化为1。默认值:False
。
- 异常:
TypeError - 当 cmn_window 的类型不为int。
ValueError - 当 cmn_window 为负数。
TypeError - 当 min_cmn_window 的类型不为int。
ValueError - 当 min_cmn_window 为负数。
TypeError - 当 center 的类型不为bool。
TypeError - 当 norm_vars 的类型不为bool。
- 支持平台:
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, 3]) # 5 samples >>> numpy_slices_dataset = ds.NumpySlicesDataset(data=waveform, column_names=["audio"]) >>> transforms = [audio.SlidingWindowCmn()] >>> 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, 3) float64 >>> >>> # Use the transform in eager mode >>> waveform = np.random.random([16, 3]) # 1 sample >>> output = audio.SlidingWindowCmn()(waveform) >>> print(output.shape, output.dtype) (16, 3) float64
- 教程样例: