极简音乐:只用一段旋律决胜负

从动森说起

2020年初,很多人都迷上了《集合啦!动物森友会》这款游戏,我也不例外。在游戏里初登岛时,住在帐篷中过着清贫生活的我,听到收音机电台播放《极简音乐》时,感觉真是妙极了。

来听听Space K.K. (Radio)

https://music.163.com/#/song?id=1434013347

虽然《极简音乐》只有一个重复的旋律,但和其它歌曲比起来,这首非常耐听。在岛上攒钱盖房,买了自己的唱片机之后,我每天都会去村公所NOOK机上预定唱片,特别期待入手《极简音乐》唱片。

需要向没玩过动森的朋友解释一下,在动森世界里,所有唱片都是流浪歌手k.k的作品。kk是只会弹吉他唱歌的白色小狗,粗眉会让我想到陈宝国。每周六他都会来岛上的广场演出。现场听到的歌曲是kk弹唱版本,而购入的同名唱片中,有一些是纯音乐,比如《极简音乐》。

后来我在网易云上找到了原曲《Space K.k.(radio)》,看评论发现其他玩家和我感受一样。

"这个曲子能循环着听,毫无违和感"

"常驻时间最长的曲子,坐在椅子上,再加上牛顿摆的踩点,可以盯着看几十分钟"

这样的音乐究竟是怎么做出来的呢?

"这延时效果器用得挺有意思"(真的吗?)

Wow! 发现了最早的发明者。

"可以,这很Steve Reich哈哈哈"

这就去听听Steve Reich的作品。

Steve Reich的《钢琴相位》

https://www.bilibili.com/video/BV12W411b7Tw?from=search&seid=4602282030647858189

Steve Reich是美国电子音乐家,极简音乐的开山鼻祖之一。印象里他比较喜欢用磁带做奇怪的采样,但是因为实验作品大多不耐听,所以我没特意关注。但是托动森的福,我又找来他的《钢琴相位》听了一遍,熟悉的配方熟悉的味道原来出自这里。

“相位”这个词真的很技术,天天坐在示波器前工作的人才会用这个词汇吧?不过用耳朵听,用眼睛看,“相位”产生的现象其实并不难理解。《钢琴相位》由两架钢琴演奏。每位琴师演奏的旋律与速度都保持恒定不变,只不过一位演奏速度稍快,另一位速度稍慢些,时间差非常小。

但随着时间差叠加,两架钢琴旋律错位越来越明显,随时间推移出现不同节奏。虽然旋律一直在重复,但不亚于几何动态般的美感,令人好奇下一秒会变成什么样。

我也试着用正弦波画出相位变化的状态

这个变化速度比《钢琴相位》快多了

Steve Reich把这种变化定义为pattern(模式)。我眼中的pattern, 在音乐里可以是特定节奏类型,在图像上可以是由基础视觉元素组成的复杂纹样。这样理解,就不会被中文翻译中“模式”的称谓吓到。Steve Reich将《钢琴相位》中出现的数个pattern做了具体编号,数量肯定不少。如果将自己中意的pattern提取出来,把相似的节奏写进鼓组,也会很有趣。

用Sonic Pi演奏钢琴相位

用程序实现《钢琴相位》特别简单,但人力演奏的版本反而更令人钦佩。对我来说,演奏时坚持自己的速度,不被对方带跑,真的太难了!除了捂耳朵不听,实在想不出其它办法。所以我自己只能靠程序实现。

Sonic Pi的示例程序examples/illusionist/reich_phase.rb,有对《钢琴相位》的复现:

# Steve Reich's Piano Phase
# See: https://en.wikipedia.org/wiki/Piano_Phase

# use_synth :piano
notes = (ring :E4, :Fs4, :B4, :Cs5, :D5, :Fs4, :E4, :Cs5, :B4, :Fs4, :D5, :Cs5)

live_loop :slow do
  play notes.tick, release: 0.1
  sleep 0.3
end

live_loop :faster do
  play notes.tick, release: 0.1
  sleep 0.295
end

在这里,note数列储存了整首曲子的旋律。

之后创建两个轨道,:slow:faster

对应的是两架演奏速度不同的钢琴。

sleep设置演奏速度,0.3与0.295的时间差十分细微,较小的差值能让同类型pattern持续时间更长。如果改成0.3与0.29,那么pattern变化更迅速。能上手调参数并魔改,也是欣赏《钢琴相位》的独特体验。

合成器相位

照着上面的代码,我自己也写了一段旋律,本来觉得并无难度。但到播放时才发觉异常混乱。问题究竟出在哪里呢?其实我在写旋律时,忘记了乐曲播放到中段,旋律前半段会和后半段将叠加播放。所以做了修改,让前后两段旋律一起演奏时变得和谐,混乱的问题果然消失了。

notes = (ring :C,:D,:Ds,:F,:G5,:Ds5,:As4,:A)

live_loop :slow do
    use_synth :dtri
    with_fx :reverb do
        play notes.tick, release: 0.1
        sleep 0.3
    end
end

live_loop :faster do
    use_synth :dtri
    with_fx :reverb do
        play notes.tick,release: 0.1
        sleep 0.295
    end
end

为了避免不和谐,我还想到另外一个办法,那就是在五声音阶的限制下写旋律,这样能保证100%安全。而相应的,乐曲也就变成了中国风。

results matching ""

    No results matching ""