Autor Thema: Tabs mit Text  (Gelesen 3314 mal)

bblochl

  • Member
Tabs mit Text
« am: Dienstag, 9. Juli 2013, 17:40 »
Wenn ich Tabulaturen mit Text verbinde, erhalte ich eine leere Tab-Zeile und Noten mit dem Text? Um das zu verhindern gibt es sicher wieder irgendeinen Trick?

Hier ein Beispielcode zum Probieren:
\version "2.16.2"

  NotenI = {
   
  \relative c'{
   \key g \major
   <<
     
     \tempo "Rhythmus zählen"
   {  d,4\4  %2/8
     d4\4 %2/8
     d4\4 %2/8
     d4\4 %2/8
     d4\4 %2/8
     d4\4 %2/8
     d4\4 %2/8
     d4\4 %2/8
   }
 


\addlyrics {
      eins und zwei und drei und vier und fünf und sechs und sieben und acht und
    }
  >>
   
  }
}
 

\score {
<<
\new TabStaff \with {
tablatureFormat = #fret-number-tablature-format-banjo
stringTunings = #banjo-open-g-tuning
}

\NotenI
     
>>
\layout {
  \tabFullNotation
  \stemDown
 }
 }




Grüße
« Letzte Änderung: Dienstag, 9. Juli 2013, 17:43 von bblochl »

eluze

  • Member
Re: Tabs mit Text
« Antwort #1 am: Dienstag, 9. Juli 2013, 18:21 »
Wenn ich Tabulaturen mit Text verbinde, erhalte ich eine leere Tab-Zeile und Noten mit dem Text? Um das zu verhindern gibt es sicher wieder irgendeinen Trick?


hallo!

hab's mit 2.17.20 probiert - das scheint zu funktionieren:
textLyrisch = \lyricmode {
  eins und zwei und drei und vier und fünf und sechs und sieben und acht und
}
<<
  \new TabStaff \with {
    tablatureFormat = #fret-number-tablature-format-banjo
    stringTunings = #banjo-open-g-tuning
  }
  \new TabVoice = "abc" \NotenI
  \new Lyrics \lyricsto "abc" \textLyrisch
>>

Eluze

harm6

  • Member
Re: Tabs mit Text
« Antwort #2 am: Dienstag, 9. Juli 2013, 21:54 »
Hallo bblochl ,

etwas Hintergrund:

In der NR 2.1.1 "Übliche Notation für Vokalmusik" wird im Abschnitt "Text an einer Melodie ausrichten" erklärt was es mit
\addlyrics
auf sich hat:

Zitat
\addlyrics benutzen

Der \addlyrics-Befehl ist eigentlich nur eine Abkürzung für eine etwas kompliziertere LilyPond-Struktur, den man manchmal aus Bequemlichkeit einsetzen kann.

    { Noten }
    \addlyrics { Gesangstext }

bedeutet das Gleiche wie

    \new Voice = "bla" { Noten }
    \new Lyrics \lyricsto "bla" { Gesangstext }

[...]

Der Befehl \addlyrics kann keine polyphonen Situationen bewältigen. In diesen Fällen sollen man \lyricsto benutzen.

D.H.: \addlyrics setzt einen Voice-Kontext für den varangegangenen musikalischen Ausdruck.

In /ly/engraver-init.ly steht aber bei TabStaff:

Zitat
\context {
  \Staff
  \alias "Staff"
  \name "TabStaff"
  \denies "Voice"
  [...]

\addlyrics braucht also eine Voice, der TabStaff akzeptiert aber keine.
Kann nicht funktionieren.

So manche (vermeintliche) Abkürzungen bringt einen eben nicht ans Ziel. ;)
(Ich verwende \addlyrics praktisch nie, der vielen Begrenzungen wegen.)

Eluze hat schon gezeigt wie es tatsächlich funktioniert.
\lyricsto ist eben nicht zwangsläufig auf einen Voice-context angewiesen.


Gruß,
  Harm

P.S.
Es gibt ja schon den Hinweise, daß \addlyrics nicht für polyphone Situationen geeignet ist, vielleicht sollte ich einen patch schreiben, um darzustellen, daß es mit TabStaff/TabVoice ebenfalls nicht klappt...

harm6

  • Member
Re: Tabs mit Text
« Antwort #3 am: Mittwoch, 10. Juli 2013, 00:08 »
Zitat von: harm6
P.S.
Es gibt ja schon den Hinweise, daß \addlyrics nicht für polyphone Situationen geeignet ist, vielleicht sollte ich einen patch schreiben, um darzustellen, daß es mit TabStaff/TabVoice ebenfalls nicht klappt...

Ok, hab' einen patch eingereicht.
Mal sehen was daraus wird.

https://codereview.appspot.com/11062043/

Gruß,
  Harm

bblochl

  • Member
Re: Tabs mit Text
« Antwort #4 am: Donnerstag, 11. Juli 2013, 17:33 »
Danke für die Erklärungen von harm6 und Eluze.

In der Mail von Eluze habe ich gelesen
Zitat
hab's mit 2.17.20 probiert - das scheint zu funktionieren:
.
Daraufhin habe ich 2.17.21 installiert um dann festzustellen, dass mein Code auch damit nicht funktioniert und habe erst dann gesehen, dass
harm6 und Eluzes Code anders - mit zwei Objekten ... usw.-  programmiert ist. Wie Harm6 ja erläuterte, ist \addlyrics nur eine Abkürzung, die eben \denies "Voice" enthält. Ob das so sein muss, kann ich nicht beurteilen, habe zu wenig Ahnung von lilypond.

Wäre doch interessant, ob der "neue Code" von harm6/Eluze auch in 2.16 funktionert? Könnte das mal jemand versuchen und das Ergebnis posten? Meine Version 2.16 ist ja weg.

Hier der neue Code zum copy-pasten:
\version "2.17.21"

textLyrisch = \lyricmode {
  eins und zwei und drei und vier und fünf und sechs und sieben und acht und
}

  NotenI = {
   
  \relative c'{
   \key g \major
   <<
     
     \tempo "Takt zählen"
   {  d,4\4  %2/8
     d8\4 d\4 %2/8
     d4\4 %2/8
     d8\4 d\4 %2/8
     d4\4 %2/8
     d8\4 [d\4] %2/8
     d4\4 %2/8
     d8\4 [d\4] %2/8
   }
   
  >>
  }
  }

 <<
  \new TabStaff \with {
    tablatureFormat = #fret-number-tablature-format-banjo
    stringTunings = #banjo-open-g-tuning
  }
  \new TabVoice = "abc" \NotenI
  \new Lyrics \lyricsto "abc" \textLyrisch

>>
  \layout {
  \tabFullNotation
  \stemDown
 }



Grüße
« Letzte Änderung: Donnerstag, 11. Juli 2013, 17:50 von bblochl »

eluze

  • Member
Re: Tabs mit Text
« Antwort #5 am: Donnerstag, 11. Juli 2013, 17:43 »
Wäre doch interessant, ob der "neue Code" von harms6/Eluze auch in 2.16 funktionert? Könnte das mal jemand versuchen und das Ergebnis posten? Meine Version 2.16 ist ja weg.
dann ist es ja einerlei, ob es funktioniert oder nicht - aber es funktioniert tatsächlich!

Eluze

bblochl

  • Member
Re: Tabs mit Text
« Antwort #6 am: Donnerstag, 11. Juli 2013, 17:51 »
Schön - dann hätte ich ja nicht updaten müssen.

Grüße

eluze

  • Member
Re: Tabs mit Text
« Antwort #7 am: Donnerstag, 11. Juli 2013, 18:24 »
ich wollte damit nur sagen, dass es mit 2.17.20 funktioniert aber dass ich es nicht mit 2.16 getestet habe 8)

die 2.17.21 hat weitere vorteile (sofern du nicht auf windows bist) ;)

Eluze

harm6

  • Member
Re: Tabs mit Text
« Antwort #8 am: Donnerstag, 11. Juli 2013, 22:24 »
Wie Harm6 ja erläuterte, ist \addlyrics nur eine Abkürzung, die eben \denies "Voice" enthält.

Das habe ich so nicht geschrieben.
Sondern: \addlyrics setzt den Voice-Kontext. Aber der TabStaff akzeptiert keine Voice.

Wäre doch interessant, ob der "neue Code" von harm6/Eluze auch in 2.16 funktionert? Könnte das mal jemand versuchen und das Ergebnis posten? Meine Version 2.16 ist ja weg.
Du könntest überlegen mehrere Versionen zu benutzen/installieren.
Ich selbst habe fünf davon.
Vermutlich hat Eluze mehr.
Phil Holmes hat mal geschrieben er hätte 60+ (falls ich mich recht erinnere).

Gruß,
  Harm

harm6

  • Member
Re: Tabs mit Text
« Antwort #9 am: Donnerstag, 11. Juli 2013, 22:52 »
Hallo nochmal,

Zitat
Wie Harm6 ja erläuterte, ist
 \addlyrics
nur eine Abkürzung, die eben
\denies "Voice"
enthält.

Ob das so sein muss, kann ich nicht beurteilen, habe zu wenig Ahnung von lilypond.

Ich habe im vorangegangenen post schon richtiggestellt was ich tatsächlich gesagt habe. ;)

Darüberhinaus habe ich mal versucht zu identifizieren welche files man patchen müßte um \addlyrics auch für TabVoice anwendbar zu machen:

ly:syntax-constructors.scm
define-music-display-methods.scm
lily-lexer.cc
parser.yy
Wahrscheinlich noch deutlich mehr

Mit anderen Worten: Operationen am offenen Gehirn.
Da rühr ich keinen Finger, aber David Kastrup nimmt ja auch Aufträge an.

Gruß,
  Harm

eluze

  • Member
Re: Tabs mit Text
« Antwort #10 am: Donnerstag, 11. Juli 2013, 23:22 »

Du könntest überlegen mehrere Versionen zu benutzen/installieren.
Ich selbst habe fünf davon.
Vermutlich hat Eluze mehr.
Phil Holmes hat mal geschrieben er hätte 60+ (falls ich mich recht erinnere).


in der tat - ich habe 64 versionen von 2.12.3 bis 2.17.20 (platz auf dem harddisk oder sonst wo ist ja heute kein problem mehr)

und ich habe ein kleines .bat programm (lymv [ly multiple versions], das mir erlaubt, einen bestimmten release (2.12, 2.13 …) zu laden:

so kann ich mit lymv "c:\program files (x86^)" lilypond 2.17 test.ly auf einen schlag alle versionen die ich heruntergeladen habe für das file test4 laufen lassen und danach die resultate vergleichen. es erzeugt ganz einfach je ein pdf mit den gängigen einstellungen und der vorangestellten versionsnummer.

falls jemand interessiert ist, kann ich das batch file gerne zur verfügung stellen

Eluze

bblochl

  • Member
Re: Tabs mit Text
« Antwort #11 am: Freitag, 12. Juli 2013, 18:12 »
Das Thema hat sich mittlerweile weit von
Zitat
Tabs mit Text
entfernt, vielleicht sollte man die Beiträge dazu in einen neuen Thread verschieben?

Ich benutze seit rund 30 Jahren nur Linux, eine BAT-Datei würde mir nichts nutzen. Dennoch interessiert mich das Thema.

In Linux befinden sich die Libraries in  /usr/local/lilypond/usr/lib und guile, lilypond, lilypond-book .... und viele mehr in /usr/local/lilypond/usr/bin/. Beim Aufruf mit dem Shell-Script lilypond im Verzeichnis /usr/local/lilypond/usr/binin werden diese Pfade gesetzt und die Compilation ausgeführt.

Man müsste also für verschiedene Versionen diese Verzeichnisse unterscheidbar halten, was in der Standardinstallation nicht vorgesehen ist. Man müsste dazu viele Shell-Scripte durchdacht ändern, denn - wie sonst? erfolgt die Installation oder die Compilation über Shell-Scripte. Das ist sicher möglich, aber ziemlich viel Aufwand bis man das Gesamtsystem von Scripten  bug-free hat.

Grüße

PS: / (slash) ist in Linux das, was bei M$ der back-slash \ ist.
« Letzte Änderung: Freitag, 12. Juli 2013, 18:15 von bblochl »

eluze

  • Member
Re: Tabs mit Text
« Antwort #12 am: Samstag, 13. Juli 2013, 00:40 »
Zitat
Das Thema hat sich mittlerweile weit von
Zitat
Tabs mit Text
 entfernt, vielleicht sollte man die Beiträge dazu in einen neuen Thread verschieben?
gerne + unbedingt! - Eluze

bblochl

  • Member
Re: Tabs mit Text
« Antwort #13 am: Samstag, 13. Juli 2013, 11:33 »
Verschieben kann wohl nur ein Administrator - wer kennt einen der den ansprechen/mailen kann?
Thema vielleicht "Versionsverwaltung" unter "Allgemeine Diskussion"? Evebtell getrennt nach "Versionsverwaltung Linux" und Versionsverwaltung M$"?

Grüße
« Letzte Änderung: Samstag, 13. Juli 2013, 11:35 von bblochl »