mindspore.dataset.audio.Fade

class mindspore.dataset.audio.Fade(fade_in_len=0, fade_out_len=0, fade_shape=FadeShape.LINEAR)[源代码]

向波形添加淡入和/或淡出。

参数:
  • fade_in_len (int, 可选) - 淡入长度(时间帧),必须是非负。默认值: 0

  • fade_out_len (int, 可选) - 淡出长度(时间帧),必须是非负。默认值: 0

  • fade_shape (FadeShape, 可选) - 淡入淡出形状,可以选择FadeShape提供的模式。默认值: FadeShape.LINEAR

    • FadeShape.QUARTER_SINE ,表示淡入淡出形状为四分之一正弦模式。

    • FadeShape.HALF_SINE ,表示淡入形状为半正弦模式。

    • FadeShape.LINEAR ,表示淡入淡出形状为线性模式。

    • FadeShape.LOGARITHMIC ,表示淡入淡出形状为对数模式。

    • FadeShape.EXPONENTIAL ,表示淡入淡出形状为指数模式。

异常:
  • RuntimeError - 如果 fade_in_len 超过音频波形长度。

  • RuntimeError - 如果 fade_out_len 超过音频波形长度。

支持平台:

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.Fade(fade_in_len=3, fade_out_len=2, fade_shape=audio.FadeShape.LINEAR)]
>>> 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.Fade(fade_in_len=3, fade_out_len=2, fade_shape=audio.FadeShape.LINEAR)(waveform)
>>> print(output.shape, output.dtype)
(16,) float64
教程样例: