和音

Sonic Piは和音名でリストを返す機能を内蔵しています。実際に試してみましょう。

play chord(:E3, :minor)

さあ、本当に動きましたね。そのままのリストよりも美しく見えるし、そして他の人にとっても読みやすいでしょう。では、どんな和音をSonic Pi はサポートをしているのでしょうか。沢山あります。次のように、いくつかのコードを試してみましょう。

アルペジオ

play_pattern関数で簡単にコード(和音)からアルベジオ(和音を構成する音を一音ずつ順番に弾いていく奏法)に変更して演奏を行うことができます。

play_pattern chord(:E3, :m7)

このコードでは、とてもゆっくりと演奏をしていて、あまり楽しくないかもしれません。play_patternは、リスト内の各音符のplayを呼び出す度にsleep 1 を呼び出して演奏します。play_pattern_timed関数を使用することで、独自のタイミングと速度を指定することがきます。

play_pattern_timed chord(:E3, :m7), 0.25

play_patternには時間のリストを渡すこともでき、それは循環する時間として扱われます。

play_pattern_timed chord(:E3, :m13), [0.25, 0.5]

これは次のコードと同じです。

play 52
sleep 0.25
play 55
sleep 0.5
play 59
sleep 0.25
play 62
sleep 0.5
play 66
sleep 0.25
play 69
sleep 0.5
play 73

どちらの書き方を好みますか?