前橋工科大学 – サウンドプログラミング2024
TidalCycles応用 3 – ライブパフォーマンスのヒント: サウンドの追加、構造をつくる
前回、前々回とTidalCyclesの様々な機能について学んできました。セットアップと起動の方法、パターン生成の基本、パターンを変形する様々な関数、エフェクト、テンポ、乱数、コード、スケールなどTidalCyclesではライブコーディングに関する膨大な機能を使用することが可能です。今回は、これまでの内容を総合して、TidalCyclesで演奏のための構造をつくるにはどのようにすれば良いのか、そのヒントとなる実例をいくつか取り上げます。今回紹介する方法が全てではありませんが、実際のライブコーディングの演奏の際のヒントとなるでしょう。
スライド資料
試しにアップロードするサウンドサンプル “uni”
サンプルコード
TidalCycles
do
d1
$every 4 (rev)
$sometimesBy 0.2 (slow 2)
$sometimesBy 0.8 (jux (iter 8))
$stack
[
sound "ifdrums(3, 8, 0)",
sound "bd(3, 8, 3)",
sound "glitch(2, 8)"
]
#n (irand 64)
#pan (rand)
#lpf (rangex 800 18000 $slow 4 $sine) #resonance "0.2"
#delay "0.3" #delaytime "1.125" #delayfeedback "0.5" #lock 1
#gain "1.3"
d2
$sometimesBy 0.3 (jux (rev))
$sometimesBy 0.2 (slow 2)
$s "supersaw(3, 8)"
#note "c4'sus4"
|+| note "[0, 7][7, 14][14, 21][7, 0]"
|+| note "[0, 7, 12]"
|+| note "0"
#lpf (range 1000 8000 $rand) #resonance "0.2"
#sustain "0.08"
#gain "1.0"
#room "0.1" #size "0.4"
Strudel
$: s("bd(4, 8), hh(4, 8, 1)").bank("RolandTR909")
$: stack(
s("conga(9, 16), bongo(9, 16, 3)")
.sometimesBy(.1, x=>x.slow(2))
.n(irand(9)).gain(1.5),
s("bd(3, 8), hh(5, 8, 1), rim(4, 8, 3)")
.bank("RolandTR808").gain(1.8)
)
.sometimesBy(.5, x=>x.jux(rev))
.delay(0.5).delaytime(5/8)
$: stack(
s("supersaw(9, 16)")
.n("[-12, 1, 2, 3, 4]")
.chord("<Am Am9>/4").voicing()
.legato(0.8)
.lpf(sine.slow(16).range(1000, 2000)).resonance(15),
s("supersaw(5, 16, [0, 5])")
.n(irand(19).add(-8))
.scale('A2 minor')
.jux(rev)
.legato(0.5)
.lpf(sine.slow(12).range(1000, 8000))
.resonance(15)
)
.delay(0.5).delaytime(1/8)
.room(0.5)
.gain(0.5)
アンケート
本日の講義を履修した方は以下のアンケートに回答してください。
※ 旧カリ「サウンドプログラミング」「環境情報デザイン」で履修の方はこちら