[ << Musikalische Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Spezielle Notation >> ] | ||
[ < Melodierhythmus anzeigen ] | [ Nach oben : Rhythmus ] | [ Automatische Balken > ] |
1.2.4 Balken
Automatische Balken | ||
Einstellung von automatischen Balken | ||
Manuelle Balken | ||
Gespreizte Balken |
[ << Musikalische Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Spezielle Notation >> ] | ||
[ < Balken ] | [ Nach oben : Balken ] | [ Einstellung von automatischen Balken > ] |
Automatische Balken
LilyPond setzt Balken (engl. beam) automatisch.
\time 2/4 c8 c c c \time 6/8 c c c c8. c16 c8
Wenn diese automatischen Entscheidungen nicht gut genug sind, können die Balken auch explizit eingegeben werden, siehe Manuelle Balken. Balken müssen auch auf diese Weise eingegeben werden, wenn sie über Pausen hinwegreichen sollen.
Wenn automatische Bebalkung nicht benötigt wird, kann sie mit dem Befehl \autoBeamOff
aufgehoben werden und mit dem Befehl \autoBeamOn
wieder
eingeschaltet werden.
c4 c8 c8. c16 c8. c16 c8 \autoBeamOff c4 c8 c8. c16 c8. \autoBeamOn c16 c8
Achtung: Wenn Balken eingesetzt werden, um Melismen in Gesang zu notieren,
sollte die automatische Bebalkung mit autoBeamOff
ausgeschaltet
werden und die Balken manuell notiert werden.
Balkenmuster, die sich von den automatisch erstellen unterscheiden, können erstellt werden, siehe Einstellung von automatischen Balken.
Vordefinierte Befehle
\autoBeamOff
,
\autoBeamOn
.
Ausgewählte Schnipsel
Balken über Zeilenumbrüche
Zeilenumbrüche sind normalerweise während Balken verboten. Das kann geändert werden.
\relative c'' { \override Beam #'breakable = ##t c8 c[ c] c[ c] c[ c] c[ \break c8] c[ c] c[ c] c[ c] c }
Balken für weit auseinander liegende Noten ändern
Balken mit Hälsen in unterschiedliche Richtungen werden automatisch
erstellt, wenn ein großer Sprung zwischen Tonhöhen gefunden wird. Dieses
Verhalten kann durch die auto-knee-gap
-Eigenschaft beeinflusst
werden. Ein derartiger Knie-Balken wird erstellt, wenn der Abstand größer
ist als der Wert von auto-knee-gap
plus der Dicke des Balkens
(was von der Notendauer und der Neigung des Balkens abhängt). Der
Standardwert von auto-knee-gap
ist 5.5 Notensystemabstände.
{ f8 f''8 f8 f''8 \override Beam #'auto-knee-gap = #6 f8 f''8 f8 f''8 }
Siehe auch
Notationsreferenz: Manuelle Balken, Einstellung von automatischen Balken.
Installierte Dateien: ‘scm/auto-beam.scm’.
Schnipsel: Rhythms.
Referenz der Interna: Beam.
Bekannte Probleme und Warnungen
Balken können mit Notenköpfen und Versetzungszeichen in anderen Stimmen zusammenstoßen.
[ << Musikalische Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Spezielle Notation >> ] | ||
[ < Automatische Balken ] | [ Nach oben : Balken ] | [ Manuelle Balken > ] |
Einstellung von automatischen Balken
Die Platzierung der automatischen Bebalkung wird entsprechend der Taktart entschieden. Drei Arten von Regeln werden eingesetzt, um die Endpunkte der automatischen Balken zu bestimmen: Standardregeln für die Taktart, ausdrückliche Regeln für einen Balken in einer Taktart und die Eigenschaft beatLenght (Schlagdauer) der Taktart.
Die folgenden Regeln, in der Reihenfolge ihrer Priorität, gelten, wenn das Aussehen der Balken bestimmt wird:
- Wenn ein manueller Balken mit
[...]
definiert ist, wird er gesetzt, andernfalls - wenn
\autoBeamOff
eingeschaltet ist, werden keine Balken gesetzt, andernfalls - wenn eine ausdrückliche Balkenregel für diesen Balken in dieser Taktart definiert ist, wird sie genommen um die möglichen Stellen zu errechnen, an denen der Balken enden darf, andernfalls
- wenn eine Standardbalkenregel für die Taktart definiert ist, wird sie genommen, um Noten mit Balken zu gruppieren, andernfalls
- benutze den Wert von
beatLength
um die Noten mit Balken zu gruppieren.
Die Gruppierung von Taktzeiten verändern
Standardmäßig wird beatLength
(Schlagdauer) von der
Taktart abgeleitet, die mit dem \time
-Befehl gesetzt
wurde. Die Schlagdauer wird definiert als eine Eins über dem
Nenner der Taktart.
beatLength
ist ein Moment, eine Einheit 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.
Automatische Bebalkung und Balkenunterteilungen werden gespeichert
in den Einstellungen der beamSettings
-Eigenschaft.
Standardwerte von beamSettings
werden in der Datei
‘scm/beam-settings.scm’ definiert. Einträge in
beamSettings
werden nach Taktart und Regelart sortiert.
Die Taktart sollte als Scheme-Paar dargestellt werden, also
#'(4 . 4)
.
Die Regelart sollte sein #'end
für Balkenenden und
#'subdivide
für Balkenunterteilungen.
Die Endungs- und Unterteilungsregeln bestehen aus einer Scheme-Aliste (oder Liste von Paaren), die den Balkentyp und die Gruppierung, die auf diesen Balkentyp angewendet werden soll, anzeigt.
#'((beam-type1 . grouping-1) (beam-type2 . grouping-2) (beam-type3 . grouping-3))
Balkentyp ist entweder ein Scheme-Paar, das die Dauer des Balkens
anzeigt, etwa (1 . 16)
, oder *
, um eine Standardregel
anzuzeigen, die auf alle Balken angewendet werden soll, wenn
keine spezifische Regel vorliegt.
Die Balkengruppierung ist eine Scheme-Liste, die die Gruppierungsart
für einen Balkentyp darstellt. Für Standardregeln (in denen
der Balkentyp *
ist) wird die Gruppierung in Einheiten
von beatLength
dargestellt. Für explizite Regeln wird
die Gruppierung in Einheiten der Balkenart angezeigt.
Balkenregeln werden verändert mit \overrideBeamSettings
und \revertBeamSettings
.
\time 5/16 c8^"beats" c16 c8 | \overrideBeamSettings #'Score #'(5 . 16) #'end #'((* . (2 3))) c8^"(2+3)" c16 c8 \overrideBeamSettings #'Score #'(5 . 16) #'end #'((* . (3 2))) c8^"(3+2)" c16 c8
Balkenregelveränderungen können auf bestimmte Kontexte beschränkt werden. Wenn keine Regeln in einen unteren Kontext definiert sind, gelten die Regeln des höheren Kontext, in dem sich der niedrigere befindet.
\new Staff << \time 7/8 \new Voice = one { \relative c'' { \overrideBeamSettings #'Staff #'(7 . 8) #'end #'((* . (2 3 2))) a8 a a a a a a } } \new Voice = two { \relative c' { \voiceTwo \overrideBeamSettings #'Voice #'(7 . 8) #'end #'((* . (1 3 3))) f8 f f f f f f } } >>
Wenn mehrere Stimmen eingesetzt werden, muss der Staff
-Kontext
definiert werden, wenn die Balkenregeln auf alle Stimmen des
Systems angewendet werden sollen:
\time 7/8 % rhythm 3-1-1-2 % Context Voice specified -- does not work correctly % Because of autogenerated voices, all beating will % be at beatLength (1 . 8) \overrideBeamSettings #'Voice #'(7 . 8) #'end #'((* . (3 1 1 2))) << {a8 a a a16 a a a a8 a} \\ {f4. f8 f f f} >> % Works correctly with context Staff specified \overrideBeamSettings #'Staff #'(7 . 8) #'end #'((* . (3 1 1 2))) << {a8 a a a16 a a a a8 a} \\ {f4. f8 f f f} >>
Balkenregeln können rückgängig gemacht und das Standardverhalten
wieder hergestellt werden. Das erreicht man durch den Einsatz
von \revertBeamSettings
. Die Argumente sind die gleichen
wie für overrideBeamSettings
, außer das kein Wert für
Gruppierung gegeben wird:
\revertBeamSettings Kontext Taktart Regelart
\time 4/4 \repeat unfold 16 {a16} % set default rule for (1 1 1 1) grouping \overrideBeamSettings #'Score #'(4 . 4) #'end #'((* . (1 1 1 1))) \repeat unfold 16 {a16} % revert the new rule \revertBeamSettings #'Score #'(4 . 4) #'end \repeat unfold 16 {a16}
Ausgewählte Schnipsel
Balken in Untergruppen teilen
Die Balken von aufeinanderfolgenden Sechszehnteln (oder kürzeren Notenwerten)
werden standardmäßig nicht unterteilt. Dieses Verhalten kann verändert
werden, sodass die Balken in Untergruppen aufgeteilt werden, indem man
die Eigenschaft subdivideBeams
verändert. Man muss die Unterteilungsintervalle
als Notenbruch mit der make-moment
-Funktion für beatLength
angeben,
damit die Balken unterbrochen wird und nur ein Balken durchgezogen bleibt. Der
Standardwert für beatLength
ist 1 / Zähler des aktuellen Taktes.
\relative c'' { c32[ c c c c c c c] \set subdivideBeams = ##t c32[ c c c c c c c] % Set beam sub-group length to an eighth note \set beatLength = #(ly:make-moment 1 8) c32[ c c c c c c c] % Set beam sub-group length to a sixteenth note \set beatLength = #(ly:make-moment 1 16) c32[ c c c c c c c] }
Dirigirzeichen Taktgruppenzeichen
Optionen, mit denen die Balken in einem Takt gruppiert werden, sind
durch die Scheme-Funktion set-time-signature
erhältlich, die
drei Argumente braucht: Die Zahl der Taktschläge, die Länge des
Schlages und die interne gruppieren von Balken in dem Takt. Wenn der
Measure_grouping_engraver
hinzugefügt worden ist, erstellt
diese Funktion auch MeasureGrouping
-(Taktgruppen)-Zeichen. Derartige
Zeichen erleichtern das Lesen von rhythmisch komplexer Musik. In dem
Beispiel ist der 9/8-Takt in 2, 2, 2 und 3 aufgeteilt. Das wird
der set-time-signature
-Funktion als das dritte Argument mitgegeben:
'(2 2 2 3)
:
\score { \relative c'' { \time 9/8 \overrideBeamSettings #'Score #'(9 . 8) #'end #'((* . (2 2 2 3))) g8 g d d g g a( bes g) | #(set-time-signature 9 8 '(4 5)) g8 g d d g g a( bes g) | \time 5/8 a4. g4 | } \layout { \context { \Staff \consists "Measure_grouping_engraver" } } }
Balkenenden auf Score-Ebene
Balkenenderegeln, die im Score
-Kontext definiert werden, wirken
sich auf alle Systeme aus, können aber auf Staff
- und
Voice
-Ebene neu verändert werden:
\relative c'' { \time 5/4 % Set default beaming for all staves \overrideBeamSettings #'Score #'(5 . 4) #'end #'(((1 . 8) . (3 4 3)) ((1 . 16) . (6 8 6)) ((1 . 32) . (12 16 12))) << \new Staff { c8 c c c c c c c c c } \new Staff { % Modify beaming for just this staff \overrideBeamSettings #'Staff #'(5 . 4) #'end #'((* . (3 2))) c8 c c c c c c c c c } \new Staff { % Inherit beaming from Score context << { \voiceOne c8 c c c c c c c c c } % Modify beaming for this voice only \new Voice { \voiceTwo \overrideBeamSettings #'Voice #'(5 . 4) #'end #'((* . (3 2))) a8 a a a a a a a a a } >> } >> }
Bekannte Probleme und Warnungen
Wenn eine Partitur endet, während ein automatischer Balken noch
nicht beendet wurde und weiterhin Notenerwartet, wird dieser
letzte Balken nicht ausgegeben. Das Gleiche gilt auch für
polyphone Stimmen, die mit der <<
… \\ … >>
-Konstruktion notiert wurden. Wenn eine
polyphone Stimme endet, während ein Balken noch weitere Noten
erwartet, wird der Balken nicht gesetzt.
Siehe auch
Schnipsel: Rhythms.
[ << Musikalische Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Spezielle Notation >> ] | ||
[ < Einstellung von automatischen Balken ] | [ Nach oben : Balken ] | [ Gespreizte Balken > ] |
Manuelle Balken
In einigen Fällen kann es nötig sein, den automatischen Algorithmus
für die Balken zu überschreiben. Die automatischen Balken werden
beispielsweise nicht über Pausen oder Taktlinien hinweg gesetzt, und
in Gesang werden die Balken oft nach dem Rhythmus des Textes und
nicht dem der Musik gesetzt.
Manuell definierte Balken werden mit den Zeichen [
und
]
(AltGr+8 bzw. 9) markiert.
{ r4 r8[ g' a r8] r8 g[ | a] r8 }
Einzelne Noten können mit dem Befehl \noBeam
markiert werden,
damit sie nicht mit einem Balken versehen werden.
\time 2/4 c8 c\noBeam c c
Noch bessere manuelle Kontrolle über die Balken kann durch Setzen
der Eigenschaften stemLeftBeamCount
und
stemRightBeamCount
erreicht werden. Sie bestimmen
die Anzahl von Balken, die rechts und links vom Hals der nächsten
Note gesetzt werden sollen. Wenn eine Eigenschaften gesetzt ist,
wird ihr Wert nur einmal eingesetzt und dann wieder auf Null gesetzt.
Im folgenden Beispiel hat das letzte f
nur einen Balken
an seiner linken Seite (der als Achtelbalken der gesamten
Gruppe gewertet wird).
a8[ r16 f g a] a8[ r16 \set stemLeftBeamCount = #2 \set stemRightBeamCount = #1 f \set stemLeftBeamCount = #1 g a]
Ausgewählte Schnipsel
Gerade Fähnchen und überstehende Balkenenden
Gerade Fähnchen an einzelnen Noten und überstehende Balkenenden bei
bebalkten Notengruppen sind möglich mit einer Kombination aus
stemLeftBeamCount
, stemRightBeamCount
und Paaren von
[]
-Balkenbegrenzungen.
Für gerade Fähnchen, die nach rechts zeigen, kann []
eingesetzt
werden und stemLeftBeamCount
auf Null gesetzt werden (wie
Bsp. 1).
Für gerade Fähnchen, die nach links zeigen, muss stemRightBeamCount
eingesetzt werden (Bsp. 2).
Für überstehende Balkenenden nach rechts muss stemRightBeamCount
auf einen positiven Wert gesetzt werden, für Balkenenden, die nach links
zeigen benutzt man stemLeftBeamCount
(Bsp. 3).
Manchmal können einzelne Noten, die von Pausen umgeben sind, auch Balkenenden
in beide Richtungen tragen. Das geschieht mit []
-Klammern (Bsp. 4).
(\set stemLeftBeamCount
entspricht immer dem Befehl
\once \set
. Anders gesagt müssen die Einstellungen immer wieder
wiederholt werden und die Fähnchen des letzten Sechszehntels im letzten
Beispiel haben nichts mit dem \set
-Befehl zwei Noten vorher zu tun.)
\score { << % Example 1 \new RhythmicStaff { \set stemLeftBeamCount = #0 c16[] r8. } % Example 2 \new RhythmicStaff { r8. \set stemRightBeamCount = #0 c16[] } % Example 3 \new RhythmicStaff { c16 c \set stemRightBeamCount = #2 c16 r r \set stemLeftBeamCount = #2 c16 c c } % Example 4 \new RhythmicStaff { c16 c \set stemRightBeamCount = #2 c16 r c16[] r16 \set stemLeftBeamCount = #2 c16 c } >> }
[ << Musikalische Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Spezielle Notation >> ] | ||
[ < Manuelle Balken ] | [ Nach oben : Balken ] | [ Takte > ] |
Gespreizte Balken
Gespreizte Balken werden teilweise eingesetzt um anzuzeigen, dass
kleine Notengruppen in beschleunigendem oder verlangsamendem Tempo
gespielt werden sollen, ohne dass sich das Tempo des Stückes
verändert. Die Reichweite der gespreizten Balken muss manuell
mit [
und ]
angegeben werden und die Spreizung wird
kontrolliert, indem der Balken-Eigenschaft grow-direction
eine Richtung zugewiesen wird.
Wenn die Anordnung der Noten und die MIDI-Ausgabe das Ritardando
oder Accelerando, wie es die Spreizung angibt, reflektieren soll,
müssen die Noten als ein musikalischer Ausdruck notiert werden,
der von geschweiften Klammern umgeben ist und dem ein
featheredDurations
-(gespreizteDauern)-Befehl vorangestellt
ist, der das Verhaltnis der ersten und letzten Dauer definiert.
Die eckigen Klammern geben die Reichweite des Balkens an und die geschweiften Klammern zeigen, auf welche Noten sich die Veränderung der Dauern auswirkt. Normalerweise bezieht sich das auf die selbe Notengruppe, aber das ist nicht unbedingt erforderlich: beide Befehle sind unabhängig voneinander.
Im folgenden Beispiel nehmen die acht 16-Noten exakt die gleiche Zeit ein wie eine halbe Note, aber die erste Note ist halb so lang wie die letzte der Gruppe, und die Noten dazwischen werden stufenweise verlängert. Die ersten vier 32-Noten beschleunigen stufenweise das Tempo, während die darauffolgenden vier 32-Noten ein gleichmäßiges Tempo haben.
\override Beam #'grow-direction = #LEFT \featherDurations #(ly:make-moment 2 1) { c16[ c c c c c c c] } \override Beam #'grow-direction = #RIGHT \featherDurations #(ly:make-moment 2 3) { c32[ d e f] } % revert to non-feathered beams \override Beam #'grow-direction = #'() { g32[ a b c] }
Die Platzierung der Noten im Druckbild entspricht den Notendauern nur annähernd, aber die MIDI-Ausgabe ist exakt.
Bekannte Probleme und Warnungen
Der \featherDurations
-Befehl funktioniert nur mit kurzen
Notenabschnitten, und wenn die Zahlen in den Brüchen klein
sind.
Siehe auch
Snippets: Rhythms.
[ << Musikalische Notation ] | [Anfang][Inhalt][Index][ ? ] | [ Spezielle Notation >> ] | ||
[ < Manuelle Balken ] | [ Nach oben : Balken ] | [ Takte > ] |