Sonic Piでよく見る構造はブロック(block
)といいます。ブロックは沢山のコードをひとかたまりとして、便利に扱うことができます。たとえばsynth
やsample
では、その後ろのパラメータによって音を変えることができました。しかし、場合によってはコード数行に同じ変更内容を反映させたい時などが出てきます。たとえばループする時に、5回のうち1回だけリバーブを加えたい場合を考えてみます。
play 50
sleep 0.5
sample :elec_plip
sleep 0.5
play 62
コードのまとまりを使って何かをしようとするときに、コードのブロックの始まりと終わりをSonic Piに伝える必要があります。その際にdo
を始まりに、end
を終わりとして使用します。
do
play 50
sleep 0.5
sample :elec_plip
sleep 0.5
play 62
end
しかし、これではまだ完璧ではないので、実行されません(動かしてみてもエラーメッセージが出るだけです)。実行したい始まりと終わりのブロックをSonic Piへ伝達が完了していないからです。do
の前に特別なコードをすこし書くことによってこのブロックをSonic Piに教えることができます。このチュートリアルの後半でこれらの特別なコードを使ったいくつかの事例を紹介していきます。ひとまず、みなさんが特別なコードを使ってSonic Piを動かしたい場合、do
とend
でコードをまとめることが重要であることを覚えておいてください。