Griffschrift kombiniert mit gewohntem Notensatz

Aus Lilypond Wiki
Wechseln zu: Navigation, Suche

Allgemeines

Das auf der Seit Griffschrift beschriebene Verfahren hat den Nachteil, dass ausschließlich Griffschrift dargestellt werden kann.

Benötigt man zusätzlich die Darstellung von Noten im gewohnten Notensatz, ist die Erweiterung der Variablendefinition erforderlich.

Ich vermute mal, dass es eine Möglichkeit gibt, die Definitionen für die Sprache mit den Griffschriftdefinitionen per Scheme zu verknüpfen. Sobald ich das herausgefunden habe, werde ich diese Seite updaten das Verfahren vereinfachen.

Code

Variablendefinitionen

\version "2.19.65"

#(allow-volta-hook "||")
#(define-public NATURAL-RAISE  2/10)
#(define-public NATURAL-LOWER -2/10)

% Note names can now be defined to represent these pitches in our
% Lilypond input.
% Das Ziel ist, die Eingabe so einfach wie möglich zu gestalten

GriffPitchNames =
#`(
    (ce . ,(ly:make-pitch -1 0 NATURAL-LOWER))
    (c . ,(ly:make-pitch -1 0 NATURAL))
    (ci . ,(ly:make-pitch -1 0 NATURAL-RAISE))

    (de . ,(ly:make-pitch -1 1 NATURAL-LOWER))
    (d . ,(ly:make-pitch -1 1 NATURAL))
    (di . ,(ly:make-pitch -1 1 NATURAL-RAISE))

    (ee . ,(ly:make-pitch -1 2 NATURAL-LOWER))
    (e . ,(ly:make-pitch -1 2 NATURAL))
    (ei . ,(ly:make-pitch -1 2 NATURAL-RAISE))

    (fe . ,(ly:make-pitch -1 3 NATURAL-LOWER))
    (f . ,(ly:make-pitch -1 3 NATURAL))
    (fi . ,(ly:make-pitch -1 3 NATURAL-RAISE))

    (ge . ,(ly:make-pitch -1 4 NATURAL-LOWER))
    (g . ,(ly:make-pitch -1 4 NATURAL))
    (gi . ,(ly:make-pitch -1 4 NATURAL-RAISE))

    (ae . ,(ly:make-pitch -1 5 NATURAL-LOWER))
    (a . ,(ly:make-pitch -1 5 NATURAL))
    (ai . ,(ly:make-pitch -1 5 NATURAL-RAISE))

    (be . ,(ly:make-pitch -1 6 NATURAL-LOWER))
    ;(b . ,(ly:make-pitch -1 6 NATURAL))
    (bi . ,(ly:make-pitch -1 6 NATURAL-RAISE))

    (he    . ,(ly:make-pitch -1 6 NATURAL-LOWER))
    (h . ,(ly:make-pitch -1 6 NATURAL))
    (hi . ,(ly:make-pitch -1 6 NATURAL-RAISE))

    (ceses . ,(ly:make-pitch -1 0 DOUBLE-FLAT))
    (ceseh . ,(ly:make-pitch -1 0 THREE-Q-FLAT))
    (ces . ,(ly:make-pitch -1 0 FLAT))
    (ceh . ,(ly:make-pitch -1 0 SEMI-FLAT))
    (c . ,(ly:make-pitch -1 0 NATURAL))
    (cih . ,(ly:make-pitch -1 0 SEMI-SHARP))
    (cis . ,(ly:make-pitch -1 0 SHARP))
    (cisih . ,(ly:make-pitch -1 0 THREE-Q-SHARP))
    (cisis . ,(ly:make-pitch -1 0 DOUBLE-SHARP))

    (deses . ,(ly:make-pitch -1 1 DOUBLE-FLAT))
    (deseh . ,(ly:make-pitch -1 1 THREE-Q-FLAT))
    (des . ,(ly:make-pitch -1 1 FLAT))
    (deh . ,(ly:make-pitch -1 1 SEMI-FLAT))
    (d . ,(ly:make-pitch -1 1 NATURAL))
    (dih . ,(ly:make-pitch -1 1 SEMI-SHARP))
    (dis . ,(ly:make-pitch -1 1 SHARP))
    (disih . ,(ly:make-pitch -1 1 THREE-Q-SHARP))
    (disis . ,(ly:make-pitch -1 1 DOUBLE-SHARP))

    (eses . ,(ly:make-pitch -1 2 DOUBLE-FLAT))
    (eseh . ,(ly:make-pitch -1 2 THREE-Q-FLAT))
    (es . ,(ly:make-pitch -1 2 FLAT))
    (eeh . ,(ly:make-pitch -1 2 SEMI-FLAT))
    (e . ,(ly:make-pitch -1 2 NATURAL))
    (eih . ,(ly:make-pitch -1 2 SEMI-SHARP))
    (eis . ,(ly:make-pitch -1 2 SHARP))
    (eisih . ,(ly:make-pitch -1 2 THREE-Q-SHARP))
    (eisis . ,(ly:make-pitch -1 2 DOUBLE-SHARP))

    (feses . ,(ly:make-pitch -1 3 DOUBLE-FLAT))
    (feseh . ,(ly:make-pitch -1 3 THREE-Q-FLAT))
    (fes . ,(ly:make-pitch -1 3 FLAT))
    (feh . ,(ly:make-pitch -1 3 SEMI-FLAT))
    (f . ,(ly:make-pitch -1 3 NATURAL))
    (fih . ,(ly:make-pitch -1 3 SEMI-SHARP))
    (fis . ,(ly:make-pitch -1 3 SHARP))
    (fisih . ,(ly:make-pitch -1 3 THREE-Q-SHARP))
    (fisis . ,(ly:make-pitch -1 3 DOUBLE-SHARP))

    (geses . ,(ly:make-pitch -1 4 DOUBLE-FLAT))
    (geseh . ,(ly:make-pitch -1 4 THREE-Q-FLAT))
    (ges . ,(ly:make-pitch -1 4 FLAT))
    (geh . ,(ly:make-pitch -1 4 SEMI-FLAT))
    (g . ,(ly:make-pitch -1 4 NATURAL))
    (gih . ,(ly:make-pitch -1 4 SEMI-SHARP))
    (gis . ,(ly:make-pitch -1 4 SHARP))
    (gisih . ,(ly:make-pitch -1 4 THREE-Q-SHARP))
    (gisis . ,(ly:make-pitch -1 4 DOUBLE-SHARP))

    (asas . ,(ly:make-pitch -1 5 DOUBLE-FLAT))
    (ases . ,(ly:make-pitch -1 5 DOUBLE-FLAT))   ;; non-standard name for asas
    (asah . ,(ly:make-pitch -1 5 THREE-Q-FLAT))
    (aseh . ,(ly:make-pitch -1 5 THREE-Q-FLAT))  ;; non-standard name for asah
    (as . ,(ly:make-pitch -1 5 FLAT))
    (aeh . ,(ly:make-pitch -1 5 SEMI-FLAT))
    (a . ,(ly:make-pitch -1 5 NATURAL))
    (aih . ,(ly:make-pitch -1 5 SEMI-SHARP))
    (ais . ,(ly:make-pitch -1 5 SHARP))
    (aisih . ,(ly:make-pitch -1 5 THREE-Q-SHARP))
    (aisis . ,(ly:make-pitch -1 5 DOUBLE-SHARP))

    (heses . ,(ly:make-pitch -1 6 DOUBLE-FLAT))
    (heseh . ,(ly:make-pitch -1 6 THREE-Q-FLAT))
    (b . ,(ly:make-pitch -1 6 FLAT))
    (beh . ,(ly:make-pitch -1 6 SEMI-FLAT))
    (h . ,(ly:make-pitch -1 6 NATURAL))
    (hih . ,(ly:make-pitch -1 6 SEMI-SHARP))
    (his . ,(ly:make-pitch -1 6 SHARP))
    (hisih . ,(ly:make-pitch -1 6 THREE-Q-SHARP))
    (hisis . ,(ly:make-pitch -1 6 DOUBLE-SHARP))

    )

pitchnames = \GriffPitchNames
#(ly:parser-set-note-names pitchnames)

% The symbols for each alteration
GriffGlyphs = #`(
                  (,NATURAL-RAISE . "noteheads.s2cross")
                  (  0            . "accidentals.natural")
                  (,NATURAL-LOWER . "noteheads.s0harmonic")
                  (,DOUBLE-SHARP . "accidentals.doublesharp")
                  (,SHARP        . "accidentals.sharp")
                  (,FLAT         . "accidentals.flat")
                  (,DOUBLE-FLAT  . "accidentals.flatflat")
                  )

Layout

\paper {
  line-width = 175\mm
  top-margin = 15\mm
  bottom-margin = 20\mm
  indent = #0
  tagline=##f
}

\header {
  title = "Beispiel für Griffschrift"
  subtitle = ##f %"sempre staccato"
  subsubtitle = ##f
  poet = "Vierreihige Steirische"
  composer = \markup \override #'(baseline-skip . 2)
  \right-column {
    \line \vcenter { 3. Reihe: \musicglyph #"noteheads.s2cross" }
    \line \vcenter { 4. Reihe: \musicglyph #"noteheads.s0harmonic" }
    \line \vcenter {
      "kann beliebig geändert werden"
      \with-color #white \musicglyph #"noteheads.s0harmonic"
    }
  }
  piece = ##f
  opus = ##f
}

\layout {
  \context {
    \Score
    \override KeySignature.glyph-name-alist = \GriffGlyphs
    \override Accidental.glyph-name-alist = \GriffGlyphs
    \override AccidentalCautionary.glyph-name-alist = \GriffGlyphs
    \override TrillPitchAccidental.glyph-name-alist = \GriffGlyphs
    \override AmbitusAccidental.glyph-name-alist = \GriffGlyphs
    %% Abstand zwischen Nicht-Noten Kontexten untereinander, Lyrics, Dynamics etwa
    \override VerticalAxisGroup.nonstaff-nonstaff-spacing.basic-distance = #4
    \override VerticalAxisGroup.nonstaff-nonstaff-spacing.minimum-distance = #3
    \override VerticalAxisGroup.nonstaff-nonstaff-spacing.padding = #1
  }
  \context {
    \Staff
  }
  \context {
    \Voice
    \override Accidental.X-offset = -1.5
  }
  \context {
    \Dynamics
    \override Hairpin.height = #0
    \override Hairpin.thickness = #3
    % Abstand der Zug/Druck-Linie zur darüber liegenden Notenzeile
    \override VerticalAxisGroup.nonstaff-relatedstaff-spacing.minimum-distance = #5
  }
}

Noten

notes = \relative c'' {
  < ei ci >8. be16
  q8 < ci bi, >16 q
}

ZugDruck = \new Dynamics {
  \repeat unfold 3 { s2\< s\!  }
}

Bass = \new Lyrics \lyricmode {
  C8 c8 B c c4 c
  C8 \APause % eine Achtelpause
  F B
  c4 B C8 c B c
  C8 c B c
}

%% untere Bassreihe
Bassu =  \new Lyrics \lyricmode {
  \skip 2
  C4 C
  \skip 2
  C2
}

Score

\score {
  <<
    \new StaffGroup
    <<
      \new Staff \relative c { c2 cis4 ces cisis ceses }
      \new Staff
      <<
        \new Voice=melodie   {
          \key c \major
          \time 2/4
          \accidentalStyle forget
          \omit Staff.Clef
          \repeat unfold 6 \notes
        }
      >>

      \new Dynamics \ZugDruck
      \new Lyrics \Bass
      \new Lyrics \Bassu
    >>
  >>
}

Output

LilyWiki GriffschriftmitgewohntemNotensatz.gif

Kategorien

Wer verlinkt auf diese Seite?