演奏するプログラミング 「ライブコーディング・ワークショップ」
- 2024年11月10日
- tsukurun放課後塾
プログラミングで演奏する!?
プログラミングを体験しながらまるでDJのようにパフォーマンスするワークショップを開催します! ゲームを作るプログラミングとは、また違った面白さをぜひ体験してみてください。
スライド資料
リンク
サンプルコード
/*
* Strudel (https://strudel.cc/)
* ライブコーディングのサンプルコード
*
*/
// 最初の音
s("cp")
// 別の音
s("bd")
// リズムのきほん
s("bd hh sd oh")
// たくさんの音をならす
s("bd bd hh bd rim bd hh bd")
// テンポを変える
s("bd bd hh bd rim bd hh bd").cpm(40)
// 休符 (やすむ)
s("bd hh ~ rim")
// サブシーケンス
s("bd [hh hh] sd [hh bd]")
// かけ算 (スピードアップ)
s("bd hh*2 rim hh*3")
// サブシーケンスのかけ算
s("bd [hh rim]*2")
// 高速かけ算
s("bd hh*16 rim hh*8")
// パラレルに演奏
s("hh hh hh, bd cp")
// パラレルに演奏2
s("hh hh hh, bd bd, ~ cp")
// パラレルに演奏3
s("hh hh hh, bd [bd,cp]")
// ドラムセットをきりかえる
s("bd hh sd oh").bank("RolandTR909")
// ポリリズム
s("rim*4, hh*5")
s("bd ~ rim ~, bd hh*2 hh ~ hh*2")
s("bd*5, rim hh hh ~ rim hh <hh*2 hh> ~")
// ポリミーター
s("{bd sd bd hh, bd rim cp hh hh}")
s("{lt*5, ht*4}")
// ユークリッドリズム
s("bd(3, 8), hh(9, 16)")
s("bd(3, 7), hh(9, 14, 5), cp(5, 7, 2)")
// 複数のシーケンスを同時に演奏
$: s("bd cp [~ bd] <hh*4 cp*2 [~ sd]*2>")
$: s("bd(4, 8), hh(5, 8, 1)")
.bank("RolandTR909")
$: s("supersaw(11, 16)")
.note("{c3 f3 g3 c2}%22, <c4 b4>".add("[0, 12]"))