什么是MIDI说到用代码写曲子,有一个东西大家一定要了解就是MIDI。MIDI是一种乐器数字接口,是编曲界最广泛的音乐标准格式。MIDI并不是真正意义上的音乐文件,大家可以把它理解成乐谱,需要有环境编译MIDI文件,才可以生成音乐。这个关系有点像代码和编译器的关系。
市面上可以解析MIDI文件的软件有很多种,本文将用到MuseScore2的软件,以下就是这个软件的截图,界面中的五线谱就是MIDI文件的呈现。这个乐谱是可以播放的,并且可以导出为MP3格式的音乐文件。下面我们就介绍下生成MIDI文件所使用的Python库。
python-midi库介绍市面上差不多有十多种python库可以编写MIDI格式的文件,本文会推荐大家使用PYTHON-MIDI。我觉得python-midi的优势是不光可以自己写程序生成MIDI,而且还可以对MIDI文件进行解析。这样的功能配合机器学习算法,或许可以帮助我们实现机器的自动编曲,当然这是后话。
先来看下如何安装python-midi。1。首先进入,将整个项目克隆下来。2。在程序目录下执行以下命令安装,pythonsetup。pyinstall113。如果想执行某个以mid为后缀的MIDI文件,只要执行以下命令即可:mididump。
pytest。mid11接下来介绍下如何写代码生成midi文件。实操在python-midi库中,每个乐谱用Pattern对象表示,乐谱中的每个音轨(通常音乐都有很多轨道组成,每种乐器是一个轨道)用Track对象表示。每个音符的开端用midi。
NoteOnEvent表示,结束用midi。NoteOffEvent表示,可以在参数中定义每个字符的音长和音高。示例代码如下:生成的是一个简单的音阶:。