Back
Strudel
deep dive
Strudel を読み込み中…
Reset
Run
Stop
// --- Section 1 --- const sec1 = stack( s(`< [bd ~ ~ bd ~ ~ ~ bd] [bd ~ bd ~ ~ ~ ~ bd] [bd ~ ~ ~ bd ~ ~ bd] [bd ~ ~ bd ~ bd ~ ~] >`).gain(0.95), s("~ sd ~ sd") .every(3, fast(2)) .sometimesBy(0.2, ply(2)), s("hh*16") .gain(rand.range(0.25, 0.6)) .degradeBy(0.15), s("~ <[~ rim] [~ ~] [rim ~] [~ rim]>").gain(0.4) ); // --- Section 2 --- const sec2 = stack( s("bd*<2 4 2 8>") .sometimesBy(0.3, fast(2)) .degradeBy(0.05) .gain(0.9), s("[~ sd] [sd!2 ~] ~ [sd sd]") .sometimes(rev), s("hh*16") .gain(rand.range(0.2, 0.6)) .degradeBy(0.2), note("<c2 c2 [eb2 g2] f2>") .s("sawtooth") .cutoff(sine.range(220, 2000).slow(4)) .resonance(12) .gain(0.75), note(`< [c5 eb5 g5 bb5] [g5 f5 eb5 c5] [ab5 g5 f5 eb5] [c6 bb5 g5 f5] >`) .s("square") .gain(0.4) .room(0.6) .delay(0.5).delaytime(0.125).delayfeedback(0.4) .sometimes(jux(rev)) ); // --- Section 3 --- const sec3 = stack( sec2, note(`< [c5 ~ eb5 g5] [bb5 ~ g5 eb5] [c5 ~ eb5 g5] [bb5 c6 bb5 g5] >`) .s("gm_trumpet") .gain(0.6) .attack(0.02).release(0.25).sustain(0.7) .room(0.4) .sometimesBy(0.3, fast(2)) ); arrange( [4, sec1], [4, sec2], [4, sec3] ).cpm(174 / 4);