Frammenti LilyPond: Winds

# Winds

Wind instruments

## Cambiare la dimensione dei diagrammi per legni

La dimensione e lo spessore dei diagrammi per legni possono essere modificati.

    \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
            #'()
        }
    }

## Simboli di diteggiatura per strumenti aerofoni

Si possono ottenere simboli speciali combinando glifi esistenti; ciò è utile per gli strumenti aerofoni.

    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
      }
    }

## Flute slap notation

It is possible to indicate special articulation techniques such as a flute “tongue slap” by replacing the note head with the appropriate glyph.

    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
    }

## Diagrammi grafici e testuali per i legni

In molti casi, le chiavi diverse da quelle della colonna centrale possono essere visualizzate per nome oltre che in forma grafica.

    \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)))
        }
    }

## Grafico della diteggiatura per flauto dolce

L’esempio seguente illustra come realizzare grafici delle diteggiature per strumenti aerofoni.

    % 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
      }
    }

## Elenco delle chiavi dei diagrammi per legni

Il seguente frammento produce un elenco di tutte le possibili chiavi e delle loro impostazioni per i diagrammi per legni, come sono definite in `scm/define-woodwind-diagrams.scm`. L’elenco sarà visualizzato nel file di log, ma non nello spartito. Se si desidera che l’output appaia nella console, omettere dai comandi `(current-error-port)`.

    #(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}

## Elenco dei diagrammi per i legni

L’esempio seguente mostra tutti i diagrammi per i legni attualmente definiti in LilyPond.

    \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 — Frammenti v2.22.2 (ramo stabile).