Generating random notes: Difference between revisions
Appearance
	
	
 Import snippet from LSR  | 
			
(No difference) 
 | 
Latest revision as of 22:39, 26 October 2025
This Scheme-based snippet generates random notes. Use as
\randomNotes n from to dur
to generate n random notes between pitches from and to, with duration dur.
\version "2.24.0"
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