Python学习

【MIDI】初探

今天,花一点时间学习MIDI的相关知识。

一、简介

MIDI的全程是:Music Instrument Digital Interface,音乐数字接口。“不发送声音,只发送像是音调和音乐强度的数据,音量,颤音和相位等参数的控制信号,还有设置节奏的时钟信号。” (来自WIKI百科)

在MIR中,借助MIDI准确的音高、时间等信息,可以帮助分析歌声检测、音高估计、主旋律提取等任务,MIDI格式的文件可以为其打上准确的标签,方便研究。但不是每首歌都能轻轻松松获取其MIDI,所以使用MIDI研究都是以上MIR任务早期的方式。随着发展,要求算法具有鲁棒性能处理音频文件格式(wav等)的音乐,乃至带着噪声的音乐。

二、工具库

下面介绍一下一些帮助操作MIDI的python库。

  1. Py-MIDI
    支持python2,3。
    有蛮多的的前置库需要安装。
    import midi

  2. pretty-midi
    支持python2,3。
    谷歌的Magenta项目(使用人工智能进行音乐创作,2017.6)使用了该库。
    蛮多的前置库。需要FluidSynth
    import pretty_midi

  3. mingus
    这是一个跨平台的处理MIDI的python库。需要FluidSynth作为前置库,在win上安装有点点麻烦。

  4. music21
    这是一个python的计算机辅助音乐学工具包,里面有些对MIDI的操作。

  5. Mido
    专门处理的MIDI的python库,使用起来非常的Pythonic。我蛮推荐这个库的。

Be the First to comment.

Leave a Comment

电子邮件地址不会被公开。 必填项已用*标注

This site uses Akismet to reduce spam. Learn how your comment data is processed.