mindspore.dataset.audio.Magphase

View Source On Gitee
class mindspore.dataset.audio.Magphase(power=1.0)[source]

Separate a complex-valued spectrogram with shape \((..., 2)\) into its magnitude and phase.

Parameters

power (float) – Power of the norm, which must be non-negative. Default: 1.0.

Raises

RuntimeError – If the shape of input audio waveform does not match (…, 2).

Supported Platforms:

CPU

Examples

>>> 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, 2])  # 5 samples
>>> numpy_slices_dataset = ds.NumpySlicesDataset(data=waveform, column_names=["audio"])
>>> transforms = [audio.Magphase()]
>>> numpy_slices_dataset = numpy_slices_dataset.map(operations=transforms, input_columns=["audio"],
...                                                 output_columns=["spect", "phase"])
>>> for item in numpy_slices_dataset.create_dict_iterator(num_epochs=1, output_numpy=True):
...     print(item["spect"].shape, item["spect"].dtype)
...     break
(16,) float64
>>>
>>> # Use the transform in eager mode
>>> waveform = np.random.random([16, 2])  # 1 sample
>>> output = audio.Magphase()(waveform)
>>> print(output[0].shape, output[0].dtype)
(16,) float64
Tutorial Examples: