Lilypond: Notenblättchen selbstgemacht
Posted by quark007 | Posted in Computer & IT, Programmieren / Coden | Posted on 19-05-2015-05-2008
22
Für unsere Hochzeit habe ich ein Programm gesucht, mit dem ich die Liedzettel selber machen kann. Im Internet findet man zwar viele Lieder als Bild, aber nie alle in gleicher Schriftart und -größe. Bei der Suche bin ich dann auf Lilypond gestoßen, ein unter GNU GPL stehendes OpenSource Projekt, dass sich das erstellen von Liedblättern, Kompositionen und ganzer Partituren auf die Fahne schreibt.
Es ist ähnlich angelegt wie LaTeX mit Befehlen und einer reinen Texteingabe. Erst durch das Kompilieren in PDF, PNG und/oder Midi kann man das Ergebnis betrachten. Zur einfacheren Handhabung habe ich mich für den Frescobaldi-Editor entschieden. Dieser bietet das für mich wichtige Feature, direkt neben der Texteingabe die kompilierte Ausgabedatei anzuzeigen. Zudem springt er bei Klick auf eine Note an die korrekte Stelle im Quelltext.
Da das Liedblatt bei uns in Din A5 gedruckt werden soll, hat es bei mir nicht funktioniert alle Stücke in einem PDF auszugeben. Die Aufteilung auf die Seiten war mir einfach nicht sauber genug. Also habe ich alle Stücke einzeln kompiliert und mit PDF Split And Merge Basic zusammengefügt, zumal noch Deckblatt, Leerseiten und eine Anfahrtsskizze hinzu kommen mussten.
Beim Erstellen der Stücke sind mir eine Dinge in die Quere gekommen, die ich hier erklären und ausräumen will.
1. Mich hat die Einrückung der ersten Notenzeile zu Beginn des Stückes gestört. Um dies abzustellen, muss in den \layout-Block die folgende Zeile hinzugefügt werden:
\layout { indent = #0 }
Wenn man die Einrückung erhöhen will, erhöht man einfach den Wert 0 auf einen passenden >0
2. Außerdem war auf jeder letzten kompilierten Seite ein Hinweis auf das Lilypond Projekt. Dieser Hinweis wäre auf jeder meiner Seiten aufgetaucht, was ich für nicht erträglich erachte. Abhilft bringt folgender Code:
\paper { oddFooterMarkup = \markup{ \fill-line{ \line{" "} } } }
Aus Rücksicht auf das Projekt, sollte man aber an das Ende des gesamten Heftes den Hinweis anfügen. Bekanntheit ist für solche Projekte äußerst wichtig.
3. Bei einem Stück kam es vor, dass eine einzelne Zeile auf eine weitere Seite geschoben wurde. Das ist für einen Liedzettel aber äußerst unpraktisch. Ich habe daher folgenden Code gefunden, der den Abstand der Notenzeilen ändert. Mit den Werten muss man etwas spielen, gerade wenn noch Liedtext unter den Noten vorhanden ist. Bei mir haben die folgenden Zeilen geholfen:
\paper { system-system-spacing = #'((padding . 0.5) (basic-distance . 0.5)) }
Damit konnte ich ein wenig mehr Platz gewinnen und so das Lied auf eine Seite gebracht.
4. Wenn mehrere \score Umgebungen auf eine Seite gebracht werden sollen, werden sie automatisch so angeordnet, dass es (angeblich) am Besten aussieht. Das Auseinanderziehen von Liedzeilen empfinde ich aber als nicht schön. Mit den Anweisungen:
\paper { ragged-last-bottom = ##f ragged-bottom = ##f }
wird das Einhängen des Inhalts am Seitenende deaktiviert und somit wieder von oben gestapelt angezeigt.
5. Außerdem haben mich die Seitenzahlen gestört. Diese ließen sich mit folgender Funktion deaktivieren:
\paper { print-page-number = ##f }