Weiter: Manuelle Balken, Zurück: Automatische Balken, NachOben: 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:
beatGrouping
und beatLength
den gleichen
Wert wie measureLength
haben, wird beatGrouping
benutzt, um die Endpunkte der Balken zu bestimmen.
beatGrouping
und beatLength
nicht mit
measureLength
übereinstimmen, wird beatLength
benutzt, um die Endpunkte der Balken zu bestimmen.
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.
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] }
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 } } >> }
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 }
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] }
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" } } }
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
Balken-Limit
die Art der Balkenbegrenzung ist. Das
kann entweder der Wert begin
(Anfang) oder end
(Ende) sein, aber nur end
hat eine Auswirkung.
Balken-Zähler/Balken-Nenner
ist die Balken-Dauer,
auf die die Regel sich bezieht. Ein Balken hat per Definition
die Dauer seiner kürzesten Note. Wenn sowohl
Balken-Zähler
als auch Balken-Nenner
auf
'*'
gesetzt werden, gilt die Regel für alle Dauern.
Taktart-Zähler/Taktart-Nenner
bestimmen die
Taktart, auf die die Regel sich bezieht. Wenn Taktart-Zähler
und Taktart-Nenner
auf '*'
gesetzt werden, gilt
die Regel für alle Taktarten.
Moment-Zähler/Moment-Nenner
ist die Position im
Takt, an welcher der Balken aufhören soll.
Kontext
ist optional und bestimmt den Kontext, in
welchem die Änderungen vorgenommen werden sollen. Der
Standard ist 'Voice
.
#(score-override-auto-beam-setting '(A B C D) E F)
ist
gleichbedeutend mit
#(override-auto-beam-setting '(A B C D) E F 'Score)
.
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
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 |
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
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} >>
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
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
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 }
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 }
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 } >> } >> }
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.
Schnipsel: Rhythmus.