Autor Thema: minimum-distance wirkt nicht auf Silben  (Gelesen 2728 mal)

Luftikussl

  • Member
minimum-distance wirkt nicht auf Silben
« am: Montag, 7. November 2016, 14:42 »
Hallo!

Die Eigenschaft minimum-distance wirkt leider nicht auf die Silben (wie in der Hilfe beschrieben), sondern nur auf die Wort-Abstände. Was muß ich anders machen?

Liedtext in einer fremden Sprache zu singen, finde ich besonders schwer. Daher versuche ich ihn übersichtlicher darzustellen, gerade auch die Silben getrennt.

Siehe Datei im Anhang. Mir ist es nicht gelungen, das Problem in einem kürzeren Beispiel darzustellen. Tut mir leid.

Vielen Dank für Hilfe!

Gruß

Luftikussl

harm6

  • Member
Re: minimum-distance wirkt nicht auf Silben
« Antwort #1 am: Montag, 7. November 2016, 22:55 »
Hallo,

Zitat
Die Eigenschaft minimum-distance wirkt leider nicht auf die Silben (wie in der Hilfe beschrieben), sondern nur auf die Wort-Abstände.

Die deutsche Übersetzung ist in der Tat irreführend.

Das englische Original:
Zitat
To increase the spacing between lyrics, set the minimum-distance property of LyricSpace.
redet von Lyrics, nicht Silben (syllables).

Aber Silben werden durch LyricHyphen getrennt, also:

\layout {
    \context {
      \Lyrics
      \override LyricSpace.minimum-distance = #2.0
      \override LyricHyphen.minimum-distance = #2.0
    }
}

HTH,
  Harm

Luftikussl

  • Member
Zusatzfrage font-size
« Antwort #2 am: Dienstag, 8. November 2016, 09:55 »
Hallo Harm,

das ging ja wunderbar schnell und absolut kompetent, Danke!

Da traue ich mich, gleich noch eine Frage nachzuschieben.

Um nicht wie "Kindergarten- Noten" auszusehen, soll nur der Text vergrößert werden, nicht die Noten.

Nach Probieren fand ich
\override LyricText.font-size = #2(OT: Wo und wie findet man so etwas am besten??)

Nachträglich fand ich unter
http://lilypond.org/doc/v2.19/Documentation/internals-big-page.html#lyrictext
daß die Schriftgröße damit "relativ" eingestellt wird.

Kann ich irgendwie auch die Größe, eventuell bei der Schriftart "absolut" (in pica) eingeben?

Nochmals Dank für Hilfe!

Gruß

Luftikussl

Manuela

  • Member
Re: minimum-distance wirkt nicht auf Silben
« Antwort #3 am: Dienstag, 8. November 2016, 12:06 »
Entire document fonts

\paper  {
  #(define fonts
    (make-pango-font-tree "Times New Roman"
                          "Nimbus Sans,Nimbus Sans L"
                          "Luxi Mono"
                          (/ staff-height pt 20)))
}

Je kleiner die Zahl, desto größer die Schrift. Mit "10" statt "20" wird es doppelt so groß.

Einzelne Layoutobjekte kannst du mit font-size ändern, wenn sie das Font-Interface besitzen.
Z.B. Taktnummerierung (BarNumber) unterstützt das FontInterface (nach unten scrollen).

Du kannst also beliebig irgendwo während der Musik einen Befehl
\override Score.BarNumber.font-size = #2 absetzen. Score muss du deswegen angeben, weil die Taktnummerierung auf Score-Ebene durchgeführt wird.
Wie findet man das heraus? Du verfolgst den Link zum Bar_number_engraver und schaust nach, in welcher Umgebung (=Context) dieser Engraver normalerweise auftritt.

This engraver creates the following layout object(s):

BarNumber.

Bar_number_engraver is part of the following context(s): Score.

Wenn du wissen willst, welche Layoutobjekte in welchem Context vorkommen, schaust du bei den Contexten nach.
« Letzte Änderung: Dienstag, 8. November 2016, 12:22 von Manuela »

Manuela

  • Member
Re: minimum-distance wirkt nicht auf Silben
« Antwort #4 am: Dienstag, 8. November 2016, 12:39 »
Noch etwas:

Vielleicht kannst du ja aus meinem Erfahrungsbericht lernen und die Fehler, die ich gemacht habe, vermeiden

harm6

  • Member
Re: minimum-distance wirkt nicht auf Silben
« Antwort #5 am: Dienstag, 8. November 2016, 19:35 »
Zitat von: Luftikussi
Kann ich irgendwie auch die Größe, eventuell bei der Schriftart "absolut" (in pica) eingeben?

Hier weiß ich nicht genau was Du eigentlich meinst.
Warum reicht
\override LyricText.font-size = #2
nicht?

Manuelas Vorschlag beinflußt jeglichen Text. Falls Du das haben willst, ok.

Oder schwebt Dir etwas vor wie abs-fontsize für markup?
Dann geht:

\version "2.19.49"

\new Voice { g'2 c'' }
\addlyrics {
  \markupMap LyricEvent.text
             \markup
               \abs-fontsize #20
               \etc
             { Oh yes! }
}

Gruß,
  Harm

Manuela

  • Member
Re: minimum-distance wirkt nicht auf Silben
« Antwort #6 am: Mittwoch, 9. November 2016, 05:31 »
Hier weiß ich nicht genau was Du eigentlich meinst.
Warum reicht
\override LyricText.font-size = #2
nicht?


Ich denke, ich verstehe, was Luftikus meint.

Es gibt nicht nur LyricText, sondern auch noch Markup z.B. Wenn man Lieder setzt, will man den Strophentext unterhalb der Noten in gleicher Größe haben wie die Lyric.

Lyric kann man mit \context ändern, für Top-Level-Markups habe ich diese Möglichkeit nicht gefunden. Einen \context \Markup gibt es nicht (oder ich habe ihn übersehen).

Luftikussl

  • Member
Re: minimum-distance wirkt nicht auf Silben
« Antwort #7 am: Freitag, 11. November 2016, 09:56 »
Hallo!

Danke Euch Helfern!

Die Ausführungen von Manuela sind ja umfangreich, da werde ich ein Stück brauchen, ehe ich mich durchgekämpft habe. Ich möchte es aber mal probieren. Und nein, ich meine wirklich nur den Liedtext.

Die Möglichkeit von Harms scheint mir für meine Bedürfnisse sehr gut zu, vor allem kann ich sie wohl schnell umsetzen, da wir noch diese Woche aus entsprechenden Noten singen wollen.

Allerdings kam bei meiner 2.18.2 Version Fehlermeldungen, geht das nur mit der neuen 19er?

Gruß

Luftikussl

harm6

  • Member
Re: minimum-distance wirkt nicht auf Silben
« Antwort #8 am: Freitag, 11. November 2016, 23:19 »
Zitat
Die Möglichkeit von Harms scheint mir für meine Bedürfnisse sehr gut zu, vor allem kann ich sie wohl schnell umsetzen, da wir noch diese Woche aus entsprechenden Noten singen wollen.

Allerdings kam bei meiner 2.18.2 Version Fehlermeldungen, geht das nur mit der neuen 19er?

Ja. Deshalb hatte ich extra \version "2.19.49" geschrieben.

Aber vielleicht geht auch:
\version "2.18.2"

absLyrText =
#(define-music-function (parser location val)(number?)
#{
  \override LyricText.before-line-breaking =
    #(lambda (grob)
      (ly:grob-set-property! grob 'text
        (markup #:abs-fontsize val (ly:grob-property grob 'text))))
#})

\new Voice { g'2 c'' }
\addlyrics {
  \absLyrText #20 { Oh yes! }
}

Ist aber nicht über das gegebene Beispiel hinaus getestet.

Gruß,
  Harm

Manuela

  • Member
Re: minimum-distance wirkt nicht auf Silben
« Antwort #9 am: Samstag, 12. November 2016, 08:54 »
Die Ausführungen von Manuela sind ja umfangreich, da werde ich ein Stück brauchen, ehe ich mich durchgekämpft habe. Ich möchte es aber mal probieren. Und nein, ich meine wirklich nur den Liedtext.


Hallo,

wenn du wirklich nur den Liedtext (=Lyrics plus Nebengeräusche wie Hyphen und Extender...) ändern willst, dann empfehle ich dir, die Einstellungen im Context vorzunehmen. Mit wenigen Tippern auf der Tastatur kannst du dann die Schriftgröße in allen Liedern ändern, die diesen Context verwenden (per include z.B.).

Grundsätzlich ist es empfehlenswert, Layoutänderungen per Context-Befehl durchzuführen. Dadurch kann ich bei meinen Liedern z.B. die 2. Stimme ganz ausschalten, wenn ich eine Ausgabe nur einstimmig drucken möchte, indem ich einfach den betreffenden Context adaptiere (ich habe für alle 2. Stimmen den Context SecondVoice verwendet, heißt natürlich nur bei mir so).