我加载了一个音频文件,生成了mfccs功能,根据该功能数据创建了一个颜色阵列,现在想用该颜色阵列为波形图随时间着色。下面的代码。
import librosa
import matplotlib.pyplot as plt
import librosa.display
#load file
filename = librosa.util.example_audio_file()
y, sr = librosa.load(filename)
# generate features
mf = librosa.feature.mfcc(y=y, sr=sr)
# create color array
color = mf.mean(0)
color = color/max(abs(color))
color # array([-1., -0.5655606 , -0.21613305, ..., -1.,-1.,-1.])
# shapes
y.shape;mf.shape;color.shape
#(1355168,) #(20,2647) #(2647,)
# plot waveplot
plt.figure(figsize=(20,4))
librosa.display.waveplot(y,sr=sr,color = ???)
plt.title('Waveplot')
plt.show()
waveplot函数使用y
数组,它是一个时间序列音频数组。但是,mfcc功能的行数少了,我不确定如何根据mfccs数据随时间变化波形图的颜色。感谢您的帮助。