How to create a rolled chord?

Hey guys,
I was wondering if some of you have achieved to create rolled chord. It’s in my opinion quite different of arpegiated chord. To be sure of what I mean, I’m talking about that : https://youtu.be/nZFI-V6-CB0?t=39

In my mind, I was thinking of this kind of process : treat all notes from a chord (e.g [0,3,7,11]) with different values of nudge. But Ididn’t found the rigth way to do that.

Thank you for your help

Guillaume

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