zoukankan      html  css  js  c++  java
  • 不得不承认pretty-midi很好用,以及一些简单的上手

    官方文档在此:

    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)

    下面是效果图:

  • 相关阅读:
    c++ 与 c 的区别
    c++ 查看程序运行时间
    串口阻塞与非阻塞
    串口缓冲区
    马拉车算法
    printf 自加自减
    stack
    长度问题
    PCIE的内存地址空间、I/O地址空间和配置地址空间
    数组和指针
  • 原文地址:https://www.cnblogs.com/ldzhangyx/p/7789939.html
Copyright © 2011-2022 走看看