Lilypond: Notenblättchen selbstgemacht

Posted by quark007 | Posted in Computer & IT, Programmieren / Coden | Posted on 19-05-2015-05-2008

9

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
}

Ich habe mir nicht vorstellen können, dass es so einfach sein kann Noten in eine einheitliche ansprechende Form zu bringen. Lilypond bietet noch viel mehr Möglichkeiten: Chorsätze, Partituren uvm. So umfangreich hätte ich es nicht gebraucht, aber durch die einfach Handhabung hat es sich in jedem Fall gelohnt. Wer ein wenig Noten kann, der wird auch mit Lilypond klar kommen. Hier mal ein Beispiel aus dem Liedheft:

#(set-default-paper-size "a5" )
\version "2.18.2"
\paper {
  oddFooterMarkup = \markup{ \fill-line{ \line{" "} } }
}
\markup {
  \column{
    \line{ \null}
    \line{ \lower #5 \large \bold { Möge die Straße uns zusammenführen } }
  }
}
\score{
  <<
    \new Staff {
      \relative c''
      \new Voice = "strophe" {
        \key f \major
        \autoBeamOn
        \time 4/4
        \repeat unfold 1
        { 
          a4 a8^[ c] g4 g | f8[ f] f[ a] e4 e | d8[ e] f[ bes] a[ g] f a | g2 r2
          a4 a8^[ c] g4 g | f4 f8[ a] e4 e8 e | d8[ e] f[ bes] a[ g] f e | f2. r4
        }
        d4. f8 e4 g | f a g bes | a8 [a] a[ a] a[ g] f[ a] | g2. r4 |
        a4 a8^[ c] g4 g | f f8( a) e4 e | d8[ e f bes] a[ g f e] | f2. r4 \bar "|."
      }
    }
    \new Lyrics \lyricsto "strophe" {
      <<
        {
          \set stanza = #"1. " 
          \set associatedVoice = "strophe"
           Mö -- ge die Stra -- ße | uns zu -- sam -- men -- füh -- ren | und der Wind in Dein -- em Rü -- cken | sein; 
           sanft fal -- le Re -- gen | auf Dei -- ne Fel -- der und | warm auf dein Ge -- sicht der Son -- nen | schein.
        }
        \new Lyrics {
          \set stanza = #"2. "
          \set associatedVoice = "strophe"
          Füh -- re die Stra -- ße, | die __ _ du __ _ gehst __ _ | im -- mer nur zu Dein -- em Ziel berg -- | ab;
          hab' wenn es kühl wird | war -- me Ge -- dan -- ken __ _ | und den vol -- len Mond in dunk -- ler | Nacht.
        }
        \new Lyrics {
          \set stanza = #"3. "
          \set associatedVoice = "strophe"
          Bis wir __ _ uns mal | wie -- _ der -- _ se -- hen | hof -- fe ich dass Gott Dich nicht ver- | lässt;
          er hal -- te dich in | sein -- en __ _ Hän -- den, doch | drü -- cke sei -- ne Faust dich nicht zu | fest.
        }
      >>
      Und bis wir uns | wie -- der -- se -- hen | hal -- te Gott dich fest in sei -- ner | Hand |
      Und bis __ _ wir uns | wie -- der -- se -- hen | hal -- te Gott dich fest in sei -- ner | Hand      
    }
  >>
  \layout {
    indent = #0
  }
}

Die Ausgabe sieht dann wie folgt aus:
Strasse_01Ich hoffe Appetit auf Lilypond machen zu können. Es ist ein wirklich ausgezeichnetes Projekt, das ich komischer Weise bisher nicht kannte. Das Abtippen der Noten ging mir relativ schnell von der Hand ( ~ 15 Minuten pro Lied). Man wird auf Fehler im Rythmus hingewiesen und anhand der Ausgabe kann man gut erkenne, ob die Silbentrennung vom Liedtext korrekt ist. Mit — (Trennung in 2 Silben mit jeweils einer zugeordneten Note) und __ (Verlängerung einer Silbe auf eine weitere Note) sowie Bögen lässt sich alles sehr gut anpassen. Je mehr Lieder man eingegeben hat, desto leichter und schneller geht es. Die Dokumentation zu Lilybond ist außerdem so umfangreich, dass man zu fast jedem Problem eine Lösung findet.

Auf Anfrage (per Kommentar oder Mail) kann ich auch den Code für folgende Lieder anbieten:

  • Hallelluja (Taize)
  • Heilig, heilig, heilig, Hosanna in der Höhe
  • Herr, gib uns deinen Frieden
  • Ich lobe meinen Gott
  • Ins Wasser fällt ein Stein
  • Kyrie
  • Möge die Strasse uns zusammenführen
  • Vater Unser (nach Janssens)
  • Wenn das Brot das wir teilen
  • Wo Menschen sich vergessen

Edit1: Bei dem Straßen-Lied ist mir ein Fehler in der ersten Strophe unterlaufen, den ich im Code korrigiert habe. Das Bild habe ich nicht erneuert.

Comments posted (9)

Hallo,

wir haben gerade genau das gleiche Problem wie du in deinem Blog beschreibst. Unsere Hochzeit ist in 4 Wochen und wr bereiten unser Kirchenblatt vor und sind auch unzufrieden über die Darstellung der Noten, die wir bisher finden konnten.

Wir benötigen 2 Kirchenlieder und du hast lustigerweise bereits beide Notensätze in LilyPond übernommen. Könntest du uns den Code zu “Ins Wasser fällt ein Stein” und “Möge die Strasse uns zusammenführen” zusenden? Das zweite können wir uns auch aus deinem Blog kopieren.

Ich (Holger) habe auch schon Erfahrung mit LaTeX gesammelt beim Schreiben meiner wissenschaftlichen Arbeiten, so dass für mich LilyPond hoffentlich keine große Herausforderung darstellt.

Vielen Dank und du hast einen sehr schönen Blog!

Die E-Mail ist raus.
Viel Freude und Erfolg damit 🙂

Witzig, wir haben damals unser Liedheft für die Hochzeit mit Lilypond und LaTeX gesetzt und für die Taufen der Kinder und dann auch noch für andere Gottesdienste…

Macht schon Spaß.

Oben ist in der ersten Strophe Str – aße etwas seltesam getrennt, ich würde wie in der zweiten Strophe Stra – ße vorschlagen.

Und ihr habt eine Strophe gestrichen, das Lied müsste vier haben.

Find ich super. Ich werd das Programm auch für weitere Anlässe im Gedächtnis behalten.

Du hast Recht, der Fehler ist mir nicht aufgefallen und auch kein anderer hat bislang etwas gesagt. Ich habs im Code aktualisiert, das Bild werde ich aber nicht nocheinmal neu machen.
Ja eine Strophe haben wir weggelassen, weil es sonst nicht mehr auf eine Seite gepasst hätte und der Gottesdienst (eh schon ne gute Stunde) noch länger geworden wäre.

Viel Spaß weiterhin mit Lillypond und ein schönes Wochenende 🙂

Hallo!

Guter Blogeintrag, vielen Dank, das hat uns weitergeholfen!

Wir feiern bald unsere Hochzeit und für das Kirchenheft habe ich bereits eine LaTex-Vorlage erstellt.
Zuerst wollten wir die Noten einfach auslassen. Aus Ehrgeiz habe ich nun dennoch begonnen mich mit Lilypond zu beschäftigen und auch schon erste Ergebnisse (mit dem Lied “Kleines Senfkorn Hoffnung”) erzielt. Es wäre dennoch hilfreich, wenn du mir den Code zu “Ein Stein fällt ins Wasser” mailen könntest.

Dank und Gruß

Marco

Hallo,

so ein Kirchenheft muss schon schön sein und deswegen würde ich mich freuen, wenn du mir “Ins Wasser fällt ein Stein” zu Mailen könntest.
Auf diese Weise könnte ich die Braut richtig glücklich machen.

Danke für deine Mühe.

Dirk

Hallo,

ich nutze selbst seit einigen Jahren für Liedhefte Lilypond+LaTeX. Nun brauche ich kurzfristig „Ins Wasser fällt ein Stein“ und würde mich daher sehr freuen, wenn du mir die Daten zuschicken könntest.

Vielen Dank.

Gruß
Martin

Hallo,
ich bin durch Zufall auch auf deine Seite gestoßen, weil ich gerade uns Liedhaft erstelle. Könntest du mir bitte “Ins Wasser fällt ein Stein” mailen. Das ist noch das einzige das mir fehlen würde.

Vielen Dank!

Hi, ich bin auch noch auf der Suche nach den Noten für “Ins Wasser fällt ein Stein” und “Wo Menschen sich vergessen”. Würde mich freuen wenn du mir die lilypond Dateien zukommen lassen könntest 🙂 Danke!

Write a comment