Weiter: , Zurück: Automatische Balken, NachOben: Balken


Einstellung von automatischen Balken

Die Position und Länge der automatischen Balken wird bestimmt von bestimmten Regeln, wie beschrieben in Automatische Balken. Es gibt zwei einander ausschließende Arten, diese Regeln zu verändern. Mit der ersten Art verändert man Gruppen von Noten, die einer bestimmten Taktart entsprechend mit Balken versehen werden. Das muss manuell getan werden für die Taktarten, für welche keine fertigen Regeln definiert worden sind. Die zweite Methode verändert die Definitionen für die Endpunkte der Balken und kann für jede Taktart eingesetzt werden. Diese zweite Methode muss eingesetzt werden für die Taktarten, für welche schon Regeln definiert worden sind, es sei denn, alle Regeln wurden mit revert rückgängig gemacht. Regeln sind definiert für die Taktarten 3/2, 3/4, 4/4, 2/4, 4/8, 4/16, 6/8, 9/8 und 12/8.

Die Gruppierung von Noten verändern

Wenn keine Regeln für die Beendung von Balken für die aktuelle Balkendauer in der benutzen Taktart vorhanden sind, wird die Bebalkung von drei Kontext-Eigenschaften kontrolliert: measureLength, beatLength und beatGrouping. Diese Eigenschaften können in den Score, Staff oder Voice-Kontexten gesetzt werden, um ihre Wirkungsweise zu begrenzen.

Durch sie werden die Balken wie folgt bestimmt:

Balken können überall beginnen (außer ein Balken ist schon aktiv). Balken enden zu den Werten, die beatGrouping und beatLength bestimmten, nach folgenden Regeln:

Achtung: Diese drei Eigenschaften werden für einen bestimmten Balken nur dann aktiv, wenn für diese Balkendauer keine Beendungsregeln für die benutzte Taktart definiert sind, oder wenn alle diese Regeln mit revert rückgängig gemacht wurden.

Standardmäßig werden measureLength (Taktlänge) und beatLength von der Taktart entnommen, die mit \time gesetzt wurde. measureLength hat standardmäßig genau die gleiche Länge wie die Taktlänge und der Standardwert für beatLength (Taktzeit-Länge) wird durch den Nenner des Taktart-Bruches bestimmt.

Der Standardwert von beatGrouping wird aus einer Tabelle in der Datei scm/music-functions.scm entnommen. Um sie zu finden, siehe Mehr Information. Hier werden Taktzeiten-Gruppen für die Taktarten 5/8, 6/8, 8/8, 9/8 und 12/8 definiert.

Sowohl measureLength als auch beatLength sind Momente, Einheiten musikalischer Dauer. Eine Größe der Art Moment wird durch die Scheme-Funktion ly:make-moment erstellt. Für mehr Information zu dieser Funktion siehe Verwaltung der Zeiteinheiten.

beatGrouping ist eine Liste an Integren, die die Anzahl von Zählzeiten für jede Gruppe darstellen.

Ausgewählte Schnipsel

Notengruppen

Balkengruppen können mit der beatGrouping-Eigenschaft geändert werden:

     
     \relative c'' {
       \time 5/16
       \set beatGrouping = #'(2 3)
       c8[^"(2+3)" c16 c8]
       \set beatGrouping = #'(3 2)
       c8[^"(3+2)" c16 c8]
     }
     

[image of music]

Specifying context with beatGrouping

By specifying the context, the effect of beatGrouping can be limited to the context specified, and the values which may have been set in higher-level contexts can be overridden. The \set commands must be placed after all ime commands:

     
     \score {
       \new Staff <<
         \time 7/8
         \new Voice {
           \relative c'' {
             \set Staff.beatGrouping = #'(2 3 2)
             a8 a a a a a a
           }
         }
         \new Voice {
           \relative c' {
             \voiceTwo
             \set Voice.beatGrouping = #'(1 3 3)
             f8 f f f f f f
           }
         }
       >>
     }

[image of music]

Using beatLength and beatGrouping

The property measureLength determines where bar lines should be inserted and, with beatLength and beatGrouping, how automatic beams should be generated for beam durations and time signatures for which no beam-ending rules are defined. This example shows several ways of controlling beaming by setting these properties. The explanations are shown as comments in the code.

     
     \relative c'' {
       \time 3/4
       % Standard in 3/4-Takt sind drei bebalkte Gruppen
       % jede mit der Dauer einer Viertel
       a16 a a a a a a a a a a a
     
       \time 12/16
       % Keine autom. Bebalkung definiert für 12/16
       a16 a a a a a a a a a a a
     
       \time 3/4
       % Taktart-Symbol ändern, aber 3/4-Bebalkung beibehalten
       \set Score.timeSignatureFraction = #'(12 . 16)
       a16 a a a a a a a a a a a
     
       % 3/4-Taktart Standardgruppen (1 1 1) und beatLenght von 1/8
       % stimme nicht überein mit measureLenght von 3/4, sodass die Balken
       % anhand von beatLength-Intervallen gruppiert werden
       \set Score.beatLength = #(ly:make-moment 1 8)
       a16 a a a a a a a a a a a
     
       % Definition von Balken in Gruppen von (3 3 2 3) 1/16-Noten
       % 3+3+2+3=11, und 11*16<>3/4, also trifft beatGrouping nicht zu,
       % und Balken werden gruppiert anhand von beatLength (1/16)-Intervallen
       \set Score.beatLength = #(ly:make-moment 1 16)
       \set Score.beatGrouping = #'(3 3 2 3)
       a16 a a a a a a a a a a a
     
       % Definition von Balkengruppen für (3 4 2 3) 1/16-Noten
       % 3+4+2+3=12, und 12*1/16=3/4, also beatGrouping wird verwendet
       \set Score.beatLength = #(ly:make-moment 1 16)
       \set Score.beatGrouping = #'(3 4 2 3)
       a16 a a a a a a a a a a a
     }
     

[image of music]

Sub-dividing beams

The beams of consecutive 16th (or shorter) notes are, by default, not sub-divided. That is, the three (or more) beams stretch unbroken over entire groups of notes. This behavior can be modified to sub-divide the beams into sub-groups by setting the property subdivideBeams. When set, multiple beams will be sub-divided at intervals defined by the current value of beatLength by reducing the multiple beams to just one beam between the sub-groups. Note that beatLength defaults to one over the denominator of the current time signature if not set explicitly. It must be set to a fraction giving the duration of the beam sub-group using the make-moment function, as shown here:

     
     \relative c'' {
       c32[ c c c c c c c]
       \set subdivideBeams = ##t
       c32[ c c c c c c c]
     
       % Balkenuntergruppenlänge als Achtel definieren
       \set beatLength = #(ly:make-moment 1 8)
       c32[ c c c c c c c]
     
       % Balkenuntergruppenlänge als Sechszehntel definieren
       \set beatLength = #(ly:make-moment 1 16)
       c32[ c c c c c c c]
     }

[image of music]

Conducting signs, measure grouping signs

Options to group beats within a bar are available through the Scheme function set-time-signature, which takes three arguments: the number of beats, the beat length, and the internal grouping of beats in the measure. If the Measure_grouping_engraver is included, the function will also create MeasureGrouping signs. Such signs ease reading rhythmically complex modern music. In the example, the 9/8 measure is subdivided in 2, 2, 2 and 3. This is passed to set-time-signature as the third argument: '(2 2 2 3):

     
     \score {
       \relative c'' {
         #(set-time-signature 9 8 '(2 2 2 3))
         #(revert-auto-beam-setting '(end * * 9 8) 3 8)
         #(override-auto-beam-setting '(end 1 8 9 8) 1 4)
         #(override-auto-beam-setting '(end 1 8 9 8) 2 4)
         #(override-auto-beam-setting '(end 1 8 9 8) 3 4)
         g8 g d d g g a( bes g) |
         #(set-time-signature 5 8 '(3 2))
         a4. g4
       }
       \layout {
         \context {
           \Staff
           \consists "Measure_grouping_engraver"
         }
       }
     }

[image of music]

Die Endpunkte von Balken bestimmen

In üblichen Taktarten können automatisch gesetzte Balken an jeder Note beginnen, aber nur an einigen bestimmten Positionen innerhalb des Taktes beendet werden. Diese Positionen werden durch die Eigenschaften in autoBeamSettings bestimmt. Sie bestehen aus einer Liste an Regeln, die bestimmen, wo Balken enden können. Die Standardeinstellungen dieser automatischen Einstellungen befinden sich in der Datei scm/auto-beam.scm. Um diese Datei zu finden, siehe Mehr Information.

Diese Methode muss benutzt werden, wenn die Einstellungen für die Balken in Taktarten verändert werden sollen, für welche schon Regeln existieren, es sei denn, alle diese Regeln wurden rückgängig gemacht. Die Methode ist auch in vielen anderen Taktarten gut anzuwenden, wenn die Taktart sich oft ändert, oder wenn die Balken unterschiedlich für unterschiedliche Balkendauern gesetzt werden sollen.

Um eine neue Regel zu der Liste hinzuzufügen, muss folgende Syntax verwendet werden:

#(override-auto-beam-setting
  '(Balken-Limit
    Balken-Zähler Balken-Nenner
    Taktart-Zähler Taktart-Nenner)
  Moment-Zähler Moment-Nenner [Kontext])

wobei

Wenn beispielsweise die automatischen Balken immer auf der ersten Viertel enden sollen, unabhängig von der Taktart oder Dauer des Balkens, kann

     
     a8 a a a a a a a
     #(override-auto-beam-setting '(end * * * *) 1 4)
     a8 a a a a a a a

[image of music]

benutzt werden.

Balkenregeln können aber auch auf Notengruppen beschränkt werden, deren kürzeste Note einen bestimmten Wert hat:

     
     \time 2/4
     % 1/16-Balken für alle Taktarten beim 1/16-Moment beenden
     #(override-auto-beam-setting '(end 1 16 * *) 1 16)
     a16 a a a a a a a |
     a32 a a a a16 a a a a a |
     % 1/23-Balken für alle Taktarten beim 1/16-Moment beenden
     #(override-auto-beam-setting '(end 1 32 * *) 1 16)
     a32 a a a a16 a a a a a |

[image of music]

Balkenregeln können so definiert werden, dass sie nur in bestimmten Taktarten angewendet werden:

     
     \time 5/8
     % Balken aller Längen im 5/8-Takt am 2/8-Moment beenden
     #(override-auto-beam-setting '(end * * 5 8) 2 8)
     c8 c d d d
     \time 4/4
     e8 e f f e e d d
     \time 5/8
     c8 c d d d

[image of music]

Wenn mehrfache Stimmen benutzt werden, muss der Staff-Kontext angegeben werden, wenn die Balkenregeln auf alle Stimmen im System angewendet werden sollen:

     
     \time 7/8
     % Rhythmus 3-1-1-2
     % Kontext nicht angegeben - funktioniert nicht richtig
     #(override-auto-beam-setting '(end * * 7 8) 3 8)
     #(override-auto-beam-setting '(end * * 7 8) 4 8)
     #(override-auto-beam-setting '(end * * 7 8) 5 8)
     << {a8 a a a16 a a a a8 a} \\ {f4. f8 f f f} >>
     
     % Funktioniert richtig mit angegebenem Kontext
     #(override-auto-beam-setting '(end * * 7 8) 3 8 'Staff)
     #(override-auto-beam-setting '(end * * 7 8) 4 8 'Staff)
     #(override-auto-beam-setting '(end * * 7 8) 5 8 'Staff)
     << {a8 a a a16 a a a a8 a} \\ {f4. f8 f f f} >>

[image of music]

Achtung: Wenn eine unerwartete Bebalkung auftritt, schauen Sie zuerste die Balkeneinstellungen in scm/auto-beam.scm nach, ob sich hier Überschneidungen ergeben, weil die Balkenenden, die dort definiert sind, auch noch weiterhin wirksam sind zusätzlich zu den von Ihnen definierten.

Jede ungewollte oder störende Balkenbeendigung aus den Standard-Eingesllungen muss für Ihre Taktart rückgängig gemacht werden. Existierende automatische Bebalkungsregeln werden entfernt mit folgender Syntax:

#(revert-auto-beam-setting
  '(Balken-Limit
    Balken-Zähler Balken-Nenner
    Taktart-Zähler Taktart-Nenner)
  Moment-Zähler Moment-Nenner [Kontext])

wobei Balken-Limit, Balken-Zähler, Balken-Nenner, Taktart-Zähler, Taktart-Nenner, Moment-Zähler, Moment-Nenner sowie Kontext die gleichen sind wie oben erklärt.

     
     \time 4/4
     a16 a a a a a a a a a a a a a a a
     % Regel annullieren, dass 1/16-Balken im 4/4-Takt am 1/4-Moment enden
     #(revert-auto-beam-setting '(end 1 16 4 4) 1 4)
     a16 a a a a a a a a a a a a a a a

[image of music]

Die Regel in einer revert-auto-beam-setting-Definition muss exakt der ursprünglichen Regel entsprechen. Dabei werden keine Platzhalter akzeptiert.

     
     \time 1/4
     #(override-auto-beam-setting '(end 1 16 1 4) 1 8)
     a16 a a a
     #(revert-auto-beam-setting '(end 1 16 * *) 1 8) % Das macht es nicth rückgängig
     a a a a
     #(revert-auto-beam-setting '(end 1 16 1 4) 1 8) % Das schon
     a a a a

[image of music]

Ausgewählte Schnipsel

Balkengruppen für 7/8-Takte

Es gibt keine automatischen Balkengruppen für 7/8-Takte. Wenn diese Taktart benötigt wird, müssen die Gruppierungen definiert werden. Um beispielsweise alle Noten in 2/8-3/8-2/8 aufzuteilen, müssen Balkenenden für 2/8 und 5/8 definiert werden:

     
     \relative c'' {
       \time 7/8
       % Rhythmus 2-3-2
       a8 a a a a a a
       #(override-auto-beam-setting '(end * * 7 8) 2 8)
       #(override-auto-beam-setting '(end * * 7 8) 5 8)
       a8 a a a a a a
     }

[image of music]

Reverting default beam endings

To typeset beams grouped 3-4-3-2 in 12/8 it is necessary first to override the default beam endings in 12/8, and then to set up the new beaming endings:

     
     \relative c'' {
       \time 12/8
     
       % Standartbebalkung
       a8 a a a a a a a a a a a
     
       % Standardwerte von scm/auto-beam.scm für 12/8-Takt herstellen
       #(revert-auto-beam-setting '(end * * 12 8) 3 8)
       #(revert-auto-beam-setting '(end * * 12 8) 3 4)
       #(revert-auto-beam-setting '(end * * 12 8) 9 8)
       a8 a a a a a a a a a a a
     
       % Neue Werte für Balkenenden
       #(override-auto-beam-setting '(end * * 12 8) 3 8)
       #(override-auto-beam-setting '(end * * 12 8) 7 8)
       #(override-auto-beam-setting '(end * * 12 8) 10 8)
       a8 a a a a a a a a a a a
     }

[image of music]

Beam endings in Score context

Beam-ending rules specified in the Score context apply to all staves, but can be modified at both Staff and Voice levels:

     
     \relative c'' {
       \time 5/4
       % Automatische Bebalkung für alle Systeme
       #(score-override-auto-beam-setting '(end * * 5 4) 3 8)
       #(score-override-auto-beam-setting '(end * * 5 4) 7 8)
       <<
         \new Staff {
           c8 c c c c c c c c c
         }
         \new Staff {
           % Balken nur für dieses System verändern
           #(override-auto-beam-setting '(end * * 5 4) 6 8 'Staff)
           #(revert-auto-beam-setting '(end * * 5 4) 7 8 'Staff)
           c8 c c c c c c c c c
         }
         \new Staff {
           % Bebalkung vom Score-Kontext geerbt
           <<
             {
               \voiceOne
               c8 c c c c c c c c c
             }
             % Balken nur für diese Stimme ändern
             \new Voice {
               \voiceTwo
               #(override-auto-beam-setting '(end * * 5 4) 6 8)
               #(revert-auto-beam-setting '(end * * 5 4) 7 8)
               a8 a a a a a a a a a
             }
           >>
         }
       >>
     }

[image of music]

Vordefinierte Befehle

\autoBeamOff, \autoBeamOn.

Bekannte Probleme und Warnungen

Wenn eine Partitur aufhört, während ein automatischer Balken noch nicht geschlossen ist und noch Noten erwartet, wird dieser letzte Balken überhaupt nicht ausgegeben. Das gilt auch für polyphone Stimmen, die mit << ... \\ ... >> gesetzt wurden. Wenn eine polyphone Stimme endet, während ein Balken noch Noten erwartet, wird dieser Balken nicht gesetzt.

Siehe auch

Schnipsel: Rhythmus.

Andere Sprachen: English, français, español.