Posted April 10, 20169 yr Hi J, (or anybody else who knows?) I am trying to find what function generates a written out accelerando... in other words something like this starting in whole notes and down to thirty seconds: w h h e e e e s s s s s s s s t t t t t t t t t t t t t t t t or involving tuplets also, or better still, starting from a given rhythmic value (lengths in opmo?) a geometric progression of lengths. In Supercollider, we use Pgeom and give it a start and end and a multiplier and this allows fro some great accell, stutter effects. What would be the equivalent here? Thanks! Julio
April 10, 20169 yr All this you do in the tempo section (DEF-SCORE). ;; Tempo (setf tempo-events '(("Sehr mäßig" e. 40 16) (:rit 40 26 1/64 2) (40 1) (:rit 40 26 1/64 3) (40 1) (:rit 40 26 1/64 1) (40 1) (:rit 40 26 1/64 1) (40 1) (:rit 40 26 1/64 1) (40 1) (:rit 40 26 1/64 1) (40 1) (:rit 40 26 1/64 1) (40 1) (:rit 40 26 1/64 1) (40 5) (:rit 40 24 1/64 5) (40 11) (:rit 40 26 1/64 2) (40 3) (:rit 40 26 1/64 2) (40 1) (:rit 40 20 1/64 3))) Doing this directly with length values we would get values which are not possible to notate. Maybe the GEN-ACCUMULATE function can do what you are looking for: (gen-accumulate '(1/32) :count 12) => (1/32 1/16 3/32 1/8 5/32 3/16 7/32 1/4 9/32 5/16 11/32 3/8)
April 11, 20169 yr Author Thank you, yes, I understand this software is very notation oriented, perhaps I am asking too much... I have recently seen it done on symbolic composer so I wondered if it was possible here, I can't remember the specific function, but it was not a tempo change. thanks again.
April 11, 20169 yr (defun gen-length-div (length values &key omn) (prog (elem out) (setf length (omn-encode length)) loop (cond ((null values) (return (maybe-omn-decode omn (nreverse out))))) (setf elem (gen-repeat (car values) (/ length (car values)))) (setf out (cons elem out)) (setf values (cdr values)) (go loop))) (gen-length-div 'w '(1 2 4 8 16) :omn t) => ((w) (h =) (q = = =) (e = = = = = = =) (s = = = = = = = = = = = = = = =)) (gen-length-div 'w '(2 3 4 5 8) :omn t) => ((h =) (3w = =) (q = = =) (5w = = = =) (e = = = = = = =)) Other possibility: (ql '(1 w 2 h 4 q 8 e 16 s)) => (w h = q = = = e = = = = = = = s = = = = = = = = = = = = = = =)
April 11, 20169 yr Author wow, thanks! that is some programming, I don't understand the function but it does what I need, thank you, very much!
April 12, 20169 yr Hi, it was also possible without programing with gen-tuplet function: (gen-tuplet 1 1 'm 'n 'w '(1 2 3 4 5 6 7 8 9 10 11 12)) => ((1) (1/2 1/2) (1/3 1/3 1/3) (1/4 1/4 1/4 1/4) (1/5 1/5 1/5 1/5 1/5) (1/6 1/6 1/6 1/6 1/6 1/6) (1/7 1/7 1/7 1/7 1/7 1/7 1/7) (1/8 1/8 1/8 1/8 1/8 1/8 1/8 1/8) (1/9 1/9 1/9 1/9 1/9 1/9 1/9 1/9 1/9) (1/10 1/10 1/10 1/10 1/10 1/10 1/10 1/10 1/10 1/10) (1/11 1/11 1/11 1/11 1/11 1/11 1/11 1/11 1/11 1/11 1/11) (1/12 1/12 1/12 1/12 1/12 1/12 1/12 1/12 1/12 1/12 1/12 1/12)) SB.
Create an account or sign in to comment