Generació de notes aleatòries
Aquest fragment de codi basat en l’Scheme genera 24 notes aleatòries
(o tantes com calguin), basant-se en l’hora actual (o en qualsevol
nombre pseudo-aleatori que s’especifiqui en el seu lloc, per obtenir
les mateixes notes aleatòries cada cop): és a dir, per obtenir
diferents patrons de notes, sols ha de modificar aquest número.
randomNotes =
#(define-music-function (n from to dur)
(integer? ly:pitch? ly:pitch? ly:duration?)
(let ((from-step (ly:pitch-steps from))
(to-step (ly:pitch-steps to)))
(make-sequential-music
(map (lambda (_)
(let* ((step (+ from-step
(random (- to-step from-step))))
(pitch (ly:make-pitch 0 step 0)))
#{ $pitch $dur #}))
(iota n)))))
\randomNotes 24 c' g'' 8