# 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_choir` 的 `rate:`值，微调一下改为 `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

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

往下看吧。