Make a song
さて、メロディーを書く時間になりました。膨大なplayとsleepを書くかわりに、play_pattern_timedというショートカットを使っていきます。
以下のように書くかわりに:
play :c2
sleep 0.5
play :d2
sleep 0.25
play :e2
sleep 0.75
play :d2
sleep 0.5次のように書くことができます:
play_pattern_timed [:c2, :d2, :e2, :d2], [0.5, 0.25, 0.75, 0.5]最初の[:c2, :d2, :e2, :d2]というリストは、音のグループで、2つめの[0.5, 0.25, 0.75, 0.5]は音と音の間の休みのグループです。
:melodyという名前のlive_loopを作って、曲のリードテーマを作りましょう。簡単に思えたら、play_pattern_timed関数を使ってみましょう。また、ブラウザ上で好きな音を選択するのに、ピアノが使えます。次が追加するlive_loopの例です:
live_loop :melody do
  play_pattern_timed [:c4, :e4, :f4, :g4, :f4, :e4, :f4, :g4, :f4, :e4, :f4], [0.25, 0.25, 0.25, 1.5, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25]
endここまでで曲の全体は以下のようになっているでしょう:
use_bpm 120
live_loop :drums do
  sample :drum_heavy_kick
  sleep 1
  sample :drum_snare_hard
  sleep 1
  sample :drum_heavy_kick
  sleep 1
  sample :drum_snare_hard
  sleep 1
end
live_loop :hihat do
  sample :drum_cymbal_closed
  sleep 0.25
  sample :drum_cymbal_pedal
  sleep 1
end
live_loop :bass do
  use_synth :fm
  play :c2, attack: 0, release: 0.25
  sleep 0.25
  play :c2, attack: 0, release: 0.3
  sleep 2
  play :e2
  sleep 0.75
  play :f2
  sleep 1
end
live_loop :melody do
  play_pattern_timed [:c4, :e4, :f4, :g4, :f4, :e4, :f4, :g4, :f4, :e4, :f4], [0.25, 0.25, 0.25, 1.5, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25], attack: 0, release: 0.2
endやりましたね、良いスタートです!メロディー、シンセ、attack:とrelease:の値を変更して探索してみましょう。