\version "2.20.0" %{ Liste des doigtés par hauteur en demi-tons au-dessus du ton de l'instrument. Allègrement copié depuis https://www.tradschool.com/fr/introduction-musique-irlandaise/fiche-de-doigtes-pour-tin-whistle/ %} \header { title = "Test" subtitle = "Tin Whistle en C" % tagline = "Partition élaborée avec Lilypond" } \paper { system-system-spacing.basic-distance = 25 % add space between composer/opus markup and first staff markup-system-spacing.padding = #5 % add a little space between composer and opus markup-markup-spacing.padding = #0 top-margin = #8 bottom-margin = #12 } tinWhistleFingerings = #'((0 . (one two three four five six)) (2 . (one two three four five)) (4 . (one two three four)) (5 . (one two three)) (7 . (one two)) (9 . (two three)) (10 . (one)) (11 . ()) (12 . (two three four five six)) (14 . (one two three four five)) (16 . (one two three four)) (17 . (one two three)) (19 . (one two)) (21 . (two three)) (22 . (one)) (23 . ()) (24 . (one two three four five six))) tinWhistle = #(define-music-function (tone music) (ly:pitch? ly:music?) #{ << { $music } \new Dynamics = "diagramme" \with { % Ajouté pour régler un problème d'espacement vertical trop % resserré sur le dernier système d'une page. % Attention, c'est nonstaff-relatedstaff qu'il aurait % fallu modifier en temps normal, mais la dérogation ci-dessous % change la ligne du diagramme en ligne de portée. \override VerticalAxisGroup.staff-staff-spacing = #'((basic-distance . 0) (minimum-distance . 0) (padding . 4) (stretchability . 0)) % Donner à cette ligne le statut de portée, ce qui permet d'invoquer % des réglages obscurs de NonMusicalPaperColumn. \override VerticalAxisGroup.staff-affinity = #'() } { #(music-map (lambda (m) (if (music-is-of-type? m 'note-event) ; Hauteur de la note jouée, en demi-tons depuis le do médian. (let* ((base-pitch-semitones (ly:pitch-semitones (ly:music-property m 'pitch))) ; Ramenée par rapport à la note donnée (on lui ajoute 12 car en ; LilyPond, un simple `c` est un do une octave en-dessous du do ; central, donc une hauteur de -12. (transposed-pitch-semitones (- base-pitch-semitones (+ 12 (ly:pitch-semitones tone)))) ; Doigté à utiliser, vaut #f s'il n'est pas trouvé dans la liste. (fingerings (assoc-get transposed-pitch-semitones tinWhistleFingerings))) (if (not fingerings) (ly:music-warning m "doigté de tin whistle non trouvé")) (make-music 'SkipEvent 'duration (ly:music-property m 'duration) 'articulations (list (make-music 'TextScriptEvent 'text #{ \markup \center-column { \override #'(size . 0.5) % Dans le cas où le doigté n'est pas trouvé, mettre des % trous ouverts (un avertissement est levé plus haut). \woodwind-diagram #'tin-whistle #`((cc . ,(or fingerings '())) (lh . ()) (rh . ())) % À partir d'une octave au-dessus du ton du Tin whistle, % rajoute le signe plus sous le diagramme. \vspace #-0.6 #(if (>= transposed-pitch-semitones 12) "+" #{ \markup \with-outline "+" \null #}) } #})))) m)) music) } >> #}) espacement = #(define-music-function (amount) (number?) #{ \overrideProperty Score.NonMusicalPaperColumn.line-break-system-details #`((alignment-distances . (,amount))) #}) gamme = \relative c' { \clef "treble_8" \key a \minor c d e f } \score { \new Voice \tinWhistle c, { \repeat unfold 5 { \gamme \break } \espacement 40 \gamme \break \repeat unfold 5 { \gamme \break } } \layout { } \midi {} }