記事一覧
【TidalCycles】関数の引数に波形を使う
関数の引数に波形(sine, saw, tri, square)を使うとおもしろい効果が得られます。下記はpanのパラメータに波形を使ったパターンです。
d1 $ sound "bass3*16" # pan sined1 $ sound "bass3*16" # pan sawd1 $ sound "bass3*16" # pan trid1 $ sound "bass3*16" # pan
【TidalCycles】run関数で自動的に線形の整数値を返す
run関数は自動的に線形の整数値を返す関数です。図で表すと下記のようになります。
線形(linear)は変化の度合いが一定で直線的という意味です。線形に整数値を返すということは「0, 1, 2, 3, 4, 5, 6, 7, ...」という数値を返してくれるということです。
下記はサンプルの番号を0から7まで番号で指定したものです。
d1 $ sound "dr*8" # n "0 1 2
【TidalCycles】up関数でサンプルの再生スピード(音程)を変える
speed関数ではサンプルの再生スピード(音程)を変えることができましたが、up関数でも可能です。
up関数の場合はサンプルを半音ごとに変更することができます。下記のサンプルは半音ずつ音程が上がっていきます。
d1 $ sound "bass3*8" # up "0 1 2 3 4 5 6 7"
半音ずつ上がっているということは、基準となる数にとその数にプラス12した数がオクターブの関係にな
【TidalCycles】setcpsでテンポを変える
テンポを変えるにはsetcpsという関数を使う。cpsとは cycle per secondの略で、1秒あたりのループ数を表しています。
例えば デフォルトのcps 1は1秒に1ループという意味になります。cps 2だと1秒に2ループ、cps 0.5だと1秒間に0.5ループ。つまり、2秒に1ループということになります。
setcps 0.5setcps 2d1 $ sound "bd*4"
【TidalCycles】speedを使って、サンプルの再生スピード(音程)を変える
d1 $ sound "arpy" # speed "0.5"d1 $ sound "arpy" # speed "2"d1 $ sound "arpy" # speed "-0.5"d1 $ sound "arpy" # speed "-2"
speed関数を使うとサンプルの再生スピード変えることができます。デフォルトの引数は1になるため、0.5で二分の一、2で二倍のスピードで再生されます。マ
【TidalCycles】$の役割・意味
TidalCyclesでは$を多用しますが、$が何の役割を果たしているのか・意味は何なのか調べてみました。
詳しくは参考に貼っているリンクのUnderstanding the $を読んでいただきたいのですが、要するに$は関数と引数(パラメータ)を結合する記述を簡略化・視認性を高めることができる超便利な記号だということです。
例えば下記は$記号を使って記述したパターン。
d1 $ s "bd*
【TidalCycles】slowやfastでパターンの再生スピードを変える
d1 $ slow 2 $ sound "bd*2 [bd [sn sn*2 sn] sn]"d1 $ fast 2 $ sound "bd*2 [bd [sn sn*2 sn] sn]"
slowやfast関数でパターンの再生スピードを変えることができる。slow 2は二分の一のスピード、fast 2は2倍のスピードで再生されます。
参考
【TidalCycles】revでパターンを反転させる
revを使うとパターンを反転することができます。単純に反転するだけで変化がわかりづらいので他の関数と組み合わせて使うと良さそうです。
d1 $ rev $ sound "[bd bd] [bd [sn [sn sn] sn] sn]"
参考
【TidalCycles】*と/の使い方
*の使い方bdを1サイクルで4回鳴らす場合、単純に書くと下記のようになるが…
d1 $ sound "bd bd bd bd"
*を使えばもっとシンプルに書くことができる。
d1 $ sound "bd*4"
/の使い方逆に2サイクルでbdを1回鳴らしたい場合はどうすれば良いかというと、、
d1 $ sound "<bd ~>"
前回勉強した<>を使ってもよいが、下記のように/を使えば
【TidalCycles】<>の使い方について
海外の方のライブコーディング動画をYoutubeなどで見ていて、<>を使用している事があり、気になったので公式チュートリアルで調べました。
To specify a group where only one step is played per cycle, use angle brackets.
<>内に収めたグループの中から順に1サイクルごとに再生するみたいです。
d1 $ sound
【TidalCycles】ポリリズム
[]を使うことでパターンの中にパターンを含める事ができましたが、[]内で,を使うとまた意味合いが異なるようです。
d1 $ sound "[bd bd bd, sd cp sd cp]"
上記コードを実行するとbd bd bd と sd cp sd cp が同時に鳴ります。
図にしてみると下記のようになります。
この場合、bdが3拍子・sd cp sd cpが4拍子なのでポリリズムになります
【TidalCycles】パターンの中のパターン
まずはバスドラムとハンドクラップが1サイクル内で交互に鳴る普通のパターン。
d1 $ sound "bd cp"
このパターンの中に[](square brackets)で囲んだパターンを記述すると、、
d1 $ sound "[bd bd bd bd] cp"
リズムパターンの中にパターンを収める事ができた!
上記のリズムパターンを図で比較すると下記のようになる。1サイクルの長さは変わ
【TidalCycles】複数のトラックを同時に鳴らす
d1, d2, d3, d4の4つのトラックを作って、同時に鳴らします。それぞれのトラックまでカーソルを移動した状態で⌘+Enterキーを押します。各トラックとの間に1行空けないとエラーになるので注意
d1 $ sound "bd sd:1"d2 $ sound "hh*4"d3 $ sound "arpy"d4 $ sound "bass3*4"
最大9トラック(d9)まで作れるようです