[ << Pitches ] | [Top][Contents] | [ Rhythms >> ] |
[ < Impression forcée de la clef ] | [ Up : Pitches ] | [ Non répétition de l’altération après saut de ligne sur liaison de prolongation > ] |
Génération de notes aléatoires
Le fragment de code Scheme ci-dessous génère aléatoirement des notes. Il s’utilise ainsi :
\randomNotes
n
de
à
dur
pour générer n notes dont la hauteur varie entre de et à sur une durée de dur.
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
[ << Pitches ] | [Top][Contents] | [ Rhythms >> ] |
[ < Impression forcée de la clef ] | [ Up : Pitches ] | [ Non répétition de l’altération après saut de ligne sur liaison de prolongation > ] |