Deutsches Lilypond Forum (Archiv)
Allgemein => Fragen zu Funktionen => Thema gestartet von: Inxman am Sonntag, 4. Januar 2009, 17:17
-
Hallo Leute,
gesundes neues Jahr.
Ich habe folgendes script:
\version "2.12.0"
\header {
title = "Testsong"
}
\include "deutsch.ly"
#(set-global-staff-size 20)
upper = \relative c'' {
\clef treble
\key c \major
\time 3/4
c,4 g' g g c8 [c] c [c] c4 a a a2.
\bar "|."
}
lower = \relative c {
\clef bass
\key c \major
\time 3/4
<c e g>2. <c e g>2. <c f a>2. <c f a>2.
\bar "|."
}
textmitte = \lyricmode {
Tra- la Tra- la la la la la
}
harmonies = \new ChordNames \chordmode {
\germanChords
\set chordChanges = ##t
c2 c4 c2 c4 f2 f4 f2 f4
}
\score {
\new GrandStaff <<
\harmonies
\new Staff = upper {
\new Voice = "singer1" \upper
}
\new Lyrics \lyricsto "singer1" \textmitte
\new Staff = lower { \lower }
>>
\layout {
#(layout-set-staff-size 20)
\context {
\GrandStaff
\accepts "Lyrics"
\accepts "Chordnames"
}
\context {
\Lyrics
\consists "Bar_engraver"
}
}
\midi { }
}
\paper {}
Ich verstehe nicht, warum er die Akkordnamen UNTER dem Staff notiert, es steht doch noch
vor dem "\new Staff upper" oder geht dies nicht nach Reihenfolge?
Wie muss ich tun, damit es darüber geschrieben wird?
Viele Grüße,
Ingo
-
Versuch's mal mit dem \harmonies ausserhalb vom GrandStaff
\version "2.11.65"
global = {
\key c \major
\time 3/4
}
upper = \relative c'' {
c,4 g' g
}
lower = \relative c {
\clef bass
<c e g>2.
}
harmonies = \chords {
\germanChords
c2 c4
}
\score {
<<
\harmonies
\new PianoStaff <<
\context Staff = upper <<
\global
\context Voice = "singer1" \upper
>>
\context Staff = lower <<
\global
\lower
>>
>>
>>
}
-
Ah gut, danke.
Jetzt ist nur noch mein Text in der Mitte weg. Wie krieg ich den hier wieder mit rein? ;-)
So wie es hatte mit new und \layout-Umgebung blicke ich nicht durch, wie ich dies in dein Beispiel
reinbekomme.
Ach so, noch eine Frage nebenbei: Wovon ist es abhängig, ob ein Phrasierungsbogen oben oder unterhalb des Systems angeordnet wird? Kann ich es auch erzwingen, das er nur oben angeordnet werden soll?
Gruß,
Ingo
-
Ich hatte das Gefühl diese Frage kommt zunächst. Suche in den Schnipsel für "Piano template with centered lyrics"
-
Und, zum Thema Phrasierungsbogen, \override PhrasingSlur #'direction kontrolliert sowas.
LM 4 spricht mehr über wie diese Sachen verändert werden können.
-
Phrasierungsbögen: hier ist das relevante Kapitel: http://lilypond.org/doc/v2.12/Documentation/user/lilypond/Curves#Phrasing-slurs
es geht auch direkt mit Befehlen wie \PhrasingSlurUp usw.
Die Ausrichtung von Kontexten (also auch den Akkorden) kann mit alignAboveContext erreicht werden, siehe Beispiel:
global = {
\key c \major
\time 3/4
}
upper = \relative c'' {
c,4 g' g
}
lower = \relative c {
\clef bass
<c e g>2.
}
harmonies = \chordmode {
\germanChords
c2 c4
}
\score {
<<
\new ChordNames
\with {
alignAboveContext = #"piano"
}{
\harmonies }
\new PianoStaff = "piano" <<
\context Staff = upper <<
\global
\context Voice = "singer1" \upper
>>
\context Staff = lower <<
\global
\lower
>>
>>
>>
}
Ich habe das Beispiel von unten genommen und verändert: in der Variable harmonies habe ich \chords durch chordmode ersetzt und dann explizit weiter unten eine ChordNames erstellt, dem mit \with dieses Align über dem PIano-Kontext zugewiesen wird. Wichtig dabei, dass der Piano-Kontext einen Namen kriegt (hier piano), der dann in beiden Fällen verwendet wird.
Gruß
Till