Skip to content

Instantly share code, notes, and snippets.

@trentgill
Last active August 18, 2021 15:17
Show Gist options
  • Save trentgill/dfaea6bd8add079d6d3c5b9da4eb3c8a to your computer and use it in GitHub Desktop.
Save trentgill/dfaea6bd8add079d6d3c5b9da4eb3c8a to your computer and use it in GitHub Desktop.
maps s2e4 preparation
--- maps: S2E4 dynamic mutation
-- using ASL's new dyn{} variables for self-modifying signals
-- aliases
s = sequins
ws = ii.wsyn
wd = ii.wdel
cr = clock.run
function wiggle()
return loop{ asl._if( dyn{count=-30}:step(1):wrap(-30,1.1)
, { to(dyn{freq=100}:mul(1.3):wrap(50,1500) * 0 - 3, 0)
, to(dyn{lev=3}:step(5.00), 0)
}
)
, to(-dyn{lev=3}:mul(0.97), 0.5/dyn{freq=100}, 'lin')
, to( dyn{lev=3}, 0.5/dyn{freq=100}, 'lin')
}
end
function steps(f1, f2)
local ff = dyn{ff=f1}
local lev = dyn{lev=5}
return loop{ asl._if( dyn{count=-30}:step(1):wrap(-3000,1.1)
, { to(lev:mul(lev):mul(lev):mul(lev):wrap(-5,5) * 0 + -lev,0) })
, to( lev, 0.5/ff)
, to(-lev, 0.5/ff)
}
end
function init()
clock.tempo = 75
ws.ar_mode(1)
output[1](wiggle())
output[2](ramp(1/dyn{ff=200}, dyn{sk=0.5}:step(dyn{rate=0.001}):wrap(0.5,0.99)))
output[3](ramp(1/dyn{ff=300}, dyn{sk=0.5}:step(dyn{rate=0.001}):wrap(0.5,0.99)))
output[4](steps(800, 500))
FF = sequins{400, 900, 800, 1000, 1200, 1400, 1600}
MMM = clock.run(function()
while true do
clock.sync(1)
output[4].dyn.ff = FF()
end
end)
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment