def one_melody_matrix(track_id):
tchr, chroma, t, melody = aligned_pitch_features(track_id)
melody = np.round(melody)
pitched = melody > 0
pitchclass = np.remainder(melody - 69, 12)
framerate = 1.0/(t[1]-t[0])
nmel = len(melody)
vals = np.ones(nmel)[pitched]
vals *= 1.0 / framerate
rows = np.arange(nmel)[pitched]
cols = pitchclass[pitched]
melmat = csr_matrix((vals, (rows, cols)), shape=(nmel, 12))
return t, melmat.todense()
评论列表
文章目录