Autor Thema: Kadenzen übereinanderbringen  (Gelesen 2082 mal)

fugenkomponist

  • Member
Kadenzen übereinanderbringen
« am: Freitag, 8. Oktober 2010, 17:46 »
Hallo,

kann man, wenn ein Instrument eine Kandenz hat, alle anderen automatisch ans Ende springen lassen? Laut NR 1.2.6 gibt es zwar eine Möglichkeit (#(ly:export (skip-of-length MyCadenza))), die ist für mich aber ziemlich aufwändig, weil an Stelle von MyCadenza die Noten aus der anderen Stimme stehen müssen (oder muss ich die sogar in eine Variable packen?). Ich habe aber ein Stück ohne Takt, in dem die Instrumente immer mal abwechselnd spielen, bräuchte also seeehr viele dieser Konstruktionen. Ebenfalls zu aufwändig finde ich, die Dauern auszuzählen und dann in die Pausenstimmen s16*137 o.ä. zu schreiben.

Ich habe schon so Sachen probiert wie br = { \cadenzaOff \bar "" \cadenzaOn } und br = { \set Timing.measurePosition = #(ly:make-moment 1 1) \bar "" }, um mit \br (am Ende jeder "Kadenz") in allen Stimmen die Stimmen wieder untereinander zu bringen.

Kann mir da jemand helfen?
« Letzte Änderung: Freitag, 8. Oktober 2010, 17:50 von fugenkomponist »

kilgore

  • Member
Re:Kadenzen übereinanderbringen
« Antwort #1 am: Samstag, 9. Oktober 2010, 12:48 »
Hallo!
Klingt nach ein spannendes Problem!  Ich müsste aber ein Beispiel sehen um überhaupt zu verstehen was zu meinst.... Kannst du vielleicht ein code beispiel posten?
Kil

fugenkomponist

  • Member
Re:Kadenzen übereinanderbringen
« Antwort #2 am: Sonntag, 10. Oktober 2010, 14:45 »
Das hier
\version "2.13.35"

br = { \bar "" } %in diesen Befehl muss noch mehr rein
bb = { \bar "" } %in diesen Befehl muss noch mehr rein

Eins = \relative c' { c4 d e f g a b c d c \br \bb c1 }
Zwei = \relative c' { \br c4 d e \bb c1 }

\score {
    <<
        \new Staff { \Eins }
        \new Staff { \Zwei }
    >>
    \layout {
        \context {
            \Staff
            \remove "Time_signature_engraver"
        }
    }
}
soll so aussehen wie das hier:
\version "2.13.35"

Eins = \relative c' { c4 d e f g a b c d c \bar "" s4*3 \bar "|" c1 }
Zwei = \relative c' { s4*10 \bar "" c4 d e \bar "|" c1 }

\score {
    <<
        \new Staff { \Eins }
        \new Staff { \Zwei }
    >>
    \layout {
        \context {
            \Staff
            \remove "Time_signature_engraver"
            \remove Taktstriche %s.u., ich weiß nicht genau, wie ich das am besten mache
        }
    }
}
Außerdem hab ich noch nicht ganz kapiert, ob und wo ich Bar_engraver oder Default_bar_line_engraver ausschalten muss, um die automatischen Taktstriche auszuschalten (oder geht das irgendwie anders, z.B. indem man das Metrum komplett ausschaltet? Ich hab mal irgendwas von wegen \set Timing = ##f oder so gelesen).
Mein Wunschergebnis hab ich angehängt (da allerdings mit einem 13/4-Takt getrickst).
« Letzte Änderung: Sonntag, 10. Oktober 2010, 14:52 von fugenkomponist »

kilgore

  • Member
Re:Kadenzen übereinanderbringen
« Antwort #3 am: Sonntag, 10. Oktober 2010, 17:52 »
Ach ja, verstehe.

Ich habe auch schon mal ein ähnliches Problem gehabt, da habe ich allerdings deine Notlösung benuzt.  Ich fand es weniger aufwendig, die dauern auszuzählen damit ich mit der vertikalen Abstimmung präzise sein konnte. 

Ein andere Lösung hab ich Leider nicht :(

Grüße
Kil

fugenkomponist

  • Member
Re:Kadenzen übereinanderbringen
« Antwort #4 am: Sonntag, 17. Oktober 2010, 20:14 »
Schade. Ich kann mir gut vorstellen, dass es auch nicht ganz einfach wäre, sich sowas zu basteln.
Kannst du mir trotzdem sagen, wie ich die Standard-Taktstriche wegkriege? Ich blick da durch die Engraver und so nicht ganz durch...

kilgore

  • Member
Re:Kadenzen übereinanderbringen
« Antwort #5 am: Montag, 18. Oktober 2010, 00:04 »
sowas?


\version "2.12.3"



Eins = \relative c' { \set Score.timing =  ##f
  c4 d e f g a b c d c s4*3 \bar "|" c1 }
Zwei = \relative c' { s4*10  c4 d e \bar "|" c1 }




\score {
    <<
        \new Staff { \Eins }
        \new Staff { \Zwei }
    >>
    \layout {
        \context {
        }
    }
}

\score {
\new PianoStaff \relative c' {
 \set Score.timing = ##f
 c4 d e f g a b c d c
 << { s4*3 \bar "|" c1 }
   \new Staff \with { \remove "Time_signature_engraver"
   \remove "Clef_engraver" }
 { c,4 d e c1 }
 >>
}
}

mit \set Score.timing = ##f kann man die BarLines wieder beliebig platzieren.  Die zweite Lösung spart ein bisschen Zeit beim zählen, aber ich weiss nicht ob es deiner Partitur richtig passt...

Grüße
Kil
« Letzte Änderung: Montag, 18. Oktober 2010, 00:29 von kilgore »