Notationsspezifisch > Noten für Klavier
Linke Hand soll im oberen Notationssystem mit erscheinen
alegria:
Also Bilder sagen ja bekanntlich mehr als Worte, daher bitte mal den Anhang angucken (wie binde ich sowas eigentlich direkt hier ein?) oder einfach den code hier ausführen.
--- Code: ---\version "2.16.2"
upper = \relative c' {
\clef treble
<< {s2 e'^\markup{\italic "(m.g.)"}-^ } \\ {r8 c, e g c g e c} >>
}
lower = \relative c {
\clef bass
c2 s2
}
\score {
\new PianoStaff <<
\set PianoStaff.instrumentName = #"Piano "
\new Staff = "upper" \upper
\new Staff = "lower" \lower
>>
\layout { }
}
--- Ende Code ---
Was ich abgebildet haben möchte ist:
1) Das hohe e soll von der linken Hand gespielt werden. Meines Wissens nach schreibt man daher den Hinweis m.g. für main gauche = linke Hand. Nun sieht das mit dem markup nicht so hübsch aus weil zuweit entfernt von der Note. Wie kann ich so ein markup positionieren oder gibt es gar prinzipiell eine bessere Lösung für mein Anliegen?
2) Das hohe c im Violinschlüssel soll eigentlich eine halbe Note sein - weil es gehalten werden soll wenn trotzdem die restlichen Achtel (g e c) gespielt werden. Normalerweise würde ich das mittels Mehrstimmigkeit, als <<{} \\ {}>> auch lösen können, nur spielt da ja die linke hand mit dem e dazwischen (siehe 1). Wie kann ich das also lösen?
Hoffe es versteht mich jemand und kann mir bei hoffentlich beiden Punkten helfen. Danke vorab!
fugenkomponist:
Hallo alegria,
zu 1): „main gauche“ ist französisch, bei vielen Komponisten sieht man eher italienisch „mano sinistra“, also „m. s.“; in beiden Sprachen heißt die rechte Hand „m. d.“ (destra/droite). Beides liest man öfter, bei neuerer Musik aber auch englisch oder deutsch („l. h.“ bzw. „l. H.“). Ich würde den Hinweis per X-offset nach links versetzen, dann passiert die vertikale Ausrichtung automatisch (auch besser als nach rechts, weil der Hinweis dann rechtzeitig gesehen wird).
zu 2): es kommt sehr darauf an, ob
a) nur der Notenkopf eine Halbe sein soll oder
b) das c nen zusätzlichen Hals haben soll
c) zwei Notenköpfe (ein halber und ein achtel) dastehen sollen oder nur einer
d) das e seitlich verschoben sein soll
Einen Vorschlag (nur ein anderer Notenkopf, keine Verschiebungen) hab ich mal umgesetzt. Erklärung dazu:
• \mergeDifferentlyHeadedOn erlaubt das Verschmelzen von Achtel- und Halben-Notenkopf.
• \shiftOnn verschiebt das e so weit, dass die beiden cs auch tatsächlich verschmelzen.
• \once \omit Stem lässt die Halbe ihren Hals verlieren.
• …force-hshift holt das e zurück auf seine angestammte Position.
Das ist jetzt die Version, die die meisten Änderungen enthält, wie ist es denn im Original?
Edit: ich glaube, meine bevorzugte Version wäre die mit …force-hshift = -0.5 statt 0 und mit Hals (also ohne \once \omit Stem), falls der Komponist da keine sinnvolle und eindeutige Schreibweise hat, die nachzubilden ist; siehe zweites angehängtes Bild.
--- Code: ---\version "2.16.2"
upper = \relative c' {
\clef treble
<<
{
s2
\once \override TextScript.X-offset = -6
\shiftOnn
\once \override NoteColumn.force-hshift = 0
e'^\markup{\italic "(m.g.)"}-^
}
\\
{
r8 c, e g
\mergeDifferentlyHeadedOn
c g e c
}
\\
{
s2
\once \omit Stem
c'
}
>>
}
lower = \relative c {
\clef bass
c2 s2
}
\score {
\new PianoStaff <<
\set PianoStaff.instrumentName = #"Piano "
\new Staff = "upper" \upper
\new Staff = "lower" \lower
>>
\layout { }
}
--- Ende Code ---
Ach ja, noch was: In Abschnitt 4.5.3 des Learning Manuals wird eine komplexere mehrstimmige Situation mal Stück für Stück auseinandergenommen und perfektioniert, siehe http://lilypond.org/doc/v2.18/Documentation/learning-big-page#real-music-example
alegria:
Hi,
also das sieht ja fantastisch aus. Das zweite PNG ist genau so wie ich es mir vorstelle ("Original" gibt es nicht bzw. ist in meinem Kopf...)
Leider lässt sich Dein Beispielcode bei mir nicht kompilieren. Was mach ich falsch?
--- Code: ---/tmp/frescobaldi-IsoUB6/tmpp4vZx1/document.ly:8:42: error: syntax error, unexpected '=', expecting SCM_FUNCTION or SCM_IDENTIFIER or SCM_TOKEN
\once \override TextScript.X-offset
= -6
/tmp/frescobaldi-IsoUB6/tmpp4vZx1/document.ly:11:6: error: syntax error, unexpected NOTENAME_PITCH, expecting '='
e'^\markup{\italic "(m.g.)"}-^
--- Ende Code ---
Und wie erreicht man
--- Zitat ---c) zwei Notenköpfe (ein halber und ein achtel) dastehen sollen
--- Ende Zitat ---
(also das c sowohl als halbe als auch als achtel...)
alegria:
Also Code lässt sich nun erfolgreich kompilieren:
--- Code: ---\version "2.16.2"
upper = \relative c' {
\clef treble
<<
{
s2
% \once \override TextScript.X-offset = -6
\once \override TextScript #'X-offset = #-6
\shiftOnn
\once \override NoteColumn #'force-hshift = #0
% \once \override NoteColumn.force-hshift = #0
e'^\markup{\italic "(m.g.)"}-^
}
\\
{
r8 c, e g
\mergeDifferentlyHeadedOn
c g e c
}
\\
{
s2
%\once \omit Stem
c'
}
>>
}
lower = \relative c {
\clef bass
c2 s2
}
\score {
\new PianoStaff <<
\set PianoStaff.instrumentName = #"Piano "
\new Staff = "upper" \upper
\new Staff = "lower" \lower
>>
\layout { }
}
--- Ende Code ---
Wenn ich den Code ohne \shiftOnn kompilieren ist das Ergebnis vermutlich die Antwort auf meine Frage aus dem letzten Post.
Nur bekomme ich nicht das so hin wie Du beim zweiten Bild. Bei dem Versuch hier überlappt/überlagert die Achtel die halbe Note:
--- Code: ---\version "2.16.2"
upper = \relative c' {
\clef treble
<<
{
s2
\once \override TextScript #'X-offset = #-6
\shiftOnn
\once \override NoteColumn #'force-hshift = #0.75
e'^\markup{\italic "(m.g.)"}-^
}
\\
{
r8 c, e g
\mergeDifferentlyHeadedOn
c g e c
}
\\
{
s2
\stemDown
\once \override NoteColumn #'force-hshift = #0.55
c'
}
>>
}
lower = \relative c {
\clef bass
c2 s2
}
\score {
\new PianoStaff <<
\set PianoStaff.instrumentName = #"Piano "
\new Staff = "upper" \upper
\new Staff = "lower" \lower
>>
\layout { }
}
--- Ende Code ---
fugenkomponist:
--- Zitat von: alegria am Samstag, 6. Juni 2015, 19:27 ---Leider lässt sich Dein Beispielcode bei mir nicht kompilieren. Was mach ich falsch?
--- Ende Zitat ---
Du machst gar nichts falsch, ich hab vergessen zu erwähnen, dass ich 2.18-Syntax verwende. In Version 2.16 hieß die \override-Syntax noch folgendermaßen:
--- Code: ---\once \override TextScript #'X-offset = #-6
--- Ende Code ---
Also Grob (in diesem Fall TextScript) und Eigenschaft trennen, außerdem # vor Zahlen (soweit ich weiß, bin mir bei letzterem nicht ganz sicher, obs das braucht).
Auch \omit gabs da noch nicht, da müsste es glaub ich heißen
--- Code: ---\once \override Stem #'stencil = ##f
--- Ende Code ---
Einfacher wärs aber vermutlich, eine aktuelle LilyPond-Version (also 2.18.2) zu installieren. (Ich verwende 2.19.20, aber das ist eine Entwicklerversion und die ist hierfür nicht nötig.)
--- Zitat ---Und wie erreicht man
--- Zitat ---c) zwei Notenköpfe (ein halber und ein achtel) dastehen sollen
--- Ende Zitat ---
(also das c sowohl als halbe als auch als achtel...)
--- Ende Zitat ---
Indem man all die Anpassungen weglässt:
--- Code: ---\version "2.19.20"
upper = \relative c' {
\clef treble
<<
{
s2
\once \override TextScript.X-offset = -6
e'^\markup{\italic "(m.g.)"}-^
}
\\
{
r8 c, e g
c g e c
}
\\
{
s2
c'
}
>>
}
lower = \relative c {
\clef bass
c2 s2
}
\score {
\new PianoStaff <<
\set PianoStaff.instrumentName = #"Piano "
\new Staff = "upper" \upper
\new Staff = "lower" \lower
>>
\layout { }
}
--- Ende Code ---
Evtl. könnte man auch hier dann aber noch mit force-hshift Feintuning betreiben ;)
Navigation
[0] Themen-Index
[#] Nächste Seite
Zur normalen Ansicht wechseln