Live Coding 表演

Sonic Pi 最NB的功能之一就是它允许你通过写代码,以及实时修改代码来创作音乐,就像你在用吉他表演一样。这意味着你只需要做些练习,然后就可以带着 Sonic Pi 上舞台表演了。

放飞自己

在开始真正的教程之前,我想让你体验一下什么是 Live Code 。搞不明白也不用担心,坐稳扶好,我要带你装B带你飞了…

一段现场循环

开始吧,复制下面的代码,粘贴到上面的空白区域:

live_loop :flibble do
  sample :bd_haus, rate: 1
  sleep 0.5
end

现在点击Run按钮,你将会听到动感的低音鼓节奏。如果你想停止发声,只需要点击 Stop 按钮。先别点击哈,跟随下面的步骤:

确保低音鼓声音还在 修改 sleep 的值从 0.5 到更高的值,比如 1. 再次点击 Run 按钮 注意鼓的节奏的速度已经变了。 最后,请记住这一刻,这是你使用 Sonic Pi 的第一次 Live Code ,期待你后续的精彩表演…

好的,是不是很简单。我们再往混音里面添加其他东西。在 sample :bd_haus 之上添加一行 sample :ambi_choir, rate: 0.3,你的代码会是下面这样子:

live_loop :flibble do 
  sample :ambi_choir, rate: 0.3 
  sample :bd_haus, rate: 1 
  sleep 1 
end

现在,请随意玩耍。试着改变一下速率(rates),试试更大或更小的数,甚至负数,听听有什么不同? 例如修改一下:ambi_choirrate:值,微调一下改为 0.29。 例如修改sleep的值为很小的数。你可以测试一下,看看你的电脑能支持的最快的速度是多少?再快电脑就会报错了(如果真的发生了,那就把sleep的值增大一点,重新点击Run即可)。

试一下通过在行首添加一个字符 # 来注释掉任意一 sample 行:

live_loop :flibble do
  sample :ambi_choir, rate: 0.3
#  sample :bd_haus, rate: 1
  sleep 1
end

敲黑板,通过这种方式就可以让电脑忽略播放小样声音,所以我们就听不到了。这叫注释。在 Sonic Pi 中我们可以通过注释来在混音中去掉某些小样。

最后,我给你时间你自己再玩一会。体验一下下面的代码,现在先不要尝试理解代码的含义,你只需要明白代码里有两个循环就可以了。两个循环会同时运行。 现在,按照之前的方式体验和玩耍吧。另外我有一些建议:

尝试修改蓝色的rate:值,听听小样音量改变的效果。 尝试修改 sleep的值,听听两个循环中的声音以不同速度播放的效果。 尝试取消掉小样的注释(删除 #),体会有吉他小样播放的效果。 尝试修改蓝色 mix:的值,在0 (不参与混音) 和 1 (完全参与混音)之间。

记着点击Run按钮,下一次循环你就能听到你所做的改变。如果你觉得音乐很混乱,不要担心,点击Stop按钮,删除掉代码,重新粘贴一份干净的拷贝,然后再修改,再玩。失败是成功之母,加油。

live_loop :guit do
  with_fx :echo, mix: 0.3, phase: 0.25 do
    sample :guit_em9, rate: 0.5
  end
#  sample :guit_em9, rate: -0.5
  sleep 8
end
live_loop :boom do
  with_fx :reverb, room: 1 do
    sample :bd_boom, amp: 10, rate: 1
  end
  sleep 8
end

现在,继续玩耍,体验。当你开始好奇这一切到底是怎么发生的时候,好奇还能干点别的事情不的时候,就可以开始读剩下的教程了。

往下看吧。