mindspore.dataset.audio.MelSpectrogram ====================================== .. image:: https://mindspore-website.obs.cn-north-4.myhuaweicloud.com/website-images/master/resource/_static/logo_source.svg :target: https://gitee.com/mindspore/mindspore/blob/master/docs/api/api_python/dataset_audio/mindspore.dataset.audio.MelSpectrogram.rst :alt: 查看源文件 .. py:class:: mindspore.dataset.audio.MelSpectrogram(sample_rate=16000, n_fft=400, win_length=None, hop_length=None, f_min=0.0, f_max=None, pad=0, n_mels=128, window=WindowType.HANN, power=2.0, normalized=False, center=True, pad_mode=BorderType.REFLECT, onesided=True, norm=NormType.NONE, mel_scale=MelType.HTK) 计算原始音频信号的梅尔频谱。 参数: - **sample_rate** (int, 可选) - 采样频率(单位:Hz),不能小于0。默认值: ``16000`` 。 - **n_fft** (int, 可选) - FFT的大小,创建 `n_fft // 2 + 1` 个频段,应该大于0并且小于输入张量最后一维大小的两倍。默认值: ``400`` 。 - **win_length** (int, 可选) - 窗口大小, 应该大于0并且不能大于 `n_fft` 。默认值: ``None`` , 会被设置为 `n_ftt` 。 - **hop_length** (int, 可选) - STFT窗口之间的跳跃长度,应该大于0。默认值: ``None`` , 会被设置为 `win_length // 2` 。 - **f_min** (float, 可选) - 最小频率,不能大于 `f_max` 。默认值: ``0.0`` 。 - **f_max** (float, 可选) - 最大频率,不能小于0。默认值: ``None`` , 会被设置为 `sample_rate // 2` 。 - **pad** (int, 可选) - 信号两端的填充长度,不能小于0。默认值: ``0`` 。 - **n_mels** (int, 可选) - 梅尔滤波器组的数量,不能小于0。默认值: ``128`` 。 - **window** (:class:`~.audio.WindowType`, 可选) - 作用于每一帧的窗口函数。默认值: ``WindowType.HANN`` 。 - **power** (float, 可选) - 幅值谱图的指数,应该大于0,例如, ``1`` 表示能量, ``2`` 表示功率,等等。默认值: ``2.0`` 。 - **normalized** (bool, 可选) - 是否在stft之后按幅度执行标准化。默认值: ``False`` 。 - **center** (bool, 可选) - 是否同时在波形两端进行填充。默认值: ``True`` 。 - **pad_mode** (BorderType, 可选) - 控制在 `center` 为 ``True`` 时使用的填充方法,可为 ``BorderType.REFLECT`` 、 ``BorderType.CONSTANT`` 、 ``BorderType.EDGE`` 、 ``BorderType.SYMMETRIC`` 。默认值: ``BorderType.REFLECT`` 。 - **onesided** (bool, 可选) - 控制是否只返回一半波形,以避免冗余。默认值: ``True`` 。 - **norm** (:class:`~.audio.NormType`, 可选) - 如果为 ``'slaney'`` ,则将三角形梅尔权重除以梅尔带的宽度(区域归一化)。默认值: ``NormType.NONE`` ,不使用标准化。 - **mel_scale** (:class:`~.audio.MelType`, 可选) - 要使用的Mel比例,可以是 ``MelType.SLAN`` 或 ``MelType.HTK`` 。默认值: ``MelType.HTK`` 。 异常: - **TypeError** - 如果 `sample_rate` 的类型不为int。 - **TypeError** - 如果 `n_fft` 的类型不为int。 - **TypeError** - 如果 `n_mels` 的类型不为int。 - **TypeError** - 如果 `f_min` 的类型不为float。 - **TypeError** - 如果 `f_max` 的类型不为float。 - **TypeError** - 如果 `window` 的类型不为 :class:`mindspore.dataset.audio.WindowType` 。 - **TypeError** - 如果 `norm` 的类型不为 :class:`mindspore.dataset.audio.NormType` 。 - **TypeError** - 如果 `mel_scale` 的类型不为 :class:`mindspore.dataset.audio.MelType` 。 - **TypeError** - 如果 `power` 的类型不为float。 - **TypeError** - 如果 `normalized` 的类型不为bool。 - **TypeError** - 如果 `center` 的类型不为bool。 - **TypeError** - 如果 `pad_mode` 的类型不为 :class:`mindspore.dataset.audio.BorderType` 。 - **TypeError** - 如果 `onesided` 的类型不为bool。 - **TypeError** - 如果 `pad` 的类型不为int。 - **TypeError** - 如果 `win_length` 的类型不为int。 - **TypeError** - 如果 `hop_length` 的类型不为int。 - **ValueError** - 如果 `sample_rate` 为负数。 - **ValueError** - 如果 `n_ftt` 不为正数。 - **ValueError** - 如果 `n_mels` 为负数。 - **ValueError** - 如果 `f_min` 大于 `f_max` 。 - **ValueError** - 如果 `f_max` 为负数。 - **ValueError** - 当 `f_max` 为None时, 如果 `f_min` 大于 `sample_rate // 2` 。 - **ValueError** - 如果 `power` 不为正数。 - **ValueError** - 如果 `pad` 为负数。 - **ValueError** - 如果 `win_length` 不为正数。 - **ValueError** - 如果 `hop_length` 不为正数。 教程样例: - `音频变换样例库 `_