Python
Java
PHP
IOS
Android
Nodejs
JavaScript
Html5
Windows
Ubuntu
Linux
WolframTones:用一种新科学谱写一种新音乐
2023-11-12
转载自
@36氪
人法地,地法天,天法道,道法自然。—老子《道德经》
即便你不信上帝,不信真主,不信佛陀,不信妈祖,总有种敬畏让你挥之不去,余音绕梁,总是让你情不自禁地发出赞美。
2002年著名科学家发表了《
一种新科学
》一书,很快成为人类知识领域的一大地标。现在,该书中阐述的理论已经在众多科学、技术、和艺术领域带来革命影响。
WolframTones
就是通过Wolfram的发现创作音乐的实验之一。
《一种新科学》的核心理念就是探讨一个新型抽象宇宙:一个由各种简单
程序
组成的“计算型宇宙”。Wolfram在该书中向人们展示这些简单程序是如何捕捉很多自然系统复杂性(美学)的精髓的。
WolframTones从Wolfram的计算型宇宙周选取简单的程序,然后通过音乐理论和数学
软件
Mathematica
的算法来把这些程序渲染成音乐。 每个程序实际上都
定义
了一个虚拟世界,都有自己的故事,WolframTones捕捉其精华,然后谱成一首音乐。
一切都是
原创
音乐,完全取材于Wolfram的计算型宇宙。这些音乐有的听上去似曾相识,有些则闻所未闻。这是一种探索计算型宇宙的滋味儿,耐人寻味……
WolframTones基于《一种新科学》中的核心发现:
在计算型宇宙中,即便是极其简单的法则或程序都可能会有积极复杂的行为
。早在20世纪80年代Wolfram就从他的一维
单元
自动机(one-dimensional cellular automata,现在通常被称为Wolfram自动机)系统实验中发现了这些惊人的事实。WolframTones正是在这些系统基础之上诞生的。
Wolfram单元自动机的基本原理很简单。假定有一行单元格,非黑即白。然后设定有一种规则,根据上一行相邻单元格的颜色来限定每个单元格的颜色。你能看到的规律从很大程度上取决于你设定的规则,你可以根据相邻单元格的颜色指定每个单元格的颜色。
这里有一个
例子
,从一个简单的黑格子扩张成一种类似棋盘的布局。
重播动画
加在一起共有256种基本规则,每种规则在一侧仅涉及一个相邻单元格。20世纪80年代早期 Stephen Wolfram 的实验系统性地实施了这些规则。以下是他得到的
结果
:
放大
其中很多法则都很简单,或者说至少看上去负责但最终都能找到规律。第一个比较棘手的是第30个规则。以下是放大图:
如果你仔细看能发现一些规律,但令人惊叹的是整幅图片看上去如此复杂。普通直觉会告诉你做出这么复杂的东西肯定需要复杂的步骤,通过复杂的法则。但规则30证明并非如此。正是这个发现促使Wolfram编写了《一种新科学》,现在看来这个发现揭示了很多大自然的基本秘密,和科学界的长久谜题。
这个发现也是WolframTones的根基。因为它表明在计算型宇宙中你很容易可以生成复杂形式的规则。WolframTones也是通过这种方法来制作出如此复杂而又截然不同的音乐的。从某种意义上讲每首曲子都讲述了计算型宇宙中某个系统的故事。并且由于该系统遵循着某个既定不变的法则,谱成的曲子也不可避免地存在一种内在的一致性,或许这也是这些音符能够成为音乐的理由吧。
制作音乐那么如何把单元自动机生成的图谱渲染成音乐呢?WolframTones的核心理念是从图谱中截取一段:
然后把片段放倒,当做一张乐谱:
一旦单元自动图谱被放倒以后,每个黑方块的高度和对应音符上的音调一一对应。音阶决定了从高度转变成音调时采用的图谱。每个音阶从八度音阶的12个标准声调中选出某些音调。比如C大调如图所示:
WolframTones通过不同的
Mathematica
算法从单元自动机图谱中生成音乐。最简单的一个例子就是从某个高度截取连续的黑方块,然后将其转变为同一乐器演奏的单一音符。以下是法则30生成的音符,始于单一的黑色单元格,通过C大调在钢琴上演奏:
WolframTones支持多种乐器和打击乐。一切都源于一个简单的单元自动机图谱。但你可以选择不同的乐器演绎图谱的不同方面。WolframTones还支持一些从单元自动机图谱中衍生出打击乐的算法。
点击
这里
,你可以试听一些由单元自动机图谱生成的音符。
从计算型宇宙中搜索音乐从256个基本单元计算机中已经可以发现有趣的音乐了,但WolframTones适用于整个计算型宇宙,在每个法则中每个单元格的颜色取决于相邻5个单元格的颜色,而不是3个,所以,以最简单的方法计算,共有2^2^5(约40亿)种法则。
这些法则有的只能生成简单的行为,不适合做成普通音乐。但一旦限定某种音乐类型之后,WolframTones可以在计算型宇宙中搜索与之相似的法则。
《一种新科学》让人们以一种新方式探索音乐。更令人赞叹的一个事实是:和大自然一样,在计算型宇宙中复杂的行为通常很常见,通过搜索便可找到。
Wolfram证明你无法预知某种复杂性,但是你可以不停地探索,WolframTones的发现结果就是一个很好的例子,人们探索计算型宇宙的步伐才刚刚开始。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)
WolframTones:用一种新科学谱写一种新音乐 的相关文章
Linux中的五种I/O模型
概念说明 用户空间和内核空间 现在操作系统都是采用虚拟存储器 那么对32位操作系统而言 它的寻址空间 虚拟存储空间 为4G 2的32次方 操作系统的核心是内核 独立于普通的应用程序 可以访问受保护的内存空间 也有访问底层硬件设备的所有权限
OpenCV中对Mat矩阵加、减、乘、除、转置等操作的总结
1 矩阵加 1 使用重载的 运算符 矩阵的加法是指两个矩阵对于位置的数值相加 使用OpenCv重载的 运算符 假设两个矩阵都为uchar类型 例如 Mat src1 Mat
1.3 DLT645
一 简介 目前市面的大部分的电表 通信都是遵循该协议 因为物理层使用RS 485 故为半双工通信 主站指终端设备 从站指多功能电能表 数据链路层 默认波特率2400 偶校验 8bit数据 1bit停止位 先传低位 后传高位 D0是字节最低有
uiautomator2学习5——一个简单的例子
提示 文章写完后 目录可以自动生成 如何生成可参考右边的帮助文档 uiautomator2学习5 一个简单的例子 写了个简单的例子 就是打开淘宝搜索钥匙扣的一个简单的代码 如下 import uiautomator2 as u2 d u2
Spring框架中IOC容器和Bean的配置
一 IOC和DI的解释 1 IOC Inversion of Control 反转控制 在应用程序中的组件需要获取资源时 传统的方式是组件主动的从容器中获取所需要的资源 在这样的模式下开发人员往往需要知道在具体容器中特定资源的获取方式 增加
Java基础——Map集合遍历方式
1 方式一 键找值 先获取Map集合的全部键的Set集合 遍历键的Set集合 然后通过键提取对应值 涉及API 方法名称 说明 Set
【导入file文件转数组】input -> type=‘file‘ -> list
组件 admin文件 引用xlsx js import HandleImportFile from common xlsx js
读书笔记_《Linux高性能服务器编程》_第 5 章:网络编程基础API
第 5 章 Linux网络编程基础API 知识要点 socket 地址 API socket 基础 API 网络信息 API 1 socket 地址API 主机字节序和网络字节序 CPU 32位 的累加器一次至少可以装载 4 字节 即一个整
C# 常用复习
Char类型 char a a char b 8 char c L char d char e l char f IsLetter 判断是否是字母 Console WriteLine 判断a是否是字母 Char IsLetter a IsD
getaddrinfo简单应用——取得IP地址
转自 http biancheng dnbcw info linux 265956 html 一个域名可能对应好几个ip地址 a out www baidu com 115 239 210 27 115 239 211 112 getadd
深度学习: Epoch、batchsize、iterations 是什么?
Epoch 英文 时代 阶段 一波 一轮 一个epoch 表示 所有的数据送入网络中 完成了一次前向计算 反向传播的过程 由于一个epoch 常常太大 分成 几个小的 baches 将所有数据迭代训练一次是不够的 需要反复多次才能拟合 收敛
String数组中扩容与填加元素
String deepCode1 350000 350100 350102 String split deepCode1 split System out println String数组原来的长度为 split length 追加扩容 w
vue高德地图的实现 根据经纬度回显地理位
效果图 1 首先 下载vue amap 插件 2 在main js中引入 import VueAMap from vue amap Vue use VueAMap VueAMap initAMapApiLoader key 你自己的key
深度探索c++对象模型之template中的名称决议方式
我们应该能够区分以下两种意义 一个是c standard标准中的 scope of the template definition 模板定义域 另一个是c standard标准中的 scope of the template instant
SpringMvc
简述 基于Java实现Mvc模型的轻量级web框架 配置案例过程 导入maven
神经网络——非线性激活
torch官网 torch nn PyTorch 1 11 0 documentation 非线性变换的主要目的就是给网中加入一些非线性特征 非线性越多才能训练出符合各种特征的模型 常见的非线性激活 ReLU 官网给出的例子 gt gt g
C语言求平均成绩小程序(以五个学科为例)
include
客户好评“收割机”,NPS高达0.7, 实在RPA6.8.0重磅升级解析
近期 实在智能大模型新品 TARS RPA Agent 发布会召开 通过底层软件架构的全新优化和全面结合大语言模型实现 超进化 持续以AI技术为RPA行业提供领先的超自动化解决方案 同时在发布会上亮相的 还有备受关注的最新版RPA产品 实在
buuctf MD5
打开是一串MD5密文 md5加密后是32位的字符 也有16位的 是去除32位的前后各八位所得 由字母和数字组成 字母要么全是大写要么全是小写 MD5加密是不可逆的加密 无法解密 但是可以爆破出来 给大家推荐一个可以爆破MD5加密的网站htt
小码哥学习感想第一天
开班须知 本小节知识点 了解 课堂纪律要求 了解 上课的时间和内容安排 了解 学习方法 了解 教学思想和目标 1 课堂纪律要求 手机静音 保持安静 很容易错过精彩 关键瞬间 低调听课 尊重他人 多点反馈 多点互动 积极思考 积极回答 大家一
随机推荐
pycharm内无法激活conda虚拟环境
仅供参考 问题描述 在pycharm终端里conda activate xxx 没报错 但是并没有激活指定的xxx虚拟环境 解决方法 检查是否已将conda加入到系统环境变量内 查找了其他教程 说conda没有加入到环境变量内 但我的已经加
签好软件定制开发合同,需要注意什么
签订好一份责权分明 细节清晰的软件定制开发合同 对于任何软件定制开发合同的双方而言都是百利无害的 尤其对于软件开发软件定制开发合同这种非常容易引起争议的项目 签订合同的时候更是要慎之又慎 前期做好充足的准备 后期才能达到一个良好的效果 那么
Fastapi 学习笔记之请求多个参数
1 混合使用 Path Query 和请求体参数 from fastapi import FastAPI Path from typing import Optional from pydantic import BaseModel app
人工智能-目标识别:古典目标识别、R-CNN、SPP-NET、Fast-R-CNN、Faster-R-CNN、YOLO
古典目标识别 第一部分 训练集构造 负样本 使用 select search ss 方法对区域进行融合 gt 计算每个候选区域域真实标记区域 GRadeonTruts GT 之间的重合 如果区域A与GT的重合度在20 50 之间 而且A与其
Android LCD(四):LCD驱动调试篇
关键词 android LCD TFTSN75LVDS83B TTL LVDS LCD电压背光电压平台信息 内核 linux2 6 linux3 0系统 android android4 0 平台 samsung exynos 4210 e
Error:Execution failed for task ‘:app:mergeDebugResources‘. > Error: java.util.concurrent.ExecutionE
我的解决办法是 点击Gradle Scripts下的build gradle Module app 添加如下两行 aaptOptions cruncherEnabled falseaaptOptions useNewCruncher fal
计算机导论 复习 第一章 计算机学什么
一 核心知识点 1 计算系统构成 硬件 系统软件 操作系统 应用程序 软件 2 算法的特征 算法的高级程序实现方法 3 程序设计语言 机器语言 汇编语言 高级语言 4 计算机发展简史 二 选择题 1 冯 诺伊曼体系结构是现代计算机基础 被人
左程云 Java 笔记--前缀树 贪心算法
文章目录 前缀树 贪心算法 例1 字典序排序 例3 哈夫曼编码 例四 堆的一个应用 N皇后 总结 前缀树 介绍前缀树 何为前缀树 如何生成前缀树 例子 一个字符串类型的数组arr1 另一个字符串类型的数组arr2 arr2中有哪些字符 是a
【Java】使用Swing组件弹窗展示九十九乘法表
目录 一 效果展示 二 完整代码 三 代码思路 一 效果展示 直接先上效果图 二 完整代码 import java awt import javax swing public class MultiplicationTable extend
从零开始 React 服务器渲染
一 前言 当我们选择使用 Node React 的技术栈开发 Web 时 React 提供了一种优雅的方式实现服务器渲染 使用 React 实现服务器渲染有以下好处 1 利于 SEO React 服务器渲染的方案使你的页面在一开始就有一个
线段树的学习
在力扣刷题中遇到一道 我的日程安排表 的题 经过求解和资料的参考利用线段树的方法解决 以下对线段树的知识进行一个简单的总结 线段树的定义 线段树是一种二叉搜索树 与区间树相似 它将一个区间划分成一些单元区间 每个单元区间对应线段树中的一个叶
字符游戏-智能蛇的学习
目标 实现可以智能化移动 不撞墙 自由追寻果实的贪吃蛇程序 即拥有感知 决策 行动的能力 学习过程 根据index中sin曲线的绘制过程可知我们可以知道可以用while循环反复打印的方式达到刷屏的效果 这样 我们将贪吃蛇移动的每一步都单独打
Nginx禁止访问某个目录或某个后缀文件
1 Nginx禁止访问某个目录或某个后缀文件 1 禁止访问某些后缀文件 如php zip location php zip deny all 2 禁止访问某个目录下的某些后缀文件 location wp content uploads wp
带参数的main函数
为了说明带参数的main函数 我们首先来学习一下有关命令行的概念 命令行 在操作系统状态下 为执行某个程序而键入的一行字符称为命令行 命令行的一般形式为 命令名 参数1 参数2 参数3 参数n 参数之间以一个或多个空格隔开 例如 C gt
面试3--智能指针
面试题目3 智能指针有哪些 share 和unique有什么区别 如何实现一个unique 概念 智能指针是一个类 这个类的构造函数中传入一个普通指针 析构函数中释放传入的指针 智能指针的类都是栈上的对象 所以当函数 或程序 结束时会自动被
R小姐:mice 多重插补
文章名称 mice Multivariate Imputation by Chained Equations in R 文章链接 https www jstatsoft org article view v045i03 加载mice包 li
SpringMVC学习(二)--前后端传值
1 前端向后端传值 Controller public class TestController RequestMapping test 如果想要获得前台的参数 可直接定义 名字必须一样 public String test String
Spring Boot入门教程
好的 下面是一份Spring Boot入门教程 希望能对您有所帮助 Spring Boot入门教程 1 什么是Spring Boot Spring Boot是一款用于构建独立的 生产级别的Spring应用程序的框架 它可以让我们更快地开发S
Jquery.Pagination分页插件的学习
http blog csdn net xiaochengzi 2015 article details 51762432 编程小白 文章中出现的谬误希望大神指点 工作接到一个任务 需要把现在pagination的样式修改成前端给的样式 当时
WolframTones:用一种新科学谱写一种新音乐
转载自 36氪人法地 地法天 天法道 道法自然 老子 道德经 即便你不信上帝 不信真主 不信佛陀 不信妈祖 总有种敬畏让你挥之不去 余音绕梁 总是让你情不自禁地发出赞美 2002年著名科学家发表了 一种新科学 一书 很快成为人类知识领域的一
热门标签
汇客CRM
逆向学习问题记录
empty ajax
fewshot
网站收藏
韩顺平
编程试题
程序运行时间
龙少
mysql扩展
mysql数据分片
sobel锐化
计算机网络 应用层
电视
多媒体视音频
jenkins插件
1000 limit
SpringLdap
鸟图识别
vr全景