LilyPond snippets: Winds

# Winds

Wind instruments

## Modification de la taille d’un diagramme pour bois

La taille et l’épaisseur des diagrammes de doigté pour bois est modifiable à souhait.

    \relative c'' {
      \textLengthOn
      c1^\markup
        \woodwind-diagram
          #'piccolo
          #'()

      c^\markup
        \override #'(size . 1.5) {
          \woodwind-diagram
            #'piccolo
            #'()
        }
      c^\markup
        \override #'(thickness . 0.15) {
          \woodwind-diagram
            #'piccolo
            #'()
        }
    }

## Symboles de doigtés pour instruments à vent

Des symboles spécifiques peuvent être obtenus en combinant les glyphes disponibles, ce qui est tout à fait indiqué en matière d’instrument à vent.

    centermarkup = {
      \once \override TextScript.self-alignment-X = #CENTER
      \once \override TextScript.X-offset =#(lambda (g)
      (+ (ly:self-alignment-interface::centered-on-x-parent g)
         (ly:self-alignment-interface::x-aligned-on-self g)))
    }

    \score {
      \relative c'{
        g\open
        \once \override TextScript.staff-padding = #-1.0
        \centermarkup
        g^\markup {
          \combine
            \musicglyph "scripts.open"
            \musicglyph "scripts.tenuto"
        }
        \centermarkup
        g^\markup {
          \combine
            \musicglyph "scripts.open"
            \musicglyph "scripts.stopped"
        }
        g\stopped
      }
    }

## Coup de langue à la flûte

L’indication d’une technique particulière d’articulation, telle le « coup de langue » des flûtistes, s’obtient en remplaçant la tête de note par un glyphe approprié.

    slap =
    #(define-music-function (music) (ly:music?)
    #{
      \temporary \override NoteHead.stencil =
      #(lambda (grob)
         (grob-interpret-markup grob
          (markup #:musicglyph "scripts.sforzato")))
      \temporary \override NoteHead.stem-attachment =
      #(lambda (grob)
         (let* ((thickness (ly:staff-symbol-line-thickness grob))
                (stem (ly:grob-object grob 'stem))
                (dir (ly:grob-property stem 'direction UP)))
           (cons 1 (+ (if (= dir DOWN)
                          0.5
                          0)
                      (/ thickness 2)))))
      #music
      \revert NoteHead.stencil
      \revert NoteHead.stem-attachment
    #})

    \relative c' {
      c4 \slap c d r
      \slap { g4 a } b r
    }

## Ajout de texte à un diagramme de doigté

Dans certains cas, vous pouvez opter pour l’affichage textuel d’une clé située à côté d’un trou plutôt que sa représentation graphique.

    \relative c'' {
      \textLengthOn
      c1^\markup
        \woodwind-diagram
          #'piccolo
          #'((cc . (one three))
             (lh . (gis))
             (rh . (ees)))

      c^\markup
        \override #'(graphical . #f) {
          \woodwind-diagram
            #'piccolo
            #'((cc . (one three))
               (lh . (gis))
               (rh . (ees)))
        }
    }

## Doigtés pour flûte à bec

Cet exemple illustre la manière de créer et afficher des indications de doigté pour instrument à vent.

    % range chart for paetzold contrabass recorder

    centermarkup = {
      \once \override TextScript.self-alignment-X = #CENTER
      \once \override TextScript.X-offset = #(lambda (g)
        (+ (ly:self-alignment-interface::centered-on-x-parent g)
           (ly:self-alignment-interface::x-aligned-on-self g)))
    }

    \score {
      \new Staff \with {
        \remove "Time_signature_engraver"
        \omit Stem
        \omit Flag
        \consists "Horizontal_bracket_engraver"
      }
      {
        \clef bass
        \set Score.timing = ##f
        f,1*1/4 \glissando
        \clef violin
        gis'1*1/4
        \stemDown a'4^\markup {1)}
        \centermarkup
        \once \override TextScript.padding = #2
        bes'1*1/4_\markup {\override #'(baseline-skip . 1.7) \column
          { \fontsize #-5 \slashed-digit #0 \finger 1 \finger 2
            \finger 3 \finger 4 \finger 5 \finger 6 \finger 7} }
        b'1*1/4
        c''4^\markup {1)}
        \centermarkup
        \once \override TextScript.padding = #2
        cis''1*1/4
        deh''1*1/4
        \centermarkup
        \once \override TextScript.padding = #2
        \once \override Staff.HorizontalBracket.direction = #UP
        e''1*1/4_\markup {\override #'(baseline-skip . 1.7) \column
          { \fontsize #-5 \slashed-digit #0 \finger 1 \finger 2
            \finger 4 \finger 5} }\startGroup
        f''1*1/4^\markup {2)}\stopGroup
      }
    }

## Liste des différents diagrammes de doigtés pour bois

Le code suivant permet d’obtenir une liste de toutes les possibilités en matière de doigtés pour bois, tels qu’ils sont définis dans le fichier ‘`scm/define-woodwind-diagrams.scm`’. Cette liste sera produite dans le fichier de journalisation, mais pas sous forme de musique. Pour un affichage en console, supprimez la partie `(current-error-port)` des commandes.

    #(print-keys-verbose 'piccolo (current-error-port))
    #(print-keys-verbose 'flute (current-error-port))
    #(print-keys-verbose 'flute-b-extension (current-error-port))
    #(print-keys-verbose 'tin-whistle (current-error-port))
    #(print-keys-verbose 'oboe (current-error-port))
    #(print-keys-verbose 'clarinet (current-error-port))
    #(print-keys-verbose 'bass-clarinet (current-error-port))
    #(print-keys-verbose 'low-bass-clarinet (current-error-port))
    #(print-keys-verbose 'saxophone (current-error-port))
    #(print-keys-verbose 'soprano-saxophone (current-error-port))
    #(print-keys-verbose 'alto-saxophone (current-error-port))
    #(print-keys-verbose 'tenor-saxophone (current-error-port))
    #(print-keys-verbose 'baritone-saxophone (current-error-port))
    #(print-keys-verbose 'bassoon (current-error-port))
    #(print-keys-verbose 'contrabassoon (current-error-port))

    \score {c''1}

## Liste des diagrammes de doigtés pour bois

Voici les différents instruments à vent de la section des bois pour lesquels LilyPond peut, à ce jour, afficher des doigtés.

    \layout {
      indent = 0
    }

    \relative c' {
      \textLengthOn
      c1^
      \markup {
        \center-column {
          'tin-whistle
          " "
           \woodwind-diagram
                      #'tin-whistle
                      #'()
        }
      }

      c1^
      \markup {
        \center-column {
          'piccolo
          " "
           \woodwind-diagram
                      #'piccolo
                      #'()
        }
      }

      c1^
      \markup {
        \center-column {
           'flute
           " "
           \woodwind-diagram
              #'flute
              #'()
        }
      }
      c1^\markup {
        \center-column {
          'oboe
          " "
          \woodwind-diagram
            #'oboe
            #'()
        }
      }

      c1^\markup {
        \center-column {
          'clarinet
          " "
          \woodwind-diagram
            #'clarinet
            #'()
        }
      }

      c1^\markup {
        \center-column {
          'bass-clarinet
          " "
          \woodwind-diagram
            #'bass-clarinet
            #'()
        }
      }

      c1^\markup {
        \center-column {
          'saxophone
          " "
          \woodwind-diagram
            #'saxophone
            #'()
        }
      }

      c1^\markup {
        \center-column {
          'bassoon
          " "
          \woodwind-diagram
            #'bassoon
            #'()
        }
      }

      c1^\markup {
        \center-column {
          'contrabassoon
          " "
          \woodwind-diagram
            #'contrabassoon
            #'()
        }
      }
    }

#### LilyPond — Morceaux choisis v2.22.2 (branche stable).