Posted March 9, 20169 yr Hi Janusz or guys who may help, I am doing this: (setf loopthing (gen-eval 8 '(randomize-octaves '(gb1 eb8) '(gb2cs3 e4as3 g4 eb5) ) )) and I want to map the resulting randomisations to a rhythm list, as in the example of the help-file... so (span loopthing '(1/80 3/64 13/192 -1/120 871/1920)) but all I get is the rhythm list playing a middle C... not the loopthing list, I tried evaluating it separately and just plugging in the list directly to see if it was due to using the gen-eval, but still doesn't work... I also tried inserting (omn :pitch loopthing) in case I needed to present it as a pitch only list? the example in the helpful is pretty straight forward, a sequence of pitches is spanned to a sequence of rhythms, one sequence is shorter than the other and the result is a recursive mapping of the two lists... why doesn't mine work? thanks! Julio
March 9, 20169 yr Author in fact the helpfile example doesn't work as I thought either... below, should the span assign each element of the sequence to each element of the rhythm list, in this case consisting of only one value? thus playing seq-1 the whole way through in 1/8 values? (setf seq-1 (rnd-sample 15 '(c4 cs4 d4 fs4 g4 gs4 c5))) => ((c4 cs4 fs4 cs4 cs4 gs4 gs4 fs4 cs4 fs4 g4 c5 g4 g4 d4) (span seq-1 '(e)) => (1/8 1/8 1/8 1/8 1/8 1/8 1/8 1/8 1/8 1/8 1/8 1/8 1/8 1/8 1/8)
March 9, 20169 yr The SPAN loop the length to cover all pitches. The master here are the pitches. And the output of your first post is correct.
March 9, 20169 yr Author ok, so it seems I have misunderstood what this does, all it does is provide enough repetitions of the elements on one list to match another, which then has to be combined into a make-omn statement to match the results... I thought it directly matched pitches to rhythms but one more step is actually necessary... thanks! Julio
March 9, 20169 yr Correct, elements on one list to match another. MAKE-OMN function internally use SPAN therefore there is no need to use SPAN just for MAKE-OMN.
March 9, 20169 yr No, MAKE-OMN can span as well with the keyword :span, for example here, the master is pitch: (setf pitch (gen-eval 8 '(randomize-octaves '(gb1 eb8) '(gb2cs3 e4as3 g4 eb5)))) (make-omn :length '(1/80 3/64 13/192 -1/120 871/1920) :pitch pitch :span :pitch)
March 9, 20169 yr Author thank you! I will check this out! actually, just did, that is awesome!! I can span a whole load of pitches to a couple of durations very easily...
Create an account or sign in to comment