WolframTones 的音乐是如何生成的?

WolframTones 上的音乐不是人工编曲,而是由计算规则自动生成的。你每次打开或刷新,听到的是一段由算法即时“算”出来的短曲:它遵循一套可复现的规则,但具体音符、节奏和音色组合又带有随机性,所以同一套规则能产出大量不同结果。理解这一点,就不需要任何乐理或编程背景,也能明白它为什么听起来既规整又有点“意外”。

生成逻辑:规则决定结构,随机决定细节

可以把 WolframTones 的生成过程拆成两层:

  • 规则层:决定音乐的整体框架,比如音阶、节奏密度、声部数量、和声走向。这一层是固定的、可复现的,相当于给音乐划定了“语法”。
  • 随机层:在规则允许的范围内,具体选哪个音、哪个时值、哪个音色,由随机过程决定。这一层让每次生成的结果都不同。

这种“规则 + 随机”的组合,正是它听起来有独特风格的原因:结构上不混乱,细节上不重复。

计算系统在其中的作用

WolframTones 背后的生成过程依赖 Wolfram 语言及其计算系统。简单说,计算系统在这里做的是:

  1. 把音乐参数化:把音高、时值、力度等音乐要素转换成可计算的数值或符号。
  2. 按规则搜索或构造:在给定的规则空间里,生成符合条件的结果。这类似于用计算的方式“探索”一个音乐可能性空间。
  3. 输出为可播放的音频:把计算结果映射回声音,让你直接听到。

因此,它更像是一个“音乐可能性生成器”,而不是传统意义上的作曲工具。你不需要懂 Wolfram 语言,也能使用它;但生成逻辑本身是计算式的。

为什么结果具有随机性与可探索性

随机性来自生成过程中对参数的选择。可探索性则来自规则空间的大小:

  • 同一类规则可以产生大量变体,所以你可以不断刷新、不断听到新结果。
  • 不同规则对应不同风格倾向,比如有的偏节奏型,有的偏旋律型。
  • 因为规则是确定的,如果你能固定随机种子或参数,理论上可以复现某一段结果;但在常规使用中,你更多是在“探索”而不是“复现”。

一个具体例子

例如需要一段短小的电子风格片段:生成过程可能先选定一个音阶和速度范围,再随机决定每个节拍上是否发声、发什么音高,最后套用一个合成音色。你听到的是一段几秒到几十秒的曲子,但它背后是一组计算规则在运行,而不是某个人逐个音符写出来的。

你需要什么背景

不需要音乐制作背景,也不需要编程背景。你只需要:

  • 打开页面,播放生成结果;
  • 如果不满意,重新生成或调整可用的参数(如果有);
  • 把听到的结果当作计算规则的一次“采样”。

如果你想进一步理解规则本身,可以去看 Wolfram 语言中与声音、音乐相关的计算函数;如果只是想听,直接使用即可。

tones.wolfram.com
Listen to what I just found in the WolframTones music universe