如何使torchaudio和librosa MFCC计算等效?

问题描述

我见过this question关于librosapython_speech_featurestensorflow.signal间的同一类型的问题。

我试图让torchaudiolibrosa用相同的参数和基础方法来计算MFCC功能。这是从librosatorchaudio过渡的一部分。

给出:

import numpy as np
import torch

from librosa.feature import mfcc
from torchaudio.transforms import MFCC

sample_rate = 22050
audio = np.ones((sample_rate,),dtype=np.float32)

librosa_mfcc = mfcc(audio,sr=sr,n_mfcc=20,n_fft=2048,hop_length=512,power=2)

mfcc_module = MFCC(sample_rate=sr,melkwargs={"n_fft": 2048,"hop_length": 512,"power": 2})
torch_mfcc = mfcc_module(torch.tensor(audio))

shapelibrosa_mfcc的{​​{1}}都是torch_mfcc,但是数组本身是不同的。例如,(20,44)librosa_mfcc[0][0],而-487.6101torch_mfcc[0][0]

我承认我在这里缺乏大量的领域知识,但是正在研究librosatorchaudio文档和参数,以了解它们在MFCC计算中采用的不同途径以及含义每个参数后面。如何使-302.7711torch_mfcc具有相同的值?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)