Allgemein > Fragen zu Funktionen
Zweistimmiger Schluss eines Liedes
(1/1)
Beda:
Hallo Leute
Warum funktioniert folgendes nicht:
--- Code: ---\version "2.18.0"
<<\new Staff
<<
\key g\major \time 4/4
\new Voice = "oben" \relative c''
{ %\voiceOne
b2( a) |
<<b2.\\g2.>>
b4\rest \bar "|."
}
>>
\new Lyrics \lyricsto "oben"
{
De -- o!
}
>>
--- Ende Code ---
Ich bekomme die Fehlermeldung:
15:8: Warnung: unbegrenzter Bindestrich; entfernt
De
-- o!
So funktioniert's aber:
--- Code: ---\version "2.18.0"
<<\new Staff
<<
\key g\major \time 4/4
\new Voice = "oben" \relative c''
{ %\voiceOne
b2( a) |
<<
{ \voiceOne b2. }
\new Voice {
\voiceTwo
g2.}
>>
b4\rest \bar "|."
}
>>
\new Lyrics \lyricsto "oben"
{
De -- o!
}
>>
--- Ende Code ---
Was ist der Grund dafür? Müsste die erste Lösung nicht auch funktionieren?
Beda
Manuela:
Soweit ich das richtig verstanden und in Erinnerung habe, benennt Lilypond die Stimmen, die durch die spitzen Klammern erzeugt werden, standardmäßig mit "1" und "2". Daher findet in Version 1 die letzte Silbe keine Stimme mehr und endet im Nichts, daher die Fehlermeldung.
In der zweiten Version führt Lilypond offensichtlich die Stimme "oben" weiter.
fugenkomponist:
Hallo Beda,
willkommen im Forum!
--- Zitat von: Beda am Montag, 2. Januar 2017, 20:22 ---Was ist der Grund dafür? Müsste die erste Lösung nicht auch funktionieren?
--- Ende Zitat ---
Nein, muß sie nicht. Der Grund:
--- Code: ---<< A \\ B >>
--- Ende Code ---
ist kurz für
--- Code: ---<< \new Voice { \voiceOne A } \new Voice { \voiceTwo B } >>
--- Ende Code ---
, es werden also hier zwei neue Stimmen erstellt. Dagegen erstellt dein zweites Beispiel, welches ja von der Form
--- Code: ---<< { \voiceOne A } \new Voice { \voiceTwo B } >>
--- Ende Code ---
ist, für B eine neue Stimme und verwendet für A die schon vorhandene, in deinem Fall die mit Namen „oben“. Das so unscheinbare „\\“ ist also hier der entscheidende Unterschied.
Und der Grund, warum das auch so sein muß: In A und B könnten ja verschiedene Rhythmen stehen wie so oft in der Polyphonie. Und LilyPond kann ja nicht automatisch wissen, welche der Stimmen es bei einem << \\ >>-Konstrukt bevorzugen soll ;)
Edit:
--- Zitat von: Manuela ---Soweit ich das richtig verstanden und in Erinnerung habe, benennt Lilypond die Stimmen, die durch die spitzen Klammern erzeugt werden, standardmäßig mit "1" und "2".
--- Ende Zitat ---
Genau genommen brauchts wie gesagt noch den „\\“, damit automatische neue Stimmen erzeugt werden, nicht die spitzen Klammern allein. Aber grundsätzlich hast du recht:
--- Code: ---\version "2.18.0"
<<
\new Staff \relative {
\key g \major
\time 4/4
<< { c'2 e } \\ { c4 b a g } >>
}
\new Lyrics \lyricsto "1"
{
er -- ste
}
\new Lyrics \lyricsto "2"
{
zwei -- te Stim -- me
}
>>
--- Ende Code ---
Beda:
Herzlichen Dank für die Antworten.
Ich glaube, ich komme langsam dahinter, wie lilypond funktioniert. Ich werde fleissig weiterüben :)
Beda
Manuela:
--- Zitat von: Beda am Samstag, 7. Januar 2017, 20:19 ---Ich glaube, ich komme langsam dahinter, wie lilypond funktioniert. Ich werde fleissig weiterüben :)
--- Ende Zitat ---
Es lohnt sich!!! ;)
Navigation
[0] Themen-Index
Zur normalen Ansicht wechseln