Autor Thema: Liniendicke der Notensysteme | Akkordabstände, deutsche Akkordnamen | Antykwa  (Gelesen 5525 mal)

johas

  • Member
Hallo,

mein Projekt ist der Satz einer größeren Anzahl von einfachen Liedern für ein Liederbuch. Dazu folgende Fragen:

1. In der Standardeinstellung sind die Notenhälse ungefähr genauso dick wie die Notenlinien. Dadurch wirkt eine Seite besonders bei schlechtem Licht ziemlich unübersichtlich. Wie kann ich einstellen, dass etwas dünnere Notenlinien gedruckt werden?

2. Standardmäßig führt die Verwendung von Akkorden und Text dazu, dass die Akkorde über einem System sehr knapp unter dem Liedtext des darüberliegenden Systems stehen. Ich möchte deswegen die Akkorde näher an das zugehörige System rücken und, wenn das nicht reicht, den Abstand zwischen zwei Systemen leicht erhöhen. Wie geht das? Führt eine Änderung der Akkordposition dazu, dass die Akkorde ggf. mit hohen Noten kollidieren, oder erkennt Lilypond solche Kollisionen selbstständig und setzt den entsprechenden Akkord einzeln etwas höher?

3. Ist absehbar, ob in einer der kommenden Versionen die deutschen Bezeichnungen für Moll-Akkorde unterstützt werden? ( etwa "e" statt "Em"?)

4. Ich habe versucht, Antykwa bzw. Antykwa Torunska als Schriftart für Titel, Akkorde und Liedtext einzustellen; mit "make-pango-font-tree". Leider scheint Lilypond die installierte Schriftart nicht zu erkennen. Kann ich da nachhelfen? Und wie passe ich die Größe der Akkorde und Liedtexte global an, ohne auch die Notengrößen zu beeinflussen?

Herzlichen Dank schon jetzt,
johas (begeistert von den Möglichkeiten, die Lilypond bietet)

derHindemith

  • Member
Re: Liniendicke der Notensysteme | Akkordabstände, deutsche Akkordnamen | Antykwa
« Antwort #1 am: Sonntag, 28. Dezember 2008, 19:36 »
Ich kann nur für Nr. 4 sagen dass mit lilypond -dshow-available-fonts du kannst sehen welche Schriftarten beriets verfügbar sind, und dann benutzen. Und wenn die Schriftart font-config fähig ist, dann braucht nur fontconfig Bescheid wissen wo die ist.
Für Macintosh kann es sein dass einige Schriftarten in Ordner sind wo fontconfig nicht sucht.

etilli33

  • Member
Re: Liniendicke der Notensysteme | Akkordabstände, deutsche Akkordnamen | Antykw
« Antwort #2 am: Montag, 29. Dezember 2008, 11:24 »
Hallo und willkommen im Forum.

Ein paar Hinweise:

1. Das zweite Beispiel unter der Adresse http://lilypond.org/doc/v2.12/Documentation/user/lilypond/Modifying-single-staves#Modifying-single-staves
wird dir helfen.

2. das gab es schon mehrmals hier im Forum, z. B. hier: https://liarchiv.joonet.de/index.php?topic=148.0
Ich schätze, Kollisionen sollten automatisch vermieden werden, wenn du Version 2.11 bzw. 2.12 einsetzt. Auch der Abstand zwischen den Systemen kann erhöht werden, dazu mehr in http://lilypond.org/doc/v2.12/Documentation/user/lilypond/Spacing-issues#Spacing-issues
(leider nur auf englisch)

3. Das ist in der Fehlerliste bzw. Wunschliste enthalten, aber es hat sich bisher noch niemand daran gemacht, es einzubauen.

4. Die schriftarten haben unter LilyPond ihre "wirklichen Namen", die meistens mit den PostScript-Namen zusammenfallen. Also entweder wie schon HIndemith geschrieben hat eine Kommandozeile auf machen und den Befehl
lilypond -dshow-available-fonts x
eingeben. Es kommt leider eine sehr lange Liste, aber die Namen Antykwa Torunska sollten dabei sein.
Meiner Meinung nach müsste es auch gehen, ein Schriftartenvorschauprogramm aufzumachen und von da den Namen dann abzuschreiben.

Zur Größe von Liedtexten: mit folgendem Schnipsel

{
\time 3/4
\relative c' { c2 e4 g2. }
\addlyrics { play \huge the game }
}

werden die letzten beiden Worte größer gesetzt. Befehle, die für die Schriftgröße zur Verfügung stehen, finden sich in http://lilypond.org/doc/v2.12/Documentation/user/lilypond/Formatting-text#Formatting-text
Man kann auch mit \override arbeiten, sodass die Änderungen global angenommen werden, aber für ein kleines Projekt reicht es ja auch aus, das direkt in den Notentext zu schreiben. Wenn du eine große Arbeit vorhast, schau dir die Kapitel zur Arbeit mit Variablen an, etwa hier: http://lilypond.org/doc/v2.12/Documentation/user/lilypond-learning/Working-on-LilyPond-projects#Working-on-LilyPond-projects

Ich hoffe das hat etwas weiter geholfen. Wenn du weitere Fragen hast, nur zu!

Gruß
Till

johas

  • Member
Re: Liniendicke der Notensysteme | Akkordabstände, deutsche Akkordnamen | Antykwa
« Antwort #3 am: Montag, 29. Dezember 2008, 15:23 »
Hallo,

danke für eure Antworten. Leider bin ich noch nicht viel weiter - was wahrscheinlich in erster Linie damit zusammenhängt, dass ich momentan mangels Zeit an meinen Lilypond-Dateien drehe, ohne deren Struktur völlig verstanden zu haben. Zum umfassenden Einarbeiten fehlt mir leider die Zeit, und vor der Dokumentation stehe ich oftmals wie der Ochs vorm Berg. Ich hoffe also, dass ich euch mit meinen Fragen nicht über Gebühr belästige.

@Hindemith: Leider taucht die von mir gesuchte Schrift nicht in dieser Liste auf - sie wird in LaTeX und OpenOffice zwar erkannt, offenbar aber nicht von Lilypond. Ich arbeite unter KDE 4.2 beta, und in den Systemeinstellungen / Schriftartensinstallation ist die Schrift gelistet.

@Till:
1. Leider ändert das dortige Beispiel nicht nur die Notenlinienstärke, sondern auch die Notenhälse. Das will ich eigentlich nicht - aber vielleicht ist es ja sinnvoll und auch so wird das System übersichtlicher und besser lesbar. Aber es gelingt mir nicht, die Option einzubinden; Ergebnis ist immer ein zusätzliches System ohne Notenlinien und keine dickeren Linien ansonsten. Habe ich das an der falschen Stelle eingebaut?
2. Auch \VerticalAxisGroup schaffe ich nicht, richtig einzusetzen - ich habe keine Ahnung (und keine Information darüber gefunden), wie ich mit den beiden Werten umgehe. Auf jeden Fall wachsen die Abstände nicht proportional mit den Werten, sondern sprunghaft oder manchmal überhaupt nicht - ich kann das nicht nachvollziehen.

So sieht mein Staff-Context aus; ich hatte die StaffSymbol- und VerticalAxisGroup- auch schon unter \global stehen und im ChordNames-Context; erfolglos.
      
\context Staff = Oben
   \override StaffSymbol #'thickness = #2
   \override VerticalAxisGroup #'minimum-Y-extent = #'( -1 . 1 )
   <<
   \global
   \context Voice = "eins" \oberstimme
   % \context Voice = "zwei" \unterstimme
>>
\lyricsto "eins" \new Lyrics { \firstrepone } % usw...

4. S.o. - ich glaube, ich geb's auf und verwende einfach Palatino oder Bitstream. Das mit der Schriftgröße des Liedtextes und der Akkorde hat allerdings geklappt:
\override Score . LyricText #'font-size = #-1
\override Score . ChordName #'font-size = #-1

Aber dafür ist mir noch Frage #5 eingefallen:
5. Ich will unter dem Lied die übrigen Strophen nur mit Text abdrucken, allerdings sollen auch hier Akkordbezeichnungen über jeder Textzeile gedruckt werden. In einem Text- oder DTP-Editor ist das im Grunde nur bei Verwendung von Monospaced-Schriften wie Courier sinnvoll umzusetzen. Lässt sich das mit Lilypond irgendwie machen - indem man z.B. ganz normal Text und Akkordbezeichnungen setzt - ohne Noten? Oder die Noten für diese Strophen "abschaltet"?
Oder würdet ihr für ein Liederbuch doch eher raten, Lilypond mit DTP-Software zu kombinieren und alles außer den Noten dort zu setzen?

Viele Grüße,
johas

derHindemith

  • Member
Re: Liniendicke der Notensysteme | Akkordabstände, deutsche Akkordnamen | Antykwa
« Antwort #4 am: Montag, 29. Dezember 2008, 16:55 »
Für die Schriftarten kann ich nur sagen dass mindestens in MacOSX fontconfig sucht nicht in ~/.fonts aber doch in /usr/share/fonts. Villeicht brauchst du symlinks, oder wenn möglich, der Schriftart einfach nur bewegen.

derHindemith

  • Member
Re: Liniendicke der Notensysteme | Akkordabstände, deutsche Akkordnamen | Antykwa
« Antwort #5 am: Montag, 29. Dezember 2008, 17:05 »
Ich empfehle auch arbeiten von einer ziemlich gute handgeschriebene Partitur. Direkt in Lilypond geht, aber oft heisst dass einfach nur viel mehr Arbeit.

etilli33

  • Member
Re: Liniendicke der Notensysteme | Akkordabstände, deutsche Akkordnamen | Antykwa
« Antwort #6 am: Montag, 29. Dezember 2008, 18:59 »
Hallo,

du wirst sicher verstehen, dass ich dir auch kein ganzes Beispiel liefern kann, weil ich nicht genau weiß was du willst. Ich muss mir das auch aus der Dokumentation anschauen, darum werde ich jetzt mal versuchen, dir das Lesen der Dokumentation beizubringen. Das ist am Anfang etwas verwirrend, aber sie ist mittlerweile so gut geschrieben, dass man sich da doch mit etwas Einarbeitung zurechtfindet. Und ein großer Teil ist auch auf deutsch zur Verfügung (Link unten auf jeder Seite).

Ich habe mal deinen kleinen Code genommen und so modifieziert, dass er läuft. So sieht das aus:

\score{

\new Staff = "Oben" \with {
   \override StaffSymbol #'thickness = #4
   \override VerticalAxisGroup #'minimum-Y-extent = #'( -1 . 1 )
   }
   <<
 
   \new Voice = "eins" { \voiceOne \relative c'' { a b c d } }
  \new Voice = "zwei" { \voiceTwo \relative c'' {a g f e } }


 \new Lyrics = "zwei" \lyricsto "eins" {\lyricmode { ein zwei drei vier } }
>>
}

Anmerkungen: Kontexte können mit \new begonnen werden, können benannt werden, um darauf zurückzuverweisen, und sie können mit \with einige verändernde \override Befehle aufnehmen. Die könnten auch im \layout-Block sein,  wenn sie global wirken sollen. Hier gelten sie nur für das eine System.
Wichtig sind die Klammern, mit { } werden "musikalische Ausdrücke" eingegrenzt, mit << und >> hingegen Ausdrücke gleichzeitig gesetzt. Wie du siehst, kann man sie ineinander schachteln. Gesangstext funktioniert so: man definiert einen neuen Kontext, dann erst kann man ihm mit \lyricsto eine STimme zuweisen und dann MUSS mit \lyricmode der Text eingegeben werden.

Ich hoffe mit diesem Grundgerüst kommst du erstmal weiter. Wenn du irgendwann mal etwas Zeit hast, dann bitte lies dir das Handbuch zum Lernen (LM) durch, oder aber wenigstens Kapitel 3 und 4.

Zu der Schriftart: ich habe hier auch die Schriftarten installiert, und zwar in ~/.fonts
Wenn ich vor den Code-Block oben noch das hier schreibe:

\paper  {
  myStaffSize = #20
  #(define fonts
    (make-pango-font-tree "Antykwa Torunska"
                          "Nimbus Sans"
                          "Luxi Mono"
                           (/ myStaffSize 20)))
}

bekomme ich genau was du suchst: der Gesangstext wird mit Antykwa Torunska gesetzt. Und zwar werden die otf-Schriften verwendet, so weit ich das sehen kann. (Evince sagt "type 1C")

So und nochmal das gleiche Beispiel, jetzt wurde die Dicke der Notenlinien auf vier gesetzt. Die Dicke der Hälse wird von den Dicken der Notenlinien abgeleitet und beträgt im Standard 1.3, wie aus der IR hervorgeht (Referenz der Interna). Wenn ich also hier einen Wert von 0.25 setze, beträgt die Dicke der Hälse nur noch ein Viertel der Dicke der Notenlinien.  Und wichtig: Notenlinien werden in einem Staff-Kontext erstellt, Hälse dagegen in einem Voice-Kontext.

\score{

\new Staff = "Oben" \with {
   \override StaffSymbol #'thickness = #4
   \override VerticalAxisGroup #'minimum-Y-extent = #'( -1 . 1 )
   }
   <<
 
   \new Voice = "eins" \with {
   \override Stem #'thickness = #.25
   } { \voiceOne \relative c'' { a b c d } }
  \new Voice = "zwei" { \voiceTwo \relative c'' {a g f e } }


 \new Lyrics = "zwei" \lyricsto "eins" {\lyricmode { ein zwei drei vier } }
>>
}


So, jetzt hier noch einen globaleren Ansatz, in dem jede STimme und jedes System angesprochen wird, weil sich dei Befehle in einer \layout-Umgebung innerhalb von \score befinden:

\score{

\new Staff = "Oben"
   <<
   \new Voice = "eins"  { \voiceOne \relative c'' { a b c d } }
   \new Voice = "zwei" { \voiceTwo \relative c'' {a g f e } }

   \new Lyrics = "zwei" \lyricsto "eins" {\lyricmode { ein zwei drei vier } }
   >>

\layout{
  \context {\Voice
    \override Stem #'thickness = #.25
  }
  \context {\Staff
    \override StaffSymbol #'thickness = #4
    \override VerticalAxisGroup #'minimum-Y-extent = #'( -1 . 1 )
  }
}

}

Ich weiß nicht, ob dieses VerticalAxisGroup in Staff oder Score gehört, das geht aber analog.

Zu 5: Es wird immer wieder gesagt: LilyPond ist nicht zum Textsetzen gedacht. Anders gesagt: es ist möglich, was du willst zu produzieren, etwa indem du kopierst, wie in der Dokumenation Strophen erstellt werden,  und dann immer für eine Zeile in den Schreibmaschinenschriftstil wechselst und für die nächste zurück in den normalen Stil. Ist wahrscheinlich nicht so schwer, wenn man sich da erstmal eingearbeitet hat, es hilft nur Probieren und Nachlesen. Einfacher und schneller ist es womöglich wirklich, das Pdf (oder png odf eps) in ein anderes Programm einzubinden und die STrophen hinzuzufügen. Du brauchst ja keine musikalische Information in den Akkordsymbolen, die du mit Text kombinierst.

So, jetzt habe ich vielleicht etwas an deinen Bedürfnissen vorbeigesucht, aber vielleicht hast du einen Einblick bekommen, wie vielfältig und andererseits auch teilweise schwer zu verstehen das Programm ist. :-) Du stehst ja offensichtlich auch nicht vollständig an den Anfängen, hast die erste Hürde schon geschafft. Bitte schreibe einfach ein Beispiel, wenn du nach etwas konkretem fragst, und zwar eins, dass deiner Meinung nach funktionieren müsste (also etwa die Variablen mit ein paar Noten austauschen usw.) Das macht es viel leichter, zu helfen, weil ich den Text einfach kopieren kann und dann etwa nur die Klammern hinzufügen muss, und es läuft...

Es erscheint dir wohl etwas wirr, aber bitte nimm dir irgendwann mal die Zeit, die LM zu lesen, da steht ganz genau, wie man diese \overrides einsetzt und in welchen Kontexten und wie man  an mehr Informationen kommt, wenn man nicht weiter weiß. Man muss sich die Häppchen zusammensuchen und dann miteinander kombinieren.

Viele Grüße
Till