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_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中,我們可以使用’#‘註釋增减東西混合代码中。

最後,讓我給你留點好玩的。將下面的程式碼複製到一個備用緩衝區中。現在,除了看到有兩個迴圈之外,不要太過理解它——所以兩個東西同時迴圈。現在,做你最擅長的事情——嘗試和玩耍。以下是一些建議:

記住按 “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

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

所以您還在等什麼呢…