官方文档在此:
http://craffel.github.io/pretty-midi/
首先我们演示如何将midi文件转变为piano-roll格式(matrix)。
现在我们手中有了一个数据集,假设我们就用The Lakh数据集,我使用了里面的Bach BMV 988作为测试midi。现在我们这么写代码:
midi_data = pretty_midi.PrettyMIDI('bmv988.mid')
这样我们就得到了一个pretty.midi对象。接下来我们单刀直入,分离音轨。
midi_data.instruments
这里可以查看所有乐器,我们这个midi文件是单音轨,只有钢琴A。我们可以通过列表操作选定指定的音轨。
接下来使用
get_piano_roll()
方法进行操作:
好了,现在我们可以为所欲为了!
接下来我们将矩阵转换成piano-roll,使用以下方法:
import scipy.misc scipy.misc.imsave('outfile.jpg', image_array)
下面是效果图: