Цвет либроса вейплот - PullRequest
       14

Цвет либроса вейплот

0 голосов
/ 03 марта 2019

Я загрузил аудиофайл, сгенерировал функцию 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

Функция волнового графика использует массив y, который представляет собой звуковой массив временного ряда.Тем не менее, функции mfcc имеют намного меньше строк, и я не уверен, как покрасить график с течением времени на основе данных mfccs.Спасибо за помощь.

...