Deutsches Lilypond Forum (Archiv)
Allgemein => Hilfe beim Einstieg in Lilypond => Thema gestartet von: bossanova am Freitag, 25. Juli 2008, 02:07
-
Ich habe leider kein komplettes und funktionierendes Beispiel finden können, wie Akkordbezeichnungen über die Melodie kommen. Es wäre überhaupt hilfreich wenn zB bei Mutopia es nicht nur Beispiele für Fortgeschrittene geben würde.
In diesem Beispiel versuchte ich Begleitharmonien einzufügen..wie gehts richtig??
Danke.
\version "2.10.10"
\header {
title = "Santa Lucia"
composer = "Traditional"
}
% \context ChordNames ??
\chordmode { a1 e e:7 a \break
a e e a }
% erstmal nur für die ersten 8 Takte
\relative c' {
\key a \major
\time 3/4
e4 e4. a8
a8 gis8 gis2
d4 d4. fis8
fis8 e8 e2 \break
cis4 fis4. e8
e8( dis8) d2
d4 cis4 b4
fis' e2 \break
\bar "|:"
cis'4 b4 a4
gis8 fis8 b2
b4 a4 fis4
dis8( e8) a2 \break
cis8( a8) a8( e8) e8( cis8)
d8( b'8) b2
b4 fis4. gis8
b4 a2
\bar ":|"
b4 cis4. b8
b4 a2
\bar "|."
}
\addlyrics {
Sul ma -- re luc -- ci -- ca
l'as -- tro d'ar - gen -- to.
Pla -- cid -- a__e l'on -- da,
pros -- pero__e il ven -- to.
Ve -- ni -- te__all' a -- gi -- le
bar -- chet -- ta mi -- a!
San -- ta Lu -- ci -- a,
San -- ta Lu -- ci -- a, San -- ta Lu -- ci -- a!
}
-
Hallo Bossanova,
es liegt an dir, ein solches Beispiel in Mutopia einzuschicken -- allerdings solltest du bedenken, dass Mutopia als Sammelplatz für qualität- und wertvolle Noten dient und nicht (in erster Linie) als Beispielsammlung, wie man Lily-Code schreibt. Dazu ist die Dokumentation besser. Eine weitere Anmerkung: es lohnt sich wohl, auf die aktuelle 2.11-Reihe umzusteigen, das hat den Nachteil, dass du evtl. deine Dateien geringfügig ändern musst, dass sich die Versionen ziemlich schnell ändern, den Vorteil allerdings, dass du eine sehr stark verbesserte Darstellung mit vielen Zusatzfunktionen bekommst. Aus 2.11 wird sich wohl auch noch in diesem Jahr eine stabile Version 2.12 entwickeln, die sich von der jetzigen 2.11 nicht wesentlich unterscheidet.
Zu deinem Problem: Du musst natürlich die verschiedenen Stimmen gleichzeitig ablaufen lassen, das geschieht mit den spitzen Klammern in meinem Beispiel. Dann musst du einen neuen Kontext erstellen, der die Akkorde in Buchstaben übersetzt, und schließlich einen neuen Kontext, der die Noten darstellt und an den der Text gehängt werden kann. Dafür habe ich hier Voice genommen. Durch die spitzen Klammern werden diese beiden Kontexte gleichzeitig gesetzt.
Zum Aufbau von einer Lilypond-Datei empfiehlt es sich, in das LM (Learning Manual) zu schauen, das es derzeit nur für Version 2.11.x gibt. Ein Teil davon ist auch auf Deutsch übersetzt, möglicherweise allerdings nicht aktuell. Dort wird es vielleicht etwas klarer, was es mit diesen Kontexten auf sich hat, wie sie geschachtelt werden können usw.
Ansonsten hoffe ich, dass das Beispiel unten nun so funktioniert wie du willst, die Akkord-Dauer muss natürlich auf 2. angepasst werden, entsprechend der Dauer eines 3/4-Taktes. Ich habe es mit 2.11 probiert, aber es sollte mit 2.10 genauso funktionieren. Ein Fehler kam, weil ein deinem Beispiel eine Zeichenfolge in einen Smiley (Cool) umgeändert wurde (ich habe es durch eine Klammer ersetzt): benutze die [ code ] ...-Funktion, damit alles so dargestellt wird wie du es im Original hast.
Viele Grüße und nur munter fragen, wenn etwas unklar blieb.
Till
\header {
title = "Santa Lucia"
composer = "Traditional"
}
% \context ChordNames ??
<<
\new ChordNames {
\chordmode { a2. e e:7 a \break
a e e a } }
% erstmal nur für die ersten 8 Takte
\new Voice {
\relative c' {
\key a \major
\time 3/4
e4 e4. a8
a8 gis8 gis2
d4 d4. fis8
fis8 e8 e2 \break
cis4 fis4. e8
e8( dis8) d2
d4 cis4 b4
fis' e2 \break
\bar "|:"
cis'4 b4 a4
gis8 fis8 b2
b4 a4 fis4
dis8( e8) a2 \break
cis8( a8) a8( e8) e8( cis8)
d8( b') b2
b4 fis4. gis8
b4 a2
\bar ":|"
b4 cis4. b8
b4 a2
\bar "|."
}
}
\addlyrics {
Sul ma -- re luc -- ci -- ca
l'as -- tro d'ar - gen -- to.
Pla -- cid -- a__e l'on -- da,
pros -- pero__e il ven -- to.
Ve -- ni -- te__all' a -- gi -- le
bar -- chet -- ta mi -- a!
San -- ta Lu -- ci -- a,
San -- ta Lu -- ci -- a, San -- ta Lu -- ci -- a!
}
>>
-
Dir erstmal vielen Dank für die Mühe: es hat auch mit der 2.10 version funktioniert. Das Problem war, das ich überhaupt nicht darauf gekommen war, dass hier "Kontexte gleichzeitig gesetzt" werden müssen. Die Erklärungen im Lilypond Manual 2.10 und im WWW zum Thema Leadsheet konnten deswegen auch nicht weiterhelfen. Das Learning Manual v2.11 ist in dieser Beziehung wirklich besser.
Das mit den Beispielen, die nicht nur snippets sind, sondern auch den Zusammenhang/Filestruktur zeigen ist wichtig für 'learning by doing' Menschen wie mich.
Die Seite 'http://lilypond.org/doc/v2.5/examples.html' hat leider keine einfachen Beispiele. Dort sollten aber auch nicht unbedingt Anfänger ihre Beispiele als Goldstandard hochladen ( was ja auch nicht geht). Übrigens, die dortige LilyPond demo by Han-Wen Nienhuys (v 2.6.0) funktioniert nicht bzw. ist nicht kompatibel mit 2.10. Das Mutopia nicht der richtige Ort für Programmierbeispiele ist, ist andererseits auch richtig.
Deswegen möchte ich hier gleich das vollständige Beispiel anfügen. Dort habe ich noch Deinen Tipp zum Vergrößern des Systemabstandes genutzt. Die Chordnamen hängen sonst zwischen den Systemen, insbesondere bei den letzten Takten aufgrund der Wiederholungszeichen.
Code:
\version "2.10.33"
\header {
title = "Santa Lucia"
composer = "Traditional"
}
<<
\new ChordNames {
\set chordChanges = ##t
\chordmode {
a2. e e:7 a \break
a e:7 e:7 a \break
a d d a \break
a e e:7 a e:7 a
}
}
\new Voice {
\relative c' {
\key a \major
\time 3/4
e4 e4. a8
a8 gis8 gis2
d4 d4. fis8
fis8 e8 e2 \break
cis4 fis4. e8
e8( dis8) d2
d4 cis4 b4
fis' e2 \break
\repeat volta 2{
cis'4 b4 a4
gis8 fis8 b2
b4 a4 fis4
dis8( e8) a2 \break
cis8( a8) a8( e8) e8( cis8)
d8( b') b2
}
\alternative {
{ b4 fis4. gis8
b4 a2
}
{
b4 cis4. b8
b4 a2
}
}
\bar "|."
}
}
\addlyrics {
Sul ma -- re luc -- ci -- ca
l'as -- tro d'ar - gen -- to.
Pla -- cid -- a__e l'on -- da,
pros -- pero__e il ven -- to.
Ve -- ni -- te__all' a -- gi -- le
bar -- chet -- ta mi -- a!
San -- ta Lu -- ci -- a,
San -- ta Lu -- ci -- a, San -- ta Lu -- ci -- a!
}
>>
\paper {
between-system-padding = 10mm
}
-
Dir erstmal vielen Dank für die Mühe: es hat auch mit der 2.10 version funktioniert. Das Problem war, das ich überhaupt nicht darauf gekommen war, dass hier "Kontexte gleichzeitig gesetzt" werden müssen. Die Erklärungen im Lilypond Manual 2.10 und im WWW zum Thema Leadsheet konnten deswegen auch nicht weiterhelfen. Das Learning Manual v2.11 ist in dieser Beziehung wirklich besser.
Gut, die Versionen verändern sich etwas, aber zwischen 2.10 und 2.11 ist der Unterschied nicht mehr so groß. Die Dokumentation allerdings hat sich deutlich verbessert.
Die Seite 'http://lilypond.org/doc/v2.5/examples.html' hat leider keine einfachen Beispiele. Dort sollten aber auch nicht unbedingt Anfänger ihre Beispiele als Goldstandard hochladen ( was ja auch nicht geht). Übrigens, die dortige LilyPond demo by Han-Wen Nienhuys (v 2.6.0) funktioniert nicht bzw. ist nicht kompatibel mit 2.10. Das Mutopia nicht der richtige Ort für Programmierbeispiele ist, ist andererseits auch richtig.
Ja, 2.5 und 2.6 sind wirklich uuuralt :-), aber es gibt ja das convert-ly, mit dem auch so alte Dateien sich auf den neuesten Stand bringen lassen. Achtung also: in deiner Internetadresse zeigt sich ja, dass das Beispiel für die alte Version ist und also für die neuere nicht mehr gültig ist. Im LM der Version 2.11 finden sich im Anhang ziemlich viele Templates, ich glaube, da ist auch ein Lead-Sheet dabei. Aber du hast es ja nun auch selber hinbekommen: Gratuliere!
Deswegen möchte ich hier gleich das vollständige Beispiel anfügen. Dort habe ich noch Deinen Tipp zum Vergrößern des Systemabstandes genutzt. Die Chordnamen hängen sonst zwischen den Systemen, insbesondere bei den letzten Takten aufgrund der Wiederholungszeichen.
Sehr schön. Ich schätze, dieser Extraplatz ist bei 2.11 nicht mehr nötig, weil da die vertikalen Abstände die Objekte außerhalb der Notenzeilen mitberücksichtigen.
Gruß
Till