您现在的位置:首页 > 教案怎么写 > 正文

乐理教案怎么写 解读:Python 国产库推荐之 musicpy

2020-12-15 12:12 网络整理 教案网

来源:GitHub-Rainbow-Dreamer

整理:Python开发者

你想过用代码来写音乐吗?这里帮你们介绍一个国人写的库 musicpy,让你用简单的句型通过乐器逻辑写出优美的戏剧。

这个库可以使你用比较简单的句型,来抒发一段音乐的乐章,节奏等等信息乐理教案怎么写,并且可以简单地输出成midi文件的格式。

这个库后面涉及到相当多的乐理知识,所以个人推荐起码要先知道一部分乐理再来使用会非常上手。相对地,如果你是一个对乐理比较知道的人,那么看完作者在Wiki正在写的教程之后,你必须马上就上手了。

(说明:这个库的作者还在持续开发中,很有创意的一个库,向你们推荐)

安装

乐理教案怎么写_乐理教案怎么写

首先在musicpy文件夹里开启cmd, 跑一下pip install -r requirements.txt安装依赖库(如果原本就是pip install musicpy安装的就不需要这一步, 作者也非常推荐直接pip install musicpy就行)

import 这个库:

frommusicpy import*

作者自己做的介绍与使用教程视频第一期:

详细的musicpy数据结构,基础语法或者使用教程,请看作者正在写的Wiki,作者会尽量把所有的细节都讲明白。

Wiki的地址:

musicpy说明

乐理教案怎么写_乐理教案怎么写

在musicpy里面,几个基本的类是note(音符), chord(和弦)和scale(音阶)。这几个类是组成音乐代码的基础。

在musicpy这门语言的数据结构设计中,音符类原本是等值为纯数字的,也就是完全可以成为纯数字使用。

和弦类是乐章类的集合,也表明和弦类本身等值为一个全部都是数字的集合,也可以成为向量,甚至矩阵来看待(比如多个和弦的联结走向就可以看作多个向量的拼接,因此也就有了行列数,也就是矩阵的方式)。

也因而在这门语言的数据结构设计中,音符类,和弦类,音阶类都是可以进行化学运算的,比如线性代数领域的运算,离散数学领域的运算之类。也可以在这门语言的数据结构的基础上确立一整套乐理逻辑的算法,结合纯物理逻辑来进行多方面的音乐分析研究。

现代音乐领域的这些实验性质的戏剧,比如序列主义乐理教案怎么写,偶然音乐,后现代主义音乐(比如极简主义音乐),理论上全部都可以在这门语言的纯数字化的数据结构的基础上进行严格的构思。即使不提实验性质的戏剧,这门语言也可以写任何的古典音乐,爵士乐曲,流行音乐。

作者每隔两三天就会升级一次这个库的内容,具体的升级内容请你们看这个库里的“更新日志Changelog.txt”,里面有根据日期的每天更新的十分详尽的细节与说明。

更新日志的链接:

乐理教案怎么写_乐理教案怎么写

%E6%9B%B4%E6%96%B0%E6%97%A5%E5%BF%97Changelog.txt

初衷

作者开发这个语言主要的本意有两点:

第一,比起工程文件跟midi文件单纯传输音符,力度,速度等单位化的信息,如果无法根据乐理上的视角来表示一段音乐从作曲上的视角是怎样实现的,那就变得有表示的意义了。而且即使不是现代主义无调性音乐,大部分的戏剧都是极其具有乐理上的规律性的,这些规律抽象成乐理逻辑句子可以大大地精简化。(比如一个midi文件1000个音符,实际上按照乐理角度或许可以简化到几句代码)。

第二,开发这个语言是为了使作曲AI能够在真正懂得乐理的情况下去作曲(而不是深度学习,喂大量的数据),这个语言也算是一个接口,AI只要把乐理的句型搞懂了,那作曲就会拥有跟人一样的认知。我们可以把乐理上的规则,做什么好不做什么好告诉AI,这些东西而是可以量化的,所以这个乐理库也可以成为一个乐理接口,沟通人和AI之间的音乐。因此,比如想使AI学习某个人的演奏风格,那么在钢琴前面也相同可以量化这个人的样式,每种色调对应着一些不同的乐理逻辑规则,这些即使写给AI,经过 作者这个库,AI就可以实现模仿那个人的风格了。 如果是AI自己原创风格,那就是从诸多复杂的作曲规则里寻求可能性。

为何不用深度学习?

作者在想不用深度学习,神经网络这种东西,直接教给AI乐理和某个人的风格化的乐理规则,那么AI虽然可以做的比深度学习大数据训练起来的更好。因为大数据训练并非给AI模仿数据本身而已,这样即便AI并没有真正地跟人类自己一样理解作曲是哪个,乐理是哪些,所以 作者才想借助这个库实现把人的乐理同样教给AI,让AI真正含义上地理解乐理,这样的话,作曲起来就不会生硬了,没有机器跟随机的觉得了。所以 作者写这个库的本意之一就是避开深度学习哪一套。但是觉得抽象出不同音乐人的乐理规则确实太有难度, 作者会加油写好这个算法的qwq 另外虽然也可以音乐人自己告诉AI他自己乐理上偏爱怎么写(也就是自己另类的乐理偏好规则),那么AI就会模仿的太到位,因为AI那时候确实懂得乐理了,作曲不可能会有机器感和随机感,此时AI脑子里想的就跟音乐人脑子里想的是完全一样的东西。

乐理教案怎么写_乐理教案怎么写

AI不必完全根据我们帮他的乐理逻辑规则来构思,我们可以设定一个“偏好度”的概念给AI,AI在自己作曲时会有一定程度地倾向某些风格,但是除此之外会有自己在“符合正确乐理”的规则前面找到的新颖的简约,这样AI就可以说“受到了这些音乐人的影响下自己原创的作曲风格了”。当这个偏好度为0时,AI的作曲将会完全是自己通过乐理寻找到的风格,就像一个人自己学习了乐理之后,开始摸索自己的作曲风格一样。一个懂得乐理的AI很容易找到自己另类的混搭来作曲,我们反而都不需要给他数据来练习,而即使教给AI乐理就行。

如何教AI乐理?

那么如何教给AI乐理呢?在音乐里面,暂时不考量现代主义音乐的界定,那么绝大部分的音乐都是遵循着一些更基本的乐理规则的。这里的规则指的是,怎么样写乐理上ok,怎么样写犯了乐理上的出错。比如写和声的之后,四部同向通常是应减少的,尤其是在演奏时写管弦乐的部分。比如写一个和弦,如果和弦里面的音出现小二度(或者小九度)会听着非常打架。比如当AI自己决定一首曲子要从A大调开始写,那么他必须从A大调音阶里根据级数来选择和弦,有也许适当地离调一下,加几个副属和弦,写完主歌部分也许按照五度圈转个调,或者大三度/小三度转调,同主音大小调转调等等。我们必须做的事情就是告诉AI作曲的之后如何写是恰当的,更进一步的,怎么写听着非常有水平。

结语

这个库 作者也上传到 pypi 上了,大家 pip install musicpy 就可以使用了。

作者从每年的10月份开始研发musicpy,目前这个工程还在早期进度,不过尚未有一套比较完整的乐理逻辑语法了。这个库的使用教程视频作者会持续升级。 作者之前发的专栏也是一部分的使用教学。

GitHub链接:

觉得本文对你有帮助?请分享给更多人