home *** CD-ROM | disk | FTP | other *** search
- ;;; RANDNOTE.CAL Dennis Drew 1964
- ;;;
- ;;
- ;; RANDOM NOTE CAL
- ;;
- ;; Creates variations on any musical line or selected lines. Notes
- ;; in the selected tracks are shifted up or down in pitch by a random
- ;; amount.
- ;;
- ;; The randomness is structured by the user to be within a defined
- ;; pitch window. The default pitch window value is 6, which means
- ;; that each pitch may be shifted up or down by zero to 3 steps. The
- ;; pitch shift can be set up to 127 which gives a shift range of +/- 64
- ;; midi steps. A value of 24 provides a shift window of one octave
- ;; up or down.
- ;;
- ;; When used with percussion lines you will get possibilities you'd
- ;; never think of. With this function, chords are turned into odd,
- ;; modernistic implausible structures, while melody and harmony lines
- ;; get an unexpected turn. Great for coming up with new ideas or
- ;; adding some randomness to a piece.
- ;;
- ;;
- ;; Prolog
- ;;
-
- (do
- (dword range 6)
- (int pshift)
- (getInt range "Random pitch window " 1 127)
- )
-
- ;; Body
-
- (do
- (= pshift (random 0 range))
- (= pshift (- pshift (/ range 2)))
- (if (== Event.Kind NOTE)
- (= Note.Key (+ Note.Key pshift))
- NIL
- )
- (message " Randomizing note at measure " (meas Event.Time)
- " beat " (beat Event.Time) " Pitch Shift " pshift)
- )
-
- ;; Epilog
-
- NIL
-
-
-