LilyPond 記譜法リファレンス: 1.2.5 小節

### 1.2.5 小節

#### 小節線

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

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

>     e4 d c2 \bar "|."

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

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

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

>     \bar ""

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

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

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

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

>     f1 \bar "|"
>     f1 \bar "."
>     g1 \bar "||"
>     a1 \bar ".|"
>     b1 \bar ".|."
>     c1 \bar "|.|"
>     d1 \bar "|."
>     e1

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

>     f1 \bar ":"
>     g1 \bar "dashed"
>     a1

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

>     f1 \bar "|:"
>     g1 \bar ":|:"
>     a1 \bar ":|.|:"
>     b1 \bar ":|.:"
>     c1 \bar ":|"
>     e1

Additionally, a bar line can be printed as a simple tick:

>     f1 \bar "'"

However, as such ticks are typically used in Gregorian chant, it is preferable to use `\divisioMinima` there instead, described in the section Divisiones in Gregorian chant.

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

>     c4 c c c
>     \bar "S"
>     c4 c c c \break
>     \bar "S"
>     c4 c c c
>     \bar "|S"
>     c4 c c c \break
>     \bar "|S"
>     c4 c c c
>     \bar "S|"
>     c4 c c c \break
>     \bar "S|"
>     c1

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

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

>     c4 c c c
>     \bar "||:"
>     c4 c c c \break
>     \bar "||:"
>     c4 c c c

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

>     c4 c c c
>     \bar ":|S"
>     c4 c c c \break
>     \bar ":|S"
>     c4 c c c
>     \bar ":|S."
>     c4 c c c \break
>     \bar ":|S."
>     c4 c c c
>     \bar "S|:"
>     c4 c c c \break
>     \bar "S|:"
>     c4 c c c
>     \bar ".S|:"
>     c4 c c c \break
>     \bar ".S|:"
>     c4 c c c
>     \bar ":|S|:"
>     c4 c c c \break
>     \bar ":|S|:"
>     c4 c c c
>     \bar ":|S.|:"
>     c4 c c c \break
>     \bar ":|S.|:"
>     c1

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

>     <<
>       \new StaffGroup <<
>         \new Staff {
>           e4 d
>           \bar "||"
>           f4 e
>         }
>         \new Staff { \clef bass c4 g e g }
>       >>
>       \new Staff { \clef bass c2 c2 }
>     >>

#### Selected Snippets

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

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

#### 参照

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

コード断片集: リズム

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

#### 小節番号

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

>     c1 c c c
>     \break
>     \set Score.currentBarNumber = #50
>     c1 c c c

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

>     \override Score.BarNumber #'break-visibility = #'#(#t #t #t)
>     \set Score.currentBarNumber = #11
>     % Permit first bar number to be printed
>     \bar ""
>     c1 | c | c | c
>     \break
>     c1 | c | c | c

#### Selected Snippets

Printing the bar number for the first measure

By default, the first bar number in a score is suppressed if it is less than or equal to ‘1’. By setting `barNumberVisibility` to `all-bar-numbers-visible`, any bar number can be printed for the first measure and all subsequent measures. Note that an empty bar line must be inserted before the first note for this to work.

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

Printing bar numbers at regular intervals

Bar numbers can be printed at regular intervals by setting the property `barNumberVisibility`. Here the bar numbers are printed every two measures except at the end of the line.

>     \relative c' {
>       \override Score.BarNumber #'break-visibility = #end-of-line-invisible
>       \set Score.currentBarNumber = #11
>       % Permit first bar number to be printed
>       \bar ""
>       % 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
>     }

Printing bar numbers inside boxes or circles

Bar numbers can also be printed inside boxes or circles.

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

Aligning bar numbers

Bar numbers by default are right-aligned to their parent object. This is usually the left edge of a line or, if numbers are printed within a line, the left hand side of a bar line. The numbers may also be positioned directly over the bar line or left-aligned to the bar line.

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

Removing bar numbers from a score

Bar numbers can be removed entirely by removing the `Bar_number_engraver` from the `Score` context.

>     \layout {
>       \context {
>         \Score
>         \remove "Bar_number_engraver"
>       }
>     }

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

#### 参照

コード断片集: リズム

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

#### 既知の問題と警告

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

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

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

>     \time 3/4 c2 e4 | g2 |

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

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

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

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

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

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

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

    \barNumberCheck #123

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

#### 参照

コード断片集: リズム

#### リハーサル記号

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

>     c1 \mark \default
>     c1 \mark \default
>     c1 \mark \default
>     c1 \mark \default

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

>     c1 \mark \default
>     c1 \mark \default
>     c1 \mark #8
>     c1 \mark \default
>     c1 \mark \default

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

>     \set Score.markFormatter = #format-mark-alphabet
>     \set Score.markFormatter = #format-mark-box-alphabet
>     \set Score.markFormatter = #format-mark-circle-alphabet

>     \set Score.markFormatter = #format-mark-box-alphabet
>     c1 \mark \default
>     c1 \mark \default
>     c1 \mark #8
>     c1 \mark \default
>     c1 \mark \default

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

>     \set Score.markFormatter = #format-mark-numbers
>     c1 \mark \default
>     c1 \mark \default
>     \set Score.markFormatter = #format-mark-box-numbers
>     c1 \mark \default
>     \set Score.markFormatter = #format-mark-circle-numbers
>     c1 \mark \default
>     \set Score.markFormatter = #format-mark-circle-letters
>     c1

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

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

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

>     \mark "A1"

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

>     \mark \markup{ \box A1 }

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

>     c1 \mark \markup { \musicglyph #"scripts.segno" }
>     c1 \mark \markup { \musicglyph #"scripts.coda" }
>     c1 \mark \markup { \musicglyph #"scripts.ufermata" }
>     c1

`\musicglyph` を使用して譜刻できる記号のリストは、The Feta font を参照してください。

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

#### 参照

記譜法リファレンス: The Feta font, テキストをフォーマットする, Aligning objects

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

コード断片集: リズム

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

他の言語: English, deutsch, español, français

#### LilyPond — 記譜法リファレンス