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

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.mfbz.cn/a/588140.html

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

相关文章

Golang | Leetcode Golang题解之第61题旋转链表

题目: 题解: func rotateRight(head *ListNode, k int) *ListNode {if k 0 || head nil || head.Next nil {return head}n : 1iter : headfor iter.Next ! nil {iter iter.Nextn}add : n - k%nif add n {return head}iter.Next headfor add > …

【项目构建】04:动态库与静态库制作

OVERVIEW 1.编译动态链接库(1)编译动态库(2)链接动态库(3)运行时使用动态库 2.编译静态链接库(1)编译静态库(2)链接静态库(3)运行时使…

matlab学习007-已知离散时间系统的系统函数并使用matlab绘制该系统的零极点图;判断系统的稳定性;幅频和相频特性曲线

目录 题目 离散时间系统的系统函数:H(z)(3*z^3-5*z^210z)/(z^3-3*z^27*z-5) 1,绘制该系统的零极点图 1)零极点图 2)代码 2,判断系统的稳定性 1)判断结果 2)代码 3,试用MATL…

C++的未来之路:探索与突破

在计算机科学的浩瀚星空中,C无疑是一颗璀璨的明星。自诞生以来,它以其强大的性能和灵活的特性,赢得了无数开发者的青睐。然而,随着技术的不断进步和应用的日益复杂,C也面临着前所未有的挑战和机遇。本文将探讨C的未来之…

腾锐D2000-8 MXM VPX,全国产,可广泛应用于边缘计算网关、入侵检测、VPN、网络监控等等应用领域

腾锐D2000-8 MXM VPX 1. 概述 XMVPX-108 是一款基于飞腾 D2000/8 处理器的低功耗逻辑运算和图形处理 VPX 刀片, 板贴 32GB DDR4 内存,搭载飞腾 X100 套片,满足通用 IO 接口功能。GPU 采用 MXM 小型插卡形式, 搭配 8GB 显卡。提供…

【16-降维技术:PCA与LDA在Scikit-learn中的应用】

文章目录 前言主成分分析(PCA)原理简介Scikit-learn中的PCA实现应用示例线性判别分析(LDA)原理简介Scikit-learn中的LDA实现应用示例总结前言 降维是机器学习中一种常见的数据预处理方法,旨在减少数据集的特征数量,同时尽量保留原始数据集的重要信息。这不仅有助于减少计…

开箱子咸鱼之王H5游戏源码_内购修复优化_附带APK完美运营无bug最终版__GM总运营后台_附带安卓版本

内容目录 一、详细介绍二、效果展示2.效果图展示 三、学习资料下载 一、详细介绍 1.包括原生打包APK,资源全部APK本地化,基本上不跑服务器宽带 2.优化后端,基本上不再一直跑内存,不炸服响应快! 3.优化前端&#xff0c…

【源码阅读】Golang中的go-sql-driver库源码探究

文章目录 前言一、go-sql-driver/mysql1、驱动注册:sql.Register2、驱动实现:MysqlDriver3、RegisterDialContext 二、总结 前言 在上篇文章中我们知道,database/sql只是提供了驱动相关的接口,并没有相关的具体实现,具…

NLP 笔记:TF-IDF

TF-IDF(Term Frequency-Inverse Document Frequency,词频-逆文档频率)是一种用于信息检索和文本挖掘的统计方法,用来评估一个词在一组文档中的重要性。TF-IDF的基本思想是,如果某个词在一篇文档中出现频率高&#xff0…

不坑盒子2024.0501版,Word朗读、Word表格计算、Word中代码高亮显示行号、Excel中正则提取内容……

通过“听”来审阅Word中的内容,能轻松找出那些容易被眼看忽视的错字。 不坑盒子2024.0501版来了,很多奇妙的事情,正在发生…… 功能一览 此版本共带来10余项变动,来看看有没有你感兴趣的吧~ 接入Azure的“语音”能力 接入“语…

Flutter笔记:Widgets Easier组件库(3)使用按钮组件

Flutter笔记 Widgets Easier组件库(3):使用按钮组件 - 文章信息 - Author: 李俊才 (jcLee95) Visit me at CSDN: https://jclee95.blog.csdn.netMy WebSite:http://thispage.tech/Email: 291148484163.com. Shenzhen ChinaAddre…

C语言之详细讲解文件操作(抓住文件操作的奥秘)

什么是文件 与普通文件载体不同,文件是以硬盘为载体存储在计算机上的信息集合,文件可以是文本文档、图片、程序等等。文件通常具有点三个字母的文件扩展名,用于指示文件类型(例如,图片文件常常以KPEG格式保存并且文件…

JDBC连接MySQL8 SSL

1.创建用户并指定ssl连接 grant all on . to test% identified by imooc require SSL(X509); 2.查看是否使用ssl SELECT ssl_type From mysql.user Where user"test" 3.配置用户必须使用ssl ALTER USER test% REQUIRE SSL(X509); FLUSH PRIVILEGES; 注意&#xff…

Ollamallama

Olllama 直接下载ollama程序,安装后可在cmd里直接运行大模型; llama 3 meta 开源的最新llama大模型; 下载运行 1 ollama ollama run llama3 2 github 下载仓库,需要linux环境,windows可使用wsl; 接…

mac如何打开exe文件?如何mac运行exe文件 如何在Mac上打开/修复/恢复DMG文件

在macOS系统中,无法直接运行Windows系统中的.exe文件,因为macOS和Windows使用的是不同的操作系统。然而,有时我们仍然需要运行.exe文件,比如某些软件只有Windows版本,或者我们需要在macOS系统中运行Windows程序。 虽然…

【MATLAB源码-第200期】基于matlab的鸡群优化算法(CSO)机器人栅格路径规划,输出做短路径图和适应度曲线。

操作环境: MATLAB 2022a 1、算法描述 鸡群优化算法(Chicken Swarm Optimization,简称CSO)是一种启发式搜索算法,它的设计灵感来源于鸡群的社会行为。这种算法由Xian-bing Meng等人于2014年提出,旨在解决…

STM32 工程移植 LVGL:一步一步完成

STM32 工程移植 LVGL:一步一步完成 LVGL,作为一款强大且灵活的开源图形库,专为嵌入式系统GUI设计而生,极大地简化了开发者在创建美观用户界面时的工作。作为一名初学者,小编正逐步深入探索LVGL的奥秘,并决…

Java面试八股之强软弱虚引用的概念及区别

Java中强软弱虚引用的概念及区别 在Java中,强引用、软引用、弱引用和虚引用是四种不同类型的引用,它们在对象生命周期管理、垃圾收集(Garbage Collection, GC)以及内存管理方面有着不同的行为和用途。以下是它们的概念和主要区别…

LeetCode 543.二叉树的直径

题目描述 给你一棵二叉树的根节点,返回该树的 直径 。 二叉树的 直径 是指树中任意两个节点之间最长路径的 长度 。这条路径可能经过也可能不经过根节点 root 。 两节点之间路径的 长度 由它们之间边数表示。 示例 1: 输入:root [1,2,3,4,5]…

云计算技术概述_1.云计算相关概念

1.关于IBM“蓝云(Blue Cloud)”计划 IBM 推出的“蓝云(Blue Cloud)”计划为客户带来即可使用的云计算(Cloud Computing)。它包括一系列的云计算产品,使计算不仅仅局限在本地机器或远程Server Farms&#…