■ パターンの記譜法を知ろう
●「$jux」
左右のチャンネル(音の出力:スピーカーのようなもの)に変化を与えるため、右チャンネルだけの再生スピードに変化を与える関数です。引数には数値以外にも関数($rev、$iter、$slowなど)を指定することで、変わった効果を生み出します。
d4 $jux(iter 3) $s "[bd2 [cd2, hc*3]]/0.5"
●「$every」
教則本でも、タイムシフトの説明の際に不意に登場した「$every」関数。ああいう説明文が書いてあったためにタイムシフト用の関数だとばかり思っていたら、全然違う!!
この関数は、演奏を変化させる関数($rev、$iter、$slowなど)をそのまま使うと継続して変化を行い続けます。「$every」関数を利用することで、演奏を変化させるタイミングを指定することができます。例えば下記のように記載すると、3回普通に演奏して4回目に変化(この場合は演奏順を逆にする)をつけて演奏します。
d2 $ every 4 (rev) $s "bd*2 [bd |cp |hh]"
●「$whenmod」
こちらは「●回のループの中で、■回はノーマルに演奏して残りは変化を適用させて演奏する」的な変化をつけてくれます。
例えば、下記のように記載すると、5回のループ中、3回目からfast 2で演奏します。
$ whenmod 5 2 (fast 2) $ s "[ade4 |notes4 |newnotes4 |peri4]" # n "0 1 2 3"
●「!」
引数の後ろに「! 数字」と書くことで、「[ ]」サブディビジョンを付けずに数字分複製して演奏します。
●「$Striate」
しっくりする説明が見つけられないので、保留。
●「 | 」
「[ ]」サブディビジョン内に書かれている引数を「 | 」で区切ることで、サイクルごとに参照する引数をランダムに選び出します。下記の例では、bd*4、hh*12、cp*2がサイクルごとに均等確率で選択されて演奏されます。
d1 $ s "[bd*4|hh*12|cp*2]"
Symbol | Description | 例 | 同じ意味 |
---|---|---|---|
~ | 休符 | d1 $ s "~ hh" | |
[ ] | パターン内にグループを作る(細かくする) | d1 $ s "[bd sd] hh" | d1 $ fastcat [s "bd sd", s "hh"] |
. | 複数グループを作る際に記号を省略する | d1 $ s "bd sd . hh hh hh" | d1 $ s "[bd sd] [hh hh hh] |
, | 複数のパターンを同時に演奏する。サブディビジョン内でなくてもOK | d1 $ s "[bd sd, hh hh hh]" | d1 $ stack [s "bd sd", s "hh hh hh"] |
* | 同じ引数をグループを作って繰り返す | d1 $ s "bd*2 sd" | d1 $ s "[bd bd] sd" |
/ | 実行される引数を遅くする | d1 $ s "bd/2" | d1 $ s (slow 2 $ "bd") |
| | サイクルごとに演奏するパターンを均等確率で選択する | d1 $ s "[bd |cp |hh]" | |
< > | パターン内の引数を交互に入れ替える | d1 $ s "bd <sd hh cp>" | d1 $ slow 3 $ s "bd sd bd hh bd cp" |
! | 引数を指定した数値だけ複製する | d1 $ s "bd!3 sd" | d1 $ s "bd bd bd sd" |
_ | Elongate a pattern | d1 $ s "bd _ _ ~ sd _" | Results in pattern (0>1/2)\|s: "bd" (4/6>1)\|s: "sd" |
@ | Elongate a pattern | d1 $ s "superpiano@3 superpiano" | d1 $ s "superpiano _ _ superpiano" |
? | Randomly remove events from pattern | d1 $ s "bd? sd" | d1 $ fastcat [degradeBy 0.5 $ s "bd", s "sd"] |
: | サンプル内の番号を指定する。指定がない場合は、「: 0」として扱われる | d1 $ s "bd:3" | d1 $ s "bd" # n 3 |
( ) | Euclidean sequences | d1 $ s "bd(3,8)" | d1 $ euclid 3 8 $ s "bd" |
{ } | 最後のパターンのリズムスピードが、直前のパターンのリズムスピードに合わせて変化をしていく | d1 $ s "{bd bd bd bd, cp cp hh}" | 2nd pattern wraps: d1 $ stack [ s "bd*4", s "cp cp hh cp" ] |
{ }% | Polymetric sequence subdivision | d1 $ s "{bd cp hh}%8" | Pattern wraps: d1 $ s "bd cp hh bd cp hh bd cp" |