NagyMusic Posted December 16, 2021 Share 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 Link to comment Share on other sites More sharing options...
AM Posted December 16, 2021 Share 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 Link to comment Share on other sites More sharing options...
o_e Posted December 16, 2021 Share 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 Link to comment Share on other sites More sharing options...
NagyMusic Posted December 17, 2021 Author Share Posted December 17, 2021 Thanks so much! That's it - so elegant. I just couldn't remember gen-divide. Quote Link to comment Share on other sites More sharing options...
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.