Generating random notes: Difference between revisions
Appearance
Import snippet from LSR |
m Replace version="2.24.0" with version="2.24" now that the LilyWiki extension supports auto-selecting the latest release in a stable series |
||
| Line 5: | Line 5: | ||
to generate ''n'' random notes between pitches ''from'' and ''to'', with duration ''dur''. | to generate ''n'' random notes between pitches ''from'' and ''to'', with duration ''dur''. | ||
<lilypond version="2.24 | <lilypond version="2.24"> | ||
randomNotes = | randomNotes = | ||
#(define-music-function (n from to dur) | #(define-music-function (n from to dur) | ||
Revision as of 18:57, 16 November 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"
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