動画
コード
setcps(65/60/4)
d1
$ whenmod 8 7 ((#lpf (rangex 200 4000 $ saw)). (# lpq 0.4))
$ whenmod 16 15 (# gain 0)
$ swingBy(1/6) 8
$ stack[
s "Kick:6(<3 3 3 6>,16)" # nudge "<-0.02 -0.01> -0.01 <0.02 0> 0",
s "Snare:29(2,8,2)",
s "Hihat:18*8" # gain "[1 0.9 0.95 0.8]*2"
]
# lpf 8000 # shape 0.2 # coarse 3
d2
$ whenmod 16 15 (# leslie 0.9)
$ whenmod 8 7 (# hpf 400)
$ slice 4 "[0 1 2 3]/2"$ s"Lick:3" # cut 2 # speed 0.4
# room 0.8 # sz 0.7 # leslie 0.5 # coarse 3 # hpf 150
解説
各サイクルごとのエフェクト
以下の箇所で、4サイクルごとにKickのパターンを少し変えています。
s "Kick:6(<3 3 3 6>,16)"
また、以下の箇所で、d1とd2で、8サイクルごとにエフェクトをかけて、変化をつけています。
d1
$ whenmod 8 7 ((#lpf (rangex 200 4000 $ saw)).(# lpq 0.4))
d2
$ whenmod 8 7 (# hpf 400)
( ).( ) という形にすることで、2つのエフェクトを同時にかけることができます。
以下2つは、同じ意味になります。
$ whenmod 8 7 ((#lpf (rangex 200 4000 $ saw)).(# lpq 0.4))
$ whenmod 8 7 ((#lpf (rangex 200 4000 $ saw))
$ whenmod 8 7 (# lpq 0.4))
よくevery 2 (# room 0.5)を使うときに、一度にroomとszを設定できたらいいのになあ…と思っていましたが、これで解決できますね。
以下2つは、同じ意味です。
$ every 2 (# room 0.5) $ every 4 (# sz 0.8) $ s "arpy*8"
$ every 2 ((# room 0.5).(# sz 0.8)) $ s "arpy*8"
また、以下のように、revやfastは、( )でくくらなくても、” . “だけで十分です。
d1 $ every 2 (rev . fast 4 . (# room 0.9)) $ sound "bd sn hc sn"
エフェクト “coarse”
coarse は、「粗い」という意味で、サンプリングレートを下げることができます。
# coarse x とすると、もとのサンプリングレートの1/xのサンプリングレートになります。
xは整数のみで、小数点は使用できません。
# coarse 3 にした場合、もとのサンプリング周波数が48kだと、16kHzになります。
もとのサンプリング周波数が48kHzとすると、以下のようになります。
coarse 1 | 48kHz |
coarse 2 | 24kHz |
coarse 3 | 16kHz |
coarse 4 | 12kHz |
coarse 8 | 6kHz |
coarse 16 | 3kHz |
Lofi-Hiphopでは、わざとサンプリングレートを下げて粗い音にすることがあるので、今回はcoarse 3として、少し粗さを出せるようにしました。
他のジャンルでは、わざとcoarse 16や32や64にして強烈な音作りにしても楽しいと思います。