Closed kindohm closed 5 years ago
As per @yaxu on chat.toplap.org this could be defined like so:
let plyWith numPat f = arpeggiate $ withEvents (reverse) $ stutWith numPat 0 f
This works:
plyWith numPat f = arpeggiate . withEvents (reverse) . stutWith numPat 0 f
I tried making a more efficient version:
plyWith np f p = innerJoin $ (\n -> _plyWith n f p) <$> np
_plyWith numPat f p = arpeggiate $ stack (p:(ps f numPat))
where ps f n | n < 1 = []
| otherwise = (f p):(ps (f.f) (n-1))
But it's much less efficient!
Looking to make a function like
ply
but each repeated note is additionally altered by a function parameter:which would result in:
or