Autor Thema: TAB Darstellung  (Gelesen 13445 mal)

Dakuan

  • Gast
TAB Darstellung
« am: Montag, 12. März 2012, 17:01 »
Hallo Leute,

ich habe nach langer Zeit meine Gitarre wieder entdeckt und will jetzt meine alten Lehrbücher ins digitale Zeitalter retten. Und da ich eigentlich Notenlegastheniker bin, brauche ich die Tabulaturdarstellung.

Leider werden aber in meiner Version (2.14.2) keine Hälse und Balken dargestellt, sodass ich sowas wie Triolen nicht erkennen kann.

Hier mal ein Beispiel:
\version "2.14.2"
\header {
    title = "Blues"
}

music = \relative c' {
\time 4/4
\stemUp
%% Takte 3 - 5
<e,,\6 e'''\1>8    d'''\1  <e,,,\6 b'''\2>  a''\2  <e,,\6 g''\3>  e''\3   e,,4
\times 2/3 {<e\6 b'''\2>8 d'''\1 a\2 } \times 2/3 { <e,,\6 a''\2>8  gis''\2  e\3 }
<e,,\6 e''\3>4  e\6
<a\5 cis'\4>8    e''\3   <a,,\5 fis''\3>  cis'\4  <a,\5 e''\3>  fis''\3  a,,4
}

\score {
    <<
    \new StaffGroup {
<<
    \new Staff { \clef "treble_8" \music }
    \new TabStaff { \music }
>>
    }
    >>
}
Außerdem  musste ich für viele Noten die Saiten angeben und teilweise auch die Finger. Dazu habe ich jetzt folgende Fragen:

1) kann man die Notenhälse und Balken in TAB s wieder einschalten?

2) Da ich die Saite in der TAB sehen kann, würde ich gerne in der Notendarstellung die Saitennummern unterdrücken.

3) Die Fingernummern hätte ich auch gerne in der TAB, so wie ich es in einigen amerikanischen Büchern gesehen habe (eingekreist und grau). Geht das irgendwie, oder kann man wenigstens Textanmerkungen dort hineinbringen?

« Letzte Änderung: Montag, 12. März 2012, 17:04 von Dakuan »

harm6

  • Gast
Re: TAB Darstellung
« Antwort #1 am: Montag, 12. März 2012, 22:10 »
Hallo Dakuan,

herzlich willkommen im Forum!

Zu Deinen Fragen:

Zitat
1) kann man die Notenhälse und Balken in TAB s wieder einschalten?
Ja. Mit \tabFullNotation

Zitat
2) Da ich die Saite in der TAB sehen kann, würde ich gerne in der Notendarstellung die Saitennummern unterdrücken.
Man kann die StringNumber im layout unsichtbar machen. Es wird aber dran gearbeitet das zu verbessern. Ob das in der neuesten Entwicklerversion schon enthalten ist, hab ich jetzt nicht überprüft.

Zitat
3) Die Fingernummern hätte ich auch gerne in der TAB, so wie ich es in einigen amerikanischen Büchern gesehen habe (eingekreist und grau).
Hier weiß ich nicht genau was Du meinst. Was Du beschreibst ist mir nicht vertraut. Kannst Du ein Bild posten?

Zitat
Geht das irgendwie, oder kann man wenigstens Textanmerkungen dort hineinbringen?
Meine Devise: Lily kann alles! Man muß nur wissen _was_ erreicht werden soll, und _wie_ man hinkommt. ;)

Gruß,
  Harm

Dakuan

  • Gast
Re: TAB Darstellung
« Antwort #2 am: Montag, 12. März 2012, 23:58 »
Danke für deine Antwort, das mit \tabFullNotation habe ich beim googeln noch nie gesehen, aber ich beschäftige mich ja auch erst seit einer knappen Woche mit Lilypond.

Zitat
Was Du beschreibst ist mir nicht vertraut. Kannst Du ein Bild posten?
Ok, ich versuche das morgen mal, in der Hoffnung das mein Scanner das brauchbar wiedergibt. Das Buch ist komplett im Braunton gedruckt, so wie uralte Fotos (passend zur Musik). Die Fingernummern sind dort so dargestellt, wie in den normalen Noten die Saitennummern, nur deutlich heller, damit sie nicht mit der normalen Tabulaturdarstellung verwechselt werden können. Die Fingernummern sind deshalb wichtig, weil sonst die Griffwechsel nicht funktionieren.

Zitat
Meine Devise: Lily kann alles!
Das habe ich in den letzten Tagen schon öfters gelesen und deshalb habe ich auch gewagt hier zu fragen. Aber jetzt habe ich noch ein anderes Problem entdeckt, wo ich glaube das es prinzipiell nicht möglich ist. Ich grüble aber noch an der Formulierung und in welches Unterforum das gehört (ist ein Slide von einer Stimme in die andere).

Dakuan

  • Gast
Re: TAB Darstellung
« Antwort #3 am: Dienstag, 13. März 2012, 11:34 »
Guten Morgen,

hier kommt das versprochene Bild. Da gibt es übrigens auch noch eine Besonderheit im Griffdiagramm, nämlich den helleren Punkt, der sich auf die eingeklammerte Note bezieht und nur bei der Wiederholung zu spielen ist.

trulli

  • Gast
Re: TAB Darstellung
« Antwort #4 am: Dienstag, 13. März 2012, 22:06 »
Hallo Dakuan,

erstmal herzlich willkommen im Club.  ;)

Saitenangaben unterdrücken:
das geht recht einfach über die Schreibweise:
<e\2> Ausgabe mit String number
e\2 oder <e>\2 Ausgabe ohne String number

Von der Schreibweise mit den umkreisten Zahlen würde ich abraten. Das macht heute kein Mensch mehr, weil es zu sehr den String Numbers ähnelt. Eine moderne Schreibweise habe ich mal angehängt (sie wurden mit einfachen markups erzeugt, z.B. ^\markup{ \fontsize #-2 \italic "1"})

Probier auch mal:
\new TabStaff = "guitar tab"
Das spart Arbeit. :)

Grüße von Trulli
« Letzte Änderung: Dienstag, 13. März 2012, 22:08 von trulli »

Dakuan

  • Gast
Re: TAB Darstellung
« Antwort #5 am: Dienstag, 13. März 2012, 22:34 »
Danke,
ich probiere die Tipps gleich mal aus.
Zitat
Das macht heute kein Mensch mehr,

Das Buch ist in der Tat schon etwas älter (Bj. 1974) und die beigelegte Schallfolie gehört wohl auch eher ins Museum  ;)

Aber wenn ich das mit "markup" mache, kann ich dann auch mehrere Ziffern übereinander stellen? Das betrifft ja oft mehrere Saiten.

trulli

  • Gast
Re: TAB Darstellung
« Antwort #6 am: Dienstag, 13. März 2012, 23:23 »
Ja, die guten alten Folienplatten.  8)

Klar geht das auch:
^\markup{ \fontsize #-2 \italic \column{ "2" "3"}}

Gruß

harm6

  • Gast
Re: TAB Darstellung
« Antwort #7 am: Dienstag, 13. März 2012, 23:33 »
Hallo Dakuan,

wie ich sehe hat trulli schon geantwortet.
Zitat von: trulli
Eine moderne Schreibweise habe ich mal angehängt (sie wurden mit einfachen markups erzeugt, z.B. ^\markup{ \fontsize #-2 \italic "1"})
-> http://lsr.dsi.unimi.it/LSR/Item?id=149

Nichtsdestotrotz hier die Möglichkeit die Fingersätze grau und mit Kreis in die Tabulatur zu setzen.
Denn: Lily kann ja alles.  ;D
(Manchmal ist es natürlich etwas aufwendiger: CustomTabStaff, CustomTabVoice, CustomTabFullNotation und der Fingering-stencil sind hier neu definiert. Wenn Du myCustomTabLayout auskommentierst und zu TabStaff und TabVoice zurückkehrst, bist Du wieder bei der default-Einstellung, )

\version "2.14.2"

#(define (grey-circled-fingering grob)
  (let* ((stil (ly:text-interface::print grob))
         (new-stil (grob-interpret-markup grob
          (markup #:with-color (x11-color 'grey66)
                 ;#:whiteout
                 #:circle
                 #:stencil stil))))
  new-stil))
 
myCustomTabLayout =
\layout {
        \context {
        \Voice
\name "CustomTabVoice"
\alias "Voice"
\consists "Tab_note_heads_engraver"
\consists "Tab_tie_follow_engraver"

\remove "Note_heads_engraver"
             %  \remove "Fingering_engraver"
             %  \remove "New_fingering_engraver"

\description "Context for drawing notes in a Tab staff."

  \override Beam #'beam-thickness = #0.32
  \override Beam #'length-fraction = #0.62
  \override StemTremolo #'beam-thickness = #0.32
  \override StemTremolo #'length-fraction = #(lambda (grob)
                                               (/ 1 (ly:staff-symbol-staff-space grob)))
  \override StemTremolo #'beam-width = #stem-tremolo::calc-tab-width
  \remove "Accidental_engraver"
  \override Stem #'length = #0
  \override Stem #'no-stem-extend = ##t
  \override Stem #'flag-style = #'no-flag
  \override Stem #'details = #'((lengths 0 0 0 0 0 0)
                                (beamed-lengths 0 0 0)
                                (beamed-minimum-free-lengths 0 0 0)
                                (beamed-extreme-minimum-free-lengths 0 0)
                                (stem-shorten 0 0))
  \override Stem #'transparent = ##t
  autoBeaming = ##f
  \override Beam #'stencil = ##f
  \override StemTremolo #'stencil = ##f
  \override Dots #'stencil = ##f
  \override Rest #'stencil = ##f
  \override MultiMeasureRest #'stencil = ##f
  \override MultiMeasureRestNumber #'transparent = ##t
  \override MultiMeasureRestText #'transparent = ##t
  \override Tie  #'stencil = ##f
  \override RepeatTie #'stencil = ##f
  \override LaissezVibrerTie #'stencil = ##f
  \override Slur #'stencil = #slur::draw-tab-slur
  \override PhrasingSlur #'stencil = ##f
  \override Tie #'after-line-breaking = #tie::handle-tab-note-head
  \override RepeatTie #'after-line-breaking = #repeat-tie::handle-tab-note-head
  \override TupletBracket #'stencil = ##f
  \override TupletNumber #'stencil = ##f
  \override DynamicText #'transparent = ##t
  \override DynamicTextSpanner #'stencil = ##f
  \override TextSpanner #'stencil = ##f
  \override Hairpin #'transparent = ##t
  \override Script #'stencil = ##f
  \override TextScript #'stencil = ##f
  \override Glissando #'stencil = #glissando::draw-tab-glissando
  \override Glissando #'extra-dy = #glissando::calc-tab-extra-dy
  \override Glissando #'bound-details #'right = #`((attach-dir . ,LEFT)
   (padding . 0.3))
  \override Glissando #'bound-details #'left = #`((attach-dir . ,RIGHT)
  (padding . 0.3))
  \override TabNoteHead #'glyph-name = #tab-note-head::calc-glyph-name
  \override TabNoteHead #'stencil = #tab-note-head::whiteout-if-style-set
 
  fingeringOrientations = #'(left)
  \override Fingering #'font-size = #-6
  \override Fingering #'extra-offset = #'(1 . -1.5)
  \override Fingering #'stencil = #grey-circled-fingering
        }
       
        \context {
        \Staff
        \alias "Staff"
  \name "CustomTabStaff"
  \denies "Voice"
  \consists "Tab_staff_symbol_engraver"
 
  \description "Context for generating tablature. It accepts only
  @code{CustomTabVoice} contexts and handles the line spacing,
  the tablature clef etc. properly."
 
  \accepts "CustomTabVoice"
  \defaultchild "CustomTabVoice"
  \override StaffSymbol #'staff-space = #1.5
  \override Stem #'avoid-note-head = ##t
  \remove "Accidental_engraver"
  \remove "Key_engraver"
  \remove "Ottava_spanner_engraver"
  \override Clef #'stencil = #clef::print-modern-tab-if-set
  \override TimeSignature #'stencil = ##f
  \override Arpeggio #'stencil = ##f
  \override NoteColumn #'ignore-collision = ##t
  clefGlyph = #"clefs.tab"
  clefPosition = #0
  handleNegativeFrets = #'recalculate
        }
       
        \context {
        \Score
        \accepts CustomTabStaff
        \accepts CustomTabVoice
        \override StringNumber #'transparent = ##t
        }
       
        \context {
        \StaffGroup
        \accepts CustomTabStaff
        \accepts CustomTabVoice
        }
}

CustomTabFullNotation = {
        \revert CustomTabStaff.TimeSignature #'stencil
        \revert CustomTabVoice.Stem #'length
        \revert CustomTabVoice.Stem #'no-stem-extend
        \revert CustomTabVoice.Stem #'flag-style
        \revert CustomTabVoice.Stem #'details
        \revert CustomTabVoice.Stem #'transparent
        \override CustomTabVoice.Stem #'stencil = #tabvoice::draw-double-stem-for-half-notes
        \set autoBeaming = ##t
        \revert NoteColumn #'ignore-collision
        \revert CustomTabVoice.Beam #'stencil
        \revert CustomTabVoice.StemTremolo #'stencil
        \revert CustomTabVoice.Dots #'stencil
        \revert CustomTabVoice.Tie #'stencil
        \revert CustomTabVoice.Tie #'after-line-breaking
        \revert CustomTabVoice.RepeatTie #'stencil
        \revert CustomTabVoice.RepeatTie #'after-line-breaking
        \revert CustomTabVoice.LaissezVibrerTie #'stencil
        \revert CustomTabVoice.Slur #'stencil
        \revert CustomTabVoice.PhrasingSlur #'stencil
        \revert CustomTabVoice.TupletBracket #'stencil
        \revert CustomTabVoice.TupletNumber #'stencil
        \revert CustomTabVoice.DynamicText #'transparent
        \revert CustomTabVoice.DynamicTextSpanner #'stencil
        \revert CustomTabVoice.DynamicTextSpanner #'stencil
        \revert CustomTabVoice.Hairpin #'transparent
        \revert CustomTabVoice.Rest #'stencil
        \revert CustomTabVoice.MultiMeasureRest #'stencil
        \revert CustomTabVoice.MultiMeasureRestNumber #'transparent
        \revert CustomTabVoice.MultiMeasureRestText #'transparent
        \revert CustomTabVoice.Glissando #'stencil
        \revert CustomTabVoice.Script #'stencil
        \revert CustomTabVoice.TextScript #'stencil
        \revert CustomTabVoice.TextSpanner #'stencil
        \revert CustomTabStaff.Arpeggio #'stencil
        \revert CustomTabStaff.NoteColumn #'ignore-collision
}

%------------------ Test

\header {
    title = "Blues"
}

music =
\relative c' {
        \time 4/4
        \stemUp
        %% Takte 3 - 5
        <e,,\6 e'''-\tweak #'extra-offset #'(0 . 1) -4\1>8    <d'''-2\1>  <e,,,\6 b'''-4\2>  <a''-2\2>  <e,,\6 g''-4\3>  <e''-1\3>   e,,4
        \times 2/3 { <e\6 b'''\2>8 d'''\1 a\2 } \times 2/3 { <e,,\6 a''\2>8  gis''\2  e\3 }
        <e,,\6 e''\3>4  e\6
        <a\5 cis'\4>8    e''\3   <a,,\5 fis''\3>  cis'\4  <a,\5 e''\3>  fis''\3  a,,4
}

\score {
    <<
    \new StaffGroup {
<<
    \new Staff { \clef "treble_8" \music  }
    \new CustomTabStaff
    \new CustomTabVoice
    { \CustomTabFullNotation   
    \music }
>>
    }
    >>
    \layout { \myCustomTabLayout }
}

Gruß,
  Harm

P.S.
Zitat von: Dakuan
Danke für deine Antwort, das mit \tabFullNotation habe ich beim googeln noch nie gesehen, [...]
Ich würde ja zuerst ins Learning Manual und in die Notation Reference schauen, sowie das Forum und die englischen list-Archive durchgehen. Eine Google-Suche ist für mich wirklich der allerletzte Versuch.

P.P.S
Das Stück ist "Jackson Moan" von John Pearse, oder täusche ich mich?
« Letzte Änderung: Dienstag, 13. März 2012, 23:50 von harm6 »

Dakuan

  • Gast
Re: TAB Darstellung
« Antwort #8 am: Mittwoch, 14. März 2012, 15:25 »
Erstmal vielen Dank an euch beide,

das Unterdrücken der Saitennummern hat zwar noch nicht geklappt (Syntax error), aber mit den übrigen Hinweisen habe ich wohl erstmal genug Stoff zum probieren. Da werde ich wohl mindestens eine Woche drann zu knabbern haben.

Zitat
Das Stück ist "Jackson Moan" von John Pearse, oder täusche ich mich?
Da liegst du richtig. Leider habe ich nur noch einige abgezeichneten TABs, die inzwischen auch reichlich zerknittert sind. Das Buch konnte ich nach meinem Umzug nicht mehr wiederfinden und ich weiß auch nicht wie das heißt.
« Letzte Änderung: Mittwoch, 14. März 2012, 15:34 von Dakuan »

harm6

  • Gast
Re: TAB Darstellung
« Antwort #9 am: Donnerstag, 15. März 2012, 00:39 »
Hallo,

die Möglichkeit mittels \markup Fingersätze in die Tabulatur zu setzen ist sehr aufwendig. Insofern habe ich meinen CustomTabStaff nochmal überarbeitet.
Zumindest in den kurzen Beispielen aus diesem Thread gelang dann die Wiedergabe in Noten und Tabulatur ohne weitere Anpassungen im Code.

Die Definitionen habe ich in ein extra file gepackt und in custom-tab-test-01.ly \include benutzt.


HTH,
  Harm

Dakuan

  • Gast
Re: TAB Darstellung
« Antwort #10 am: Montag, 19. März 2012, 21:08 »
Danke erstmal für deine Mühe.
Das ist in der Tat sehr aufwändig und ich habe das erstmal nur sichergestellt, da ich noch mit einigen grundlegenden Problemen kämpfe.

Jedenfalls scheint damit auch das Problem der überflüssigen Saitenangaben in der Notendarstellung behoben zu sein. Die oben erwähnte Lösung dafür scheint jedenfalls nur für einzelne Noten, nicht aber für Akkorde zu funktionieren.

harm6

  • Gast
Re: TAB Darstellung
« Antwort #11 am: Dienstag, 20. März 2012, 00:56 »
Hallo Dakuan,

eigentlich ist nur die Definition des neuen context aufwendig. Die Anwendung ist jedoch nicht problematisch.

Die StringNumber hatte ich mittels \override StringNumber #'transparent = ##t unsichtbar gemacht. Das kannst Du auch in jedem standard-context machen, z.B.:

\layout
\context {
   \Score
   \override StringNumber #'transparent = ##t
}   
}

Gruß,
  Harm

Musiker

  • Gast
Re: TAB Darstellung
« Antwort #12 am: Samstag, 16. Juni 2012, 19:42 »
Hallo Zusammen!
Bei Euch sieht der Tab richtig gut aus!
Wie bekomme ich den Tab denn So hin, dass er mir die Ober- und Unterstimme richtig anzeigt?
Ich habe versucht die Sachen aus Euren .ly Dateien zu übernehmen, doch er hat mir immer eine Fehlermeldung angezeigt.
Könnt ihr mir anhand meiner Test Datei helfen?
\version "2.14.2"

#(set-global-staff-size 24)

\include "deutsch.ly"

\paper{
top-margin = 2\cm
bottom-margin = 2\cm
left-margin = 2\cm
line-width = 17\cm
obsolete-after-title-space = 4\cm  markup-system-spacing #'basic-distance = #(/ obsolete-after-title-space staff-space)
      }

\layout {
  indent = #0
}


\header {
  tagline = ""
    title = "Test"
}

global = {
   \clef "treble_8"
   \key c \major
   \time 4/4
}

Akkorde = \chords {
      \germanChords
    c1 a:m
      }

Noten¹ = \relative c' { 
        c8 d e f g f e d | c d e f g a h c
        }

Noten² = \relative c' { 
        c2 g' | c, g'
        }

\score {
        <<
    \Akkorde
    \new StaffGroup
      <<
        \new Staff
  <<
    \new Voice { \mergeDifferentlyHeadedOn \voiceOne \Noten¹ }
    \new Voice { \mergeDifferentlyHeadedOn \voiceTwo \Noten² }
  >>
              >>
>>

\midi {
\context {
  \Score
  tempoWholesPerMinute = #(ly:make-moment 120 4) }
}
\layout {}
}

P.S.: Wenn es nur eine Melodie Stimme ist, bekomme ich es vernünftig hin (s. hier https://archiv.lilypondforum.de/index.php?action=dlattach;topic=982.0;attach=1130;image)
« Letzte Änderung: Samstag, 16. Juni 2012, 19:46 von Musiker »

trulli

  • Gast
Re: TAB Darstellung
« Antwort #13 am: Montag, 18. Juni 2012, 08:09 »
Hallo Musiker,

so ganz klar ist mir nicht, was du willst. Jedenfalls musst du Lily im \Score{...} sagen, was es anzeigen soll.

Geht das hier in deine Richtung?

\version "2.14.2"

#(set-global-staff-size 24)

\include "deutsch.ly"           

\paper{
                 top-margin = 2\cm                                                                                                             
                 bottom-margin = 2\cm                                                                                                           
                 left-margin = 2\cm                                                                                                             
                 line-width = 17\cm                                                                                                             
                 obsolete-after-title-space = 4\cm  markup-system-spacing #'basic-distance = #(/ obsolete-after-title-space staff-space)
      }

\layout {
                  indent = #0                                                                                                                   
                }


\header {
                  tagline = ""                                                                                                                 
                  title = "Test"                                                                                               
                }

global = {
                                                                                                                                           
                   \key c \major                                                                                                                               
                   \time 4/4
                 }

Akkorde = \chords { \germanChords
                                    c1 a:m     
                                  }

Noten¹ = \relative c { \voiceOne
                        \mergeDifferentlyHeadedOn
                        c8 d e f g f e d | c d e f g a h c
                                      }

Noten² = \relative c { \voiceTwo 
                                        c2 g | c g
                                      }
               
\score {
        <<
        \new StaffGroup = "tab with traditional"
        <<
            \new Staff = "guitar traditional" <<
                      \clef "treble_8"
                      \context Voice = "Akkorde" \Akkorde
                      \context Voice =  "Noten¹" \Noten¹
                      \context Voice = "Noten²" \Noten²
                     
                                  >>
        \new TabStaff = "guitar tab" <<
        \context TabVoice = "Noten¹"  \Noten¹
        \context TabVoice = "Noten²"  \Noten²
       
      >>
                                 
                                 
                                 
                                 
              >>
                >>

                \midi {
                \context {
                \Score
                tempoWholesPerMinute = #(ly:make-moment 120 4) }
                }
                \layout {}
                }               

Gruß

Musiker

  • Gast
Re: TAB Darstellung
« Antwort #14 am: Montag, 18. Juni 2012, 18:28 »
Sehr gut! So habe ich mir das vorgestellt! Danke!

Kurze Fragen zu der Lösung:
1. Sind "tab with traditional", "guitar traditional" und "guitar tab" Befehle oder Variablen, wie Noten¹ und Noten² ?
2. Könnte man die Akkorde auch über die Noten packen? (also nicht zwischen die Noten und den Tab?
3. Wenn ich alles transponieren möchte, habe ich überall bei den \context Voices (z.B. hier  \context TabVoice = "Noten¹"  \transpose c d { \Noten² } ) den Befehl hingeschrieben. Also musste ich es in diesem Fall sechs Mal hinschreiben. Kann man das auch einfacher machen, indem man das vorher einmal irgendwo hinschreibt? (  \transpose c d { \global \Akkorde \Noten¹ \Noten² } ) Wo müsste es dann stehen?

P.S.: Ist das \Score hinter \context {... richtig oder soll / kann das weg? Ist das nicht in diesem Fall überflüssig?
« Letzte Änderung: Dienstag, 19. Juni 2012, 07:33 von Musiker »