2022-12-12 21:00:13 +08:00
|
|
|
|
mindspore.dataset.audio.MelSpectrogram
|
|
|
|
|
|
======================================
|
|
|
|
|
|
|
2022-12-14 16:23:12 +08:00
|
|
|
|
.. 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)
|
2022-12-12 21:00:13 +08:00
|
|
|
|
|
|
|
|
|
|
计算原始音频信号的梅尔频谱。
|
|
|
|
|
|
|
|
|
|
|
|
参数:
|
|
|
|
|
|
- **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** (WindowType, 可选) - 作用于每一帧的窗口函数。默认值:WindowType.HANN。
|
|
|
|
|
|
- **power** (float, 可选) - 幅值谱图的指数,应该大于0,例如,1表示能量,2表示功率,等等。默认值:2.0。
|
|
|
|
|
|
- **normalized** (bool, 可选) - 是否在stft之后按幅度执行标准化。默认值:False。
|
|
|
|
|
|
- **center** (bool, 可选) - 是否同时在波形两端进行填充。默认值:True。
|
2022-12-14 17:48:47 +08:00
|
|
|
|
- **pad_mode** (BorderType, 可选) - 控制在 `center` 为True时使用的填充方法,可为BorderType.REFLECT、BorderType.CONSTANT、BorderType.EDGE、BorderType.SYMMETRIC。默认值:BorderType.REFLECT。
|
2022-12-12 21:00:13 +08:00
|
|
|
|
- **onesided** (bool, 可选) - 控制是否只返回一半波形,以避免冗余。默认值:True。
|
|
|
|
|
|
- **norm** (NormType, 可选) - 如果为‘slaney’,则将三角形梅尔权重除以梅尔带的宽度(区域归一化)。默认值:NormType.NONE。
|
|
|
|
|
|
- **mel_scale** (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。
|
2022-12-14 16:23:12 +08:00
|
|
|
|
- **TypeError** - 如果 `window` 的类型不为 :class:`mindspore.dataset.audio.WindowType` 。
|
|
|
|
|
|
- **TypeError** - 如果 `norm` 的类型不为 :class:`mindspore.dataset.audio.NormType` 。
|
|
|
|
|
|
- **TypeError** - 如果 `mel_scale` 的类型不为 :class:`mindspore.dataset.audio.MelType` 。
|
2022-12-12 21:00:13 +08:00
|
|
|
|
- **TypeError** - 如果 `power` 的类型不为float。
|
|
|
|
|
|
- **TypeError** - 如果 `normalized` 的类型不为bool。
|
|
|
|
|
|
- **TypeError** - 如果 `center` 的类型不为bool。
|
2022-12-14 16:23:12 +08:00
|
|
|
|
- **TypeError** - 如果 `pad_mode` 的类型不为 :class:`mindspore.dataset.audio.BorderType` 。
|
2022-12-12 21:00:13 +08:00
|
|
|
|
- **TypeError** - 如果 `onesided` 的类型不为bool。
|
|
|
|
|
|
- **TypeError** - 如果 `pad` 的类型不为int。
|
|
|
|
|
|
- **TypeError** - 如果 `win_length` 的类型不为int。
|
|
|
|
|
|
- **TypeError** - 如果 `hop_length` 的类型不为int。
|
|
|
|
|
|
- **ValueError** - 如果 `sample_rate` 为负数。
|
2022-12-14 17:48:47 +08:00
|
|
|
|
- **ValueError** - 如果 `n_ftt` 不为正数。
|
2022-12-12 21:00:13 +08:00
|
|
|
|
- **ValueError** - 如果 `n_mels` 为负数。
|
|
|
|
|
|
- **ValueError** - 如果 `f_min` 大于 `f_max` 。
|
|
|
|
|
|
- **ValueError** - 如果 `f_max` 为负数。
|
2022-12-16 14:52:29 +08:00
|
|
|
|
- **ValueError** - 当 `f_max` 为None时, 如果 `f_min` 大于 `sample_rate // 2` 。
|
2022-12-12 21:00:13 +08:00
|
|
|
|
- **ValueError** - 如果 `power` 不为正数。
|
|
|
|
|
|
- **ValueError** - 如果 `pad` 为负数。
|
|
|
|
|
|
- **ValueError** - 如果 `win_length` 不为正数。
|
|
|
|
|
|
- **ValueError** - 如果 `hop_length` 不为正数。
|