1.2.5 小節


小節線

小節線は小節を区切り、繰り返しを示すためにも使用されます。通常、単線の小節線が拍子に基づいて出力に自動的に挿入されます。

自動的に挿入される単線の小節線は \bar コマンドで他のタイプに変更することができます。例えば、通常、2 重線の閉じの小節線が楽曲の最後に配置されます:

\relative { e'4 d c2 \bar "|." }

[image of music]

ある小節の最後の音符が、自動的に挿入される小節線の所で終わっていなくても無効ではありません: その音符は次の小節に持ち越されるものと見なされます。しかしながら、そのような持ち越しのある小節がいくつも続く場合、その音楽は圧縮されて表示される可能性があり、ページからはみ出す可能性さえあります。これは、自動改行は完全な小節 – つまり、小節の終端ですべての音符が終わっている小節 – の終わりでのみ発生するからです。

Note: 誤った演奏時間の指定は改行を抑制し、結果として非常に圧縮された楽譜やページからはみ出す楽譜の原因となります。

手動で挿入された小節線のところでも – たとえ、その小節が不完全であっても – 改行することができます。小節線を譜刻せずに改行を可能にするには、以下を使用します:

\bar ""

これは不可視の小節線を挿入し、そこで改行が発生することを可能にします (強制はしません)。小節番号カウンタは増加しません。強制的に改行を行うには、改行 を参照してください。

不可視の小節線と他の特殊な小節線は任意の位置に手動で挿入することができます。それらの小節線の位置がある小節の終わりと一致する場合、それらの小節線はそこに自動で挿入されるはずだった単線の小節線に取って代わります。小節の終わりと一致しない場合、指定された小節線がその位置に挿入されます。

手動の小節線は純粋に視覚的なものです。それらは通常の小節線が影響を与えるプロパティ – 小節番号、臨時記号、改行など – には何の影響も与えません。手動の小節線はその後に続く自動小節線の算出や配置に影響を与えません。自動小節線がすでに存在する場所に手動小節線が配置されても、自動小節線の効果は変更されません。

手動で挿入できる小節線として、単線の小節線は 2 種類あり、2 重線の小節線は 5 種類あります:

\relative {
  f'1 \bar "|"
  f1 \bar "."
  g1 \bar "||"
  a1 \bar ".|"
  b1 \bar ".."
  c1 \bar "|.|"
  d1 \bar "|."
  e1
}

[image of music]

さらに、点線と破線の小節線があります:

\relative {
  f'1 \bar ";"
  g1 \bar "!"
  a1
}

[image of music]

さらに、繰り返しの小節線が 9 種類あります:

\relative {
  f'1 \bar ".|:"
  g1 \bar ":..:"
  a1 \bar ":|.|:"
  b1 \bar ":|.:"
  c1 \bar ":.|.:"
  d1 \bar "[|:"
  e1 \bar ":|][|:"
  f1 \bar ":|]"
  g1 \bar ":|."
  a1
}

[image of music]

更に、小節線は単純な短線として表示することができます:

f'1 \bar "'" g'1

[image of music]

しかし、このような短線は通常、グレゴリア聖歌の中で使われます。そこでは代わりに \divisioMinima を用いるほうが良いです。グレゴリア聖歌の ディビジオ セクションで説明してあります。

LilyPond は Kievan 記譜法をサポートしており、特殊な Kievan の小節線を入力することができます:

f'1 \bar "k"

[image of music]

この記譜法に関する更なる情報は、キエフ記譜法で譜刻する に説明してあります。

行内のセーニョ記号として、3 タイプの小節線があり、改行での振る舞いがそれぞれ異なります:

\fixed c' {
  c4 4 4 4
  \bar "S"
  d4 4 4 4 \break
  \bar "S"
  e4 4 4 4
  \bar "S-|"
  f4 4 4 4 \break
  \bar "S-|"
  g4 4 4 4
  \bar "S-||"
  a4 4 4 4 \break
  \bar "S-||"
  b4 4 4 4
  \bar "S-S"
  c'4 4 4 4 \break
  \bar "S-S"
  d'1
}

[image of music]

繰り返しを表す小節線は手動で挿入される場合がありますが、それらの小節線自体は LilyPond に繰り返されるセクションを認識させることはしません。そのような繰り返されるセクションはさまざまな繰り返しのコマンドを使って入力した方が良いです (繰り返し を参照してください)。繰り返しのコマンドは自動的に適切な小節線を譜刻します。

さらに、".|:-||" を使用することができます。これは ".|:" と等価ですが、例外として改行位置では、この小節線は行の終わりに 2 重線の小節線を置き、次の行の始めに繰り返し開始の小節線を置きます。

\fixed c' {
  c4 4 4 4
  \bar ".|:"
  d4 4 4 4 \break
  \bar ".|:"
  e4 4 4 4
  \bar ".|:-|"
  f4 4 4 4 \break
  \bar ".|:-|"
  g4 4 4 4
  \bar ".|:-||"
  a4 4 4 4 \break
  \bar ".|:-||"
  b4 4 4 4
  \bar ".|:-|."
  c'4 4 4 4 \break
  \bar ".|:-|."
  d'4 4 4 4
}

[image of music]

繰り返しとセーニョ記号の組み合わせは 6 種類あります:

\fixed c' {
  g,4 4 4 4
  \bar ":|.S"
  a,4 4 4 4 \break
  \bar ":|.S"
  b,4 4 4 4
  \bar ":|.S-S"
  c4 4 4 4 \break
  \bar ":|.S-S"
  d4 4 4 4
  \bar "S.|:-S"
  e4 4 4 4 \break
  \bar "S.|:-S"
  f4 4 4 4
  \bar "S.|:"
  g4 4 4 4 \break
  \bar "S.|:"
  a4 4 4 4
  \bar "S.|:-|"
  b4 4 4 4 \break
  \bar "S.|:-|"
  c'4 4 4 4
  \bar "S.|:-||"
  d'4 4 4 4 \break
  \bar "S.|:-||"
  e'4 4 4 4
  \bar ":|.S.|:"
  f'4 4 4 4 \break
  \bar ":|.S.|:"
  g'4 4 4 4
  \bar ":|.S.|:-S"
  a'4 4 4 4 \break
  \bar ":|.S.|:-S"
  b'1
}

[image of music]

さらに、\inStaffSegno コマンドがあります。これは、\repeat volta コマンドと用いられた際に、繰り返しの小節線と結合したセーニョ小節線を作り出します。通常の繰り返し を参照してください。

\defineBarLine を用いて、新しい小節線を定義することができます:

\defineBarLine bartype #'(end begin span)

\defineBarLine の引数は‘空の’文字列 "" を含むことができ、これは不可視の小節線を作り出します。または、#f にセットすることで、何の小節線も表示しないようにすることができます。

定義した後、新しい小節線は \bar bartype で使用することができます。

現在使用できる小節線の要素は 10 個存在します:

\defineBarLine ":" #'("" ":" "")
\defineBarLine "=" #'("=" "" "")
\defineBarLine "[" #'("" "[" "")
\defineBarLine "]" #'("]" "" "")

\new Staff {
  s1 \bar "|"
  s1 \bar "."
  s1 \bar "!"
  s1 \bar ";"
  s1 \bar ":"
  s1 \bar "k"
  s1 \bar "S"
  s1 \bar "="
  s1 \bar "["
  s1 \bar "]"
  s1 \bar ""
}

[image of music]

"=" 小節線は、セーニョ記号と組み合わせて使うための二重の小節線を提供します。二重の細い小節線を単独で表示させるためにをこれを使わないでください。\bar "||" を使ってください。

"-" 記号は、小節線に注釈を入れるために使用します。これは、同じ見た目をしていても改行によって挙動が変化する場合や、譜をまたぐ小節線の見た目が異なる場合に区別するのに便利です。"-" の後に続く部分は、小節線を構築する際に使用されません。

\defineBarLine "||-dashedSpan" #'("||" "" "!!")

\new StaffGroup <<
  \new Staff \relative c'' {
    c1 \bar "||"
    c1 \bar "||-dashedSpan"
    c1
  }
  \new Staff \relative c'' {
    c1
    c1
    c1
  }
>>

[image of music]

更に、スペース文字 " " は、譜をまたぐ小節線がメインの小節線に正しく揃うようにするプレース ホルダとして機能します:

\defineBarLine ":|.-wrong" #'(":|." "" "|.")
\defineBarLine ":|.-right" #'(":|." "" " |.")

\new StaffGroup <<
  \new Staff \relative c'' {
    c1 \bar ":|.-wrong"
    c1 \bar ":|.-right"
    c1
  }
  \new Staff \relative c'' {
    c1
    c1
    c1
  }
>>

[image of music]

小節線の要素を追加したい場合、LilyPond はそれらを定義するシンプルな手段を提供しています。小節線の変更あるいは追加に関する更なる情報は、ファイル ‘scm/bar-line-.scm’ を参照してください。

多くの譜を持つ楽譜では、ある譜の \bar コマンドは自動的にすべての譜に適用されます。結果として、StaffGroup, PianoStaff, あるいは GrandStaff では、小節線は譜をまたがって 1 本に接続されます。

<<
  \new StaffGroup <<
    \new Staff \relative {
      e'4 d
      \bar "||"
      f4 e
    }
    \new Staff \relative { \clef bass c'4 g e g }
  >>
  \new Staff \relative { \clef bass c'2 c2 }
>>

[image of music]

コマンド \bar bartype は ‘\set Timing.whichBar = bartype’ の短縮記法です。whichBar プロパティがセットされるといつでも小節線が作成されます。

自動的に挿入される小節線に使用されるデフォルトの小節線タイプは "|" です。これは ‘\set Timing.measureBarType = bartype’ でいつでも変更することができます。

参照

記譜法リファレンス: 改行, 繰り返し, 譜をグループ化する

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

コード断片集: Rhythms

内部リファレンス: BarLine ( Staff の階層で作成されます), SpanBar (譜をまたぎます), Timing_translator (Timing プロパティ用です)


小節番号

小節番号は、デフォルトでは、最初の行を除く各行の開始点で譜刻されます。番号自体は currentBarNumber プロパティに保存されていて、通常は各小節で自動的に更新されます。小節番号を手動で設定することも可能です:

\relative c' {
  c1 c c c
  \break
  \set Score.currentBarNumber = #50
  c1 c c c
}

[image of music]

小節番号は、各行の開始点に配置する代わりに、規則的な間隔で譜刻することができます。このようにするには、小節番号を行の開始点以外の位置に譜刻できるよう、デフォルトの振る舞いをオーバライドする必要があります。これは BarNumberbreak-visibility プロパティによって制御されます。これは 3 つの値をとります – 3 つの値は、対応する小節番号を可視にするかしないかを指定するために、#t または #f にセットされます。3 つの値の順番は、end of line visible, middle of line visible, beginning of line visible (行の終了点での可視性、行の途中での可視性、行の開始点での可視性) です。以下の例では、譜刻可能な場所すべてに小節番号を譜刻しています:

\relative c' {
  \override Score.BarNumber.break-visibility = ##(#t #t #t)
  \set Score.currentBarNumber = #11
  % 最初の小節番号が表示されるようにします
  \bar ""
  c1 | c | c | c |
  \break
  c1 | c | c | c |
}

[image of music]

Selected Snippets

最初の小節に小節番号を表示する

デフォルトでは、最初の小節番号が ’1’ 以下の場合、表示が抑制されます。barNumberVisibilityall-bar-numbers-visible にセットすることで、最初の小節にも小節番号を表示することができます。しかし、これを動作させるためには更に、最初の音符の前に空白の小節線を挿入する必要があります。

\layout {
  indent = 0
  ragged-right = ##t
}

\relative c' {
  \set Score.barNumberVisibility = #all-bar-numbers-visible
  c1 | d | e | f \break
  g1 | e | d | c
}

[image of music]

一定間隔で小節番号を表示する

barNumberVisibility プロパティをセットすることで、小節番号を一定間隔で表示することができます。以下の例では、行末を除いて、2 小節ごとに小節番号が表示されています。

\relative c' {
  \override Score.BarNumber.break-visibility = #end-of-line-invisible
  \set Score.currentBarNumber = #11
  % Print a bar number every second measure
  \set Score.barNumberVisibility = #(every-nth-bar-number-visible 2)
  c1 | c | c | c | c
  \break
  c1 | c | c | c | c
}

[image of music]

小節番号が表示される間隔を変更する

小節番号が表示される間隔は {set-bar-number-visibility} コンテキスト関数を変更することで変更することもできます。

\relative c' {
  \override Score.BarNumber.break-visibility = #end-of-line-invisible
  \context Score \applyContext #(set-bar-number-visibility 4)
  \repeat unfold 10 c'1
  \context Score \applyContext #(set-bar-number-visibility 2)
  \repeat unfold 10 c
}

[image of music]

小節番号を四角や丸の中に表示する

小節番号は四角や丸の中に表示することができます。

\relative c' {
  % Prevent bar numbers at the end of a line and permit them elsewhere
  \override Score.BarNumber.break-visibility = #end-of-line-invisible
  \set Score.barNumberVisibility = #(every-nth-bar-number-visible 4)

  % Increase the size of the bar number by 2
  \override Score.BarNumber.font-size = #2

  % Draw a box round the following bar number(s)
  \override Score.BarNumber.stencil
    = #(make-stencil-boxer 0.1 0.25 ly:text-interface::print)
  \repeat unfold 5 { c1 }

  % Draw a circle round the following bar number(s)
  \override Score.BarNumber.stencil
    = #(make-stencil-circler 0.1 0.25 ly:text-interface::print)
  \repeat unfold 4 { c1 } \bar "|."
}

[image of music]

小節番号を変更する

小節番号を付番する異なる方法が 2 つあり、繰り返しのある音楽に対して有用です。

\relative c'{
  \set Score.alternativeNumberingStyle = #'numbers
  \repeat volta 3 { c4 d e f | }
    \alternative {
      { c4 d e f | c2 d \break }
      { f4 g a b | f4 g a b | f2 a | \break }
      { c4 d e f | c2 d }
    }
  c1 \break
  \set Score.alternativeNumberingStyle = #'numbers-with-letters
  \repeat volta 3 { c,4 d e f | }
    \alternative {
      { c4 d e f | c2 d \break }
      { f4 g a b | f4 g a b | f2 a | \break }
      { c4 d e f | c2 d }
    }
  c1
}

[image of music]

小節番号を揃える

デフォルトで小節番号は親オブジェクトに右揃えされます。つまり、小節番号は行の左端に、行内に表示される場合には小節線の左端に表示されます。これを中央揃えあるいは左揃えにすることができます。

\relative c' {
  \set Score.currentBarNumber = #111
  \override Score.BarNumber.break-visibility = #all-visible
  % Increase the size of the bar number by 2
  \override Score.BarNumber.font-size = #2
  % Print a bar number every second measure
  \set Score.barNumberVisibility = #(every-nth-bar-number-visible 2)
  c1 | c1
  % Center-align bar numbers
  \override Score.BarNumber.self-alignment-X = #CENTER
  c1 | c1
  % Left-align bar numbers
  \override Score.BarNumber.self-alignment-X = #LEFT
  c1 | c1
}

[image of music]

楽譜から小節番号を削除する

Score コンテキストから Bar_number_engraver を削除することで、小節番号を完全に削除することができます。

\layout {
  \context {
    \Score
    \omit BarNumber
    % or:
    %\remove "Bar_number_engraver"
  }
}

\relative c'' {
  c4 c c c \break
  c4 c c c
}

[image of music]

参照

コード断片集: Rhythms

内部リファレンス: BarNumber, Bar_number_engraver

既知の問題と警告

小節番号は StaffGroup の左括弧の上端と衝突する可能性があります。これを解決するには、BarNumberpadding プロパティを使って小節番号を適切な位置に配置します。詳細は StaffGroup BarNumber を参照してください。


小節と小節番号のチェック

小節チェックは入力された演奏時間の誤りを検出する手助けをします。小節チェックは、小節線が書き込まれると予想される場所ならどこにでも、小節記号 | を使うことで挿入できます。他の場所で小節チェックの線に遭遇した場合、警告のリストがログ ファイルに書き込まれ、小節チェックに失敗した行番号と行を示します。次の例では、2 番目の小節チェックがエラーを発します。

\time 3/4 c2 e4 | g2 |

正しくない演奏時間は滅茶苦茶な楽譜を生成する可能性があります – 特にその楽譜が多声である場合はそうなる可能性があります。入力を修正するには、まずざっと見て失敗した小節チェックと演奏時間の誤りを探すと良いでしょう。

連続する小節チェックは同じ音楽的間隔で off になり、最初の警告メッセージだけが表示されます。これにより、警告の焦点がタイミング エラーの発生源に絞られます。

歌詞でも小節チェックを使用することができます。以下に例を挙げます:

\lyricmode {
  \time 2/4
  Twin -- kle | Twin -- kle |
}

歌詞での小節チェック マークは、マークが処理されてその次の音節が出現するタイミングで評価されます。もし歌詞が、小節の最初に休符を持つボイスと関連づいているなら、その小節の最初に配置できる音節が存在せず、警告が表示されます。

入力の中で小節チェックあるいはパイプ記号 | に遭遇した場合にとられるアクションを再定義することも可能です。これにより、小節チェック以外のことを行うことができます。再定義は音楽表記を "|" に代入することによって行います。以下の例では、| は小節の終わりをチェックするのではなく、それが現れた場所に 2 重線の小節線を挿入するようセットされています。

"|" = \bar "||"
{
  c'2 c' |
  c'2 c'
  c'2 | c'
  c'2 c'
}

[image of music]

大きな楽曲をコピーしている場合、LilyPond の小節番号とコピー元のオリジナルの小節番号の対応をチェックすると役に立ちます。この対応は \barNumberCheck によってチェックすることができます。例えば、

\barNumberCheck #123

を使用すると、currentBarNumber が処理された時に 123 でなければ、警告が表示されます。

参照

コード断片集: Rhythms


リハーサル記号

リハーサル記号を譜刻するには、\mark コマンドを使用します:

\relative c'' {
  c1 \mark \default
  c1 \mark \default
  c1 \mark \default
  c1 \mark \default
}

[image of music]

\mark \default を使用するとリハーサル記号は自動的に +1 されますが、手動で整数をリハーサル記号にセットすることもできます。セットした値は rehearsalMark に保存されます。

\relative c'' {
  c1 \mark \default
  c1 \mark \default
  c1 \mark #8
  c1 \mark \default
  c1 \mark \default
}

[image of music]

文字 ‘I’ は、譜刻の慣習に従って、スキップされます。文字 ‘I’ を含めたければ、リハーサル記号のスタイル (文字のみ、四角で囲まれた文字、丸で囲まれた文字) に合わせて以下のコマンドの 1 つを使用します:

\set Score.rehearsalMarkFormatter = #format-mark-alphabet
\set Score.rehearsalMarkFormatter = #format-mark-box-alphabet
\set Score.rehearsalMarkFormatter = #format-mark-circle-alphabet
\relative c'' {
  \set Score.rehearsalMarkFormatter = #format-mark-box-alphabet
  c1 \mark \default
  c1 \mark \default
  c1 \mark #8
  c1 \mark \default
  c1 \mark \default
}

[image of music]

スタイルはプロパティ rehearsalMarkFormatter によって定義されます。これは引数としてカレントの記号 (整数) とカレントのコンテキストをとる関数です。この関数はマークアップ オブジェクトを返します。以下の例では、rehearsalMarkFormatter には定義済みの手続きがセットされています。数小節後では、四角で囲まれた番号を作り出す手続きがセットされています。

\relative c'' {
  \set Score.rehearsalMarkFormatter = #format-mark-numbers
  c1 \mark \default
  c1 \mark \default
  \set Score.rehearsalMarkFormatter = #format-mark-box-numbers
  c1 \mark \default
  \set Score.rehearsalMarkFormatter = #format-mark-circle-numbers
  c1 \mark \default
  \set Score.rehearsalMarkFormatter = #format-mark-circle-letters
  c1
}

[image of music]

ファイル ‘scm/translation-functions.scm’ は format-mark-letters (デフォルトのフォーマット), format-mark-box-letters, format-mark-numbers それに format-mark-box-numbers の定義を保持しています。これらを参考にして他のフォーマット関数を作り出すこともできます。

加算された数字や文字の代わりに小節番号を取得するために format-mark-barnumbers, format-mark-box-barnumbers, それに format-mark-circle-barnumbers を使うことがあります。

リハーサル記号の他のスタイルを手動で指定することができます:

\mark "A1"

Score.rehearsalMarkFormatter はこの方法で指定された記号に影響を与えません。しかしながら、文字列として \markup 使用することができます。

\mark \markup { \box A1 }

音楽的図柄 (セーニョ記号など) を \mark の中に譜刻することができます:

\relative c' {
  c1 \mark \markup { \musicglyph "scripts.segno" }
  c1 \mark \markup { \musicglyph "scripts.coda" }
  c1 \mark \markup { \musicglyph "scripts.ufermata" }
  c1
}

[image of music]

\musicglyph を使用して譜刻できる記号のリストは、Emmentaler フォント を参照してください。

リハーサル記号の配置の一般的な調整については、テキストをフォーマットする を参照してください。更に細かな制御を行う場合は、オブジェクトを揃えるbreak-alignable-interface を参照してください。

ファイル ‘scm/translation-functions.scm’ は format-mark-numbersformat-mark-letters の定義を保持しています。ここにある定義を参考にして他のフォーマット関数を作り出すことができます。

参照

記譜法リファレンス: Emmentaler フォント, テキストをフォーマットする, オブジェクトを揃える

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

コード断片集: Rhythms

内部リファレンス: MarkEvent, Mark_engraver, RehearsalMark


LilyPond — 記譜法リファレンス v2.24.4 (安定版).