通常の繰り返し

通常の繰り返しの構文は以下の通りです。

\repeat volta repeatcount musicexpr

ここで、musicexpr は音楽表記です。

入れ替えを持たない 1 回の繰り返しは以下のようになります:

\relative {
  \repeat volta 2 { c''4 d e f }
  c2 d
  \repeat volta 2 { d4 e f g }
}

[image of music]

繰り返しの‘開始’記号は、デフォルトでは最初の小節には表示されません。しかし、最初の音符の前に \bar ".|:" を用いることで表示させることができます。

\relative {
  \repeat volta 2 { \bar ".|:" c''4 d e f }
  c2 d
  \repeat volta 2 { d4 e f g }
}

[image of music]

繰り返し時に入れ替えて演奏する部分は \alternative を用いて作り出すことができます。入れ替えの各グループを波括弧で囲んで、このブロックの中に配置します。

\repeat volta repeatcount musicexpr
\alternative {
  { musicexpr }
}

ここで、musicexpr は音楽表記です。

繰り返し回数が入れ替え部分の数よりも多い場合、始めの方の繰り返しには最初の入れ替え部分が使用されます。

繰り返しが 1 回で、入れ替えも 1 つの場合は以下のようになります:

\relative {
  \repeat volta 2 { c''4 d e f | }
  \alternative {
    { c2 e | }
    { f2 g | }
  }
  c1
}

[image of music]

繰り返しが複数回あり、最後に入れ替え部分を演奏する繰り返しは以下のようになります:

\relative {
  \repeat volta 4 { c''4 d e f | }
  \alternative {
    { c2 e | }
    { f2 g | }
  }
  c1
}

[image of music]

繰り返しが複数回あり、入れ替えも 2 つ以上ある繰り返しは以下のようになります:

\relative {
  \repeat volta 3 { c''4 d e f | }
  \alternative {
    { c2 e | }
    { f2 g | }
    { a2 g | }
  }
  c1
}

[image of music]

Note: 入れ替えが複数ある場合、入れ替えの閉じ波括弧と次の入れ替えの開始の波括弧の間に何かを置くべきではありません。さもないと、予期せぬ数の入れ替えが発生します。

Note: Voice コンテキストを明示的にインスタンス化せずに\relative\repeat の中に配置すると、余計な譜が表示されます。余計な譜が表示される を参照してください。

入れ替えの無い繰り返しが小節の途中で始まる場合、通常は後の小節の対応する中間部分で終了します (開始部分と終了部分で 1 つの完全な小節が作られます)。このような場合、繰り返し記号は‘本当の’小節線ではないため、小節チェックや \partial コマンドをそこに置くべきではありません:

c'4 e g
\repeat volta 4 {
  e4 |
  c2 e |
  g4 g g
}
  g4 |
  a2 a |
  g1 |

[image of music]

入れ替えの無い繰り返しが部分小節で始まる場合は、\partial コマンドが小節の最初に必要であることを除けば、同じ原則が適用されます:

\partial 4
\repeat volta 4 {
  e'4 |
  c2 e |
  g4 g g
}
  g4 |
  a2 a |
  g1 |

[image of music]

タイを 2 つ目の終了部に追加することができます:

\relative {
  c''1
  \repeat volta 2 { c4 d e f~ }
  \alternative {
    { f2 d }
    { f2\repeatTie f, }
  }
}

[image of music]

\inStaffSegno コマンドは、\repeat volta コマンドと一緒に用いられた際に、繰り返しの小節線とセーニョ記号を合体させた小節線を作り出します。どの繰り返し記号が使われるか (すなわち、開始記号か、終了記号か、両者を合わせた記号か) は、自動的に選択されます。対応する “D.S.” 記号は手動で入力しなければいけないことに注意してください。

繰り返しを使わない:

\relative {
  e'1
  \inStaffSegno
  f2 g a b
  c1_"D.S." \bar "|."
}

[image of music]

繰り返しの始まりに:

\relative {
  e'1
  \repeat volta 2 {
    \inStaffSegno  % start repeat
    f2 g a b
  }
  c1_"D.S." \bar "|."
}

[image of music]

繰り返しの終わりに:

\relative {
  e'1
  \repeat volta 2 {
    f2 g a b
    \inStaffSegno  % end repeat
  }
  f2 g a b
  c1_"D.S." \bar "|."
}

[image of music]

2 つの繰り返しの間に:

\relative {
  e'1
  \repeat volta 2 {
    f2 g a b
  }
  \inStaffSegno  % double repeat
  \repeat volta 2 {
    f2 g a b
  }
  c1_"D.S." \bar "|."
}

[image of music]

他の小節線記号を用いる場合、 (Score コンテキストに) プロパティ segnoBarType, startRepeatSegnoBarType, endRepeatSegnoBarType, doubleRepeatSegnoBarType を好みの値を設定します。小節線の種類はあらかじめ定義されているものか、前に \defineBarLine コマンドで定義されているものから選択する必要があります (小節線を参照してください)。

\defineBarLine ":|.S[" #'(":|." "S[" "")
\defineBarLine "]" #'("]" "" "")
\relative {
  e'1
  \repeat volta 2 {
    f2 g a b
    \once \set Score.endRepeatSegnoBarType = ":|.S["
    \inStaffSegno
  }
  f2 g \bar "]" a b
  c1_"D.S." \bar "|."
}

[image of music]

Selected Snippets

繰り返し括弧を短くする

デフォルトでは、繰り返し括弧は入れ替え部分全体に表示されますが、voltaSpannerDuration をセットすることで短くすることができます。次の例では、括弧は 1 小節、つまり 3/4 分だけ表示されます。

\relative c'' {
  \time 3/4
  c4 c c
  \set Score.voltaSpannerDuration = \musicLength 2.
  \repeat volta 5 {
    d4 d d
    \alternative {
      \volta 1,2,3,4 {
        e4 e e
        f4 f f }
      \volta 5 {
        g4 g g } } }
}

[image of music]

繰り返し括弧を他の譜にも追加する

デフォルトでは、Volta_engraverScore コンテキストに属しており、繰り返しの括弧は通常最上段の譜の上にのみ表示されます。これを調整するには、Volta_engraver を、括弧を表示させたい譜の Staff コンテキストに追加します。“複数譜に繰り返し括弧を表示する” スニペットも参照してください。

<<
  \new Staff { \repeat volta 2 { c'1 } \alternative { c' } }
  \new Staff { \repeat volta 2 { c'1 } \alternative { c' } }
  \new Staff \with { \consists "Volta_engraver" } { c'2 g' e' a' }
  \new Staff { \repeat volta 2 { c'1 } \alternative { c' } }
>>

[image of music]

入れ替え部分がある場合の二重繰り返しのデフォルトをセットする

入れ替え部分がある場合の二重繰り返しのスタイルには 3 種類あります。これは doubleRepeatBarType でセットすることができます。

\relative c'' {
  \repeat volta 2 { c1 }
  \set Score.doubleRepeatBarType = ":..:"
  \repeat volta 2 { c1 }
  \set Score.doubleRepeatBarType = ":|.|:"
  \repeat volta 2 { c1 }
  \set Score.doubleRepeatBarType = ":|.:"
  \repeat volta 2 { c1 }
}

[image of music]

小節番号を変更する

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

music = \relative c' {
  \repeat volta 3 {
    c4 d e f |
    \alternative {
      \volta 1 { c4 d e f | c2 d \break }
      \volta 2 { f4 g a b | f4 g a b | f2 a | \break }
      \volta 3 { c4 d e f | c2 d } } }
  c1 \bar "|."
}

\markup "default"
{
  \music
}

\markup \typewriter "'numbers"
{
  \set Score.alternativeNumberingStyle = #'numbers
  \music
}

\markup \typewriter "'numbers-with-letters"
{
  \set Score.alternativeNumberingStyle = #'numbers-with-letters
  \music
}

\paper { tagline = ##f }

[image of music]

参照

音楽用語集: repeat, volta

記譜法リファレンス: 小節線, コンテキストのプラグインを変更する, タイとスラーの形状を変更する, 時間管理

インストールされているファイル: ly/engraver-init.ly

コード断片集: Repeats

内部リファレンス: VoltaBracket, VoltaRepeatedMusic, UnfoldedRepeatedMusic

既知の問題と警告

\repeat ブロックから \alternative ブロックまで続くスラーは、最初の入れ替え部分に対してのみ機能します。他の入れ替え部分に対して見た目上、スラーを伸ばすには \repeatTie を使います。 しかしながら、この手法はスラーが 1 本の場合のみ可能であり、TabStaff では機能しません。複数のスラーを入れ替え部分に伸ばし、TabStaff コンテキストでも機能する手法は タイとスラーの形状を変更する で示しています。

さらに、入れ替え部分の最後から繰り返しの開始点までスラーで結ぶこともできません。

\repeat ブロックから \alternative ブロックまで続くグリッサンドは最初の入れ替え部分に対してのみ機能します。他の入れ替え部分に対して見た目上、グリッサンドを伸ばすには、見えない装飾音符から始まるグリッサンドのコードを記述します。例として、グリッサンド の楽譜断片集にある “繰り返しを跨いでグリッサンドを延長する” を参照してください。

不完全な小節で始まる繰り返しが measureLength プロパティの変更を行う\alternative ブロックを持つ場合、\unfoldRepeats を使用するとおかしな場所に小節線が引かれ、小節チェック警告が発生します。

以下のようにネストされた繰り返し

\repeat …
\repeat …
\alternative

はあいまいです。なぜなら、\alternative がどちらの \repeat に属するのかはっきりしないからです。このあいまいさは、常に \alternative を内側の \repeat に属させることによって解決されます。はっきりとさせるために、そのような状況では波括弧を使用すると賢明です。


LilyPond 記譜法リファレンス v2.25.22 (development-branch).