彩色librosa波形图

时间:2019-03-03 09:27:44

标签: python matplotlib librosa

我加载了一个音频文件,生成了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()

enter image description here

waveplot函数使用y数组,它是一个时间序列音频数组。但是,mfcc功能的行数少了,我不确定如何根据mfccs数据随时间变化波形图的颜色。感谢您的帮助。

0 个答案:

没有答案