Autor Thema: Automatische Balken bei Melismen bzw. Legati  (Gelesen 1996 mal)

iugin

  • Member
Automatische Balken bei Melismen bzw. Legati
« am: Dienstag, 15. April 2014, 10:57 »
Hallo miteinander

wenn ich für Gesang schreibe, schalte ich die automatische Balken aus.
Wenn der Text syllabisch ist, ist kein Problem. Wenn Melismen kommen, muss ich dann die Balken manuell setzen.
Z.B.
\version "2.18.0"
\language "deutsch"

\score {
\new Staff \relative c' {
  \autoBeamOff
 c8 d e( f g a) h
}
\addlyrics {
 la la la __ la
}
}

\score {
\new Staff \relative c' {
  \autoBeamOff
 c8 d e([ f] g[ a)] h
}
\addlyrics {
 la la la __ la
}
}
Da es für grossen Partituren das ziemlich umständlich ist, meine Frage: Kann man das irgendwie automatisieren? Und zwar dass die Balken sowohl zwischen \melisma und \melismaEnd, wie auch zwischen ( und ) wieder gesetzt werden?
Das eventuell auch in dem Fall, wo nur drei Noten unten dem Melisma sind, wie hier, wo die dritte Note nicht gebunden werden kann:
\version "2.18.0"
\language "deutsch"

\score {
\new Staff \relative c' {
  \autoBeamOff
 c8 d e( f g) a
}
\addlyrics {
 la la la __ la
}
}

\score {
\new Staff \relative c' {
  \autoBeamOff
 c8 d e([ f] g) a
}
\addlyrics {
 la la la __ la
}
}
Ich wünsche euch allen einen schönen Tag

Liebe Grüsse

Eugenio

harm6

  • Member
Re: Automatische Balken bei Melismen bzw. Legati
« Antwort #1 am: Dienstag, 15. April 2014, 13:23 »
Hallo Eugenio,

was Dir da so vorschwebt ist mir nicht geläufig.
Ich kenne eine Notation wie im ersten Beispiel.
Heutzutage wird auch häufig "instrumental" bebalkt ->Beispiel 2, aber Du solltest mal Sänger, Chorleiter fragen was sie davon halten.
-> https://liarchiv.joonet.de/index.php?topic=1475.msg8179#msg8179
Beispiel 3 und 4 finde ich befremdlich.



Eine Bebalkung wie im ersten Beispiel halte ich für programmierbar. Soll ich?
Beispiel zwei und drei ist sowieso kein Problem.
Aber Dein Wunsch (Beispiel 4), halte ich nicht für durchführbar. Zumindest nicht als Automatismus, wenn ich an alle möglichen Anwendungen/Ausnahmen denke.
Hast Du Beispiel aus gedruckten Partituren, die so vorgehen?

Gruß,
  Harm

iugin

  • Member
Re: Automatische Balken bei Melismen bzw. Legati
« Antwort #2 am: Dienstag, 15. April 2014, 14:19 »
Lieber Harm

da liege ich wahrscheinlich falsch, ich weiss jetzt aber nicht, wie ich es erklären kann.

Vor allem: Nr 3. ist eben was nur mit \autoBeamOff passiert, und ist das Verhalten, das ich ändern möchte.
Das Resultat sollte wie dein Nr. 1 oder Nr. 4 aussehen.

Jetzt zu Nr. 4. Ich dachte nur: die typische Bebalkerung ist 4 Achterl + 4 Achterl.
Da in Nr. 4 die erste Gruppe eigentlich in der Mitte des Melismas aufhört, habe ich die Achterl getrennt.

Ich habe ein paar Partituren angeschaut und fast sofort das gesehen (s. Attachement Balken.jpg).

Jetzt frage ich mich: wenn dein Nr. 1 richtig ist, dann sollte mein Nr 2. (s. Attachement MeinBeispiel.jpg) richtig sein. Ich würde aber eher Nr. 1 verwenden, da die Gliederung der Achterlgruppen klarer ist. Nr. 2 kenne ich eher aus der alten Musik.
(ich hoffe, man versteht es mit all diesen "mein Nr. 1", "dein Nr. 2", etc :D )
Zitat
Eine Bebalkung wie im ersten Beispiel halte ich für programmierbar. Soll ich?
Wenn es dir nicht so viel Zeit in Anspruch nimmt, und wenn du Lust hast, dann gerne. Wenn du aber viel Aufwand hast, dann lass es, ich kann selber die Balken mit [ und ] setzten. :-)

Einen lieben Gruss

Eugenio


harm6

  • Member
Re: Automatische Balken bei Melismen bzw. Legati
« Antwort #3 am: Dienstag, 15. April 2014, 21:11 »
Hallo,

zwei Möglichkeiten

a)
Eine Musikfunktion:
\version "2.18.0"

\language "deutsch"

#(define (insert-beam m)
  (if (music-is-of-type? m 'note-event)
      (let* ((arts (ly:music-property m 'articulations))
             (dur (ly:music-property m 'duration)))
         (cond ((< (ly:duration-log dur) 3) m)
               ((member #{ ( #} arts)
                  (ly:music-set-property! m 'articulations
                    (append arts (list #{ [ #}))))
               ((member #{ ) #} arts)
                  (ly:music-set-property! m 'articulations
                    (append arts (list #{ ] #}))))
               (else m))
         m)
      m))   

setMelismaBeams =
#(define-music-function (parser location music)(ly:music?)
  (music-map (lambda (m)(insert-beam m)) music))
 
\paper { line-width = 100 }

\new Staff \with { \autoBeamOff }
  \setMelismaBeams
  \relative c' {
 
    c8 d8 e( f g  a) h c
    \break
    c,8 d8 e( f] g[  a) h c
    \break
    c,8 d8 e( f g)  a h( c)
    \break
    c,8 d8 e( f] g)  a h( c)
    \break
    c,8 d8 e f g  a( h c   c,8 d8 e) f g  a h c
    \break
    c,8 d8 e f g  a( h c]   c,8[ d8 e) f g  a h c
  }
  \addlyrics {
   \repeat unfold 40 la
  }

b)
Neudefinition von Zeichen welche Anfang bzw Ende von Slur und Beam veranlassen.
Es handelt sich um ein neues feature, Dank an David Kastrup

\version "2.18.0"

\language "deutsch"

\paper { line-width = 100 }

"\\{" = ([

"\\}" = )]

\new Staff \with { \autoBeamOff }
  \relative c' {
 
    c8 d8 e\{ f g  a\} h c
    \break
    c,8 d8 e\{ f] g[  a\} h c
    \break
    c,8 d8 e\{ f g\}  a h\{ c\}
    \break
    c,8 d8 e\{ f] g\}  a h\{ c\}
    \break
    c,8 d8 e f g  a\{ h c   c,8 d8 e\} f g  a h c
    \break
    c,8 d8 e f g  a\{ h c]   c,8[ d8 e\} f g  a h c
  }
  \addlyrics {
   \repeat unfold 42 la
  }

Schau mal was Dir besser gefällt.
Beide Möglichkeiten sind allerdings nur semi-automatisch. Gelegentlich wirst Du zusätliche "[" oder "]" verwenden müssen/wollen.


Gruß,
  Harm

« Letzte Änderung: Dienstag, 15. April 2014, 21:13 von harm6 »

iugin

  • Member
Re: Automatische Balken bei Melismen bzw. Legati
« Antwort #4 am: Mittwoch, 16. April 2014, 07:49 »
Lieber Harm

danke vielmals!
An die zweite Lösung hatte ich selber gedacht (zumindest so ähnlich), aber irgendwie gefiel sie mir nicht so sehr, weil ich eben weiter die Klammer schreiben musste.
Ich hatte mich dann gefragt, ob ich in der Neudefinition von den ()-Zeichen, mehrere Befehle speichern kann.
Z.B. so etwas:
\version "2.18.0"
\language "deutsch"

"(" = (\autoBeamOn %% <- das geht leider nicht.
")" = )\autoBeamOff
\paper { line-width = 100 }

\new Staff \with { \autoBeamOff }
  \relative c' {
 
    c8 d8 e( f g  a h c
    \break
    c,8 d8 e f g  a h c
    \break
    c,8 d8 e f g)  a h( c)
    \break
    c,8 d8 e( f] g)  a h( c)
    \break
    c,8 d8 e f g  a( h c   c,8 d8 e) f g  a h c
  }
  \addlyrics {
   \repeat unfold 40 la
  }
das funktioniert aber anscheinend nicht und hätte auch nichts gebracht, da anscheinend \autoBeamOff die Balken in der Mitte nicht unterbrechen kann:
\version "2.18.0"
\language "deutsch"

\paper { line-width = 100 }

\new Staff \with { \autoBeamOff }
  \relative c' { 
   c8 d8 e f \autoBeamOn g a h\autoBeamOff c
    \break
   c,8 d8 e f g[ a h] c
  }
Die erste Zeile ist anders als die zweite.
Wenn du sagst, man muss trotzdem manuell Balken setzen, ist dann nichts anders möglich :-)
Ich werde daher deine erste Lösung benutzen.

Ich wollte dich schon lange fragen (eventuell sollte ich ein neues Thema in "Allgemeine Diskussionen" öffnen): wie hast du Scheme so gut gelernt?
Ich habe natürlich das gelesen, was im Lilypond-Handbuch steht, und sonst in Internet recherchiert, für mich bleibt aber diese Sprache ein Rätsel (obwohl es überall steht, dass sie sehr einfach ist, quasi eine Anfänger-Sprache).
Ich hatte schon gedacht, man sollte eine Sektion "Scheme" hier in Forum öffnen...

Ich wünsche dir einen schönen Tag und wie immer danke für deine Bemühungen.

Liebe Grüsse

Eugenio