Autor Thema: Linie unter der Notenzeile  (Gelesen 3919 mal)

stefanhuglfing

  • Member
Linie unter der Notenzeile
« am: Donnerstag, 6. März 2014, 08:04 »
Zur Zeit habe ich so viele Fragen, dass ich befürchte, euch geht die Geduld aus.

Jetzt bräuchte ich noch bei bestimmten Takten eine Linie unter der Notenzeile.
Mein Code sieht jetzt so aus (Der Violinschlüssel gehört eigentlich weg, weil es eine Griffschrift ist):

\version "2.18.0"   
 
RechteHand =
 \relative c'
 {
  \time 3/4
  <g' e'>4. <\tweak #'style #'cross f \tweak #'style #'cross d>8 <g e>4
  <g e>4. <g b d>8 <g b d>4 <g b d>
 }
 
LinkeHandOben  = \lyricmode { _ _ _ _ _ _  b }
 
LinkeHandUnten = \lyricmode { B b b B A B' B }
     
\score
 {
  <<   
   \new Staff
   \RechteHand
   \new Lyrics   \LinkeHandOben
   \new Lyrics   \LinkeHandUnten
  >>
   
  \layout
   {
    \context
     {
      \Lyrics
      \override VerticalAxisGroup #'staff-affinity = ##f
      \override VerticalAxisGroup #'staff-staff-spacing =
        #'((basic-distance . 0)
   (minimum-distance . 2)
   (padding . 0))
     }
   }
 }

Ich habe die Begleitstimme als Strophentext geschrieben und etwas tiefer runter geschoben, damit die Linie Platz hat.
Dann habe ich das ganze als png-Datei gravieren lassen, mit OpenOffice-Draw geöffnet und eine Linie reingezeichnet.
Ich hoffe man kann es im Anhang erkennen.

Das ist natürlich nur ein Krückstock. Bekomme ich so eine Linie auch direkt mit lilypond-code?

fugenkomponist

  • Member
Re: Linie unter der Notenzeile
« Antwort #1 am: Donnerstag, 6. März 2014, 10:11 »
Die Antwort ist „ja, LilyPond kann so gut wie alles“. Ich habe auch schon mehrere Ideen: Liedtext ohne Silben, nur mit „__“, Generalbass ohne Ziffern, Textspanner ohne Text, ich schau mal, was davon am einfachsten geht ;)

Arnold

  • Member
Re: Linie unter der Notenzeile
« Antwort #2 am: Donnerstag, 6. März 2014, 10:41 »
Hallo,

um die Griffschrift der Steirischen Harmonika wollte ich mich schon längst kümmern. Spiele ich zwar nicht selbst, aber kenne jemanden.
Das ist allerdings kein winziges Projekt. Auch daher, weil die Instrumente doch oft sehr unterschiedlich sind.
Im Ergebnis würde man dann aus der gleichen Quelle (wahlweise als "Tastendruck", besser "tonal" eingegeben) sowohl die Griffschrift als auch eine Pianoakkordeon-Transkription ableiten.

Für die "Pushbar"-Linie habe ich erst einmal eine eigene Staff-Zeile vorgesehen, welche sichtbar- und unsichtbar geschaltet wird. Falls der Rhythmus (zu sehr) von der Diskantseite abweicht, können dann daunter noch ein paar Noten angehängt werden.
Übrigens, beim Schwyzer Örgeli (ähnliche Griffschrift) ist es üblich, die Pushbar-Linie durchzuziehen, aber die Strichstärke zu variieren.


Arnold

P.S. Wird der Tabulatur-Notenschlüssel verwendet, dann ist die mittlere Notenlinie als c' definiert - oder man überschreibt für jeden Ton das Attribut der Y-Position.

Und: Sollten wir weitere Fragen und Quasi-Dialoge dazu unter "Notenschrift für Akkordeon, Ziehharmonika" platzieren?

stefanhuglfing

  • Member
Re: Linie unter der Notenzeile
« Antwort #3 am: Donnerstag, 6. März 2014, 11:08 »
Griffschrift der Steirischen Harmonika...
Das ist allerdings kein winziges Projekt.
... sowohl die Griffschrift als auch eine Pianoakkordeon-Transkription ableiten.

so hoch wollte ich gar nicht hinaus (erst mal). Ich bin vorerst zufrieden, wenn ich ein ordentliches Notenbild hinkriege.

Sollten wir weitere Fragen und Quasi-Dialoge dazu unter "Notenschrift für Akkordeon, Ziehharmonika" platzieren?

Ja, das wäre sinnvoll. Wenn mir ein brauchbares Ergebnis gelingt, schreibe ich dort was rein.

stefanhuglfing

  • Member
Grid-Line
« Antwort #4 am: Samstag, 8. März 2014, 08:10 »
gibt es Linien, die so aussehen auch waagrecht?

\score {
  \new ChoirStaff <<
    \new Staff {
      \relative c'' {
        \stemUp
        c'4. d8 e8 f g4
      }
    }
    \new Staff {
      \relative c {
        % this moves them up one staff space from the default position
        \override Score.GridLine #'extra-offset = #'(0.0 . 1.0)
        \stemDown
        \clef bass
        \once \override Score.GridLine #'thickness = #5.0
        c4
        \once \override Score.GridLine #'thickness = #1.0
        g'4
        \once \override Score.GridLine #'thickness = #3.0
        f4
        \once \override Score.GridLine #'thickness = #5.0
        e4
      }
    }
  >>
  \layout {
    \context {
      \Staff
      % set up grids
      \consists "Grid_point_engraver"
      % set the grid interval to one quarter note
      gridInterval = #(ly:make-moment 1 4)
    }
    \context {
      \Score
      \consists "Grid_line_span_engraver"
      % this moves them to the right half a staff space
      \override NoteColumn #'X-offset = #-0.5
    }
  }
}

Arnold

  • Member
Re: Linie unter der Notenzeile
« Antwort #5 am: Montag, 10. März 2014, 11:02 »
Hallo,

hier ein Vorschalg für die Baß-Zeile (manuell eingegeben) der Steirischen. Es gibt noch einiges Verbesserungspotential.
\version "2.18.0"
% All dies ist ein vorläufiger Stand für die manuelle Eingabe.
% Nur die Funktionalität der Bass-Zeile wird hier näher untersucht.
% Bisher ist kein Übersetzungs-Automatismus vorgesehen, das Beispiel
% dient eher als Untersuchung, welche "Ausgaben" müßte solch ein
% Übersetzungsautomatismus herausbringen, damit die Grafik
% ordentlich aussieht.

% Die Bass-Tasten-Bezeichner:
AA = ^\markup { "A" }
aa = ^\markup { "a" }
BB = ^\markup { "B" }
bb = ^\markup { "b" }
CC = ^\markup { "C" }
cc = ^\markup { "c" }
DD = ^\markup { "D" }
dd = ^\markup { "d" }
EE = ^\markup { "E" }
ee = ^\markup { "e" }
FF = ^\markup { "F" }
% nicht 'f =' definieren, sonst geht das 'forte' flöten!
ff = ^\markup { "f" }
GG = ^\markup { "G" }
gg = ^\markup { "g" }
XX = ^\markup { "X" }

% Zug und Druck - nur für die Bass-Zeile:
steirisch-compress = {
  \stopStaff
  \override Staff.StaffSymbol.transparent = ##f
  \startStaff
}
steirisch-expand = {
  \stopStaff
  \override Staff.StaffSymbol.transparent = ##t
  \startStaff
}

% Y-position der Rhythmus-Noten und -Pausen in der Bass-Zeile berechnen:
#(define (steirisch-simple-bass-Y grob)
  (let ((grob-type (ly:assoc-get 'name (ly:grob-property grob 'meta))))
   (if (eq? grob-type 'NoteHead)
    (begin
     ;;debug: (display "\n It's a NoteHead! ")
     -0.8)
    (if (eq? grob-type 'Rest)
     (let ((dura (ly:grob-property grob 'duration-log)))
      ;;debug: (for-each display (list "\n It's a Rest with duration-log = " dura "! "))
      (if (> dura 2)
       (- 0.8 (floor (* (1+ dura) 0.5)))
       (if (= dura 2)
        -1.9
        -1.3)))
     0.0))))

% Sonstige Anmerkungen:
% * Die Noten und Pausen in der Bass-Zeile, welche nur einen von der Diskant-
%   zeile abweichenden Rhythmus angeben, sollten wohl noch etwas kleiner ausfallen,
%   und kürzere Notenhälse haben.
% * Die Druck-Linie beginnt in der Notenzeile ganz vorne, nicht erst nach der
%   Taktangabe und gegebenenfalls Schlüssel und Tonart, welche eventuell von anderen
%   Zeilen des Systems stammen, z. Bsp. Transkription für Piano-Akkordeon.
% * Die senkrechte Linie, welche die Diskant- mit der Bass-Zeile verbindet, ist (nur)
%   global unterdrückt.

\score {
  <<
    \new Staff \with {
      \override Clef #'stencil = ##f
      clefGlyph = #"clefs.C"
      clefPosition = #0
      middleCPosition = #0
      middleCClefPosition = #0
    } {
      d4 f a c'
      e'4 g' b' d''
      f''4 d''8 b' g' e' c' a
      f4. d8 b,4. g,8
      <b, d f>2. r4
      \bar "|."
    }
    \new Staff \with {
      \remove Clef_engraver
      \override TimeSignature #'stencil = ##f
    } {
      \stopStaff
      \override Staff.StaffSymbol.line-positions = #'(-0.25 -0.20 -0.15 -0.10 -0.05 0 0.05 0.10 0.15 0.20 0.25)
      \hide Staff.BarLine
      \stemDown \slurDown
      \override NoteHead.Y-offset = #steirisch-simple-bass-Y
      \override Rest.Y-offset = #steirisch-simple-bass-Y
      \override Score.SystemStartBar.stencil = ##f

      \steirisch-compress
      s4\BB s\bb s\AA s\bb
      s4\BB s\bb s\AA s\bb
      \steirisch-expand
      s4\AA s\bb s\BB s\bb
      c4\AA c\bb c\BB c\bb
      \steirisch-compress
      c4\BB c\bb c\BB\bb r
      %Test only: r\longa r\breve r1 r2 r4 r8 r16 r32 r64 r128
    }
  >>
}


Arnold