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窗口(仅在开始时增加延迟)。 仅在 centerFalse 时适用,在 centerTrue 时忽略。默认值: 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
教程样例: