Hey, after searching a lot about this, the only way I found is this kind of setup :

do

let nu = [0.0,3.125e-2,6.25e-2,9.375e-2,0.125,0.15625,0.1875,0.21875,0.25,0.28125,0.3125,0.34375,0.375,0.40625,0.4375,0.46875,0.5,0.53125,0.5625,0.59375,0.625,0.65625,0.6875,0.71875,0.75,0.78125,0.8125,0.84375,0.875,0.90625,0.9375,0.96875,1.0]

let fn a = nudge (nu !! (mod (a) 33))

let cl a= (toScale [0,1,2,3,4,5,6,7,8,9,10,11] a)

let ifc a b c = n (if a >= b then cl c else “~”)

let sby9a a= stack [ifc a 1 0 # fn 0,ifc a 2 4 # fn 2,ifc a 3 7 # fn 4,ifc a 4 9 # fn 6,ifc a 5 14 # fn 8,ifc a 6 16 # fn 10,ifc a 7 19 # fn 12]

let sby9d a= stack [ifc a 1 0 # fn 12,ifc a 2 4 # fn 10,ifc a 3 7 # fn 8,ifc a 4 9 # fn 6,ifc a 5 14 # fn 4,ifc a 6 16 # fn 2,ifc a 7 19 # fn 0]

let ssus2a a= stack [ifc a 1 0 # fn 0,ifc a 2 2 # fn 2,ifc a 3 7 # fn 4,ifc a 4 10 # fn 6,ifc a 5 12 # fn 8,ifc a 6 14 # fn 10,ifc a 7 19 # fn 12]

let ssus2d a= stack [ifc a 1 0 # fn 12,ifc a 2 2 # fn 10,ifc a 3 7 # fn 8,ifc a 4 10 # fn 6,ifc a 5 12 # fn 4,ifc a 6 14 # fn 2,ifc a 7 19 # fn 0]

let ssus4a a= stack [ifc a 1 0 # fn 0,ifc a 2 5 # fn 2,ifc a 3 7 # fn 4,ifc a 4 10 # fn 6,ifc a 5 12 # fn 8,ifc a 6 14 # fn 10,ifc a 7 19 # fn 12]

let ssus4d a= stack [ifc a 1 0 # fn 12,ifc a 2 5 # fn 10,ifc a 3 7 # fn 8,ifc a 4 10 # fn 6,ifc a 5 12 # fn 4,ifc a 6 14 # fn 2,ifc a 7 19 # fn 0]

let lvna a= stack [ifc a 1 0 # fn 0,ifc a 2 4 # fn 2,ifc a 3 7 # fn 4,ifc a 4 10 # fn 6,ifc a 5 14 # fn 8,ifc a 6 17 # fn 10,ifc a 7 24 # fn 12]

let lvnd a= stack [ifc a 1 0 # fn 12,ifc a 2 4 # fn 10,ifc a 3 7 # fn 8,ifc a 4 10 # fn 6,ifc a 5 14 # fn 4,ifc a 6 17 # fn 2,ifc a 7 24 # fn 0]

let fvea a= stack [ifc a 1 0 # fn 0,ifc a 2 7 # fn 2,ifc a 3 12 # fn 4,ifc a 4 19 # fn 6,ifc a 5 24 # fn 8,ifc a 6 31 # fn 10,ifc a 7 36 # fn 12]

let fved a= stack [ifc a 1 0 # fn 12,ifc a 2 7 # fn 10,ifc a 3 12 # fn 8,ifc a 4 19 # fn 6,ifc a 5 24 # fn 4,ifc a 6 31 # fn 2,ifc a 7 36 # fn 0]

let dom7a a= stack [ifc a 1 0 # fn 0,ifc a 2 4 # fn 2,ifc a 3 7 # fn 4,ifc a 4 10 # fn 6,ifc a 5 12 # fn 8,ifc a 6 16 # fn 10,ifc a 7 19 # fn 12]

let dom7d a= stack [ifc a 1 0 # fn 12,ifc a 2 4 # fn 10,ifc a 3 7 # fn 8,ifc a 4 10 # fn 6,ifc a 5 12 # fn 4,ifc a 6 16 # fn 2,ifc a 7 19 # fn 0]

let m11a a= stack [ifc a 1 0 # fn 0,ifc a 2 3 # fn 2,ifc a 3 7 # fn 4,ifc a 4 10 # fn 6,ifc a 5 14 # fn 8,ifc a 6 17 # fn 10,ifc a 7 12 # fn 12]

let m11d a= stack [ifc a 1 0 # fn 12,ifc a 2 3 # fn 10,ifc a 3 7 # fn 8,ifc a 4 10 # fn 6,ifc a 5 14 # fn 4,ifc a 6 17 # fn 2,ifc a 7 12 # fn 0]

let ss = n “~”

d1

$ (#cps “0.25”)

$ cat [

(|+ n “-24”) $ cat [m11a 7, ss,ss,(|- n 5) $ m11d 4, ss,randcat [ss, fvea 6]]

]

# s “blofeld”

# gain 1

Basically, I recreate chords functions with stack and nudge, super anoying and long to code but atleast I can control the “roll” of the chord