Я загрузил аудиофайл, сгенерировал функцию 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()
Функция волнового графика использует массив y
, который представляет собой звуковой массив временного ряда.Тем не менее, функции mfcc имеют намного меньше строк, и я не уверен, как покрасить график с течением времени на основе данных mfccs.Спасибо за помощь.