如何用PYTHON代码写出音乐

Python011

如何用PYTHON代码写出音乐,第1张

市面上差不多有十多种python库可以编写MIDI格式的文件,本文会推荐大家使用PYTHON-MIDI。我觉得python-midi的优势是不光可以自己写程序生成MIDI,而且还可以对MIDI文件进行解析。这样的功能配合机器学习算法,或许可以帮助我们实现机器的自动编曲,当然这是后话。先来看下如何安装python-midi。

1.首先进入,将整个项目克隆下来。

2.在程序目录下执行以下命令安装,

python setup.py install11

3.如果想执行某个以mid为后缀的MIDI文件,只要执行以下命令即可:

mididump.py test.mid11

接下来介绍下如何写代码生成midi文件。

实操

在python-midi库中,每个乐谱用Pattern对象表示,乐谱中的每个音轨(通常音乐都有很多轨道组成,每种乐器是一个轨道)用Track对象表示。每个音符的开端用midi.NoteOnEvent表示,结束用midi.NoteOffEvent表示,可以在参数中定义每个字符的音长和音高。示例代码如下:

生成的是一个简单的音阶:

ymedia可以很容易的实现: import pymedia.audio.acodec as acodec sName='YOUR FILENAME' dec= acodec.Decoder( str.split( sName, '.' )[ -1 ].lower() ) f= open( sName, 'rb' ) s= f.read( 8192 ) r= dec.decode( s ) i