Autor Thema: neue Zeile innerhalb einer Stimme  (Gelesen 2949 mal)

chf

  • Member
neue Zeile innerhalb einer Stimme
« am: Montag, 28. September 2009, 14:53 »
Liebe Freunde,
nach allen möglichen Versuchen (ossia etc.) ist guter Rat teuer.
\version "2.12.1"
global = {
\time 2/2
\key d \major
}
Singst = \relative c' {
\set Staff.instrumentName = "Singstimme  "
\clef treble
}
SingstTextEins = \new Lyrics \lyricsto Singst \lyricmode {\small \set stanza = "1. "  }
SingstTextZwei = \new Lyrics \lyricsto Singst \lyricmode {\small \set stanza = "2. "  }
Flt = \relative c'' {
\set Staff.instrumentName = "Flöte      "
\clef treble
}
Klt = \relative c'' {
\set Staff.instrumentName = \markup { Klarin.(B\flat) }
\clef treble
\transposition b
}
Akk = \relative c' {
\set Staff.instrumentName = "Akkordeon  "
\clef treble
d1 \repeat volta 2 {R1 R \new GrandStaff <<\new Staff = "1" {d' a}
                                           \new Staff = "2" {\clef bass \key d \major d,, d} >> 
                       
  d'2 a'}
\alternative {{} {}}
}
MndOne = \relative c' {
\set Staff.instrumentName = "Mandoline 1"
\clef treble
}
MndTwo = \relative c' {
\set Staff.instrumentName = "Mandoline 2"
\clef treble
}
Mdla = \relative c' {
\set Staff.instrumentName = "Mandola    "
\clef "treble_8"
}
Git = \relative c {
\set Staff.instrumentName = "Gitarre    "
\clef "treble_8"
}
Bass = \relative c {
\set Staff.instrumentName = "Bass       "
\clef "bass"
}
\score {
<< 
  \new Staff << \new Voice = Singst \Singst >> 
      \new Lyrics \lyricsto Singst  \SingstTextEins
      \new Lyrics \lyricsto Singst  \SingstTextZwei     

\new StaffGroup <<
 \tag #'score \tag #'flt   \new Staff  { << \global \Flt     >> }
 \tag #'score \tag #'klt   \new Staff  { << \global \Klt     >> }
 \tag #'score \tag #'akk   \new Staff  { << \global \Akk     >> }
 >>
\new StaffGroup <<
 \tag #'score \tag #'mnd1 \new Staff  { << \global \MndOne   >> }
 \tag #'score \tag #'mnd2 \new Staff  { << \global \MndTwo   >> }
 \tag #'score \tag #'mdla \new Staff  { << \global \Mdla     >> }
 \tag #'score \tag #'git  \new Staff  { << \global \Git      >> } 
 \tag #'score \tag #'bass \new Staff  { << \global \Bass     >> }
  >>
>>
}
Rauskommen soll, wie ihr sicher seht, eine Akkordeonstimme, die einstimmig geführt ist bis auf  zwei Takte.
Ich habe diese zwei Takte zwar auf dem Notenblatt, aber nicht an der richtigen Stelle. Mindestens die Bass-Stimme erscheint unten.
Ihr kennt ja meine Schwäche inzwischen - bitte helft mir gebrauchsfertig...
Gruß
chf

ding-dong

  • Member
Re: neue Zeile innerhalb einer Stimme
« Antwort #1 am: Montag, 28. September 2009, 15:45 »
schreib mal das \global in den \Staff-teil hinein, nicht ausserhalb!

der aufruf ist dann einfach \tag #'score \tag #'akk { \Akk  }
hdh

chf

  • Member
Re: neue Zeile innerhalb einer Stimme
« Antwort #2 am: Montag, 28. September 2009, 17:35 »
Analysieren...
/usr/share/lilypond/2.12.1/ly/init.ly:29:0: Fehler: syntax error, unexpected SCM_TOKEN

#(if (and (ly:get-option 'old-relative)

bei allen Varianten.
Wie und wo  muss der Eintrag im Staff-Teil genau sein?
chf

ding-dong

  • Member
Re: neue Zeile innerhalb einer Stimme
« Antwort #3 am: Montag, 28. September 2009, 23:17 »
ich hab mal die unwesentlichen zeilen auskommentiert (vielleicht sollte man sie gar löschen, um das wesentliche darzustellen…) und nur die akkordeon-stimme(n) stehen lassen:
global = {
\time 2/2
\key d \major
}
Akk =
\context Staff="akk" {
\global
\set Staff.instrumentName = "Akkordeon  "
\relative c' {
\clef treble
d 1 \repeat volta 2 {
R 1 R <<
{ d' a }
    \context Staff = "akk2" { \clef bass \key d \major d,, d}
>>                       
  d'2 a'
}
% \alternative {{} {}}
}
}

\score {
<< 
%   \new Staff << \new Voice = Singst \Singst >> 
%       \new Lyrics \lyricsto Singst  \SingstTextEins
%       \new Lyrics \lyricsto Singst  \SingstTextZwei     

\new StaffGroup <<
%  \tag #'score \tag #'flt   \new Staff  { << \global \Flt     >> }
%  \tag #'score \tag #'klt   \new Staff  { << \global \Klt     >> }
 \tag #'score \tag #'akk   
  { \Akk  }
 >>
% \new StaffGroup <<
%  \tag #'score \tag #'mnd1 \new Staff  { << \global \MndOne   >> }
%  \tag #'score \tag #'mnd2 \new Staff  { << \global \MndTwo   >> }
%  \tag #'score \tag #'mdla \new Staff  { << \global \Mdla     >> }
%  \tag #'score \tag #'git  \new Staff  { << \global \Git      >> } 
%  \tag #'score \tag #'bass \new Staff  { << \global \Bass     >> }
%   >>
>>
}

hdh

chf

  • Member
Re: neue Zeile innerhalb einer Stimme
« Antwort #4 am: Mittwoch, 30. September 2009, 11:55 »
Bitte schau dir die Partitur nochmal an mit  a l l e n  Zeilen - dort liegt das Problem.
Wie kombiniere ich die Stimme? Bei einer Variante hatte ich sie an der richtigen Stelle, allerdings  ü b e r  der Hauptzeile. Dann habe ich mit "alignBelow" allerhand experimentiert, aber ohne Erfolg (und vermutlich ohne Sinn und Verstand)...
Nach deinem jetzigen code erscheint die Akkordeonstimme von "akk2" an zusätzlich als unterste.
Bitte hilf nochmal weiter.
chf

ding-dong

  • Member
Re: neue Zeile innerhalb einer Stimme
« Antwort #5 am: Mittwoch, 30. September 2009, 13:46 »
diese problematik ist im folgenden link beschrieben - brauchst nur noch above mit below und die stimmennamen zu ersetzen:

http://www.nabble.com/Ossia-in-String-Quartet-tp22208289p22213376.html

beachte v.a. auch die präzisierung von Mats!


chf

  • Member
Re: neue Zeile innerhalb einer Stimme
« Antwort #6 am: Montag, 5. Oktober 2009, 20:35 »
Danke! Das hat's gebracht.
chf