读天才与算法:人脑与AI的数学思维笔记15_声响的数学之旅

news/2024/10/14 14:18:56

1. 音乐

1.1. 巴赫的作品以严格的对位著称,他十分中意对称的结构

1.2. 巴托克的作品很多都以黄金比例为结构基础,他非常喜欢并善于使用斐波纳契数列

1.3. 有时,作曲家是本能地或者不自知地被数学的模式和结构所吸引,而他们并没有意识到这些数学模式的意义

1.4. 有时,他们主动去寻找新的数学思想来作为他们作品的框架

2. 有量卡农

2.1. prolation canon

2.2.  又称mensuration canon或proportional canon

2.3. 在中世纪的一种复调作曲技法

2.4. 卡农的不同声部以相同或相似的节奏(主题动机)、不同比例的速度进行

2.5. 这种作曲技法是从一个简单的节奏开始,单声部进行;随后,第二声部以一半的速度、同样的节奏加入;再然后,第三声部以两倍的速度、同样的节奏加入

3. 双曲几何

3.1. 是一种独立于欧几里得几何的几何公理系统

3.2. 也称罗巴切夫斯基几何

3.3. 也称波利亚–罗巴切夫斯基几何

3.4. 也称罗氏几何

4. 欧几里得算法

4.1. 又称辗转相除法,用于计算两个正整数的最大公约数,应用于数学和计算机两个领域

4.2. 欧几里得算法和扩展欧几里得算法可使用多种编程语言实现

5. 算法和作曲之间

5.1. 算法是一组规则,它可以接受各种各样的输入,通过将规则应用于输入的内容,可以得到结果

5.2. 初始输入就是种子,算法是种子生长的方法

5.2.1. 新生成的部分与原始的种子有很强的联系,但它不只是复制原始的种子,或是它的一部分

5.3. 算法可以有不同的图像,通过分析这些图像,你可以知晓这些算法的内容

5.4. 有一些算法可以生成分形图形:从一个简单的几何图像开始,反复将一个数学方程应用到图像上,最后就会出现一个复杂的图形

5.5. 作曲家在创作的时候要进行艺术或科学的双重考量

5.5.1. 发明新的算法,用以创作有趣的音乐

5.5.2. 选择不同的种子(即主题动机)输入到算法当中

5.5.2.1. A是两短一长的节奏

5.5.2.2. B是一个长的节奏

5.5.2.3. 演奏者可以选择某一种算法(规则)来组合这两个主题

6. 巴赫

6.1. 首位音乐程序员

6.1.1. 算法在巴赫创作音乐的过程中发挥了显而易见的重要作用

6.1.2. 巴赫的许多作品可以用数学的语言描绘出来,但其蕴含的算法要比中世纪的复调音乐复杂得多

6.2. 《音乐的奉献》

6.2.1. 《音乐的奉献》源于腓特烈大帝要求巴赫即兴创作,但这部作品清楚地证明了上述观点

6.2.1.1. 《音乐的奉献》开篇的十首卡农分别用了不同的算法,这些算法在数学的层面上对原始的主题进行了发展

6.2.2. 1747年,62岁高龄的巴赫去看他儿子时创作了《音乐的奉献》这部作品

6.2.3. 腓特烈大帝给巴赫的这个主题,并不是一个普通的主题

6.2.3.1. 这是一个缺乏音乐性的主题,几个音符之间的音程关系毫无关联,它们被生硬地堆砌在一起

6.2.3.2. 一般人是无法用这种主题作曲的

6.2.3.3. 用任何经典的对位规则都无法解释这部作品

6.2.3.3.1. 这不仅仅是单一对卡农模仿。
6.2.3.3.1.1. 20世纪的作曲家阿诺尔德·勋伯格(Arnold Schoenberg)

6.2.4. 此故事有另一个版本

6.2.4.1. 腓特烈大帝和巴赫的儿子编造了这个困难的无旋律性的主题,来挑战巴赫

6.2.4.2. C.P.E.巴赫是巴赫(约翰·塞巴斯蒂安·巴赫,即J.S.巴赫)的次子,因为巴赫在音乐界的影响甚大,他厌恶一直以来都活在父亲的光环之下

6.2.4.2.1. 他认为父亲的作品是老派的,他想创造一种新的音乐风格
6.2.4.2.2. 即兴作曲也许是暴露他父亲作曲风格和方法中缺点的机会,好让他出丑

6.2.4.3. 巴赫用这个怪异的主题,即兴创作了令人惊叹的三部赋格曲

6.2.5. 巴赫创作的这部套曲里的十首卡农都是以腓特烈大帝所给的主题为基础的,构成每一首乐曲的都是基础的主题动机和一个数学规则或算法

6.2.5.1. 每一首乐曲都像是一道数学题,演奏者必须解开这道数学题才能进行演奏

6.2.5.2. 算法的内容是:将谱子上下颠倒过来,按照谱面所记演奏出一条旋律,然后再将这条旋律和原有的旋律同时奏出,这样就得到了一首二声部的钢琴曲

6.2.5.3. 该算法是应用于原始旋律主题的规则,目的是为原始声部添加额外的声部

6.2.5.3.1. 正如图像识别的算法适用于任何照片一样,只要有一个基础的主题动机旋律,这个音乐算法也可应用其上

6.3. 赋格曲

6.3.1. 是一种更复杂的卡农或轮唱,很多人在学校里应该唱过这种歌

6.3.2. 卡农的唱法

6.3.2.1. 一半的同学先开始唱,几拍过后,另一半同学再开始唱同一首歌

6.3.2.2. 一个声部的曲调自始至终追逐着另一个声部,直到最后的一个小节

6.3.2.3. 最后的一个和弦,歌声融合在一起,给人以一个神圣的意境

6.3.3. 《伦敦大火》(London’s Burning)和《雅克兄弟》[1](Frère Jacques)都是很好的例子

6.3.4. 这里所使用的算法非常简单,具有非常明显的几何性质

6.3.4.1. 创作旋律导句是卡农的基础,你需要把它写在五线谱上

6.3.4.1.1. 算法是一个规则,这个算法应用在旋律导句上生成一首和谐的曲子

6.3.4.2. 该算法的工作原理是先获取旋律导句的副本,然后在时间轴上向右移动,重复相同的乐句

6.3.4.3. 这种算法选择模仿导句进入的时间不同会产生不同的效果

6.3.4.3.1. 这有点像罐子上的条形图案,可以复制、移动和重复
6.3.4.3.2. 就像罐子上的图案,轮唱曲也可以在第一声部、第二声部之后再添加第三声部

6.3.5. 赋格在卡农的基础上进一步发展了,成为多声部多主题动机的多声复调作品

6.3.5.1. “里切卡尔”(ricercar)

6.3.5.1.1. 一部六声部的赋格曲

6.4. 巴赫在作品中喜欢使用的一个手法是不仅在二声部的时间上做延迟,还对二声部的主题做音高移动的处理

6.5. 在作品中运用对称规则:二声部可能是将主题旋律反过来使用,就像镜面反射一样

6.6. 结合所有这些规则,人们可以构建一种算法,来应对如腓特烈大帝故意为难巴赫这样的难题

6.7. 我们的大脑一边紧张地识别乐曲进行的模式,一边分析这个模式的运行规律,但未来是未知的,所以在分析的同时我们对乐曲接下来的进行模式做出预测是异常困难的

7. 骰子音乐

7.1. musikalisches würfelspiel

7.2. musical dice game

7.3. 游戏算法,使用一组骰子生成16小节的华尔兹舞曲

7.3.1. 使用这个系统可以生成1116种不同的华尔兹,即约4600万亿(45 949 729 863 572 161)首华尔兹

7.3.2. 早期的“算法艺术家”会使用这样的技巧——将预先设定的结构和随机性元素结合

7.3.3. 并非所有的变化都是悦耳的,有些组合显然比其他组合的效果更好

7.4. 莫扎特被认为其有一套类似于C.P.E.巴赫的算法来谱写华尔兹舞曲

7.4.1. 莫扎特的作曲游戏精妙地将176小节(固定结构)和掷骰子(随机性)结合起来,无论怎样都能拼合成令人信服的华尔兹圆舞曲

7.4.2. 莫扎特并没有给出评价拼合作品的标准

7.4.2.1. 这是开放式算法的问题之一

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.ryyt.cn/news/26723.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

达摩院智算与计算

达摩院智算与计算 视觉技术 致力于多模态视觉信号的理解与生成技术的研究,当前的重点研究方向包括更加精准的图像/视频/3D内容生成、更加可控的图像/视频/3D内容编辑、更加高效的生成框架、多模态的检索增强生成、统一的多模态理解-生成框架等。团队内部有完整的产品-算法-工程…

css-布局-grid

<style> .d2 {display: grid;grid-template-columns: 100px 100px 100px;//三列,列宽固定100pxgrid-template-rows: 100px 100px 100px; /* 设置行间距和列间距为20px */gap: 20px; } .d2>div {background: pink;text-align: center; } .d2>div:nth-child(2n){ ba…

python虚拟环境搭建

一、虚拟环境有多种 -Virtualenv 第三方,使用比较多 -pipenv 官方的 二、需要安装两个模块pip3 install virtualenv 第三方虚拟环境pip3 install virtualenvwrapper-win 增加模块,在win上让虚拟环境更好用 需要在cmd命令行下执行pip install virtualenv三、配置虚拟环境管理…

coca help对比assist clusters

A/B比不了,两个词的frequency都高,只能分开查了。(可以看word的collocates 按Mutual Information score排序)我记得我好像在哪写过。直接用collocates搜,必须完全匹配。用word里的collocates,lemma +s +ed都会统计CLUSTERS HELP VERB See also: NOUN LIMIT: …

财务共享中心如何建设

一、 财务共享中心建设 财务共享中心建设是一项复杂的系统性工程,涉及理念认识、组织人员、业务流程、信息系统等多方面的变革,需要持续优化和不断提升。总体来说,大型企业建设财务共享中心通常会面临以下几个方面的挑战。 (1) 人员难以调整。企业建立财务共享中心,要进行业…

【开源】word中插入代码之Prism+PHP实现高亮代码带格式一键复制到word

项目说明 你是否还在为word中插入代码格式难看,难以复制或复制出现莫名其妙格式问题而困扰?这个工具就是一键高亮代码,一键原样复制到word,保证代码在word中一样的好看,一样的容易复制而不会出乱子,怎么样,还不赶紧收藏下载试一试? 【项目地址】:https://github.com/m…

Unity中的自动更新目录结构设置

最近新更换使用新版的rider,替换之后原本以为在rider 中编写更改代码文件并保存之后会自动编译,结果回到unity中运行的脚本还是 更改前的,在确定rider自动保存编译的设置之后,我百思不得其解。一直在找rider的各种设置,知道我回到unity刷新一下目录结构, 噢~恍然大悟,是…

Godot.NET C#IOC重构(8):敌人野猪

目录前言场景继承在SceneModel里面添加基础的节点获取EnemyScene.csEnemySceneModel.csGodot Export属性和EnumExport默认值问题修改前EnemySceneModel.csEnemyScene.cs修改后EnemyScene.csEnemySceneModel.cs但是有个问题,有必要这么写吗?导入野猪图片图片拼接RayCast2D 射线…