[ < ] [ > ]   [ << ] [ 上へ ] [ >> ]         [トップ] [目次] [インデックス] [ ? ]

4.6 オブジェクトの衝突

@translationof Collisions of objects


[ < ] [ > ]   [ << ] [ 上へ ] [ >> ]         [トップ] [目次] [インデックス] [ ? ]

4.6.1 オブジェクトを移動させる

@translationof Moving objects

これを聞いて驚くかもしれませんが、LilyPond は完璧ではありません。いくつかの記譜要素が重なりある可能性があります。これは遺憾なことですが、実際にはごく稀です。通常、オブジェクトを移動させる必要性は読みやすさや美しさのためです – オブジェクトの周りにもう少しスペースを多く/少なくとった方がより良くなるといった場合です。

記譜要素の重なりを解決する主要なアプローチが 3 つあります。それらは以下の順番で考慮されるべきです:

  1. 重なり合っているオブジェクトの 1 つの direction を 譜内部オブジェクト でリストアップした内部オブジェクトのための定義済みコマンドを用いて変更することになるかもしれません。符幹、スラー、連桁、タイ、強弱記号、テキスト、連符はこの方法で容易に再配置できるかもしれません。この方法の限界は配置の仕方の選択肢が 2 つしかないことであり、どちらも適当でないかもしれません。
  2. LilyPond がレイアウト オブジェクトを配置するときに使用するオブジェクト プロパティを \override を用いて変更することになるかもしれません。オブジェクト プロパティに変更を加えることの利点は、(a) スペースをとる必要がある場合に他のいくつかのオブジェクトは自動的に移動させられます、(b) 1 回のオーバライドを同じオブジェクト タイプのインスタンスすべてに適用することができます。変更するプロパティには以下のものが含まれます:
  3. 最後に、他の方法がすべて失敗した場合、オブジェクトを手動で譜の中央線からの垂直方向の相対位置に従って、あるいは新たに設定した位置との距離に従って、再配置することになるかもしれません。この方法の欠点は、再配置のための正確な値を算出する必要がある – しばしば、その算出はそれぞれのオブジェクトに対して個々に、トライ&エラーで行われます – 必要があるということ、さらに、この方法による移動は LilyPond が他のオブジェクトをすべて配置した後に行われるため、ユーザはその結果として起こるかもしれない衝突をすべて回避する責任があるということです。しかし、この方法の最大の問題点は、音楽が後で変更された場合に、再配置用の値を再び算出する必要があるということです。このタイプの手動再配置のために使用されるプロパティは以下のようなものです:
    extra-offset

    このプロパティは grob-interface をサポートするレイアウト オブジェクトのいずれかに適用されます。このプロパティはペアになった数値をとり、それぞれの数値は水平方向と垂直方向の移動を指定します。負値はオブジェクトを左または下へ移動させます。単位は譜スペースです。この移動はオブジェクトの譜刻が完了した後に行われるため、あるオブジェクトを任意の位置へ、他のオブジェクトに影響を与えることなく、再配置することができます。

    positions

    このプロパティは、連桁、スラー、連符の傾きと高さを手動で調節するために最も有用なプロパティです。このプロパティはペアになった数値をとり、それぞれの数値は連桁、スラーなどの左端と右端の位置を譜の中央線との距離で指定します。単位は譜スペースです。けれども、スラーとフレージング スラーを任意の値で再配置することはできないということに注意してください。LilyPond はまずスラーが取り得る位置のリストを生成し、それからデフォルトでは “最良に見える” スラーを探します。positions がオーバライドされていた場合、そのリストの中からリクエストされた位置に最も近いスラーが選択されます。

あるオブジェクトがこれらのプロパティすべてを持っているわけではありません。内部リファレンスに行き、そのオブジェクトではどのプロパティが利用可能なのかを調べる必要があります。

ここで、衝突に関係しそうなオブジェクトをリスト アップします。内部リファレンスを調べるためのオブジェクト名を付けるので、それらのオブジェクトを移動させるのに使うプロパティを見つけ出すのに使ってください。

オブジェクト タイプオブジェクト名
アーティキュレーション (Articulation)Script
連桁 (Beam)Beam
強弱記号 (Dynamic) (垂直方向)DynamicLineSpanner
強弱記号 (Dynamic) (水平方向)DynamicText
運指法記号 (Fingering)Fingering
リハーサル / テキスト記号 (Rehearsal / Text mark)RehearsalMark
スラー (Slur)Slur
テキスト – つまり、^"text" (Text)TextScript
タイ (Tie)Tie
連符 (Tuplet)TupletBracket

[ < ] [ > ]   [ << ] [ 上へ ] [ >> ]         [トップ] [目次] [インデックス] [ ? ]

4.6.2 表記の重なりを修正する

@translationof Fixing overlapping notation

今度は、前のセクションで扱ったプロパティが記譜の重なりを解決する手助けをどのようにできるかを見ていきましょう。


[ < ] [ > ]   [ << ] [ 上へ ] [ >> ]         [トップ] [目次] [インデックス] [ ? ]

padding プロパティ

@translationof The padding property

padding プロパティに値をセットすることによって、音符とその上または下に譜刻される記号との間の距離を増減することができます。

 
c'2\fermata
\override Script.padding = #3
b2\fermata

[image of music]

 
% これは機能しません。この下を見てください
\override MetronomeMark.padding = #3
\tempo 4 = 120
c'1 |
% これは機能します
\override Score.MetronomeMark.padding = #3
\tempo 4 = 80
d'1 |

[image of music]

2 番目の例では、ある特定のオブジェクトを扱うのはどのコンテキストなのかを突き止めることが重要であるということに注意してください。MetronomeMark オブジェクトは Score コンテキストの中で処理されるため、Voice コンテキストの中でのプロパティの変更は無視されます。更に詳細を知りたければ、 (notation)Modifying properties section ‘Modifying properties’ in Notation Reference を参照してください。

outside-staff-priority に従って配置されているオブジェクトの並びの中のあるオブジェクトの padding プロパティが増やされた場合、そのオブジェクトとそれよりも外側にあるすべてオブジェクトが移動させられます。


[ < ] [ > ]   [ << ] [ 上へ ] [ >> ]         [トップ] [目次] [インデックス] [ ? ]

right-padding プロパティ

@translationof The right-padding property

right-padding プロパティは臨時記号とそれが適用される音符との間のスペースに影響を与えます。このプロパティを変更することは必ずしも必要ではありませんが、微分音の音楽で使われる特殊な臨時記号の図柄や図柄の組み合わせに対してデフォルトのスペースが適切ではない場合に必要となるかもしれません。臨時記号のステンシルを望みのシンボルを保持するマークアップにオーバライドする必要があります:

 
sesquisharp = \markup { \sesquisharp }
\relative {
  c''4
  % これは 1.5 倍シャープを譜刻しますが、スペースが小さすぎます
  \once \override Accidental.stencil = #ly:text-interface::print
  \once \override Accidental.text = #sesquisharp
  cis4 c
  % これはスペースを改善しています
  \once \override Score.AccidentalPlacement.right-padding = #0.6
  \once \override Accidental.stencil = #ly:text-interface::print
  \once \override Accidental.text = #sesquisharp
  cis4 |
}

[image of music]

これは必然的に臨時記号のステンシルをオーバライドすることになります。このオーバライドについては後々までカバーされません。ステンシル タイプは手続きでなければならず、ここでは Accidental の text プロパティの内容 – 内容には 1.5 倍シャープがセットされています – を譜刻するように変更されています。それらの記号は right-padding のオーバライドによって符頭からさらに遠くへ移動させられています。


[ < ] [ > ]   [ << ] [ 上へ ] [ >> ]         [トップ] [目次] [インデックス] [ ? ]

staff-padding プロパティ

@translationof The staff-padding property

staff-padding を使うことで、強弱記号などのオブジェクトを、他のオブジェクトが譜から離すよう強制しない限り、譜から一定の距離にあるベースラインに揃えることができます。このプロパティは DynamicText のプロパティではなく、DynamicSpanner のプロパティです。この理由は、このベースラインは延長スパナを含む すべて の強弱記号に等しく適用されるべきだからです。そのため、これは以前のセクションでの例の中にある強弱記号を揃えるための方法になります:

 
\override DynamicLineSpanner.staff-padding = #3
\relative { a'4\f b\mf a\p b\mp }

[image of music]


[ < ] [ > ]   [ << ] [ 上へ ] [ >> ]         [トップ] [目次] [インデックス] [ ? ]

self-alignment-X プロパティ

@translationof The self-alignment-X property

以下の例はこのプロパティが、運指法記号オブジェクトの右端を親の音符の参照ポイントに揃えることによって、弦楽器の運指法記号オブジェクトと音符の符幹との相対位置を調整している様子を示しています:

 
\voiceOne
<a''\2>
\once \override StringNumber.self-alignment-X = #RIGHT
<a''\2>

[image of music]


[ < ] [ > ]   [ << ] [ 上へ ] [ >> ]         [トップ] [目次] [インデックス] [ ? ]

staff-position プロパティ

@translationof The staff-position property

あるボイスの中にある複数小節に亘る休符は他のボイスの中にある音符と衝突する可能性があります。このような休符は小節線と小節線の間の中央に譜刻されるため、LilyPond がそれと衝突するかもしれない音符を突き止めるのは非常に困難です。なぜなら、現在の音符間それに音符-休符間の衝突対応は、同時に起こる音符と休符に対してのみ行われるからです。以下に、このタイプの衝突の例を挙げます:

 
<< \relative { c'4 c c c } \\ { R1 } >>

[image of music]

ここでの最良の解決策は、複数小節に亘る休符を下へ移動させることです。なぜなら、その休符はボイス 2 の中にあるからです。\voiceTwo (すなわち、<<{…} \\ {…}>> 構造の 2 番目のボイス) のデフォルト状態では、MultiMeasureRest の staff-position は -4 にセットされています。そのため、そのプロパティを、例えば半譜スペース 4 つ分押し下げるには、-8 に変更する必要があります。

 
<<
  \relative { c'4 c c c }
  \\
  \override MultiMeasureRest.staff-position = #-8
  { R1 }
>>

[image of music]

これは、例えば extra-offset を使うよりも良い解決方法です。なぜなら、その休符の上に加線が自動的に挿入されるからです。


[ < ] [ > ]   [ << ] [ 上へ ] [ >> ]         [トップ] [目次] [インデックス] [ ? ]

extra-offset プロパティ

@translationof The extra-offset property

extra-offset プロパティは、あるオブジェクトの水平方向と垂直方向の配置を完全に制御します。

以下の例では、2 番目の運指法記号が少し左に、そして 1.8 譜スペース下に移動させられています:

 
f'4-5
\once \override Fingering.extra-offset = #'(-0.3 . -1.8)
f'4-5

[image of music]


[ < ] [ > ]   [ << ] [ 上へ ] [ >> ]         [トップ] [目次] [インデックス] [ ? ]

positions プロパティ

@translationof The positions property

positions プロパティは連符、スラー、フレージング スラー、連桁の位置を手動で制御することができ、それにより傾きも制御できます。

ここで、フレージング スラーとスラーが衝突している例を示します:

 
\relative { a'8 \( ( a'16 ) a \) }

[image of music]

衝突を解決するために、フレージング スラーの両端を上に移動させます。左端を譜中央線よりも 2.5 譜スペース上に設定し、右端を 4.5 譜スペース上に設定すると、LilyPond は候補の中から両端の位置が最も設定に近いフレージング スラーを選択します:

 
\once \override PhrasingSlur.positions = #'(2.5 . 4.5)
a'8 \( ( a''16 ) a'' \)

[image of music]

これで改善されました。しかしながら、スラーの右端を少し下げてみてはどうでしょうか?そうしようとした場合、この方法では実行できないことがわかります。すでに表示されているスラーよりも右端が下がっている候補は無く、そのような場合には positions は効果を持たないからです。しかしながら、必要があればタイ、スラー、それにフレージング スラーの位置と形状を非常に正確に設定することが できます。正確な設定を行う方法は (notation)Modifying ties and slurs section ‘Modifying ties and slurs’ in Notation Reference で学習してください。

もう 1 つ例を示します。連桁がタイと衝突しています:

 
{
  \time 4/2
  <<
    \relative { c'1~ 2. e8 f }
    \\
    \relative {
      e''8 e e e
      e e e e
      f2 g
    }
  >>
  <<
    \relative { c'1~ 2. e8 f }
    \\
    \relative {
      e''8 e e e
      e e e e
      f2 g
    }
  >>
}

[image of music]

これは、譜の中央線から 1.81 譜スペース上の位置にある連桁の両端を、例えば、1 に手動で上げることによって解決することができます:

 
{
  \time 4/2
  <<
    \relative { c'1~ 2. e8 f }
    \\
    \relative {
      \override Beam.positions = #'(-1 . -1)
      e''8 e e e
      e e e e
      f2 g
    }
  >>
  <<
    \relative { c'1~ 2. e8 f }
    \\
    \relative {
      e''8 e e e
      e e e e
      f2 g
      \revert Beam.positions
    }
  >>
}

[image of music]

オーバライドの効果は継続して第 2 小節のボイス 2 の 8 分音符にも適用されていますが、ボイス 1 の連桁には、その後の第 2 小節においてもまったく適用されていないということに注意してください。例に示したように、オーバライドがもう適用されるべきでないところではオーバライドをリバートするべきです。


[ < ] [ > ]   [ << ] [ 上へ ] [ >> ]         [トップ] [目次] [インデックス] [ ? ]

force-hshift プロパティ

@translationof The force-hshift property

今や、私はボイスを聴いている の最後で挙げた Chopin の例にどのように修正を加えるべきかを知っています。この例は以下のような状態でした:

 
\new Staff \relative {
  \key aes \major
  <<
    { c''2 aes4. bes8 }
    \\
    { <ees, c>2 des }
    \\
    \\
    { aes'2 f4 fes }
  >> |
  <c ees aes c>1 |
}

[image of music]

最初の和音の内声の音 (つまり、4 番目のボイスにある A-フラット) を上の音符の音符列からずらす必要はありません。そのために \shiftOff を用います。

2 番目の和音では、F を A-フラットに揃えて、符幹の衝突を避けるために最下段の音符を少し右に移動させるべきでしょう。そうするには、D-フラットの NoteColumn の force-hshift を設定して譜スペースの半分だけ右にずらし、F の force-hshift をゼロにします。注意すべきことは、すぐ後のタイミングを越えて設定が伝播してしまわないように、 \once を使っているということです。 この小さい例においては、ボイス 4 の \once と 2 個目の \override (訳注: \shiftOff のこと) は省略できますが、それは良い方法ではありません。

ここで、最終結果を挙げます:

 
\new Staff \relative {
  \key aes \major
  <<
    { c''2 aes4. bes8 }
    \\
    { <ees, c>2 \once \override NoteColumn.force-hshift = 0.5 des }
    \\
    \\
    { \once \shiftOff aes'2 \once \shiftOff f4 fes }
  >> |
  <c ees aes c>1 |
}

[image of music]


[ < ] [ > ]   [ << ] [ 上へ ] [ >> ]         [トップ] [目次] [インデックス] [ ? ]

4.6.3 実際の音楽からの例

@translationof Real music example

調整についてのセクションを、望みの出力を作り出すためにいくつかの調整を必要とするトリッキーな例を処理するときにとられるステップを示すことで締めくくります。この例は、記譜法についての普通ではない問題を解決するための記譜法リファレンスの使い方を示すために慎重に選ばれたものです。この例は一般的な譜刻プロセスを代表するものではありません。ですから、この例の複雑さでやる気を失わないでください!幸いなことに、このように複雑な問題は非常に稀です!

この例は Chopin の Première Ballade, Op. 23 の第 6 - 9 小節からとりました。序盤の Lento から Moderato へと移調する部分です。まず最初に望んでいる出力挙げますが、例があまりにも複雑になり過ぎないように強弱記号、運指法記号、ペダル記号は省きました。

[image of music]

まず、第 3 小節の右手パートには 4 つのボイスが必要であることに注目します。それぞれのボイスは、連桁でつながれた 5 つの 8 分音符、タイで結ばれた C、半音符の D (これは 8 分音符の D とマージされています)、付点 4 分音符の F シャープ (これも同じピッチの 8 分音符とマージされています) です。他の部分はすべて単一のボイスなので、最も容易な方法は 4 つのボイスを必要になったときに一時的に導入する方法です。一時的に多声にする方法を忘れてしまったのならば、私はボイスを聴いている と ボイスを明示的にインスタンス化する を参照してください。 ここでは、多声パッセージに明示的にインスタンス化されたボイスを使うことにします。なぜなら、すべてのボイスが明示的にインスタンス化されている方が、LilyPond はうまく衝突を回避できるからです。

音符を 2 つの変数として入力し、譜構造を Score ブロックの中でセットアップすることから始めて、それで LilyPond がデフォルトでどのような出力を作り出すのか見てみましょう:

 
rhMusic = \relative {
  \new Voice {
    r2 c''4. g8 |
    bes1~ |
    \time 6/4
    bes2. r8
    % 4 つのボイスの多声セクションの開始
    <<
      { c,8 d fis bes a }  % メイン ボイスの続き
      \new Voice {
        \voiceTwo
        c,8~ 2
      }
      \new Voice {
        \voiceThree
        s8 d2
      }
      \new Voice {
        \voiceFour
        s4 fis4.
      }
    >> |
    g2.  % メイン ボイスの続き
  }
}

lhMusic = \relative {
  r2 <c' g ees>2 |
  <d g, d>1 |
  r2. d,,4 r4 r |
  r4
}

\score {
  \new PianoStaff <<
    \new Staff = "RH"  <<
      \key g \minor
      \rhMusic
    >>
    \new Staff = "LH" <<
      \key g \minor
      \clef "bass"
      \lhMusic
    >>
  >>
}

[image of music]

すべての音符は間違っていません。しかしながら、見た目は満足とは程遠いものです。タイは移調する拍子記号と衝突していて、第 3 小節の連桁の付け方は間違っていて、音符はマージされておらず、いくつかの記譜要素は欠けています。簡単なものから片付けていきましょう。連桁の付け方は手動で連桁を挿入することで修正でき、左手パートのスラーと右手パートのフレージング スラーは簡単に追加できます – なぜなら、これらはすべてチュートリアルでカバーされているからです。これらの修正を加えると、以下のようになります:

 
rhMusic = \relative {
  \new Voice {
    r2 c''4.\( g8 |
    bes1~ |
    \time 6/4
    bes2. r8
    % 4 つのボイスの多声セクションの開始
    <<
      { c,8 d fis bes a }  % メイン ボイスの続き
      \new Voice {
        \voiceTwo
        c,8~ 2
      }
      \new Voice {
        \voiceThree
        s8 d2
      }
      \new Voice {
        \voiceFour
        s4 fis4.
      }
    >> |
    g2.\)  % メイン ボイスの続き
  }
}

lhMusic = \relative {
  r2 <c' g ees>2( |
  <d g, d>1) |
  r2. d,,4 r4 r |
  r4
}

\score {
  \new PianoStaff <<
    \new Staff = "RH"  <<
      \key g \minor
      \rhMusic
    >>
    \new Staff = "LH" <<
      \key g \minor
      \clef "bass"
      \lhMusic
    >>
  >>
}

[image of music]

第 1 小節は正しくなりました。第 2 小節にはアルペジオが含まれていて、2 重の小節線で終わります。この学習マニュアルではこれらのことは言及されてこなかったのに、どうやってやればいいのでしょうか?ここで、記譜法リファレンスに移行する必要があります。索引で ‘arpeggio’ と ‘bar line’ を探せばすぐに、アルペジオは \arpeggio を和音の後に付け加えることによって作り出され、2 重小節線は \bar "||" コマンドによって作り出されることがわかります。それは簡単にできます。次に、タイと拍子記号の衝突を修正する必要があります。これはタイを上に移動させる方法が最善です。オブジェクトの移動については以前に オブジェクトを移動させる でカバーしました。そこでは、譜との相対位置で配置されるオブジェクトは、そのオブジェクトの staff-position プロパティをオーバライドすることによって、移動させることができると述べられています。このプロパティは譜スペースの半分を単位として、譜の中央線からの距離で指定されます。ですから、以下の以下のオーバライドをタイで結ばれる最初の音符の前に置けば、タイは中央線から 3.5 半譜スペースだけ上の位置に移動させられます:

\once \override Tie.staff-position = #3.5

これで第 2 小節の修正も完了で、以下のようになります:

 
rhMusic = \relative {
  \new Voice {
    r2 c''4.\( g8 |
    \once \override Tie.staff-position = #3.5
    bes1~ |
    \bar "||"
    \time 6/4
    bes2. r8
    % 4 つのボイスの多声セクションの開始
    <<
      { c,8 d fis bes a }  % メイン ボイスの続き
      \new Voice {
        \voiceTwo
        c,8~ 2
      }
      \new Voice {
        \voiceThree
        s8 d2
      }
      \new Voice {
        \voiceFour
        s4 fis4.
      }
    >> |
    g2.\)  % メイン ボイスの続き
  }
}

lhMusic = \relative {
  r2 <c' g ees>2( |
  <d g, d>1)\arpeggio |
  r2. d,,4 r4 r |
  r4
}

\score {
  \new PianoStaff <<
    \new Staff = "RH"  <<
      \key g \minor
      \rhMusic
    >>
    \new Staff = "LH" <<
      \key g \minor
      \clef "bass"
      \lhMusic
    >>
  >>
}

[image of music]

第 3 小節 – Moderato セクションの開始部分 – に取り掛かります。チュートリアルで \tempo コマンドを使ってテンポ表示を付け加える方法を示しましたので、‘Moderato’ を付け加えることは容易です。しかし、異なるボイスの中にある音符をマージするにはどうするのでしょうか?ここで、助けを求めて記譜法リファレンスに移行する必要があります。記譜法リファレンスで “merge” を探せばすぐに、 (notation)Collision resolution section ‘Collision resolution’ in Notation Reference で符頭や付点の付き方が異なる音符をマージするためのコマンドにたどり着きます。今回の例では、多声部セクションで両方のタイプの音符をマージする (異なる符頭を持つ音符のマージと、付点の付き方が異なる音符のマージ) 必要があるので、記譜法リファレンスで見つけた情報を使って、以下のコマンド:

 
\mergeDifferentlyHeadedOn
\mergeDifferentlyDottedOn

を多声部セクションの開始点に置き、以下のコマンド:

 
\mergeDifferentlyHeadedOff
\mergeDifferentlyDottedOff

をセクションの終了点に置きます。これで、例は以下のようになります:

[image of music]

オーバライドは 2 つの F シャープの音符をマージしましたが、2 つの D をマージしませんでした。なぜマージしなかったのでしょうか?その答えは記譜法リファレンスの同じセクションにあります – マージされる音符は反対向きの符幹を持っていなくてはならず、同じ音符列に 3 つ目の音符がある場合は 2 つの音符をマージさせることはできません。今回の例では、2 つの D は両方とも上向きの符幹を持っていて、3 つ目の音符 – C – が存在します。我々は \stemDown を用いて符幹の向きを変更する方法を知っていて、記譜法リファレンスも C を移動させる方法について述べています – \shift コマンドの 1 つを用いてシフトを行います。しかし、どのシフトを行えばよいのでしょうか?C はシフト off のボイス 2 の中にあり、2 つの D はボイス 1 とボイス 3 – それぞれ、シフト off とシフト on – の中にあります。ですから、C が 2 つの D と衝突するのを避けるために、\shiftOnn を用いて C を更にシフトさせる必要があります。これらの変更を加えると、以下のようになります:

 
rhMusic = \relative {
  \new Voice {
    r2 c''4.\( g8 |
    \once \override Tie.staff-position = #3.5
    bes1~ |
    \bar "||"
    \time 6/4
    bes2.\tempo "Moderato" r8
    \mergeDifferentlyHeadedOn
    \mergeDifferentlyDottedOn
    % 4 つのボイスの多声セクションの開始
    <<
      { c,8 d fis bes a }  % メイン ボイスの続き
      \new Voice {
        \voiceTwo
        % c2 をメインの音符列から外したため、
        % マージが機能します
        c,8~ \shiftOnn c2
      }
      \new Voice {
        \voiceThree
        % マージさせるために d2 の符幹を下向きにする必要があります
        s8 \stemDown d2
      }
      \new Voice {
        \voiceFour
        s4 fis4.
      }
    >> |
    \mergeDifferentlyHeadedOff
    \mergeDifferentlyDottedOff
    g2.\)  % メイン ボイスの続き
  }
}

lhMusic = \relative {
  r2 <c' g ees>2( |
  <d g, d>1)\arpeggio |
  r2. d,,4 r4 r |
  r4
}

\score {
  \new PianoStaff <<
    \new Staff = "RH"  <<
      \key g \minor
      \rhMusic
    >>
    \new Staff = "LH" <<
      \key g \minor
      \clef "bass"
      \lhMusic
    >>
  >>
}

[image of music]

もうちょっとです。残っている問題は 2 つだけです: マージされた D の下向きの符幹はあるべきではなく、C は D の右側に配置した方が良いということです。以前に行った調整からこれらを行う方法を両方とも知っています: 符幹を透明にして、force-hshift プロパティを用いて C を移動させます。ここで、最終結果を示します:

 
rhMusic = \relative {
  \new Voice {
    r2 c''4.\( g8 |
    \once \override Tie.staff-position = #3.5
    bes1~ |
    \bar "||"
    \time 6/4
    bes2.\tempo "Moderato" r8
    \mergeDifferentlyHeadedOn
    \mergeDifferentlyDottedOn
    % 4 つのボイスの多声セクションの開始
    <<
      { c,8 d fis bes a }  % メイン ボイスの続き
      \new Voice {
        \voiceTwo
        c,8~
        % マージされる音符の右にある c2 を再配置します
        \once \override NoteColumn.force-hshift = #1.0
        % c2 をメインの音符列から外したため、マージが機能します
        \shiftOnn
        c2
      }
      \new Voice {
        \voiceThree
        s8
        % マージさせるために d2 の符幹を下向きにする必要があります
        \stemDown
        % d2 の符幹を不可視にします
        \tweak Stem.transparent ##t
        d2
      }
      \new Voice {
        \voiceFour
        s4 fis4.
      }
    >> |
    \mergeDifferentlyHeadedOff
    \mergeDifferentlyDottedOff
    g2.\)  % メイン ボイスの続き
  }
}

lhMusic = \relative {
  r2 <c' g ees>2( |
  <d g, d>1)\arpeggio |
  r2. d,,4 r4 r |
  r4
}

\score {
  \new PianoStaff <<
    \new Staff = "RH"  <<
      \key g \minor
      \rhMusic
    >>
    \new Staff = "LH" <<
      \key g \minor
      \clef "bass"
      \lhMusic
    >>
  >>
}

[image of music]


[ < ] [ > ]   [ << ] [ 上へ ] [ >> ]

This document was generated by gub on 7 月 13, 2020 using texi2html 1.82.

他の言語: English, català, deutsch, español, français, italiano, nederlands
About automatic language selection.