[ << 出力を調整する ] | [トップ][目次][インデックス][ ? ] | [ テンプレート >> ] | ||
[ < オブジェクトを移動させる ] | [ 上へ : オブジェクトの衝突 ] | [ 実際の音楽からの例 > ] |
4.5.2 表記の重なりを修正する
今度は、前のセクションで扱ったプロパティが記譜の重なりを解決する手助けをどのようにできるかを見ていきましょう。
padding プロパティ
padding
プロパティに値をセットすることによって、音符とその上または下に譜刻される記号との間の距離を増減することができます。
c2\fermata \override Script #'padding = #3 b2\fermata
% これは機能しません。この下を見てください \override MetronomeMark #'padding = #3 \tempo 4 = 120 c1 | % これは機能します \override Score.MetronomeMark #'padding = #3 \tempo 4 = 80 d1 |
2 番目の例では、ある特定のオブジェクトを扱うのはどのコンテキストなのかを突き止めることが重要であるということに注意してください。MetronomeMark
オブジェクトは Score
コンテキストの中で処理されるため、Voice
コンテキストの中でのプロパティの変更は無視されます。更に詳細を知りたければ、
Modifying properties
を参照してください。
outside-staff-priority
に従って配置されているオブジェクトの並びの中のあるオブジェクトの padding
プロパティが増やされた場合、そのオブジェクトとそれよりも外側にあるすべてオブジェクトが移動させられます。
right-padding
right-padding
プロパティは臨時記号とそれが適用される音符との間のスペースに影響を与えます。このプロパティを変更することは必ずしも必要ではありませんが、微分音の音楽で使われる特殊な臨時記号の図柄や図柄の組み合わせに対してデフォルトのスペースが適切ではない場合に必要となるかもしれません。臨時記号のステンシルを望みのシンボルを保持するマークアップにオーバライドする必要があります:
sesquisharp = \markup { \sesquisharp } \relative c'' { c4 % これは 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 | }
これは必然的に臨時記号のステンシルをオーバライドすることになります。このオーバライドについては後々までカバーされません。ステンシル タイプは手続きでなければならず、ここでは Accidental
の
text
プロパティの内容
– 内容には 1.5 倍シャープがセットされています
– を譜刻するように変更されています。それらの記号は right-padding
のオーバライドによって符頭からさらに遠くへ移動させられています。
staff-padding プロパティ
staff-padding
を使うことで、強弱記号などのオブジェクトを、それらが取り付けられる音符の位置に依存した高さではなく、譜上のある固定した高さのベースラインに揃えることができます。このプロパティは DynamicText
のプロパティではなく、DynamicSpanner
のプロパティです。この理由は、このベースラインは延長スパナを含む すべて の強弱記号に等しく適用されるべきだからです。そのため、これは以前のセクションでの例の中にある強弱記号を揃えるための方法になります:
\dynamicUp % 幅を 1 単位広げます \override DynamicText #'extra-spacing-width = #'(-0.5 . 0.5) % 強弱記号を譜から 2 単位上のベース ラインに揃えます \override DynamicLineSpanner #'staff-padding = #2 a4\f b\mf c\mp b\p
self-alignment-X プロパティ
以下の例はこのプロパティが、運指法記号オブジェクトの右端を親の音符の参照ポイントに揃えることによって、弦楽器の運指法記号オブジェクトと音符の符幹とのこのプロパティが衝突を解決している様子を示しています:
\voiceOne <a\2> \once \override StringNumber #'self-alignment-X = #RIGHT <a\2>
staff-position プロパティ
あるボイスの中にある複数小節に亘る休符は他のボイスの中にある音符と衝突する可能性があります。このような休符は小節線と小節線の間の中央に譜刻されるため、LilyPond がそれと衝突するかもしれない音符を突き止めるのは非常に困難です。なぜなら、現在の音符間それに音符-休符間の衝突対応は、同時に起こる音符と休符に対してのみ行われるからです。以下に、このタイプの衝突の例を挙げます:
<< { c4 c c c } \\ { R1 } >>
ここでの最良の解決策は、複数小節に亘る休符を下へ移動させることです。なぜなら、その休符はボイス 2 の中にあるからです。\voiceTwo
(すなわち、<<{...} \\ {...}>>
構造の
2 番目のボイス) のデフォルト状態では、MultiMeasureRest
の staff-position
は -4
にセットされています。そのため、そのプロパティを、例えば半譜スペース 4 つ分押し下げるには、-8
に変更する必要があります。
<< { c4 c c c } \\ \override MultiMeasureRest #'staff-position = #-8 { R1 } >>
これは、例えば extra-offset
を使うよりも良い解決方法です。なぜなら、その休符の上に加線が自動的に挿入されるからです。
extra-offset プロパティ
extra-offset
プロパティは、あるオブジェクトの水平方向と垂直方向の配置を完全に制御します。
以下の例では、2 番目の運指法記号が少し左に、そして 1.8 譜スペース下に移動させられています:
\stemUp f4-5 \once \override Fingering #'extra-offset = #'(-0.3 . -1.8) f4-5
positions プロパティ
positions
プロパティは連符、スラー、フレージング スラー、連桁の位置と傾きを手動で制御することを可能にします。ここで、装飾音符に付いたスラーを避けようとしているために醜いフレージング スラーを持つ例を挙げます。
r4 \acciaccatura e8\( d8 c~ c d c d\)
フレージング スラーを音符の上へ移動させることで、より良い結果が得られます:
r4 \phrasingSlurUp \acciaccatura e8\( d8 c~ c d c d\)
しかし、何らかの理由でそうすることができない場合、それに代わる解決策は、positions
プロパティを使ってフレージング スラーの左端を少し下げることです。この方法でも見栄えの悪さを解決できます。
r4 \once \override PhrasingSlur #'positions = #'(-4 . -3) \acciaccatura e8\( d8 c~ c d c d\)
{ \time 4/2 << { c'1 ~ c'2. e'8 f' } \\ { e''8 e'' e'' e'' e'' e'' e'' e'' f''2 g'' } >> << { c'1 ~ c'2. e'8 f' } \\ { e''8 e'' e'' e'' e'' e'' e'' e'' f''2 g'' } >> }
これは、譜の中央線から 1.81 譜スペース上の位置にある連桁の両端を、例えば、1 に手動で上げることによって解決することができます:
{ \time 4/2 << { c'1 ~ c'2. e'8 f' } \\ { \override Beam #'positions = #'(-1 . -1) e''8 e'' e'' e'' e'' e'' e'' e'' f''2 g'' } >> << { c'1 ~ c'2. e'8 f' } \\ { e''8 e'' e'' e'' e'' e'' e'' e'' f''2 g'' } >> }
オーバライドの効果は継続して第 2 小節のボイス 1 の 8 分音符にも適用されていますが、ボイス 2 の連桁にはまったく適用されていないということに注意してください。
force-hshift プロパティ
今や、私はボイスを聴いている の最後で挙げた Chopin の例にどのように修正を加えるべきかを知っています。この例は以下のような状態でした:
\new Staff \relative c'' { \key aes \major << { c2 aes4. bes8 } \\ { <ees, c>2 des } \\ \\ { aes'2 f4 fes } >> | <c ees aes c>1 | }
最初の和音の内側の音符 (つまり、第 4 ボイスの A フラット)
を上の音符の音符列からずらすべきではありません。これを修正するには、この音符の force-hshift
–
これは NoteColumn
のプロパティです – を 0 にセットします。
2 番目の和音では、F を A に揃えて、符幹の衝突を避けるために最の下にある音符を少しだけ右にずらした方が好ましいです。そうするには、下にある D フラットの NoteColumn
の中にある
force-hshift
を設定して、譜スペースの半分だけ右にずらします。
ここで、最終結果を挙げます:
\new Staff \relative c'' { \key aes \major << { c2 aes4. bes8 } \\ { <ees, c>2 \once \override NoteColumn #'force-hshift = #0.5 des2 } \\ \\ { \override NoteColumn #'force-hshift = #0 aes'2 f4 fes } >> | <c ees aes c>1 | }
[ << 出力を調整する ] | [トップ][目次][インデックス][ ? ] | [ テンプレート >> ] | ||
[ < オブジェクトを移動させる ] | [ 上へ : オブジェクトの衝突 ] | [ 実際の音楽からの例 > ] |
他の言語: English, česky, deutsch, español, français, italiano, nederlands
About automatic language selection.