Autor Thema: Ritardando bis zum neuen Tempo  (Gelesen 2126 mal)

gbehrendt

  • Member
Ritardando bis zum neuen Tempo
« am: Samstag, 17. Oktober 2015, 22:07 »
Hej.
Ich möchte folgendes korrekt umsetzen: Ein Ritardando führt in ein mit Worten beschriebenes neues Tempo und soll dabei mit den üblichen TextSpanner-Strichen dargestellt werden – diese sollen genau bis an die neue Tempobezeichnung führen (so wie es bei den Dynamik-Spannern auch üblich ist) und außerdem soll beides natürlich auf der gleichen Höhe stehen. Wie bekomme ich das hin?

Herzlichen Dank für eure Hilfe
– Gereon

\version "2.18.2."

music = \relative c'' { \repeat unfold 3 { a4 b c d } a'4 b c d a, b c d }
global = { s1 \override TextSpanner #'(bound-details left text) = \markup { \upright \bold "ritardando" }
<>\startTextSpan s1*2 s2... s16\stopTextSpan
\tempo "sostenuto" s1 }

\new Voice
<< \global \music >>

fugenkomponist

  • Member
Re: Ritardando bis zum neuen Tempo
« Antwort #1 am: Samstag, 17. Oktober 2015, 23:00 »
Jeder Textspanner kann nicht nur einen linken, sondern auch einen rechten Text haben.
\version "2.18.2"

music = \relative c'' { \repeat unfold 3 { a4 b c d } a'4 b c d a, b c d }
global = {
  s1
  \override TextSpanner.bound-details.left.text = \markup { \upright \bold "ritardando" }
  \override TextSpanner.bound-details.right.text = \markup { \upright \bold "sostenuto" }
  <>\startTextSpan s1*2 s2... s16\stopTextSpan
  s1
}

\new Voice
<< \global \music >>
Ich habe hier mal die ab 2.18 erlaubte und empfohlene Syntax für \overrides verwendet.

Grundsätzlich verhält sich dieses hier aber ein bisschen anders als wenn du \tempo verwenden würdest: Ein \tempo steht immer nur ganz oben über der Partitur, während TextSpanner auch in allen Systemen stehen, wenn sie (z. B. wie hier in einer globalen Stimme) in allen Systemen eingegeben wurden. Außerdem ist die horizontale Ausrichtung anscheinend ein bisschen anders.

gbehrendt

  • Member
Re: Ritardando bis zum neuen Tempo
« Antwort #2 am: Samstag, 17. Oktober 2015, 23:43 »
Vielen Dank! Ist ja eigentlich recht simpel...
In dem Fall, dass ich nun statt „sostenuto“ eine Tempoangabe (mit Metronomzahl) haben will, muss ich die dann als rechten Begrenzungstext eingeben oder geht das doch irgendwie über \tempo?
-g.

gbehrendt

  • Member
Re: Ritardando bis zum neuen Tempo
« Antwort #3 am: Samstag, 17. Oktober 2015, 23:50 »
Ach so, am Zeilenumbruch macht das wieder Blödsinn...

\version "2.18.2"

music = \relative c'' { \repeat unfold 3 { a4 b c d } a'4 b c d \break a, b c d a b c d}
global = {
  s1
  \override TextSpanner.bound-details.left.text = \markup { \upright \bold "ritardando" }
  \override TextSpanner.bound-details.right.text = \markup { \upright \bold "sostenuto" }
  <>\startTextSpan s1*4
  s1\stopTextSpan
}

\new Voice
<< \global \music >>

fugenkomponist

  • Member
Re: Ritardando bis zum neuen Tempo
« Antwort #4 am: Samstag, 17. Oktober 2015, 23:54 »
Was du da ansprichst, ist ja so eine Art TempoSpanner. Sowas gibts leider nicht, auch wenn der Wunsch danach wohl schon geäußert wurde, siehe issue 3176.

harm6

  • Member
Re: Ritardando bis zum neuen Tempo
« Antwort #5 am: Sonntag, 18. Oktober 2015, 00:23 »
Zitat von: gbehrendt
Ach so, am Zeilenumbruch macht das wieder Blödsinn...

\override TextSpanner.bound-details.left-broken.text = ##f
\override TextSpanner.bound-details.right-broken.text = ##f

Zitat von: gbehrendt

In dem Fall, dass ich nun statt „sostenuto“ eine Tempoangabe (mit Metronomzahl) haben will, muss ich die dann als rechten Begrenzungstext eingeben oder geht das doch irgendwie über \tempo?
Über \tempo geht es nicht.
Aber du kannst es natürlich mittles markup commands nachbilden.

Gruß,
  Harm