yoppa.org


演奏するプログラミング 「ライブコーディング・ワークショップ」

Photo: @hiro_shirato

プログラミングで演奏する!?
プログラミングを体験しながらまるで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]"))