> Hi
> I try to generate multipart music (with different rhythmic values)  
> within the same 'process', because all parts have to get their  
> values serially from the same set.

hello there are a number of ways to express this. here is one that  
uses a process:

(defun cellular ()
  (process repeat 10
           for key1 = 40
           for key2 = 60
           for dur1 = .2
           for dur2 = .4
           for amp1 = .7
           for amp2 = .3
           for beg1 = (random 1.0)
           for beg2 = (random 1.0)
           sprout (new midi :time (+ (now) beg1) :duration dur2
                       :keynum key1 :amplitude amp1)

           sprout (new midi :time (+ (now) beg2) :duration dur2
                       :keynum key2 :amplitude amp1)

           wait (max beg1 beg2)
           ))

(events (cellular ) "foo.mid")


another way would be to write a LOOP that simply collects events and  
then sprout that list:


(defun cellular()
  (loop ...
        collect (new midi :time beg1 ...)
        collect (new midi :time beg2 ...)
  ))

(events (cellular ) "foo.mid")


best ,rick











_______________________________________________
Cmdist mailing list
[email protected]
http://ccrma-mail.stanford.edu/mailman/listinfo/cmdist

Reply via email to