2017-04-19 55 views
3

我只是信号处理方面的初学者。这是到目前为止我的代码从一个音频文件(.WAV)提取MFCC特征:如何在Python中绘制MFCC?

from python_speech_features import mfcc 
import scipy.io.wavfile as wav 

(rate,sig) = wav.read("AudioFile.wav") 
mfcc_feat = mfcc(sig,rate) 

print(mfcc_feat) 

我只是想绘制MFCC特征知道是什么样子。

回答

3
from python_speech_features import mfcc 
import scipy.io.wavfile as wav 
import matplotlib.pyplot as plt 

(rate,sig) = wav.read("AudioFile.wav") 
mfcc_feat = mfcc(sig,rate) 

print(mfcc_feat) 
plt.plot(mfcc_feat) 
plt.show() 
+3

请更多信息编辑。仅限代码和“尝试这个”的答案是不鼓励的,因为它们不包含可搜索的内容,也不解释为什么有人应该“尝试这个”。我们在这里努力成为知识的资源。 –

+0

请编辑您的答案以包含一些解释。仅有代码的答案对未来SO读者的教育很少。您的回答是在低质量的审核队列中。 – mickmackusa

+0

如果我想使用mp3/.mp4文件,上述代码将如何更改? –

1

这将绘制MFCC颜色,这是一种比较流行的方式

import matplotlib.pyplot as plt 
import numpy as np 
from matplotlib import cm 
fig, ax = plt.subplots() 
mfcc_data= np.swapaxes(mfcc_data, 0 ,1) 
cax = ax.imshow(mfcc_data, interpolation='nearest', cmap=cm.coolwarm, origin='lower') 
ax.set_title('MFCC') 

plt.show() 
0

以前的答案确实没有明确的mfcc_data。

import matplotlib.pyplot as plt 
import numpy as np 
from matplotlib import cm 

(rate,sig) = wav.read("file.wav") 
mfcc_feat = mfcc(sig,rate) 

ig, ax = plt.subplots() 
mfcc_data= np.swapaxes(mfcc_feat, 0 ,1) 
cax = ax.imshow(mfcc_data, interpolation='nearest', cmap=cm.coolwarm, origin='lower', aspect='auto') 
ax.set_title('MFCC') 
#Showing mfcc_data 
plt.show() 
#Showing mfcc_feat 
plt.plot(mfcc_feat) 
plt.show() 

MFCC_data MFCC_feat