Search the Community
Showing results for tags 'random'.
Found 4 results
Here is a suggestion for posting the random seed value used by a function. When using Open Music way back in time I remember that you could "lock" a random function if you liked the result, which IMO was a great workflow feature. Perhaps a similar thing could be achived in Opusmodus if the random seed used for a function was posted to the post window in addition to the result of the evaluation. If you like the result of a particular seed you could then manually "lock" the randomization using the :seed keyword for the function: ; first try different randomizations (setf bin-rhythm (gen-binary-rnd 5 5 2 1)) => gen-binary-rnd :seed 752 (setf bin-rhythm (gen-binary-rnd 5 5 2 1)) => gen-binary-rnd :seed 234 ; then lock seed if you like the result (setf bin-rhythm (gen-binary-rnd 5 5 2 1) :seed 234) Perhaps if possible also with the variable name as a label to keep track of things when using several random functions in complex code: (setf bin-rhythm (gen-binary-rnd 5 5 2 1)) => bin-rhytm gen-binary-rnd :seed 37 I think that this or a similar approach would be a really powerful way of trying different results when working with randomization in Opusmodus.
Hello all, I am very new to OMN. I would like to start learning by exploring the topic of randomizing parameters within a given framework. Mainly pitches and durations for now. For example, make variations of an 11-pitch-class set, but give emphasis only to some of the pitches (repeat more often) while also slightly vary the basic main rhythmic pattern. Which collection of examples should I start looking? Thanks in advance, Ioannis
Tendency masking is first described by the composer G.M. Koenig. It is a random selection between two envelope based boundaries. I have tried to reproduce here this technique for pitch and length selection in a very simple way. ;;; First, boundary description (setf highb (gen-palindrome '(6 6 6 7 8 8 9 10 10 11 12 13 14 15 16 16 16))) (setf lowb (gen-palindrome '(6 6 6 5 4 4 3 3 3 2 2 2 2 1 1 1 1))) ;;; Plotting (list-plot (list highb lowb) :join-points t) ;;; Random pitch selection between boundary (setf pitch (integer-to-pitch (mapcar (lambda (x y) (rnd-range x y)) highb lowb))) ;;; Random length selection between boundary (setf len (vector-to-length '1/16 1 8 (mapcar (lambda(x y) (rnd-range x y)) highb lowb))) ;;; OMN Assembly (setf phrase (make-omn :pitch pitch :length len))SB.
Hi,Is there a way that I can randomize the size argument of GEN-INTERLEAVE in the following code?That is, not just initially but continuously, so you get a variable interleave size. All the best,Erik(ambitus '(g3 g5) (gen-interleave 5 (integer-to-pitch (gen-accumulate '(2 7) :start -5 :count 16))) :type :invert)