-
什么是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.在程序目录下执行以下命令安装,
python setup.py install1
3.如果想执行某个以mid为后缀的MIDI文件,只要执行以下命令即可:
mididump.py test.mid1
接下来介绍下如何写代码生成midi文件。
实操
在python-midi库中,每个乐谱用Pattern对象表示,乐谱中的每个音轨(通常音乐都有很多轨道组成,每种乐器是一个轨道)用Track对象表示。每个音符的开端用midi.NoteOnEvent表示,结束用midi.NoteOffEvent表示,可以在参数中定义每个字符的音长和音高。
示例代码如下:
生成的是一个简单的音阶:
文章标签: 顶: 0踩: 0本文链接:https://www.lezhuanwang.net/kepu/38051.html『转载请注明出处』
相关文章
- 2022-12-03热水器故障e5怎么解决(热水器故障代码e5处理方法)
- 2022-12-02虚拟背景直播怎么弄(虚拟直播背景搭建方法)
- 2022-12-02阿里巴巴股票代码都有哪些(阿里相关股票一览)
- 2022-12-02淘宝实名认证怎么弄(淘宝会员注册支付宝实名认证步骤)
- 2022-12-02淘宝分期付款怎么弄(淘宝花呗分期付款步骤)
- 2022-11-28群发微信怎么弄(手把手教你微信群发消息)