NagyMusic Posted December 16, 2021 Posted December 16, 2021 The following example randomly segments a list of given pitches into progressively increasing sublist of elements. I can't seem to recall a function one could use instead of rnd-repeat that would do the same but not randomly, preserving the original order or pitches => (c4) (d4 e4) (f4 g4 a4), etc. Thank you! (setf pitches '(c4 d4 e4 f4 g4 a4 b4 c5)) (setf seq (make-omn :pitch (rnd-repeat (gen-integer 1 4) pitches) :length '(1/16) :velocity '(f) :articulation '(stacc) :span :pitch)) JulioHerrlein 1 Quote
AM Posted December 16, 2021 Posted December 16, 2021 (gen-divide '(1 2 3 4 5 6) '(1 2 3 4 5 6 7 8 9 10)) => ((1) (2 3) (4 5 6) (7 8 9 10)) JulioHerrlein 1 Quote
o_e Posted December 16, 2021 Posted December 16, 2021 too late (setf pitches '(c4 d4 e4 f4 g4 a4 b4 c5)) (setf seq (make-omn :pitch (gen-divide (gen-integer 1 4) pitches) :length '(1/16) :velocity '(f) :articulation '(stacc) :span :pitch)) JulioHerrlein 1 Quote
NagyMusic Posted December 17, 2021 Author Posted December 17, 2021 Thanks so much! That's it - so elegant. I just couldn't remember gen-divide. Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.