Notationsspezifisch > Noten für Gitarre

Polyphonie in Kombisystem aus Noten & Tabs

(1/5) > >>

barrio:
Hi zusammen,

ich möchte mich erstmal als neues Mitglied und klassischer Gitarrist hier vorstellen. Da ich mit anderen Notensatzprogrammen einschließlich gitarrenspezifischen meine Vorstellungen nicht umsetzen konnte, bin ich über das Konzertgitarrenforum auf Lilypond gestoßen.

Aktuell möchte ich das Bachpräludium BWV 998 zweistimmig in Noten & Tabs setzen, weil ich die Akkordform im Code zu unübersichtlich finde für Änderungen. Dabei taucht folgendes Problem auf: Um exakte Tabs zu setzen habe ich bislang nur die Möglichkeit gefunden, jede Note mit Saitenangabe zu versehen. Dies sieht in den Noten wieder blöd aus, weil dann über jeder Note die Saitenangabe steht, auch die die Saite gleich bleibt. Ließe sich das in den Voreinstellungen unterdrücken? Auch mit minimumFret ging es nicht, weil die sich das anscheinend immer auf das gesamte Notensystem bezieht und nicht nur auf die Noten, die NACH dem tag folgen, oder?

Muss ich also Noten & Tabs komplett getrennt setzen? Das wäre ganz schön aufwendig...

PS Meinen Code poste ich noch, hab ich gerade nicht parat

Vielen Dank schonmal für Eure Unterstützung!

ding-dong:
gerne warten wir auf den code!

trulli:
Hallo barrio,

wir kennen uns aus dem Konzertgitarrenforum von Michael.

Erstmal herzlich willkommen hier, insbesondere in der Gitarrenrunde!

Deine Antworten zum Unterdrücken der Saitenangaben findest du hier:
https://archiv.lilypondforum.de/index.php?topic=1070.0
(-> im letzten Post wird z.B. \override StringNumber #'transparent = ##t genannt)

Jetzt die üblichen Hinweise:
- verwende die Suche
- schau ins Handbuch
- benenne deinen Thread möglichst sinnvoll
- poste deinen Code
- gib deine Lily-Version an

Da es hier schon eine Zeit lang eine Gitarrenecke gibt und wir auch schon viel über Tabs gepostet haben, solltest du bei vielen Problemen hier ohne neuen Thread fündig werden. Damit andere schneller etwas finden, ist ein treffender Threadtitel nützlich.

Willst du das Präludium in der transponierten Version setzen, also in D-Dur (original ist es ja in Es-Dur)? Dann brauchst du noch den Thread über heruntergestimmte Saiten:
https://archiv.lilypondforum.de/index.php?topic=503.0
 
Und nun viel Spaß hier.  :)

Grüße von Trulli

trulli:
Kleiner Nachtrag:

Du brauchst nicht an jede Note die Saite schreiben. Bei deinem Präludium ist es nur streckenweise nötig: T1-3 und T14 sicherlich, aber bei den anderen Takten nur manchmal (es sei denn du bist Lagenfetischist...).

Noten und Tabs brauchst du auch nicht "getrennt" setzen. Was du als Ausgabe sehen willst, schreibst du einfach in den \Score Kontext.

barrio:
Hallo liebe Leute,

vielen Dank für Eure Hinweise! Ich hab mich mittlerweile anhand der Notationsreferenz ganz gut reingefrickelt, sodass ich Euch hoffentlich mit weiteren totalen newbe-Fragen verschonen kann ;D

Auch die gitarrenspezischen Sachen wie Fingersätze LH / RH, Saiten-& Lagenangabe, (Halb-)barré, Aufschlag- / Abzugbindungen und custom tuning hab ich jetzt hingekriegt. Hier jetzt mit etwas Verzögerung der Code:


--- Code: ---\version "2.12.3"  % necessary for upgrading to future LilyPond versions.

\header{
  title = "Cello Suite 1 - I Prelude (BWV1007)"
}

 \include "bbarre.ly"
 \include "fbarre.ly"

 %%------------------------------------------
%%postscript show tuning name
EADGBE =
\markup {
  \with-dimensions #'(0 . 0.8) #'(0 . 1.0)
  \postscript #"/Arial-Bold findfont
                1.3 scalefont
                setfont 0 3.6 moveto
                () show 0 2.0 moveto
                () show 0 0.6 moveto
                () show 0 -0.8 moveto
                () show 0 -2.2 moveto
                () show 0 -3.6 moveto
                (D) show
                stroke"
}
%%------------------------------------------------


#(define RH rightHandFinger)

upper = \relative c' {
  \time 4/4
  \key d \major
  \voiceOne
  \set fingeringOrientations = #'(up)
  \set stringNumberOrientations = #'(down)
  \override Fingering #'add-stem-support = ##t
  \slurDown
    r16   <a-1-\RH #2 > <fis'-2-\RH #3 >( <e-0>)
<fis-2-\RH #4 > <a,-\RH #2 >  fis' a,
r16   a fis'( e)
fis a, fis' a,

    r16   <b-0-\RH #2 > <g'-2-\RH #3 >( fis-1)
    <g-2-\RH #4 > <b,-1-\RH #3 > g' b,
r16  b g'( fis)
g b, g' b,

\bbarre #"II" {r16   <cis-\RH #2 > <g'-2-\RH #3 >( fis)
    <g-\RH #4 > <cis,-\RH #3 > g' cis,
r16  cis g'( fis)
g cis, g' cis,
        }
       
r16   <d-3-\RH #2 > <fis-2-\RH #3 >( <e-0>)
<fis-\RH #4 > <d-\RH #3 >  fis d
r16   d fis( e)
fis d fis cis-1

r16   <b-0-\RH #2 > <fis'-2-\RH #3 >( <e-0>)
\set TabStaff.minimumFret = #5
<fis\2-2-\RH #3 > <d\3> cis d
\set TabStaff.minimumFret = #3
b d b d
       
       
       
}

lower = \relative c {
  \voiceTwo
  \set fingeringOrientations = #'(down)
   <d-0-\RH #1 >2   d, 
   <d'-0-\RH #1 >  d,
%   Alternative zu bbarre:
%   \override TextSpanner #'(bound-details left text) = #"1/2 CII "
   <d'-0-\RH #1 > %\startTextSpan 
     d,
   <d'-0-\RH #1 >%\stopTextSpan   
     d,
   <d'-0-\RH #1 >  d,
   
}

\score {
  <<
    \new StaffGroup = "tab with traditional" <<
      \new Staff = "guitar traditional" <<
        \clef "treble_8"
        \context Voice = "upper" \upper
        \context Voice = "lower" \lower
      >>
      \new TabStaff = "guitar tab" <<
        \set TabStaff.stringTunings = #'(4 -1 -5 -10 -15 -22)
        \set TabStaff.instrumentName = \markup { " " \EADGBE }
        \set TabStaff.shortInstrumentName = \markup \EADGBE
        % \tabFullNotation % ab version "2.14.2"
        \context TabVoice = "upper" \upper
        \context TabVoice = "lower" \lower
      >>
    >>
  >>
}




--- Ende Code ---

Mit dem Resultat bin ich schon ganz zufrieden, aber ihr habt sicher noch Tips zur Optimierung (und sei es nur des Codes), oder? ;) Also insgesamt bin ich begeistert von der Kombi Freco & Lily, das ist wirklich eine tolle IDE.

Noch nicht ganz glücklich bin ich mit diesen kryptischen Angaben von C durchgestrichen bzw. C für (Halb-)barré, wie sie oft in der Literatur verwendet werden. Hier fände ich die Variante mit einem vertikalen Balken durch das Noten- bzw. Tabsystem visuell eingängiger. Hat jemand von Euch ne Idee wie man die include-Datei bbarre aus dem sniplet repo modifizieren müsste, um das zu realisieren? Die Schwierigkeit wird wohl sein den Balken nur so lang zu kriegen, wie der Barré gegriffen wird, oder?

Damit ihr nicht lange rumsuchen müsst, hier der Code von bbarre:

--- Code: ---%% %%%%%%%  Cut here ----- Start 'bbarred.ly'

%% PostScript -------------------------------
pScript= \markup {
\with-dimensions #'(0 . 0.8) #'(0 . 2.0)
\postscript #"
0.15 setlinewidth
/Times-Roman findfont
2.0 scalefont
setfont
(C)show %%change with B if you prefer
       %(B)show %%change with C if you prefer
stroke
0.7 -0.5 moveto
0.7  1.7 lineto
stroke"
}
%% Span -----------------------------------
%% Syntax: \bbarre #"text" { notes } - text = any number of box
fbarre= #(define-music-function (barre location str music) (string? ly:music?)
           (let ((spanned-music
                   (let ((first-element #f)
                         (last-element #f)
                         (first-found? #f))
                     (music-map (lambda (m)
                                  (if (eqv? (ly:music-property m 'name) 'EventChord)
                                      (begin
                                        (if (not first-found?)
                                            (begin
                                              (set! first-found? #t)
                                              (set! first-element m)))
                                        (set! last-element m)))
                                  m)
                                music)
                     (if first-found?
                         (begin
                           (set! (ly:music-property first-element 'elements)
                                 (cons (make-music 'TextSpanEvent 'span-direction -1)
                                       (ly:music-property first-element 'elements)))
                           (set! (ly:music-property last-element 'elements)
                                 (cons (make-music 'TextSpanEvent 'span-direction 1)
                                       (ly:music-property last-element 'elements)))))
                     music)))
             (make-music 'SequentialMusic
               'origin location
               'elements (list #{
\once \override TextSpanner #'font-size = #-2
\once \override TextSpanner #'font-shape = #'upright
\once \override TextSpanner #'staff-padding = #3
\once \override TextSpanner #'style = #'line
                        \once \override TextSpanner #'to-barline = ##f
                        \once \override TextSpanner #'bound-details =  #'((left (Y . 0) (padding . 0.25) (attach-dir . -2)) (right (Y . 0) (padding . 0.25) (attach-dir . 2)))
                        \once  \override TextSpanner #'bound-details #'right #'text = \markup { \draw-line #'( 0 . -.5) }
                        \once  \override TextSpanner #'bound-details #'left #'text =  \markup { \pScript $str }
%% uncomment this line for make full barred
                        \once  \override TextSpanner #'bound-details #'left #'text =  \markup { "C" $str }                         
                          #}
    spanned-music))))

%% %%%%%%%  Cut here ----- End 'bbarred.ly'
--- Ende Code ---

PS Im Original heisst die Datei wie ihr seht bbarred.ly (abweichend von dem tag bbarre) was ich ungünstig fand und daher vereinheitlicht hab.

EDIT: In diesem Thread https://archiv.lilypondforum.de/index.php?topic=412.0 ist das für Akkorde im Notensystem schon realisiert. Ich hätte aber gern sowas:

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln