比较与torchaudio.transforms.MelScale的差异
torchaudio.transforms.MelScale
class torchaudio.transforms.MelScale(n_mels: int = 128, sample_rate: int = 16000, f_min: float = 0.0, f_max: Optional[float] = None,
n_stft: Optional[int] = None, norm: Optional[str] = None)
mindspore.dataset.audio.MelScale
class mindspore.dataset.audio.MelScale(n_mels=128, sample_rate=16000, f_min=0.0, f_max=None,
n_stft=201, norm=NormType.NONE, mel_type=MelType.HTK)
差异对比
PyTorch:将普通STFT转换为梅尔尺度的STFT。
MindSpore:将普通STFT转换为梅尔尺度的STFT,支持指定梅尔频谱的尺度。
分类 |
子类 |
PyTorch |
MindSpore |
差异 |
---|---|---|---|---|
参数 |
参数1 |
n_mels |
n_mels |
- |
参数2 |
sample_rate |
sample_rate |
- |
|
参数4 |
f_min |
f_min |
- |
|
参数5 |
f_max |
f_max |
- |
|
参数6 |
n_stft |
n_stft |
- |
|
参数10 |
norm |
norm |
- |
|
参数11 |
- |
mel_type |
要使用的Mel尺度 |
代码示例
import numpy as np
fake_input = np.array([[1., 1.],
[0., 0.],
[1., 1.],
[1., 1.]]).astype(np.float32)
# PyTorch
import torch
import torchaudio.transforms as T
transformer = T.MelScale(n_stft=4, n_mels=2)
torch_result = transformer(torch.from_numpy(fake_input))
print(torch_result)
# Out: tensor([[0.0000, 0.0000],
# [0.5394, 0.5394]])
# MindSpore
import mindspore.dataset.audio as audio
transformer = audio.MelScale(n_stft=4, n_mels=2)
ms_result = transformer(fake_input)
print(ms_result)
# Out: [[0. 0. ]
# [0.53936154 0.53936154]]