如何解决如何使torchaudio和librosa MFCC计算等效?
我见过this question关于librosa
,python_speech_features
和tensorflow.signal
之间的同一类型的问题。
我试图让torchaudio
和librosa
用相同的参数和基础方法来计算MFCC功能。这是从librosa
到torchaudio
过渡的一部分。
给出:
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))
shape
和librosa_mfcc
的{{1}}都是torch_mfcc
,但是数组本身是不同的。例如,(20,44)
是librosa_mfcc[0][0]
,而-487.6101
是torch_mfcc[0][0]
。
我承认我在这里缺乏大量的领域知识,但是正在研究librosa
和torchaudio
文档和参数,以了解它们在MFCC计算中采用的不同途径以及含义每个参数后面。如何使-302.7711
与torch_mfcc
具有相同的值?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。