[ << 音楽記譜法 ] | [トップ][目次][インデックス][ ? ] | [ Specialist notation >> ] | ||
[ < クラスタ ] | [ 上へ : 同時進行する音符 ] | [ 単一譜の多声 > ] |
1.5.2 複数のボイス
このセクションでは複数のボイスあるいは複数の譜の中にある同時進行する音符について議論します。
単一譜の多声 | ||
ボイス スタイル | ||
衝突の解決 | ||
自動パート結合 | ||
音楽を並列に記述する |
[ << 音楽記譜法 ] | [トップ][目次][インデックス][ ? ] | [ Specialist notation >> ] | ||
[ < 複数のボイス ] | [ 上へ : 複数のボイス ] | [ ボイス スタイル > ] |
単一譜の多声
明示的にボイスをインスタンス化する
単一の譜の中に複数の独立したボイスを配置するのに必要とされる基本的な構造が以下の例で示されています:
\new Staff << \new Voice = "first" { \voiceOne r8 r16 g e8. f16 g8[ c,] f e16 d } \new Voice= "second" { \voiceTwo d16 c d8~ d16 b c8~ c16 b c8~ c16 b8. } >>
ここでは、ボイスは明示的にインスタンス化されていて、名前を与えられています。\voiceOne
... \voiceFour
コマンドはボイスをセット アップし、それにより、1 番目と 3 番目のボイスは上向きの符幹を持ち、2 番目と 4 番目のボイスは下向きの符幹を持ち、3 番目と 4 番目のボイスの符頭は水平方向にずれて、それぞれのボイスの中の休符は衝突を避けるために自動的に移動させられます。\oneVoice
コマンドはすべてのボイス設定をニュートラルなデフォルトの向きに戻します。
一時的に多声となる楽節 (passage)
一時的に多声となる楽節は以下のような構成で作成することができます:
<< { \voiceOne ... } \new Voice { \voiceTwo ... } >> \oneVoice
ここで、一時多声楽節の中の最初の表記は直前に使われていた
Voice
コンテキストに配置され、その Voice
コンテキストは一時セクションの後も続いていきます。山括弧の中の他の表記は別の一時ボイスに代入されます。これと同様に、歌詞は多声セクションの前、最中、後に続いているボイスに代入されます:
<< \new Voice = "melody" { a4 << { \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"
などを与えられます。
最初の例は以下のように書き換えることができます:
<< { r8 r16 g e8. f16 g8[ c,] f e16 d } \\ { d16 c d8~ d16 b c8~ c16 b c8~ c16 b8. } >>
一時ボイスが作成され、それから消去されることが問題にならない場合に、この構文を使用することができます。暗黙的に作成されるボイスには、それらがコードの中で現れる順番に従って、\voiceOne
... \voiceFour
コマンドと同じ設定が与えられます。
以下の例では、真ん中のボイスは上向きの符幹を持ちます。そのため、それを 3 番目に置いて、望みどおりに上向きの符幹を持つボイス 3 にしています。休符が 2 重に譜刻されることを避けるために、空白休符を使用しています。
<< { r8 g g g g f16 ees f8 d } \\ { ees,8 r ees r d r d r } \\ { d'8 s c s bes s a s } >>
簡単なことですが、
コンテキストとエングラーバ と
ボイスを明示的にインスタンス化する で説明されているように、明示的に 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: 上から 2 番 \\ { g'2 } % 6: 下から 3 番 >>
同一のリズム
同じリズムを持ち、並行して進行する音楽を譜刻するという特殊なケースでは、並行する音楽を単一の Voice
の中に組み込み、それにより和音を形成することができます。これを実現するには、並行する音楽を明示的にインスタンス化されたボイス内の同時進行音楽構造の中に置きます:
\new Voice << { e4 f8 d e16 f g8 d4 } { c4 d8 b c16 d e8 b4 } >>
この手法では、音楽が同じリズムを持たない場合に、おかしな連桁と警告を生じます。
定義済みコマンド
\voiceOne
,
\voiceTwo
,
\voiceThree
,
\voiceFour
,
\oneVoice
参照
学習マニュアル: 音楽を保持するボイス, ボイスを明示的にインスタンス化する
記譜法リファレンス: Percussion staves, 不可視の休符, 符幹
コード断片集: Simultaneous notes
[ << 音楽記譜法 ] | [トップ][目次][インデックス][ ? ] | [ Specialist notation >> ] | ||
[ < 単一譜の多声 ] | [ 上へ : 複数のボイス ] | [ 衝突の解決 > ] |
ボイス スタイル
ボイス毎に異なる色と形を与えて、容易に見分けられるようにすることができます:
<< { \voiceOneStyle d4 c2 b4 } \\ { \voiceTwoStyle e,2 e } \\ { \voiceThreeStyle b2. c4 } \\ { \voiceFourStyle g'2 g } >>
\voiceNeutralstyle
コマンドは標準の体裁に戻すために使用されます。
定義済みコマンド
\voiceOneStyle
,
\voiceTwoStyle
,
\voiceThreeStyle
,
\voiceFourStyle
,
\voiceNeutralStyle
参照
学習マニュアル: 私はボイスを聴いている, その他の情報源
コード断片集: Simultaneous notes
[ << 音楽記譜法 ] | [トップ][目次][インデックス][ ? ] | [ Specialist notation >> ] | ||
[ < ボイス スタイル ] | [ 上へ : 複数のボイス ] | [ 自動パート結合 > ] |
衝突の解決
同じピッチ、同じ符頭を持ち、符幹の方向が逆で異なるボイスの中にある符頭は自動的に 1 つの符頭にまとめられます – マージされます。しかしながら、音符の符頭が異なっていたり、符幹の方向が同じである場合はマージされません。異なるボイスの中にあり、符幹の方向が逆の休符は垂直方向にずらされます。以下の例は 3 つの異なる状態を示しています – 第 1 小節の 1, 3 拍目、それに第 2 小節の 1 拍目で自動マージが失敗しています。
<< { c8 d e d c d c4 g'2 fis } \\ { c2 c8. b16 c4 e,2 r } \\ { \oneVoice s1 e8 a b c d2 } >>
以下に示すように、異なる符頭を持つ音符をマージすることができます – 例外として、半音符と 4 分音符のマージはできません。第 1 小節の 1 拍目の符頭がマージされました:
<< { \mergeDifferentlyHeadedOn c8 d e d c d c4 g'2 fis } \\ { c2 c8. b16 c4 e,2 r } \\ { \oneVoice s1 e8 a b c d2 } >>
第 1 小節の 3 拍目のように異なる付点を持つ符頭もマージすることができます:
<< { \mergeDifferentlyHeadedOn \mergeDifferentlyDottedOn c8 d e d c d c4 g'2 fis } \\ { c2 c8. b16 c4 e,2 r } \\ { \oneVoice s1 e8 a b c d2 } >>
第 2 小節の最初の版音符と 8 分音符は正しくマージされていません。なぜなら 3 つ以上の音符が同じ列に並ぶ場合、自動マージは正しく機能できないからです。今回のケースでは、マージされた符頭が間違っています。マージが正しい符頭を選択できるようにするため、マージすべきでない符頭に \shift
を適用する必要があります。ここでは、\shiftOn
を適用することで、最上段にある g を列から外し、\mergeDifferentlyHeadedOn
を正しく機能させています。
<< { \mergeDifferentlyHeadedOn \mergeDifferentlyDottedOn c8 d e d c d c4 \shiftOn g'2 fis } \\ { c2 c8. b16 c4 e,2 r } \\ { \oneVoice s1 e8 a b c d2 } >>
\shiftOn
コマンドは、ボイスの中にある音符がずれることを許可します
(強制はしません)。\shiftOn
がボイスに適用されると、そのボイスの中にある音符あるいは和音は、同じ向きの符幹を持つ他のボイスと符幹が衝突する場合にのみ、ずらされます。\shiftOff
コマンドは、適用された時点から、このタイプの音符の移動を禁止します。
デフォルトでは、外側のボイス (通常はボイス 1 と 2) には \shiftOff
が指定されていて、内側のボイス (ボイス 3 以上) には \shiftOn
が指定されています。音符をずらす場合、上向きの符幹を持つボイス (奇数番号のボイス) は右側にずらされ、下向きの符幹を持つボイス (偶数番号のボイス) は左側にずらされます。
簡略化された多声表記が内部的にどのように展開されるかをお見せするための例を挙げます。
Note: 3 つ以上のボイスがある場合、入力ファイルでのボイスの垂直方向の順序は、譜上でのボイスの垂直方向の順序と同じにすべきではありません!
\new Staff \relative c'' { %% 簡略化された入力 << { f2 } % 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
Additional voices to avoid collisions
In some instances of complex polyphonic music, additional voices are
necessary to prevent collisions between notes. If more than four
parallel voices are needed, additional voices can be added by defining
a variable using the Scheme function context-spec-music
.
voiceFive = #(context-spec-music (make-voice-props-set 4) 'Voice) \relative c'' { \time 3/4 \key d \minor \partial 2 << { \voiceOne a4. a8 e'4 e4. e8 f4 d4. c8 } \\ { \voiceThree f,2 bes4 a2 a4 s2 } \\ { \voiceFive s2 g4 g2 f4 f2 } \\ \bar "||"{ \voiceTwo d2 d4 cis2 d4 bes2 } >> }
Forcing horizontal shift of notes
When the typesetting engine cannot cope, the following syntax can be used to override typesetting decisions. The units of measure used here are staff spaces.
\relative c' << { <d g>2 <d g> } \\ { <b f'>2 \once \override NoteColumn #'force-hshift = #1.7 <b f'>2 } >>
参照
音楽用語集: polyphony
学習マニュアル: 同時に演奏する複数の音符, 音楽を保持するボイス, オブジェクトの衝突
コード断片集: Simultaneous notes
内部リファレンス: NoteColumn, NoteCollision, RestCollision
[ << 音楽記譜法 ] | [トップ][目次][インデックス][ ? ] | [ Specialist notation >> ] | ||
[ < 衝突の解決 ] | [ 上へ : 複数のボイス ] | [ 音楽を並列に記述する > ] |
自動パート結合
自動パート結合は 1 つの譜上にある 2 つのパートを 1 つに結合するために使用されます。これはオーケストラ譜を譜刻することを目的としています。ある範囲で 2 つのパートが同一である場合、1 つだけが譜刻されます。2 つのパートが異なる箇所では別々のボイスとして譜刻され、符幹の向きは自動的にセットされます。さらに、デフォルトで、ソロ パートと 二重奏 (due) パートが識別され、デフォルトでマークを付けられます。
パート結合の構文は以下の通りです:
\partcombine musicexpr1 musicexpr2
以下の例はパート結合の基本的な機能を示しています: パートを 1 つの譜に配置し、符幹の向きと多声をセットします。個々のパートと結合譜で同じ変数が使用されています。
instrumentOne = \relative c' { c4 d e f R1 d'4 c b a b4 g2 f4 e1 } instrumentTwo = \relative g' { R1 g4 a b c d c b a g f( e) d e1 } << \new Staff \instrumentOne \new Staff \instrumentTwo \new Staff \partcombine \instrumentOne \instrumentTwo >>
第 3 小節の音符は、両方のパートで指定されているにもかかわらず、1 パート分だけ譜刻されています。符幹、スラーそれにタイの向きは、ソロなのかあるいは斉奏なのかによって、自動的に設定されます。多声が必要になる場合、第 1 パート (one
と呼ばれるコンテキストを持ちます)
は常に上向きの符幹を持ち、一方、第 2 パート (two
と呼ばれるコンテキストを持ちます) は常に下向きの符幹を持ちます。ソロの場合、第 1 パートと第 2 パートにはそれぞれ ‘Solo’ と ‘Solo II’
というマークが付けられます。斉奏 (二重奏) パートには、デフォルトで、テキスト “a2” というマークが付けられます。
\partcombine
の引数は 2 つとも Voice
コンテキストとして解釈されます。相対オクターブを用いる場合、\relative
を両方の音楽表記に対して指定すべきです。すなわち、
\partcombine \relative … musicexpr1 \relative … musicexpr2
\partcombine
の外側にある \relative
セクションは musicexpr1
と musicexpr2 のピッチには影響を与えません。
プロの楽譜では、1, 2 の音符が同時進行していて容易にユニゾンとして譜刻できる場合であっても、
長い間ボイスが分かれていることがしばしばあります。Combining notes into a chord, or showing one voice as solo
is therefore not ideal as the \partcombine
function considers
each note separately.
そのため、以下のコマンドで \partcombine
関数をオーバライドすることができます:
-
\partcombineApart
,\partcombineApartOnce
: 音符を結合させて和音やユニゾンにすることができる場合であっても、音符を 2 つの別個のボイスに分けて譜刻します。 -
\partcombineChords
,\partcombineChordsOnce
: 音符を結合させて、和音として譜刻します。 -
\partcombineUnisono
,\partcombineUnisonoOnce
: 2 つのボイスをユニゾンとして譜刻します。 -
\partcombineSoloI
,\partcombineSoloIOnce
: ボイス 1 だけを譜刻して、ソロのマークを付けます。 -
\partcombineSoloII
,\partcombineSoloIIOnce
: ボイス 2 だけを譜刻して、ソロのマークを付けます。 -
\partcombineAutomatic
,\partcombineAutomaticOnce
: 上記の特殊コマンドの効果を終わらせ、デフォルトのパート結合機能に戻します。
終わりが ...Once
のコマンドはすべて、その後の音符にのみ適用されます。
instrumentOne = \relative c' { \partcombineApart c2^"apart" e | \partcombineAutomatic e^"auto" e | \partcombineChords e'^"chord" e | \partcombineAutomatic c^"auto" c | \partcombineApart c^"apart" \partcombineChordsOnce e^"chord once" | c c | } instrumentTwo = \relative c' { c2 c | e2 e | a,2 c | c2 c' | c2 c | c2 c | } << \new Staff { \instrumentOne } \new Staff { \instrumentTwo } \new Staff { \partcombine \instrumentOne \instrumentTwo } >>
Selected Snippets
Combining two parts on the same staff
The part combiner tool ( \partcombine
command ) allows the
combination of several different parts on the same staff. Text
directions such as “solo” or “a2” are added by default; to remove
them, simply set the property printPartCombineTexts
to f
.
For vocal scores (hymns), there is no need to add “solo/a2” texts,
so they should be switched off. However, it might be better not to use
it if there are any solos, as they won’t be indicated. In such cases,
standard polyphonic notation may be preferable.
This snippet presents the three ways two parts can be printed on a same
staff: standard polyphony, \partcombine
without texts, and
\partcombine
with texts.
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 { \set Staff.instrumentName = #"Standard polyphony" << \musicUp \\ \musicDown >> } \new Staff \with { printPartCombineTexts = ##f } { \set Staff.instrumentName = #"PartCombine without texts" \partcombine \musicUp \musicDown } \new Staff { \set Staff.instrumentName = #"PartCombine with texts" \partcombine \musicUp \musicDown } >> >> \layout { indent = 6.0\cm \context { \Score \override SystemStartBar #'collapse-height = #30 } } }
Changing partcombine texts
When using the automatic part combining feature, the printed text for the solo and unison sections may be changed:
\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 } >>
参照
記譜法リファレンス: パートを記述する
コード断片集: Simultaneous notes
内部リファレンス: PartCombineMusic, Voice
既知の問題と警告
\partcombine
が受け取れるボイスは 2 つだけです。
When printPartCombineTexts
is set, if the two voices play
the same notes on and off, the part combiner may typeset a2
more than once in a measure.
\partcombine
を \times
の中に置くことはできません。
\partcombine
を \relative
の中に置くことはできません。
内部的には、\partcombine
は 2 つの引数を Voice
として解釈し、2 つのパートを結合することができるかどうかを決定します。2 つのパートが異なる演奏時間を持つ場合、それらを結合させることはできず、それぞれに one
, two
という名前が与えられます。Consequently, if the arguments switch to
differently named
Voice contexts, the events in those will
be ignored.
同様に、パート結合は歌詞に対して機能するようには設計されていません。ボイスの 1 つが、歌詞を持つために明示的に名前を付けられた場合、パート結合は機能しなくなります。
\partcombine
は \partcombine
の開始後の音符だけを観察します。その前に開始した音符が演奏中であるかどうかを検出することはできません。これはさまざまな問題を引き起こします。
[ << 音楽記譜法 ] | [トップ][目次][インデックス][ ? ] | [ Specialist notation >> ] | ||
[ < 自動パート結合 ] | [ 上へ : 複数のボイス ] | [ 譜の記譜法 > ] |
音楽を並列に記述する
複数のパートを持つ音楽を入力コードの途中に挿入することができます。関数 \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.~ e'4 r16 e'8.~ e'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.~ d'4 r16 d'8.~ d'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.~ e4 r16 e8.~ e4 | c2 c | % Bar 2 r8 a,16 d f a, d f r8 a,16 d f a, d f | r16 d8.~ d4 r16 d8.~ d4 | 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 >> } >> }
参照
学習マニュアル: 変数を用いて楽曲を編成する
コード断片集: Simultaneous notes
[ << 音楽記譜法 ] | [トップ][目次][インデックス][ ? ] | [ Specialist notation >> ] | ||
[ < 自動パート結合 ] | [ 上へ : 複数のボイス ] | [ 譜の記譜法 > ] |