Add Strudel source for After Hours Weather

This commit is contained in:
Wren 2026-07-20 11:40:06 +00:00
parent 2ec3096c75
commit 37fa1465f1

View File

@ -0,0 +1,32 @@
setcpm(124/4)
// 44 cycles ≈ 85 seconds at 124 BPM: hook → proof → UI bed → CTA.
const form = {
full: "<1 1 1 1>".slow(11),
afterHook: "<0 1 1 1>".slow(11),
proof: "<0 1 0 0>".slow(11),
uiBed: "<0 0 1 0>".slow(11),
outro: "<0 0 0 1>".slow(11),
}
const kick = s("bd*4").bank("RolandTR909").gain(.78).mask(form.full)
const clap = s("~ cp ~ cp").bank("RolandTR909").gain(.33).mask(form.afterHook)
const hats = s("~ hh ~ hh ~ hh ~ [hh oh]").bank("RolandTR909").gain("<.16 .25 .12 .28>").mask(form.afterHook)
const drums_kick = kick
const drums_clap = clap
const drums_hats = hats
const drums = stack(
drums_kick,
drums_clap,
drums_hats
)
const bass = n("0 ~ 0 3 0 5 ~ 3").scale("D2:minor").s("sawtooth").decay(.16).sustain(0).cutoff("<700 1400 900 2100>".slow(11)).gain(.34).distort(.08).mask(form.afterHook)
const harmony = chord("<Dm7 Bbmaj7 F C>*2").dict("ireal").voicing().s("sawtooth").attack(.02).release(.18).cutoff("<700 2200 1100 3000>".slow(11)).gain(.13).room(.15).mask(form.afterHook)
const hook = n("<0 2 4 7 4 2 9 7>").scale("D4:minor:pentatonic").s("triangle").decay(.12).gain(.12).delay(.18).mask(form.proof)
const uiTexture = s("~ hh*2 ~ hh").bank("RolandTR707").gain(.08).mask(form.uiBed)
const cta = n("0 4 7 9").scale("D5:minor:pentatonic").s("sawtooth").decay(.18).gain(.14).room(.2).mask(form.outro)
stack(drums, bass, harmony, hook, uiTexture, cta)