Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Sonic Pi Workshop

Sonic Pi Workshop

We held a workshop of Sonic Pi for use in live coding.
The title of the workshop is "Knowledge Nudge!"

Avatar for Nuflair

Nuflair

June 10, 2018

Other Decks in Programming

Transcript

  1. 音を繋いでみる 下記のコードを書き、画面上のrunボタンをクリック play :c5 sleep 1 play :b5 sleep 0.5

    play :g5 sleep 0.5 sleep で音と音の間の間隔を指定します。 1は秒、0.5は0.5秒(デフォルト設定の場合)
  2. Loopにする 下記のコードを書き、画面上のrunボタンをクリック loop do play :c5 sleep 1 play :b5

    sleep 0.5 play :g5 sleep 0.5 end 繰り返し再生される。 音を止めるには画面上のStopボタンをクリック
  3. Live_Loopにする2 先ほどのコードをlive_loopに書き替える live_loop :mero1 do play :c5 sleep 1 play

    :b5 sleep 0.5 play :g5 sleep 0.5 end 繰り返し再生される。 そして、コードを書き替え再度Runするとloopの内容が変わる。
  4. 音色3 playには様々オプションがあり、オプションを追記する事でさらに 音色に表情をつける事が可能。 例) play :c5, amp: 1.2, pan: 1,attack:0.5

    amp: … 音量デフォルトは1 0~指定可能 pan: … パン(音の位置) -1 ~ 1 attack: … 音の立ち上がりをゆるやかにする。
  5. 実践 組み合わせでライブコーディングしてみよう 例) live_loop :mero2 do play :c5,attack: 0.5,pan: 1

    sleep 2 3.times do play :d5, attack: 0.3,release: 0.2 play :a5 sleep 0.5 play :g5,attack: 0.3, pan: -1 sleep 0.5 end play :d5,sustain: 1 end
  6. 実践2 ▪便利なショートカット 実行 … Alt + r (windows) … Command

    + r (Mac) 停止 … Alt + s (windows) … Command + s (Mac) コメントアウト … Atl + / (windows) …Command + /(Mac) ▪コメントアウト #
  7. サンプラー機能オプション サンプラー機能にも豊富なオプションがあります。 例) rate = サンプルの再生速度を制御する。 pitch = サンプルの音程を変える。 live_loop

    :rh do sample :ambi_glass_rub,finish: 0.6,pan: 1 sample :bd_808,amp: 1.5,pitch: 0.5 sleep 0.5 sample :drum_cymbal_closed,rate: 2,pan: 1 sleep 0.25 sample :drum_cymbal_pedal,rate: -0.5 sleep 0.25 end
  8. サンプラー機能オプション3 この二つオプションだけでかなり遊べます。 live_loop :glass do sample :ambi_glass_rub,pan: -1 sleep 2

    sample :ambi_glass_rub,rate: 0.5,pitch:2 sleep 2 sample :ambi_glass_rub,rate: 0.5,pitch:4,pan: -1 sleep 2 sample :ambi_glass_rub,rate: 0.5,pitch:7 sleep 2 end
  9. エフェクト機能 sonic piにはエフェクト機能があります。 エフェクトを使うにはwith_fx :[エフェクト名] do ~ endでエフェクトをかけたい所をかこみま す。 with_fx

    :echo do live_loop :amen do sample :loop_amen,start: 0.6, finish: 0.7 sleep 0.5 sample :loop_amen,rate: 0.9,start: 0.1,finish: 0.2 sleep 0.5 sample :loop_amen,rate: 1.1,start: 0.3,finish: 0.4 sleep 0.5 sample :loop_amen,rate: 1.1,start: 0.4,finish: 0.5 sleep 0.5 end end
  10. エフェクト機能2 複数のエフェクトをかける場合は、さらにwith_fxでかこみます。 with_fx :echo do with_fx :distortion do live_loop :amen

    do sample :loop_amen,start: 0.6, finish: 0.7 sleep 0.5 sample :loop_amen,rate: 0.9,start: 0.1,finish: 0.2 sleep 0.5 sample :loop_amen,rate: 1.1,start: 0.3,finish: 0.4 sleep 0.5 sample :loop_amen,rate: 1.1,start: 0.4,finish: 0.5 sleep 0.5 end end end
  11. ランダム3 サンプルコード live_loop :mero3 do play :g6,amp: rrand(0,1) sleep 0.25

    play rrand_i(70,90),amp: 0.4 sleep 0.25 play 65,attack:(0,1) sleep 0.25 play 60 sleep 0.25 end