AM Posted May 26, 2016 Share Posted May 26, 2016 don't know if somthing like that exists... generates "stacc"-rhythms = splitting lengths for example 7/32 to 1/32 -6/32 (works with single values or lists) -> only "1 bug"... when i want to do this with 4/32 -> then lisp *reduces it" to 1/8, so it don't work for such rhythms...?!? any ideas? thanx a. ;;;FUNCTION (defun gen-stacc (n) (if (numberp n) (if (> (numerator n) 1) (list (/ 1 (denominator n)) (/ (* -1 (- (numerator n) 1)) (denominator n))) (list n)) (loop for i in n append (if (> (numerator i) 1) (list (/ 1 (denominator i)) (/ (* -1 (- (numerator i) 1)) (denominator i))) (list i))))) ;;;EXAMPLES (gen-stacc '(7/32 9/32 17/32)) (gen-stacc 4/32) Quote Link to comment Share on other sites More sharing options...
opmo Posted May 26, 2016 Share Posted May 26, 2016 This is not a bug 4/32 = 1/8 The stacc articulation shortens the note in the playback anyway. And if the stacc is a sound-set then the program is triggered instead of the midi value for stacc. Quote Link to comment Share on other sites More sharing options...
AM Posted May 26, 2016 Author Share Posted May 26, 2016 thanx! i know that 4/32 = 1/8 -> but i would like to calculate with 4/32 -> numinator/denominator and not with 1/8 :-) Quote Link to comment Share on other sites More sharing options...
opmo Posted May 26, 2016 Share Posted May 26, 2016 there is no way to do that, 4/32 = 1/8 This is why ratios are difficult to rewrite especially to tuplets. Example: (7/20 7/20 3/10 3/10) We must apply AI to make the rewrite :-) Quote Link to comment Share on other sites More sharing options...
Rangarajan Posted May 26, 2016 Share Posted May 26, 2016 Yes, I have also experienced this difficulty, for example, can't distinguish between 4/4 and 2/2 because both reduce to 1! As JP points out, this is a Lisp issue, nothing to do with OM. If we are adventurous, we could implement our own "data type", for example keeping numerator and denominator separately as a cons pair (numerator . denominator) or something similar. We can write a set of functions that operate on this, and then apply reduction when actually needed. More work, of course, but Lisp gives you control. Regards, Rangarajan opmo 1 Quote Link to comment Share on other sites More sharing options...
opmo Posted May 26, 2016 Share Posted May 26, 2016 I will look into it maybe we can come with something, not as a priority but as a possible useful option. 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.