1.2.4 連桁


自動連桁

デフォルトでは、連桁は自動的に挿入されます:

\time 2/4 c8 c c c
\time 6/8 c8 c c c8. c16 c8

[image of music]

自動的に決定される連桁が満足いかないものである場合、明示的に連桁を挿入することが可能です – 手動連桁 を参照してください。連桁を休符の上まで伸ばそうと意図しているのなら、連桁を手動で挿入する 必要があります

自動連桁を必要としない場合、\autoBeamOff で off にすることができ、\autoBeamOn で on にすることができます:

c4 c8 c8. c16 c8. c16 c8
\autoBeamOff
c4 c8 c8. c16 c8.
\autoBeamOn
c16 c8

[image of music]

Note: 歌曲の中でメリスマを表すために連桁を使用する場合、autoBeamOff で自動連桁を off にして、手動で連桁を示すべきです。\partcombine\autoBeamOff と一緒に用いると予期しない結果になる可能性があります。詳細はコード断片集を参照してください。

自動的に挿入されるデフォルトの連桁とは異なるパターンの連桁を作成することができます – 自動連桁の振る舞いを設定する を参照してください。

定義済みコマンド

\autoBeamOff, \autoBeamOn

Selected Snippets

Beams across line breaks

Line breaks are normally forbidden when beams cross bar lines. This behavior can be changed as shown:

\relative c'' {
  \override Beam #'breakable = ##t
  c8 c[ c] c[ c] c[ c] c[ \break
  c8] c[ c] c[ c] c[ c] c
}

[image of music]

Changing beam knee gap

Kneed beams are inserted automatically when a large gap is detected between the note heads. This behavior can be tuned through the auto-knee-gap property. A kneed beam is drawn if the gap is larger than the value of auto-knee-gap plus the width of the beam object (which depends on the duration of the notes and the slope of the beam). By default auto-knee-gap is set to 5.5 staff spaces.

{
  f8 f''8 f8 f''8
  \override Beam #'auto-knee-gap = #6
  f8 f''8 f8 f''8
}

[image of music]

Partcombine and autoBeamOff

The function of \autoBeamOff when used with \partcombine can be difficult to understand.

It may be preferable to use

\set Staff.autoBeaming = ##f

instead, to ensure that autobeaming will be turned off for the entire staff.

\partcombine apparently works with 3 voices – stem up single, stem down single, stem up combined.

An \autoBeamOff call in the first argument to partcombine will apply to the voice that is active at the time the call is processed, either stem up single or stem up combined. An \autoBeamOff call in the second argument will apply to the voice that is stem down single.

In order to use \autoBeamOff to stop all autobeaming when used with \partcombine, it will be necessary to use three calls to \autoBeamOff.

{
  %\set Staff.autoBeaming = ##f % turns off all autobeaming
  \partcombine
  {
    \autoBeamOff % applies to split up stems
    \repeat unfold 4 a'16
    %\autoBeamOff % applies to combined up stems
    \repeat unfold 4 a'8
    \repeat unfold 4 a'16
  }
  {
    \autoBeamOff % applies to down stems
    \repeat unfold 4 f'8
    \repeat unfold 8 f'16 |
  }
}

[image of music]

参照

記譜法リファレンス: 手動連桁, 自動連桁の振る舞いを設定する.

インストールされているファイル: ‘scm/auto-beam.scm

コード断片集: Rhythms

内部リファレンス: Auto_beam_engraver, Beam_engraver, Beam, BeamEvent, BeamForbidEvent, beam-interface, unbreakable-spanner-interface

既知の問題と警告

連桁のプロパティは連桁構築の開始時に決定され、その後から連桁の完了までの間に追加された連桁プロパティの変更は 次の 連桁から影響を与えます。


自動連桁の振る舞いを設定する

たいていの場合、自動連桁は拍の終わりで終了します。拍の終了点はコンテキスト プロパティ baseMomentbeatStructure によって決定されます。beatStructurebaseMoment を単位とする小節の各拍の長さを定義する Scheme リストです。デフォルトでは、baseMoment は ‘1/拍子の分母’ です。デフォルトでは、各拍の長さは baseMoment です。

\time 5/16
c16^"default" c c c c |
\set Timing.beatStructure = #'(2 3)
c16^"(2+3)" c c c c |
\set Timing.beatStructure = #'(3 2)
c16^"(3+2)" c c c c |

[image of music]

連桁の設定変更をある特定のテキストに限定することができます。下位コンテキストに連桁の設定が含まれない場合、そのコンテキストを囲んでいる上位コンテキストの設定が適用されます。

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

[image of music]

譜で複数のボイスが使用されている場合に連桁設定を譜のすべてのボイスに適用するには、Staff コンテキストで設定を行う必要があります:

\time 7/8
% リズム 3-1-1-2
% デフォルトで連桁設定の変更は Voice に適用され、うまくいきません
% なぜなら、自動生成されるボイスで、すべての拍は baseMoment (1 . 8) だからです
\set beatStructure = #'(3 1 1 2)
<< {a8 a a a16 a a a a8 a} \\ {f4. f8 f f f} >>

% コンテキスト Staff を指定するとうまくいきます
\set Staff.beatStructure = #'(3 1 1 2)
<< {a8 a a a16 a a a a8 a} \\ {f4. f8 f f f} >>

[image of music]

baseMoment の値を調整することで、連桁の振る舞いを変更することができます。baseMoment の値を変更した場合、beatStructure に新しい baseMoment と矛盾しない値を設定する必要があります。

\time 5/8
\set Timing.baseMoment = #(ly:make-moment 1 16)
\set Timing.beatStructure = #'(7 3)
\repeat unfold 10 { a16 }

[image of music]

beatLengthmoment – 演奏時間の単位 – です。タイプ momento の量は Scheme 関数 ly:make-moment によって作り出されます。この関数についての更なる情報は 時間管理 を参照してください。

デフォルトでは、baseMoment には「1/拍子の分母」がセットされています。このデフォルトの例外は ‘scm/time-signature-settings.scm’ で見つかります。

特殊な自動連桁規則 (連桁の終わりが拍に従わないもの) はプロパティ beamExceptions に定義します。

\time 3/16
\set Timing.beatStructure = #'(2 1)
\set Timing.beamExceptions =
  #'(                         ;start of alist
     (end .                   ;entry for end of beams
      (                       ;start of alist of end points
       ((1 . 32) . (2 2 2))   ;rule for 1/32 beams -- end each 1/16
      )))                     %close all entries
c16 c c |
\repeat unfold 6 { c32 } |

[image of music]

beamExceptions は規則タイプのキーと連桁規則の値を持つ配列リストです。

現時点で、利用可能な唯一の規則タイプの値は、連桁の終わりのための 'end です。

連桁規則は、連桁タイプとその連桁タイプの最短演奏時間の音符を保持する連桁に適用されるグループ化の仕方を示す Scheme 配列リスト (あるいはペアのリスト) です。

#'((beam-type1 . grouping-1)
   (beam-type2 . grouping-2)
   (beam-type3 . grouping-3))

連桁タイプは、その連桁の演奏時間を示す Scheme ペアであり、例えば (1 . 16) です。

Note: beamExceptions の値は 完全な 例外リストである必要があります。つまり、その設定には適用されるべき例外がすべて含まれている必要があります。例外の 1 つだけを追加、削除、変更することはできません。このことは扱い難いように思えるかもしれませんが、新しい連桁パターンを指定する際に現在の連桁設定を知る必要がないということを意味します。

拍子が変更されると、Timing.baseMoment, Timing.beatStructure, それに Timing.beamExceptions のデフォルト値が設定されます。拍子を設定すると、その Timing コンテキストの自動連桁設定はデフォルトの振る舞いにリセットされます。

\time 6/8
\repeat unfold 6 { a8 }
% (4 + 2) にグループ化します
\set Timing.beatStructure = #'(4 2)
\repeat unfold 6 { a8 }
% デフォルトの振る舞いに戻ります
\time 6/8
\repeat unfold 6 { a8 }

[image of music]

ある拍子に対するデフォルトの自動連桁設定は ‘scm/beam-settings.scm’ の中で決定されます。ある拍子に対する自動連桁のデフォルト設定を変更する方法は 拍子 で説明しています。

ある拍子に対する自動連桁設定の多くには beamExceptions が登録されています。例えば、4/4 拍子は 16 分音符しかない小節を 2 つの連桁で囲もうとします。beamExceptions がリセットされていなければ、beamExceptions 規則は beatStructure 設定をオーバライドすることができます。

\time 4/4
\set Timing.baseMoment = #(ly:make-moment 1 8)
\set Timing.beatStructure = #'(3 3 2)
% 以下は beamExceptions のため、(3 3 2) の連桁にはなりません
\repeat unfold 8 {c8} |
% 以下は beamExceptions をクリアするため、(3 3 2) の連桁になります
\set Timing.beamExceptions = #'()
\repeat unfold 8 {c8}

[image of music]

同様に、3/4 拍子はデフォルトで 8 分音符しかない小節を 1 つの連桁で囲みます。3/4 拍子の 8 分音符に拍毎の連桁を付けるには、beamExceptions をリセットします。

\time 3/4
% beamExceptions により、デフォルトで (6) の連桁を付けます
\repeat unfold 6 {a8} |
% beatLength により、これは (1 1 1) の連桁を付けます
\set Timing.beamExceptions = #'()
\repeat unfold 6 {a8}

[image of music]

ロマン派や古典派時代の譜刻では、3/4 拍子の小節の途中から連桁が始まることがありますが、誤った 6/8 拍子の印象を与えるため現代の習慣では用いません (Gould の 153 ページを参照してください)。3/8 拍子でも同様の状況が発生します。この振る舞いはコンテキスト プロパティ beamHalfMeasure によって制御されます – これは分子が 3 の拍子記号の場合にのみ効果を持ちます:

\time 3/4
r4. a8 a a |
\set Timing.beamHalfMeasure = ##f
r4. a8 a a |

[image of music]

自動連桁はどのように機能するのか

自動連桁が有効である場合、自動連桁の配置はコンテキスト プロパティ baseMoment, beatStructure, それに beamExceptions によって決定されます。

連桁の配置を決定する際、以下の規則が並び順の優先度で適用されます:

上記の規則で、連桁タイプ は連桁でグループ化された音符の最短演奏時間です。

デフォルトの連桁規則は ‘scm/time-signature-settings.scm’ の中にあります。

Selected Snippets

Subdividing beams

The beams of consecutive 16th (or shorter) notes are, by default, not subdivided. That is, the three (or more) beams stretch unbroken over entire groups of notes. This behavior can be modified to subdivide the beams into sub-groups by setting the property subdivideBeams. When set, multiple beams will be subdivided at intervals defined by the current value of baseMoment by reducing the multiple beams to just one beam between the sub-groups. Note that baseMoment 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 ly:make-moment function, as shown in this snippet. Also, when baseMoment is changed, beatStructure should also be changed to match the new baseMoment:

\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 baseMoment = #(ly:make-moment 1 8)
  \set beatStructure = #'(2 2 2 2)
  c32[ c c c c c c c]

  % Set beam sub-group length to a sixteenth note
  \set baseMoment = #(ly:make-moment 1 16)
  \set beatStructure = #'(4 4 4 4)
  c32[ c c c c c c c]
}

[image of music]

Strict beat beaming

Beamlets can be set to point in the direction of the beat to which they belong. The first beam avoids sticking out flags (the default); the second beam strictly follows the beat.

\relative c'' {
  \time 6/8
  a8. a16 a a
  \set strictBeatBeaming = ##t
  a8. a16 a a
}

[image of music]

Conducting signs measure grouping signs

Beat grouping within a measure is controlled by the context property beatStructure. Values of beatStructure are established for many time signatures in ‘scm/time-signature-settings.scm’. Values of beatStructure can be changed or set with \set. Alternatively, \time can be used to both set the time signature and establish the beat structure. For this, you specify the internal grouping of beats in a measure as a list of numbers (in Scheme syntax) before the time signature.

\time applies to the Timing context, so it will not reset values of beatStructure or baseMoment that are set in other lower-level contexts, such as Voice.

If the Measure_grouping_engraver is included in one of the display contexts, measure grouping signs will be created. Such signs ease reading rhythmically complex modern music. In the example, the 9/8 measure is grouped in two different patterns using the two different methods, while the 5/8 measure is grouped according to the default setting in ‘scm/time-signature-settings.scm’:

\score {
  \new Voice \relative c'' {
    \time 9/8
    g8 g d d g g a( bes g) |
    \set Timing.beatStructure = #'(2 2 2 3)
    g8 g d d g g a( bes g) |
    \time #'(4 5) 9/8
    g8 g d d g g a( bes g) |
    \time 5/8
    a4. g4 |
  }
  \layout {
    \context {
      \Staff
      \consists "Measure_grouping_engraver"
    }
  }
}

[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
  % Set default beaming for all staves
  \set Score.baseMoment = #(ly:make-moment 1 8)
  \set Score.beatStructure = #'(3 4 3)
  <<
    \new Staff {
      c8 c c c c c c c c c
    }
    \new Staff {
      % Modify beaming for just this staff
      \set Staff.beatStructure = #'(6 4)
      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
          \set Voice.beatStructure = #'(6 4)
          a8 a a a a a a a a a
        }
      >>
    }
  >>
}

[image of music]

参照

インストールされているファイル: ‘scm/beam-settings.scm

コード断片集: Rhythms

内部リファレンス: Auto_beam_engraver, Beam, BeamForbidEvent, beam-interface

既知の問題と警告

自動連桁が終了しておらず、まだ音符を受け付けている最中に楽譜が終了する場合、その最後の連桁はまったく譜刻されません。<< … \\ … >> で入力される多声ボイスでも同様です。自動連桁がまだ音符を受け付けている最中に多声ボイスが終了する場合、その最後の連桁はまったく譜刻されません。ボイスや楽譜の最後の連桁には手動で連桁を付けることにより、これらの問題を回避できます。

デフォルトでは、Timing コンテキストは Score コンテキストにエイリアスされています。このことは、ある譜で拍子の設定を行うと、他の譜での連桁の付け方にも影響を与えると言うことを意味します。このため、後で出てくる譜で拍子の設定を行うと、前にある譜でセットしたカスタム連桁はリセットされます。この問題を回避する方法の 1 つは、拍子の設定は 1 つの譜でしか行わないことです。

<<
  \new Staff {
    \time 3/4
    \set Timing.baseMoment = #(ly:make-moment 1 8)
    \set Timing.beatStructure = #'(1 5)
    \repeat unfold 6 { a8 }
  }
  \new Staff {
    \repeat unfold 6 { a8 }
  }
>>

[image of music]

拍子に対するデフォルトの連桁設定を変更することで、常にお望みの連桁を使うこともできます。ある拍子に対する自動連桁設定を変更する方法は 拍子 で説明しています。

<<
  \new Staff {
    \overrideTimeSignatureSettings
      3/4               % timeSignatureFraction
      1/8               % baseMomentFraction
      #'(1 5)           % beatStructure
      #'()		% beamExceptions
    \time 3/4
    \repeat unfold 6 { a8 }
  }
  \new Staff {
    \time 3/4
    \repeat unfold 6 { a8 }
  }
>>

[image of music]


手動連桁

自動連桁アルゴリズムをオーバライドする必要がある場合もあります。例えば、自動連桁は休符や小節線を越えて連桁を配置することはなく、合唱譜では連桁はしばしば音符ではなく歌詞の韻律に従って配置されます。そのような連桁は [] で開始点と終了点を記すことによって手動で指定することができます:

r4 r8[ g' a r] r g[ | a] r

[image of music]

方向指示子を用いることで、連桁の向きを手動で設定することができます:

c8^[ d e] c,_[ d e f g]

[image of music]

連桁でつながれないようにするために、個々の音符には \noBeam が記されるかもしれません:

\time 2/4
c8 c\noBeam c c

[image of music]

装飾小音符の連桁と通常の音符の連桁は同時進行で発生します。通常の音符の連桁の途中に、連桁でつながれない装飾小音符は配置されません。

c4 d8[
\grace { e32[ d c d] }
e8] e[ e
\grace { f16 }
e8 e]

[image of music]

プロパティ stemLeftBeamCountstemRightBeamCount をセットすることによって連桁をさらに厳密に手動制御することが可能です。これらの値はそれぞれ、次の音符の左側と右側に描く連桁の本数を指定します。どちらかのプロパティがセットされている場合、その値は 1 度だけ使用され、それから消去されます。以下の例では、最後の f は左側に連桁を 1 本だけ持って – すなわち、グループ全体をつなげている 8 分音符の連桁を持って – 譜刻されています。

a8[ r16 f g a]
a8[ r16
\set stemLeftBeamCount = #2
\set stemRightBeamCount = #1
f16
\set stemLeftBeamCount = #1
g16 a]

[image of music]

定義済みコマンド

\noBeam

Selected Snippets

Flat flags and beam nibs

Flat flags on lone notes and beam nibs at the ends of beamed figures are both possible with a combination of stemLeftBeamCount, stemRightBeamCount and paired [] beam indicators.

For right-pointing flat flags on lone notes, use paired [] beam indicators and set stemLeftBeamCount to zero (see Example 1).

For left-pointing flat flags, set stemRightBeamCount instead (Example 2).

For right-pointing nibs at the end of a run of beamed notes, set stemRightBeamCount to a positive value. And for left-pointing nibs at the start of a run of beamed notes, set stemLeftBeamCount instead (Example 3).

Sometimes it may make sense for a lone note surrounded by rests to carry both a left- and right-pointing flat flag. Do this with paired [] beam indicators alone (Example 4).

(Note that \set stemLeftBeamCount is always equivalent to \once \set. In other words, the beam count settings are not “sticky”, so the pair of flat flags attached to the lone c'16[] in the last example have nothing to do with the \set two notes prior.)

\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
    }
  >>
}

[image of music]

参照

記譜法リファレンス: 向きと配置, 装飾小音符

コード断片集: Rhythms

内部リファレンス: Beam, BeamEvent, Beam_engraver, beam-interface, Stem_engraver


羽状の連桁

羽状の連桁は、楽曲全体のテンポを変えることなく、音符の小さなグループをテンポを上げながら (あるいは下げながら) 演奏すべきであることを示すために使用されます。羽状連桁の範囲は [] を使って手動で指定する必要があり、連桁の羽は Beam のプロパティ grow-direction に向きを指定することによって調整することができます。

音符の配置と MIDI 出力での音が羽状連桁によって指示された ritardando (徐々に緩やかに) や accelerando (次第に速く) を反映すべきであるのなら、音符は波括弧で区切られた音楽表記としてグループ化される必要があり、さらに、そのグループの最初の音符と最後の音符の演奏時間の比率を指定する featheredDurations コマンドを前に置く必要があります。

角括弧は連桁の範囲を示し、波括弧は演奏時間を変更される音符はどれなのかを示します。通常これら 2 つは同じ音符のグループを囲みますが、同じであることは必須ではありません: 2 つのコマンドは独立しています。

以下の例では、8 つの 16 分音符は 2 分音符とまったく同じ時間を占めますが、最初の音符の長さは最後の音符の長さの半分であり、中間の音符は徐々に長くなります。最初の 4 つの 32 分音符は徐々にスピード アップしますが、最後の 4 つの 32 分音符は一定のテンポです。

\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] }

[image of music]

譜刻される音符の間隔は音符の演奏時間を近似的に表しているだけですが、MIDI 出力での演奏時間は正確です。

定義済みコマンド

\featherDurations

参照

コード断片集: Rhythms

既知の問題と警告

\featherDurations は非常に短い音楽コード断片に対してだけ、そして分数の数が小さいときにだけ機能します。


他の言語: English, deutsch, español, français, italiano
About automatic language selection.

LilyPond — 記譜法リファレンス