# Live Coding 表演

Sonic Pi 最強大的功能就是它讓你可以透過寫程式碼，以及即時編輯程式碼來創作音樂，就像你在現場演奏吉他一樣。這意味著你只要做些練習，就可以帶著 Sonic Pi 上舞台表演了。

## 放鬆心情

在開始真正的教學前，我想讓你體驗一下什麼是 Live Code。搞不明白也不用擔心。椅子坐穩，然後好好享受吧…

## 一段現場循環（live loop）

我們開始吧，複製下面這段程式碼到上方的空白區域：

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

現在，按下`執行（Run）`按鈕，你將會聽到動感的低音鼓節奏。如果你想停止音樂，只要按下`停止（Stop）`按鈕。不過現在先別按啊，讓我們再嘗試些東西：

1. 確保低音鼓聲音還在
2. 修改 `sleep` 的數值，從 `0.5` 到更高的值，比如 `1`。
3. 再按一次 `執行（Run）按鈕
4. 你會發現鼓的速度改變了。
5. 最後，請記住這一刻，這是你使用 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”值可以是（0~∞）時間，並聽到兩個循環可以以不同的速度旋轉。
- 嘗試取消對簡單示例行的註釋(刪除“#”)，並欣賞演奏的吉他聲音。
- 試着改變藍色的“mix:“值，數值在0(不是混合)和1(完全混合)之間。

記住按 “Run”，下次迴圈時你會聽到變化。如果你最後陷入困境，不要擔心，點擊 “停止”，删除緩衝區中的程式碼，貼上一個新的副本，你就可以再次進行干擾了。犯錯是你學習最快的方法…

    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

現在，保持玩耍，不斷嘗試，直到你對這一切如何運作產生好奇心，你開始思考你還能做些什麼。現在您可以閱讀教程的其餘部分了。

所以您還在等什麼呢…