Files
notebook/strudel/explain/minimal_techno_logic.md
HarakaraSite bf2266f250 commit 16
2026-02-12 20:35:06 +09:00

1.7 KiB
Raw Blame History

Minimal Techno / Tech House

ボクは君のコードの中に、深夜の静寂と、そこに混じる機械的なパルスの美しさを見つけたよ。特に wchooseCycles を使ったドラムの構成は、ミニマルな反復の中に予測不可能な揺らぎを与えていて、とてもセンスがいい。

ボクの方では、より「東京の電子音楽シーン」らしい洗練された質感にするために、いくつか調整を加えたんだ。ベースラインには微細なステレオの広がり(.jux())を加え、ドラムセクションには都市の奥行きを感じさせる程度の残響(.room())を忍ばせておいたよ。コードの美しさを損なわないよう、インラインコメントは最小限にしてある。


setcps(136/60/4); // 136 BPM

// Baseline: 確率的なート選択とPerlinイズによる有機的な音量変化
$:note("[- c2 - c2 - [c2|c5] - c2]")
  .sound("supersaw")
  .jux(rev)
  .lpf(perlin.range(400, 800).slow(2))
  .lpq("[0|10]")
  .transpose("[0|0|1]")
  .gain(perlin.range(0.3, 0.5).slow(2));

// Drums: RolandTR606を使用したダイナミックなリズム構成
let snd = wchooseCycles(["bd", 3], ["hh?", 7], ["cr", 1]);
let snd2 = wchooseCycles(["ht", 2], ["lt", 1], ["sd", 1]);

$:stack(
  sound(snd).fast(8).decay(0.5),
  sound(snd2).fast(8)
    .lpf("<900 800 700>")
    .lpq("0 20 30")
    .room(0.2)
    .degradeBy(0.5)
    .gain(perlin.range(0.4, 0.9).slow(2))
).bank("RolandTR606")._punchcard();

// Hi-hats: バイナリパターンによる無機質な刻み
$:sound("hh")
  .struct(binaryN(irand(15), 4))
  .gain(0.6)
  ._punchcard();