Day 13: 人工智慧在音乐领域的应用 (AI作曲的历史发展)

今天我们正式开始聊聊AI作曲相关方面的话题~
https://ithelp.ithome.com.tw/upload/images/20210927/20140556GCRPtZbWXe.png

AI作曲历史

如果要追朔到最早的自动作曲 ,大家可以猜猜看从什麽时候开始呢?
(这里我们不说AI作曲,而是用自动作曲或是算法作曲 (Algorithmic Composition),原因是前面介绍过AI是在1950年代才有的观念,所以在那之前并没有所谓AI作曲这种名词)。
答案是
.
.
.
.
.
.
.
.
.
.
.
.
莫札特 (1756-1791)
https://ithelp.ithome.com.tw/upload/images/20210927/20140556CmfG3TxTNo.png

莫札特在1787年的时候,提出了一个音乐骰子游戏的概念,简单来说呢,就是莫札特事先写好总共272的小节的音乐片段 (176小步舞曲小节以及96三重奏小节),并且把这些小节都配上编号;而玩游戏的人透过不断骰两颗骰子,把每一个骰子对应的音乐片段结合起来,就可以产生一首随机但完整的乐曲,这就是历史上最早的自动作曲的观念。

但毕竟这些片段都是大师亲自写好的,基本上只要头尾的部份有特别设计好,不管骰子怎麽骰衔接起来都不会有太大的问题,所以听起来也不会有什麽违和感,只能说它就是最早提出这种自动作曲的观念,但却不是真正的在作曲
另外,也有人怀疑这是否是莫札特的创作,因为骰子游戏是在莫札特过世的两年後,由出版商在柏林公开了这套据说是莫札特生前创作的作曲系统,因此并没有百分百的证明此创作是来自莫札特。但有许多音乐家由莫札特在1787的创作的乐曲 K.516f 里找出类似概念的随机生成机制,因此目前还是公认骰子游戏是出自莫札特的发明。

弦乐四重奏Illiac
时间来到1957年,由 Hiller 以及 Isaacson 利用马可夫链 (Markov Chain) 来产生随机音符,之後再利用和声与复调的规则去测试这些结果并选择符合规则的材料,再将这些材料修改并组合成弦乐四重奏。
Illiac 第一乐章

第一篇自动作曲的论文
1960年,俄罗斯学者R.Kh.Zaripov发表了第一篇关於Ural-1电脑Algorithmic Composition的论文。

AI作曲钢琴曲
1965年,Raymond Kurzweil 开发了一套AI作曲的软件,并且在节目上公演了创作出来的钢琴作品。1965听起来很遥远吗?这位大神现在人还在Google工作,担任工程总监,同时也是Kurzweil的创始人。

第一届电脑音乐大会 (International Computer Music Association, ICMC)
https://ithelp.ithome.com.tw/upload/images/20210928/20140556Jwd93K2P9N.jpg
1974年第一届的天下第一武道大会电脑音乐大会在美国密西根大学举办,至今已四十余年,ICMC每年仍在举办中。

随着时间的发展以及时代的进步,越来越多人关注到了这个结合了艺术与科技的奇妙组合,电脑自动作曲逐渐地成为学者门研究的一项学科,而各种不同的演算法也开始运用於作曲上。目前比较主流的几项AI作曲的技术包含了类神经网路 (Neural Network, NN)马可夫链 (Markov Chain)基於规则的知识库系统 (Rule-Based Knowledge System)演化式计算 (Evolutionary Computing, EC)...等等。

如果你觉得前面这些专有名词听起来有点熟悉并没有觉得很陌生的话...
https://ithelp.ithome.com.tw/upload/images/20210928/20140556UAfrP8dLAS.jpg

可以体会我前面12天辛苦讲古与介绍的用心良苦了吧~~~~
https://ithelp.ithome.com.tw/upload/images/20210928/20140556X3qwcxg6I8.jpg

https://ithelp.ithome.com.tw/upload/images/20210928/20140556MK2PHonbwu.png

而现在也已经有许多公司以及App提供相关的自动作曲功能/服务,这部份我们会在讲解完几个比较主流的AI作曲的方法後,再一一介绍这些公司以及App所提供的服务,有时坚的话也许会抓一些篇幅写一下几个目前做的比较好的软件/App的使用指南。

那麽我们Day14见~


<<:  Day 14 - [语料库模型] 02-问答组合分类方式

>>:  [Day 13] 从 tensorflow.keras 开始的 EfficientNet 生活

[Day 13] 第一主餐 pt.6-叮咚,有您的包裹

上一篇我们把MySQL安装设定好,并且开始跟django做互动了 今天我们就要来把MySQL的东东全...

Day 11 「我以火力掩护你」在测试的保护下重构:消除重复

「班长:班长命令你实施敌火下作业,试问单兵该如何处置?」 『单兵:报告班长,请班长以火力掩护我,完成...

资安设备与产品篇

相信一定有很多很多人有这麽听人说过: 「要肯花钱,才能做好资安」 「资安就是要花钱才能做好」 「老板...

Day25-"指标变数"

普通变数宣告後是占用某一块记忆体空间,该空间内则存放变数资料,例如:整数变数就存放整数资料,字元变数...

变更管理和变更控制(Change Management and Change Control)

什麽是变化,我们在变化什麽? 当涉及到更改时,至关重要的是定义什麽是更改并阐明我们正在更改的内容。...