Génération de notes aléatoires
Le fragment de code Scheme ci-dessous génère aléatoirement 24 notes
(ou autant que nécessaire), à partir de l’heure courante (ou un nombre
quelconque donné en argument, afin d’obtenir toujours les mêmes notes
aléatoires). Pour obtenir une autre série de notes, il suffit de
changer ce nombre.
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
![[image of music]](../97/lily-54f9e0d3.png)