Lilypond

Lilypond ist ein plattformunabhängiges Freeware-Notensatzprogramm (seit 1999), mit dem es möglich ist, Noten via Text zu codieren und dadurch in ein austauschbares und suchbares Format zu bringen
(Dokumentation unter http://lilypond.org/doc/v2.18/Documentation/notation/index).

Für den Notensatz braucht man einen Interpreter (download unter http://lilypond.org/download.de.html ) sowie möglichst ein Programm, mit dessen Hilfe man sich gleich das Ergebnis des Textcodes anzeigen lassen kann, wie z.B. Frescobaldi (download http://frescobaldi.org/ ). Es gibt sogar einen Online-Interpreter (unter http://lilybin.com/ ), jedoch lässt sich Lilypond bis jetzt noch nicht direkt in html einbetten.

Nach der Installation dieser beiden Dateien kann man sofort beginnen:

zuerst wird der Text mit dem Hinweis auf die aktuelle Lilypond-Version eingeleitet (um kompatibel zu nachfolgenden Versionen etc. zu bleiben):

\version "2.18.2"

Danach kann alles weitere folgen:

 

Noten werden in kleinen Buchstaben zwischen geschweifte Klammern {...} eingetragen, als z.B.

{
c d e f g a b c
}

Vor die Klammer wird meist eine Bezugsnote gesetzt (default ist die kleine Oktabe eingestellt), wie z.B. das eingestrichene c über

\relative c'

Also insgesamt:

\relative c' {
c d e f g a b c
}

Ein Klick auf den -Button in Frescobaldi startet dann den Interpreter und es zeigt sich eine Tonleiter vom eingestrichenen c' aufwärts (mit den default-Werten 4/4-Takt und Vierteln als Notenwerte):

 

Man kann hier auch zwischen den einzelnen Oktaven hin- und herspringen, z.B.:

{
c,,, c,, c, c c' c'' c'''
}

 

Alterierungen (# und b) werden direkt ausgeschrieben, also z.B. fis, cis, dis, as, es etc. Im Falle von h wird immer b geschrieben (englische Schreibweise), im Falle von b immer bes [?? whatever].

 

Die Notenlängen werden über Zahlenwerte hinter den Notennamen definert (default ist 4 = Viertel eingestellt), also z.B.

\relative c'{
c1
c2 c
c4 c c c
c8 c c c c c c c
c16 c c c c c c c c c c c c c c c
c32 c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c
}

 

Auftakte werden via \partial und einer Zahl für den Gesamtnotenwert eingeleitet, z.B.

\relative c' {
\partial 4 f8 e | c4 d e f g a b c
}

 

Punktierungen werden dabei mit einem Punkt hinter dem Buchstaben angegeben, z.B.:

\relative c'{
c4. c8 c4. c16 c
}

 

Triolen und X-tolen werden via \times oder \tuplet mit einem darauffolgenden Bruch eingebettet (3/2 für eine Triole, 4/3 für eine Quartole, 5/4 für eine Quintole), und danach erscheinen in geschweiften Klammern die entsprechenden Notenwerte, z.B.

\relative c' {
\tuplet 3/2 {c8 d e } \times 5/4 {c16 d e f g} a4 b c
}

 

Pausen werden mit einem r anstelle des Notennamens angegeben, z.B.

\relative c'{
c4. r8 c4. r16 c
}

 

Bindebögen zwischen zwei gleich hohen Noten werden mit Hilfe einer Tilde ~ gesetzt, z.B.

\relative c' {
c~ c8 d8 e f~ f4 g a b c
}

 

Legato- oder Phrasierungsbögen über mehrere Noten werden mit Klammern markiert ( ... ) oder \( ... \), z.B.

\relative c' {
c~ c8 \( d8 e f~ f4 \) ( g a b c )
}

 

Takt und Tempoangaben werden via \time und \tempo bestimmt, wobei bei Tempo sowohl Text (in Anführungszeichen) als auch Mentronomwerte angegeben werden können, z.B.

\relative c'{
\time 3/4
\tempo "nicht zu schnell" 4=120
c4. r8 c4
}

 

Die Tonart kann mit Hilfe des Befehls \key gesetzt werden, das Tongeschlecht via \major oder \minor, z.B.

\relative c' {
\key d \major
d e fis g | a b cis d
}

Es wird deutlich: auch wenn die Tonart gesetzt ist sollten alterierte Noten (cis, fis etc.) noch mal ausgeschrieben werden.

 

Der Notenschlüssel kann mit dem Befehl \clef gesetzt werden, z.B.

\relative c' {
\clef "treble"
c1
\clef "alto"
c1
\clef "tenor"
c1
\clef "bass"
c1
}

Über das Prozentzeichen % lassen sich auch Kommentare in den Text einbetten, z.B.

\relative c' {
\clef "treble" % Violinschlüssel
c1
\clef "alto" % Altschlüssel
c1
\clef "tenor" % Tenorschlüssel
c1
\clef "bass" % Bassschlüssel
c1
}

 

Dynamikzeichen können via \ppp bis \fff hinzugefügt werden, Crescendi und Decrescendi via \< bzw. \> und das Ende dieser Dynamikzeichen wird via \! angezeigt, z.B.

\relative c' {
c\ppp \< d e f\! g\fff a\> b c\! \ppp
}

 

Balken werden automatisch gesetzt, können aber via \autoBeamOff und \autoBeamOn aus und eingeschaltet werden, bzw. mit Hilfe von eckigen Klammern [ ... ] definiert werden, z.B.

\relative c' {
c8 d e f \autoBeamOff g a b [ c b ] a g f e d \autoBeamOn c b
}

 

Akzentuierungen und Fingersatz können via - hinzugefügt werden, ihre Position kann man bestimmen (über/unter der Note), indem man das - durch ein _ oder ein ^ ersetzt. Auch einzelne Worte können so an Noten angehängt werden. Über \markup {...} lassen sich die Texte an den Noten noch weiter formatieren z.B.

\relative c' {
c-^ d-+ e-- f-! g-> a-. b-_ c-4 b^3 a_2 g_1 f-"pizz" e_"arco" d^"schneller werden" c-\markup{ \dynamic ppp \small \bold { noch leiser werdend ... } }
}

 

Liedtexte lassen sich nach der Notenzeile via \addlyrics {...} hinzufügen, wobei Silben mit Bindestrichen und Leerzeichen entsprechend getrennt werden, z.B.

\relative c' {
c d e f | g a b c
}
\addlyrics {
Mu- si- ka- li- | sche A- kus- tik
}

Mit Hilfe von Unterstrichen _ lassen sich auch mehrere Noten auf eine Silbe bringen (pro "leere" Silbe ein Unterstrich) oder auch mehrere Silben auf eine Note (wenn die Silben mit Unterstrichen zusammengefügt werden), z.B.

\relative c' {
c d e f | g a b c
}
\addlyrics {
Mu- _ _ _ | si- kali- sche A-_kus-_tik
}

 

 

Verzierungen lassen sich via \grace {...} hinzufügen, Vorhalte durch \appoggiatura und Vorschläge mit \acciaccatura, z.B.

\relative c' {
\grace { e32 d } c4 d e \acciaccatura g16 f4 | g a b \appoggiatura b16 c4
}

 

Akkorde lassen sich in spitzen Klammern < ...> zusammenfassen, wobei die Zahl für die Notendauer hinter die Klammer geschrieben wird, z.B.

\relative c' {
<c e g>4 <c f a> <b d g>2 <c e g>1
}

 

Bei mehreren Systemen werden diese mit \new Staff eingeleitet und in spitze Doppelklammern << ... >> eingebettet. Will man die Systeme über eine Akkolade verbinden, dann kann man das ganze auch via \new PianoStaff einleiten, z.B.

\relative c'' {
\new PianoStaff <<
\new Staff { \clef "treble" c4 b a g f e d c }
\new Staff { \clef "bass" c,4 d e f g a b c}
>>
}

(für Orchestersätze kann man auch \new StaffGroup und für Chorsätze \new ChoirStaff einsetzen)

Man kann auch über die spitzen Doppelklammern und den Befehl \new Voice ="..." {...} mehrere Stimmen in einem Notensystem darstellen, z.B.

\new Staff \relative c' {
c16 d e f g a b c
<<
\new Voice = "1" { \voiceOne \relative c'
{
c4 d e f | g a b c
}
}
\new Voice = "2" { \voiceTwo \relative c''{
c4 b a g | f e d c
}
}
>> |
<<
{
c16 b a g f e d c
}
>> |
}

Über den Befehl \voiceXStyle (X=Nummer) lassen sich die verschiedenen Stimmen innerhalb eines Notensystems auch farblich trennen:

\new Staff \relative c' {
c16 d e f g a b c
<<
\new Voice = "1" { \voiceOne \voiceOneStyle
\relative c'
{
c4 d e f | g a b c
}
}
\new Voice = "2" { \voiceTwo \voiceTwoStyle
\relative c''{
c4 b a g | f e d c
}
}
>> |
<<
{ \voiceThreeStyle
c16 b a g f e d c
}
>> |
}

 

 

Für einfache Anwendungen (Darstellung einer oder weniger Notenzeilen) reichen diese Befehle. Komplexer wird es bei ganzen Partituren. Hier ist es gut, den gesamten Aufbau einer Lilypond-Datei an sich zu kennen:

\version "2.18.2"

\header {
% Hier kommen Angaben zum Titel, zum Komponisten etc. hin, z.B.

title = "irgendein Titel"
composer = "irgendein Komponist"
}

\book {
% wird automatisch von Lilypond gesetzt, jede Partitur wird als "Buch" betrachtet, die als PDF dann ausgedruckt werden kann

\score {
% wird automatisch von Lilypond gesetzt, hier beginnt der Kontext für die Noten eines einzelnen Werkes

\new Staff {
% hier wird die Art der Stimmgruppe angegeben (z.B. Klavier, Chor, Schlagwerk etc)

\new Voice {
% hier wird die Stimme innerhalb einer Notenzeile angegeben, z.B. bei vierstimmigem Chor auf zwei Notenzeilen mit jeweils Notenhälsen auf- und abwärts

\relative c'' {
% hier kommen die eigentlichen Notennamen hin
}

}

}

\layout {
% hier befinden sich Angaben zum globalen Layout
}

\midi {
% wenn gleichzeitig eine MIDI-Datei mit erzeugt werden soll, wird dieser Befel noch hinzugegeben
}

}

}

 

Das Aussehen der Noten kann man über die Engraver (Vorgaben für die Darstellung von Notenteilen) und die \set- , \with-, \remove-, \consists- und \override-Funktion stark beeinflussen. Z.B. lassen sich via \set fontSize = # Notenköpfe unterschiedlich groß gestalten:

\relative c' {
c4 d
\set fontSize = #-5 % größere Notenköpfe
e4 f |
\set fontSize = #+5 % kleinere Notenköpfe
g4 a
\unset fontSize % normale Notenkopfgröße
b4 c |
}

oder es lassen sich via \remove "Staff_symbol_engraver" Notenlinien entfernen und via \consists "Ambitus_engraver" eine Anzeige des Tonumfangs hinzufügen:

\new Staff \with {
\remove "Staff_symbol_engraver"
\consists "Ambitus_engraver"

}
\relative c' {
c d e f g a b c
}

Über \override lassen sich auch innerhalb einer Stimme oder eines Notensystems bestimmte Eigenschaften des Engravers überschreiben, z.B. via \override Staff.BarLine.stencil = ##f
(##f = false; true würde ##t sein) die Taktstriche und via \override Staff.TimeSignature.stencil = ##f die Taktart entfernen, z.B.

\relative c' {
\override Staff.BarLine.stencil = ##f
\override Staff.TimeSignature.stencil = ##f
c d e f g a b c
}

oder auch den Elementen (auch mitten im Notensystem) andere Farben verleihen, z.B.

\relative c' {
\override Staff.StaffSymbol.color = #(x11-color 'violet)
\override Staff.TimeSignature.color = #(x11-color 'green)
\override Staff.Clef.color = #(x11-color 'yellow)
\override Voice.NoteHead.color = #(x11-color 'orange)
\override Voice.Stem.color = #(x11-color 'grey)
\override Staff.BarLine.color = #(x11-color 'blue)
c d e f \override Voice.NoteHead.color = #(x11-color 'red) g a b c
}