LilyPond 記譜法リファレンス: 1.5.2 複数のボイス

### 1.5.2 複数のボイス

このセクションでは複数のボイスあるいは複数の譜の中にある同時進行する音符について議論します。

#### 単一譜の多声

#### 明示的にボイスをインスタンス化する

単一の譜の中に複数の独立したボイスを配置するのに必要とされる基本的な構造が以下の例で示されています:

>     \new Staff <<
>       \new Voice = "first"
>         \relative { \voiceOne r8 r16 g'' e8. f16 g8[ c,] f e16 d }
>       \new Voice= "second"
>         \relative { \voiceTwo d''16 c d8~ 16 b c8~ 16 b c8~ 16 b8. }
>     >>

ここでは、ボイスは明示的にインスタンス化されていて、名前を与えられています。`\voiceOne` … `\voiceFour` コマンドはボイスをセット アップし、それにより、1 番目と 3 番目のボイスは上向きの符幹を持ち、2 番目と 4 番目のボイスは下向きの符幹を持ち、3 番目と 4 番目のボイスの符頭は水平方向にずれて、それぞれのボイスの中の休符は衝突を避けるために自動的に移動させられます。`\oneVoice` コマンドはすべてのボイス設定をニュートラルなデフォルトの向きに戻します。

#### 一時的に多声となる楽節 (パッセージ)

一時的に多声となる楽節は以下のような構成で作成することができます:

>     << { \voiceOne … }
>       \new Voice { \voiceTwo … }
>     >> \oneVoice

ここで、一時多声楽節の中の最初の表記は直前に使われていた `Voice` コンテキストに配置され、その `Voice` コンテキストは一時セクションの後も続いていきます。山括弧の中の他の表記は別の一時ボイスに代入されます。これと同様に、歌詞は多声セクションの前、最中、後に続いているボイスに代入されます:

>     \relative <<
>       \new Voice = "melody" {
>         a'4
>         <<
>           {
>             \voiceOne
>             g f
>           }
>           \new Voice {
>             \voiceTwo
>             d2
>           }
>         >>
>         \oneVoice
>         e4
>       }
>       \new Lyrics \lyricsto "melody" {
>       This is my song.
>       }
>     >>

ここで、`\voiceOne` と `\voiceTwo` コマンドはそれぞれのボイスの設定を定義するために必要とされています。

#### 2 重バックスラッシュ構造

`<< {…} \\ {…} >>` 構造 – この中では 2 つ (あるいはそれ以上) の表記が 2 重バックスラッシュで区切られています – は、同じような構造だが 2 重バックスラッシュを持たない構造とはまったく異なる振る舞いをします: この構造の中にある すべての 表記は新たな `Voice` コンテキストに代入されます。それらの新しい `Voice` コンテキストは暗黙的に作成され、あらかじめ決められた名前 `"1"`, `"2"` などを与えられます。

最初の例は以下のように書き換えることができます:

>     <<
>       \relative { r8 r16 g'' e8. f16 g8[ c,] f e16 d }
>       \\
>       \relative { d''16 c d8~ 16 b c8~ 16 b c8~ 16 b8. }
>     >>

一時ボイスが作成され、それから消去されることが問題にならない場合に、この構文を使用することができます。暗黙的に作成されるボイスには、それらがコードの中で現れる順番に従って、`\voiceOne` … `\voiceFour` コマンドと同じ設定が与えられます。

以下の例では、真ん中のボイスは上向きの符幹を持ちます。そのため、それを 3 番目に置いて、望みどおりに上向きの符幹を持つボイス 3 にしています。休符が 2 重に譜刻されることを避けるために、空白休符を使用しています。

>     <<
>       \relative { r8 g'' g  g g f16 ees f8 d }
>       \\
>       \relative { ees'8 r ees r d r d r }
>       \\
>       \relative { d''8 s c s bes s a s }
>     >>

簡単なことですが、 コンテキストとエングラーバ と ボイスを明示的にインスタンス化する で説明されているように、明示的に `Voice` コンテキストを作成しておくと賢明です。

#### Voice の順序

入力ファイルの中にある複数のボイスを譜刻する時、以下の順序で譜刻されます:

>     ボイス 1: 最上段
>     ボイス 2: 最下段
>     ボイス 3: 上から 2 番目
>     ボイス 4: 下から 2 番目
>     ボイス 5: 上から 3 番目
>     ボイス 6: 下から 3 番目
>     etc.

これは直感に反するように見えるかもしれませんが、自動レイアウト処理をシンプルにできます。奇数番号のボイスには上向きの符幹が与えられ、偶数番号のボイスには下向きの符幹が与えられるということに注意してください:

>     \new Staff <<
>       \time 2/4
>       { f''2 }  % 1: 最上段
>       \\
>       { c'2  }  % 2: 最下段
>       \\
>       { d''2 }  % 3: 上から 2 番
>       \\
>       { e'2  }  % 4: 下から 2 番
>       \\
>       { b'2  }  % 5: 上から 3 番
>       \\
>       { g'2  }  % 6: 下から 3 番
>     >>

ボイスの入力順序を変更したい場合、`\voices` コマンドが役に立ちます:

>     \new Staff \voices 1,3,5,6,4,2 <<
>       \time 2/4
>       { f''2 }  % 1: 最上段
>       \\
>       { d''2 }  % 3: 上から 2 番
>       \\
>       { b'2  }  % 5: 上から 3 番
>       \\
>       { g'2  }  % 6: 下から 3 番
>       \\
>       { e'2  }  % 4: 下から 2 番
>       \\
>       { c'2  }  % 2: 最下段
>     >>

Note: 歌詞、スパナ (スラー、タイ、強弱のヘアピン等) はボイスを ‘跨ぐ’ ことはできません。

#### 同一のリズム

同じリズムを持ち、並行して進行する音楽を譜刻するという特殊なケースでは、並行する音楽を単一の `Voice` の中に組み込み、それにより和音を形成することができます。これを実現するには、並行する音楽を明示的にインスタンス化されたボイス内の同時進行音楽構造の中に置きます:

>     \new Voice <<
>       \relative { e''4 f8 d e16 f g8 d4 }
>       \relative { c''4 d8 b c16 d e8 b4 }
>     >>

この手法では、音楽が同じリズムを持たない場合に、おかしな連桁と警告を生じます。

#### 定義済みコマンド

`\voiceOne`, `\voiceTwo`, `\voiceThree`, `\voiceFour`, `\oneVoice`

#### 参照

学習マニュアル: Voices contain music, Explicitly instantiating voices

記譜法リファレンス: 打楽器の譜, 不可視の休符, 符幹

コード断片集: Simultaneous notes

#### ボイス スタイル

ボイス毎に異なる色と形を与えて、容易に見分けられるようにすることができます:

>     <<
>       \relative { \voiceOneStyle d''4 c2 b4 }
>       \\
>       \relative { \voiceTwoStyle e'2 e }
>       \\
>       \relative { \voiceThreeStyle b2. c4 }
>       \\
>       \relative { \voiceFourStyle g'2 g }
>     >>

`\voiceNeutralstyle` コマンドは標準の体裁に戻すために使用されます。

#### 定義済みコマンド

`\voiceOneStyle`, `\voiceTwoStyle`, `\voiceThreeStyle`, `\voiceFourStyle`, `\voiceNeutralStyle`

#### 参照

学習マニュアル: I'm hearing Voices, Other sources of information.

コード断片集: Simultaneous notes

#### 衝突の解決

同じピッチ、同じ符頭を持ち、符幹の方向が逆で異なるボイスの中にある符頭は自動的に 1 つの符頭にまとめられます – マージされます。しかしながら、音符の符頭が異なっていたり、符幹の方向が同じである場合はマージされません。異なるボイスの中にあり、符幹の方向が逆の休符は垂直方向にずらされます。以下の例は 3 つの異なる状態を示しています – 第 1 小節の 1, 3 拍目、それに第 2 小節の 1 拍目で自動マージが失敗しています。

>     <<
>       \relative {
>         c''8 d e d c d c4
>         g'2 fis
>       } \\
>       \relative {
>         c''2 c8. b16 c4
>         e,2 r
>       } \\
>       \relative {
>         \oneVoice
>         s1
>         e'8 a b c d2
>       }
>     >>

以下に示すように、異なる符頭を持つ音符をマージすることができます。この例では、第 1 小節の 1 拍目の符頭がマージされました:

>     <<
>       \relative {
>         \mergeDifferentlyHeadedOn
>         c''8 d e d c d c4
>         g'2 fis
>       } \\
>       \relative {
>         c''2 c8. b16 c4
>         e,2 r
>       } \\
>       \relative {
>         \oneVoice
>         s1
>         e'8 a b c d2
>       }
>     >>

四分音符と二分音符はこの方法ではマージされません。なぜなら区別が難しくなるからです。

第 1 小節の 3 拍目のように異なる付点を持つ符頭もマージすることができます:

>     <<
>       \relative {
>         \mergeDifferentlyHeadedOn
>         \mergeDifferentlyDottedOn
>         c''8 d e d c d c4
>         g'2 fis
>       } \\
>       \relative {
>         c''2 c8. b16 c4
>         e,2 r
>       } \\
>       \relative {
>         \oneVoice
>         s1
>         e'8 a b c d2
>       }
>     >>

第 2 小節の最初の版音符と 8 分音符は正しくマージされていません。なぜなら 3 つ以上の音符が同じ列に並ぶ場合、自動マージは正しく機能できないからです。今回のケースでは、マージされた符頭が間違っています。マージが正しい符頭を選択できるようにするため、マージすべきでない符頭に `\shift` を適用する必要があります。ここでは、`\shiftOn` を適用することで、最上段にある g を列から外し、`\mergeDifferentlyHeadedOn` を正しく機能させています。

>     <<
>       \relative {
>         \mergeDifferentlyHeadedOn
>         \mergeDifferentlyDottedOn
>         c''8 d e d c d c4
>         \shiftOn
>         g'2 fis
>       } \\
>       \relative {
>         c''2 c8. b16 c4
>         e,2 r
>       } \\
>       \relative {
>         \oneVoice
>         s1
>         e'8 a b c d2
>       }
>     >>

`\shiftOn` コマンドは、ボイスの中にある音符がずれることを許可します (強制はしません)。`\shiftOn` がボイスに適用されると、そのボイスの中にある音符あるいは和音は、同じ向きの符幹を持つ他のボイスと符幹が衝突する場合にのみ、ずらされます。`\shiftOff` コマンドは、適用された時点から、このタイプの音符の移動を禁止します。

デフォルトでは、外側のボイス (通常はボイス 1 と 2) には `\shiftOff` が指定されていて、内側のボイス (ボイス 3 以上) には `\shiftOn` が指定されています。音符をずらす場合、上向きの符幹を持つボイス (奇数番号のボイス) は右側にずらされ、下向きの符幹を持つボイス (偶数番号のボイス) は左側にずらされます。

簡略化された多声表記が内部的にどのように展開されるかをお見せするための例を挙げます。

Note: 3 つ以上のボイスがある場合、入力ファイルでのボイスの垂直方向の順序は、譜上でのボイスの垂直方向の順序と同じにすべきではありません！

>     \new Staff \relative {
>       %% 簡略化された入力
>       <<
>         { f''2  }  % 1: 最上段
>         \\
>         { g,2 }  % 2: 最下段
>         \\
>         { d'2 }  % 3: 真ん中の上側
>         \\
>         { b2  }  % 4: 真ん中の下側
>       >>
>       %% 上記の内部的な展開
>       <<
>         \new Voice = "1" { \voiceOne   \shiftOff f'2 }
>         \new Voice = "2" { \voiceTwo   \shiftOff g,2 }
>         \new Voice = "3" { \voiceThree \shiftOn  d'2 } % shifts right
>         \new Voice = "4" { \voiceFour  \shiftOn  b2  } % shifts left
>       >>
>     }

さらに 2 つのコマンド – `\shiftOnn` と `\shiftOnnn` – は、複雑な状況で衝突を解決するために一時的に指定されるさらに大きなずれを提供します。 実際の音楽からの例 を参照してください。

音符は符幹の向きが反対である場合 (例えば、デフォルトのボイス 1 と 2 である場合や、明示的に符幹の向きが反対になるよう指定されている場合) にのみマージされます。

#### 定義済みコマンド

`\mergeDifferentlyDottedOn`, `\mergeDifferentlyDottedOff`, `\mergeDifferentlyHeadedOn`, `\mergeDifferentlyHeadedOff`

`\shiftOn`, `\shiftOnn`, `\shiftOnnn`, `\shiftOff`

#### Selected Snippets

衝突を避けるための追加のボイス

複雑な多声音楽では、音符どうしの衝突を避けるために追加のボイスが必要になる場合があります。4 つ以上の並列ボイスが必要な場合には、追加のボイスは Scheme 関数 `context-spec-music` を用いて変数を定義することで追加できます。

>     voiceFive = #(context-spec-music (make-voice-props-set 4) 'Voice)

>     \relative c'' {
>       \time 3/4
>       \key d \minor
>       \partial 2
>       <<
>         \new Voice  {
>           \voiceOne
>           a4. a8
>           e'4 e4. e8
>           f4 d4. c8
>         }
>         \new Voice {
>           \voiceTwo
>           d,2
>           d4 cis2
>           d4 bes2
>         }
>         \new Voice {
>           \voiceThree
>           f'2
>           bes4 a2
>           a4 s2
>         }
>         \new Voice {
>           \voiceFive
>           s2
>           g4 g2
>           f4 f2
>         }
>       >>
>     }

多声の音楽で付点付きの音符を移動する

上のボイスにある付点付きの音符が、下の音符との衝突を避けるために移動する場合、デフォルトでは右側に移動します。この挙動は、`NoteCollision` の `prefer-dotted-right` プロパティをオーバライドすることで変更できます。

>     \new Staff \relative c' <<
>       {
>         f2. f4
>         \override Staff.NoteCollision.prefer-dotted-right = ##f
>         f2. f4
>         \override Staff.NoteCollision.prefer-dotted-right = ##t
>         f2. f4
>       }
>       \\
>       { e4 e e e e e e e e e e e }
>     >>

音符の水平位置を強制的に調整する

組版エンジンがうまく対処できない場合、次の構文で音符の水平位置をオーバライドすることができます。単位は譜スペースです。

>     \relative c' <<
>       {
>         <d g>2 <d g>
>       }
>       \\
>       {
>         <b f'>2
>         \once \override NoteColumn.force-hshift = #1.7
>         <b f'>2
>       }
>     >>

#### 参照

音楽用語集: polyphony

学習マニュアル: Multiple notes at once, Voices contain music, Real music example

コード断片集: Simultaneous notes

内部リファレンス: NoteColumn, NoteCollision, RestCollision

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

`\override NoteColumn.ignore-collision = ##t` を使うと異なるボイスにある符頭が異なる音符を不適切にマージします。

>     \mergeDifferentlyHeadedOn
>     << \relative { c'16 a' b a } \\ \relative { c'2 } >>
>     \override NoteColumn.ignore-collision = ##t
>     << \relative { c'16 a' b a } \\ \relative { c'2 } >>

#### 休符のマージ

複数のボイスを用いる場合、両方のパートに出現する休符はマージされるのが一般的です。これは `Merge_rests_engraver` を用いることで達成できます。

>     voiceA = \relative { d''4 r d2 | R1 | }
>     voiceB = \relative { fis'4 r g2 | R1 | }
>     \score {
>       <<
>         \new Staff \with {
>           instrumentName = "unmerged"
>         }
>         <<
>           \new Voice { \voiceOne \voiceA }
>           \new Voice { \voiceTwo \voiceB }
>         >>
>         \new Staff \with {
>           instrumentName = "merged"
>           \consists "Merge_rests_engraver"
>         }
>         <<
>           \new Voice { \voiceOne \voiceA }
>           \new Voice { \voiceTwo \voiceB }
>         >>
>       >>
>     }

`suspendRestMerging` コンテキスト プロパティを `##t` にセットすることで、休符のマージを一時的に無効にすることができます。

#### 自動パート結合

自動パート結合は 2 つのパートに分かれた音楽を単一の譜にマージします。これはオーケストラ譜を譜刻する時に特に有用です。ある範囲で 2 つのパートの音楽が同一である場合、1 つの `Voice` だけが譜刻されます。2 つのパートが異なる箇所では第 2 `Voice` が譜刻されます。この場合、符幹の向きはそれぞれ上と下ににセットされ、さらにソロ パートと 二重奏 (due) パートが識別されて適切なマークが付けられます。

自動パート結合の構文は以下の通りです:

>     \partCombine musicexpr1 musicexpr2

以下の例は自動パート結合の基本的な機能を示しています: 2 つのパートを単一の譜に多声部として配置し、それぞれの符幹の向きをセットしています。個々のパート譜と結合譜で同じ変数が使用されています。

>     instrumentOne = \relative {
>       c'4 d e f |
>       R1 |
>       d'4 c b a |
>       b4 g2 f4 |
>       e1 |
>     }

>     instrumentTwo = \relative {
>       R1 |
>       g'4 a b c |
>       d4 c b a |
>       g4 f( e) d |
>       e1 |
>     }

>     <<
>       \new Staff \instrumentOne
>       \new Staff \instrumentTwo
>       \new Staff \partCombine \instrumentOne \instrumentTwo
>     >>

両パートの第 3 小節の音符は同じなので、片方の音符だけが譜刻されています。符幹、スラー、それにタイの向きは、ソロなのかあるいは斉奏なのかによって、自動的に設定されます。多声が必要になる場合、第 1 パート (`one` と呼ばれるコンテキストを持ちます) は常に上向きの符幹を持ち、一方、第 2 パート (`two` と呼ばれるコンテキストを持ちます) は常に下向きの符幹を持ちます。ソロの場合、第 1 パートと第 2 パートにはそれぞれ ‘Solo’ と ‘Solo II’ というマークが付けられます。斉奏 (二重奏) パートには、デフォルトで、テキスト “a2” というマークが付けられます。

デフォルトでは、`\partCombine` は同じピッチの音符を 二重奏 の音符としてマージします。また、同じリズムで音程が 9 度以下の音符は和音として結合し、9 度より大きい (あるいは、ボイスが交差している) 場合は別々のボイスになります。この挙動は `\partCombine` コマンドの後に、省略可能な数字のペアの引数を与えることでオーバライドすることができます: 1 つ目が、結合が始まる音程 (デフォルトは 0) で、2 つ目が別々のボイスとなる音程です。2 つ目の引数を 0 にすることで、2 度以上の音符を分割し、1 にすることで 3 度以上の音符を分割するというようになります。

>     instrumentOne = \relative {
>       a4 b c d |
>       e f g a |
>       b c d e |
>     }

>     instrumentTwo = \relative {
>       c'4 c c c |
>       c c c c |
>       c c c c |
>     }

>     <<
>       \new Staff \partCombine \instrumentOne \instrumentTwo
>       \new Staff \partCombine #'(2 . 3) \instrumentOne \instrumentTwo
>     >>

`\partCombine` の 2 つの引数は別個の `Voice` コンテキストとして解釈されます。そのため、相対オクターブを用いる場合、両方のパートで `\relative` を記述すべきです。すなわち、以下のように記述します:

>     \partCombine
>       \relative … musicexpr1
>       \relative … musicexpr2

`\partCombine` の外側にある `\relative` セクションは musicexpr1 と musicexpr2 のピッチには影響を与えません。

プロの楽譜では長いパッセージで、2 つのボイスの音符のいくつかが同じでユニゾンとして譜刻できる場合であっても、ボイスを分けて譜刻することがあります。 ですから、音符を和音に組み合わせることと、1 つのボイスをソロとして表示することは等価ではありません。なぜなら、`\partCombine` 関数は各音符を個々に考慮するからです。 このような場合、`\partCombine` 関数を以下のコマンドのいずれかでオーバライドすることができます。全てのコマンドは音楽表記の中で次の音符だけに適用されるように `\once` 接頭辞を付けることができます。

- `\partCombineApart` は音符を 2 つの別個のボイスとして譜刻します – たとえ和音やユニゾンにできる場合であっても分けて譜刻します。
- `\partCombineChords` は音符を組み合わせて、和音として譜刻します。
- `\partCombineUnisono` は音符を組み合わせて、“ユニゾン” として譜刻します。
- `\partCombineSoloI` はボイス 1 だけを譜刻して、“Solo” のマークを付けます。
- `\partCombineSoloII` はボイス 2 だけを譜刻して、“Solo” のマークを付けます。
- `\partCombineAutomatic` は上記のコマンドの効果を終わらせ、標準の `\partCombine` に戻します。

>     instrumentOne = \relative c' {
>       \partCombineApart c2^"apart" e |
>       \partCombineAutomatic e2^"auto" e |
>       \partCombineChords e'2^"chord" e |
>       \partCombineAutomatic c2^"auto" c |
>       \partCombineApart c2^"apart" \once \partCombineChords e^"chord once" |
>       c2 c |
>     }
>     instrumentTwo = \relative {
>       c'2 c |
>       e2 e |
>       a,2 c |
>       c2 c' |
>       c2 c |
>       c2 c |
>     }

>     <<
>       \new Staff { \instrumentOne }
>       \new Staff { \instrumentTwo }
>       \new Staff { \partCombine \instrumentOne \instrumentTwo }
>     >>

#### \partCombine を歌詞と同時に使う

`\partCombine` は歌詞と同時に動作するように設計されていません。歌詞を付けるために、ボイスの片方に名前が明示されていた場合、パート結合は動作を停止します。しかし、`NullVoice` コンテキストを用いることで効果を得ることができます。歌詞を共有する多声 を参照してください。

#### Selected Snippets

2 つのパートを 1 つの譜にまとめる

自動パート結合ツール (`\partCombine` コマンド) は、いくつかの異なるパートを同じ譜にまとめるものです。“solo” や “a2” といったテキスト指示は、デフォルトで追加されます。これらを削除するには、`printPartCombineTexts` プロパティを `f` にセットします。賛美歌のような歌曲では、“solo/a2” のテキストを追加する必要は無いため、これらを削除すると良いでしょう。しかしながら、これらを削除した場合、ソロの指示も表示されなくなるため問題があるかもしれません。このような場合は、通常の多声構文を用いると良いでしょう。

このスニペットは、2 つのパートを 1 つの譜に表示する 3 つの方法を示しています: 通常の多声、テキストを削除した `\partCombine`、テキストのある `\partCombine` の順です。

>     %% Combining pedal notes with clef changes

>     musicUp = \relative c'' {
>       \time 4/4
>       a4 c4.( g8) a4 |
>       g4 e' g,( a8 b) |
>       c b a2.
>     }

>     musicDown = \relative c'' {
>       g4 e4.( d8) c4 |
>       r2 g'4( f8 e) |
>       d2 \stemDown a
>     }

>     \score {
>         <<
>         \new Staff \with { instrumentName = "Standard polyphony" }

>           << \musicUp \\ \musicDown >>

>         \new Staff \with {
>           instrumentName = "PartCombine without text"
>           printPartCombineTexts = ##f
>         }

>         \partCombine \musicUp \musicDown

>         \new Staff \with { instrumentName = "PartCombine with text" }
>           \partCombine \musicUp \musicDown
>         >>
>       \layout {
>         indent = 6.0\cm
>         \context {
>           \Score
>           \override SystemStartBar.collapse-height = #30
>         }
>       }
>     }

自動パート結合のテキストを変更する

自動パート結合機能を使用する際に、ソロやユニゾンを表示するテキストを変更することができます。

>     \new Staff <<
>       \set Staff.soloText = #"girl"
>       \set Staff.soloIIText = #"boy"
>       \set Staff.aDueText = #"together"
>       \partCombine
>         \relative c'' {
>           g4 g r r
>           a2 g
>         }
>         \relative c'' {
>           r4 r a( b)
>           a2 g
>         }
>     >>

#### 参照

音楽用語集: a due, part

記譜法リファレンス: パートを記述する

コード断片集: Simultaneous notes

内部リファレンス: PartCombineMusic, Voice

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

すべての `\partCombine…` はボイスを 2 つだけ受け取ることができます。

`\partCombine…` 関数を `\tuplet` ブロックや `\relative` ブロックの中に置くことはできません。

`printPartCombineTexts` がセットされていて、ある小節で 2 つのボイスの音符が同じである場合、パート結合はその小節で `a2` を複数譜刻する可能性があります。

`\partCombine` は `Voice` の中の音符の開始だけを検知します。例えば、ある `Voice` でパート結合を開始した時に、他の `Voice` で音符がすでに開始しているかどうかを知ることはできません。このことは “Solo” や “Unison” が不適切に譜刻されるといった予期しない問題を引き起こす可能性があります

`\partCombine` はすべてのスパナ (スラー、タイ、強弱のヘアピン等) を同じ `Voice` で維持します。そのため、異なる `Voice` で始まる / 終わるスパナは不適切にの譜刻されたり、全く譜刻されなかったりする可能性があります。

`\partCombine` 関数が 2 つのパートを組み合わせることができない場合 (すなわち、2 つのボイスの演奏時間が異なる場合)、内部的に 2 つのボイスにカスタム名を付与します: それぞれ `one` と `two` です。このことは、異なる名前を付けられた `Voice` への “切り替え” があった場合、その `Voice` のイベントは無視されることを意味します。

デフォルトのタブ譜 のタブ譜や 自動連桁 の 音符 に対して `\partCombine` を使う場合は、それぞれの 既知の問題と警告 も参照してください。

#### 音楽を並列に記述する

複数のパートを持つ音楽を入力コードの途中に挿入することができます。関数 `\parallelMusic` は、作成する変数名をいくつか持つリストと音楽表記を受け付けます。各小節ごとの音楽表記は各変数の値となり、後で音楽を譜刻するために使用することができます。

Note: 小節チェック `|` を使用する必要があり、各小節は同じ長さでなければなりません。

>     \parallelMusic voiceA,voiceB,voiceC {
>       % Bar 1
>       r8 g'16 c'' e'' g' c'' e'' r8 g'16 c'' e'' g' c'' e'' |
>       r16 e'8.~   4              r16 e'8.~   4              |
>       c'2                        c'2                        |

>       % Bar 2
>       r8 a'16 d'' f'' a' d'' f'' r8 a'16 d'' f'' a' d'' f'' |
>       r16 d'8.~   4              r16 d'8.~   4              |
>       c'2                        c'2                        |

>     }
>     \new StaffGroup <<
>       \new Staff << \voiceA \\ \voiceB >>
>       \new Staff { \clef bass \voiceC }
>     >>

相対モードを使用することができます。`\relative` コマンドを `\parallelMusic` 自体の中では使用しないということに注意してください。音符が前の音符と相対関係になるのはボイスの中であり、入力の中ではありません – 言い換えると、`voiceA` の相対音符は `voiceB` の音符を無視します。

>     \parallelMusic voiceA,voiceB,voiceC {
>       % Bar 1
>       r8 g16 c e g, c e r8 g,16 c e g, c e  |
>       r16 e8.~ 4        r16 e8.~  4         |
>       c2                c                   |

>       % Bar 2
>       r8 a,16 d f a, d f r8 a,16 d f a, d f |
>       r16 d8.~  4        r16 d8.~  4        |
>       c2                 c                  |

>      }
>     \new StaffGroup <<
>       \new Staff << \relative c'' \voiceA \\ \relative c' \voiceB >>
>       \new Staff \relative c' { \clef bass \voiceC }
>     >>

これはピアノ譜で非常に良く機能します。以下の例は、4 つの連続する小節を 4 つの変数に割り当てています:

>     global = {
>       \key g \major
>       \time 2/4
>     }

>     \parallelMusic voiceA,voiceB,voiceC,voiceD {
>       % Bar 1
>       a8    b     c   d     |
>       d4          e         |
>       c16 d e fis d e fis g |
>       a4          a         |

>       % Bar 2
>       e8      fis  g     a   |
>       fis4         g         |
>       e16 fis g  a fis g a b |
>       a4           a         |

>       % Bar 3 ...
>     }

>     \score {
>       \new PianoStaff <<
>          \new Staff {
>            \global
>            <<
>              \relative c'' \voiceA
>              \\
>              \relative c'  \voiceB
>            >>
>          }
>          \new Staff {
>            \global \clef bass
>            <<
>              \relative c \voiceC
>              \\
>              \relative c \voiceD
>            >>
>          }
>       >>
>     }

#### 参照

学習マニュアル: Organizing pieces with variables

コード断片集: Simultaneous notes

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

- 2. 専門的な記譜法
- 3. 入出力全般
- 4. スペースの問題
- 5. デフォルトを変更する
- A. 付表
- B. カンニング ペーパー
- C. GNU Free Documentation License
- D. LilyPond コマンド インデックス
- E. LilyPond インデックス