[ << Rhythms ] | [トップ][目次] | [ Repeats >> ] |
[ < Rhythms: アルペジオにタイを使用する ] | [ 上へ : Top ] | [ Expressive marks: スラーやタイを連符などと組み合わせる > ] |
Expressive marks
[ << Expressive marks ] | [トップ][目次] | [ Repeats >> ] |
[ < Expressive marks ] | [ 上へ : Expressive marks ] | [ Expressive marks: 発想記号や和音の音符に括弧を追加する > ] |
スラーやタイを連符などと組み合わせる
LilyPond の構文は、括弧類の配置に関して特殊であり、入れ子構造にはならない場合があります。例えば、手動連桁を入力する場合、開き角括弧は音符とその長さの前ではなく後に配置しなければなりません。同様に、閉じ角括弧は、連符の途中であったとしても、連桁が終了する音符のすぐ後に配置しなければなりません。このスニペットは、手動連桁、手動スラー、タイ、フレージング スラーを、(波括弧で囲まれた) 連符と組み合わせる方法を示しています。
{ r16[ g16 \tuplet 3/2 { r16 e'8] } g16( a \tuplet 3/2 { b d e') } g8[( a \tuplet 3/2 { b d') e'] ~ } \time 2/4 \tuplet 5/4 { e'32\( a b d' e' } a'4.\) }
[ << Expressive marks ] | [トップ][目次] | [ Repeats >> ] |
[ < Expressive marks: スラーやタイを連符などと組み合わせる ] | [ 上へ : Expressive marks ] | [ Expressive marks: 長いグリッサンドにタイミング マークを追加する > ] |
発想記号や和音の音符に括弧を追加する
\parenthesize
関数は、オブジェクトを括弧で囲む特殊な調整関数です。Grob は Parentheses
になります。
\relative c' { c2-\parenthesize -> \override Parentheses.padding = #0.1 \override Parentheses.font-size = #-4 <d \parenthesize f a>2 }
[ << Expressive marks ] | [トップ][目次] | [ Repeats >> ] |
[ < Expressive marks: 発想記号や和音の音符に括弧を追加する ] | [ 上へ : Expressive marks ] | [ Expressive marks: fall や doit の形を調整する > ] |
長いグリッサンドにタイミング マークを追加する
長いグリッサンド部分の拍をタイミング マークで表示する場合があります。これは通例符頭が無く符幹だけの音符として表され、この中間部分に発想記号を付け加えることもできます。
符幹がグリッサンドにうまく揃わない場合には、わずかに配置を調整する必要があるかもしれません。
glissandoSkipOn = { \override NoteColumn.glissando-skip = ##t \hide NoteHead \override NoteHead.no-ledgers = ##t } glissandoSkipOff = { \revert NoteColumn.glissando-skip \undo \hide NoteHead \revert NoteHead.no-ledgers } \relative c'' { r8 f8\glissando \glissandoSkipOn f4 g a a8\noBeam \glissandoSkipOff a8 r8 f8\glissando \glissandoSkipOn g4 a8 \glissandoSkipOff a8 | r4 f\glissando \< \glissandoSkipOn a4\f \> \glissandoSkipOff b8\! r | }
[ << Expressive marks ] | [トップ][目次] | [ Repeats >> ] |
[ < Expressive marks: 長いグリッサンドにタイミング マークを追加する ] | [ 上へ : Expressive marks ] | [ Expressive marks: Aligning the ends of hairpins to NoteColumn directions > ] |
fall や doit の形を調整する
fall や doit の形を調整するために、
shortest-duration-space
プロパティを変更することができます。
\relative c'' { \override Score.SpacingSpanner.shortest-duration-space = #4.0 c2-\bendAfter #5 c2-\bendAfter #-4.75 c2-\bendAfter #8.5 c2-\bendAfter #-6 }
[ << Expressive marks ] | [トップ][目次] | [ Repeats >> ] |
[ < Expressive marks: fall や doit の形を調整する ] | [ 上へ : Expressive marks ] | [ Expressive marks: 二全音符を変更する > ] |
Aligning the ends of hairpins to NoteColumn directions
The ends of hairpins may be aligned to the LEFT
, CENTER
or RIGHT
of NoteColumn
grobs by overriding the property
endpoint-alignments
, which is a pair of numbers representing
the left and right ends of the hairpin. endpoint-alignments
are expected to be directions (either -1, 0 or 1). Other values
will be transformed with a warning. The right end of a hairpin
terminating at a rest is not affected, always ending at the left edge
of the rest.
{ c'2\< <c' d'>\! | \override Hairpin.endpoint-alignments = #'(1 . -1) c'2\< <c' d'>\! | \override Hairpin.endpoint-alignments = #`(,LEFT . ,CENTER) c'2\< <c' d'>\! | }
[ << Expressive marks ] | [トップ][目次] | [ Repeats >> ] |
[ < Expressive marks: Aligning the ends of hairpins to NoteColumn directions ] | [ 上へ : Expressive marks ] | [ Expressive marks: 非対称なスラー > ] |
二全音符を変更する
二全音符の表示を、符頭の左右に線が 1 本あるバロック式の表示から、2 本あるものに変更することができます。
\relative c'' { \time 4/2 c\breve | \override Staff.NoteHead.style = #'altdefault b\breve \override Staff.NoteHead.style = #'baroque b\breve \revert Staff.NoteHead.style a\breve }
[ << Expressive marks ] | [トップ][目次] | [ Repeats >> ] |
[ < Expressive marks: 二全音符を変更する ] | [ 上へ : Expressive marks ] | [ Expressive marks: ブレス記号 > ] |
非対称なスラー
音符の流れが対象的な形をしていない場合、それに合わせてスラーを非対称にすることができます。
slurNotes = { d,8( a' d f a f' d, a) } \relative c' { \stemDown \slurUp \slurNotes \once \override Slur.eccentricity = #3.0 \slurNotes }
[ << Expressive marks ] | [トップ][目次] | [ Repeats >> ] |
[ < Expressive marks: 非対称なスラー ] | [ 上へ : Expressive marks ] | [ Expressive marks: 一部が隠されたクレッシェンドのヘアピン > ] |
ブレス記号
ブレス記号にはいくつかの図形を設定できます: カンマ (デフォルト), ティック (斜め線), V字, “線路記号” (カエスーラ) です。
\new Staff \relative c'' { \key es \major \time 3/4 % this bar contains no \breathe << { g4 as g } \\ { es4 bes es } >> | % Modern notation: % by default, \breathe uses the rcomma, just as if saying: % \override BreathingSign.text = % #(make-musicglyph-markup "scripts.rcomma") << { g4 as g } \\ { es4 \breathe bes es } >> | % rvarcomma and lvarcomma are variations of the default rcomma % and lcomma % N.B.: must use Staff context here, since we start a Voice below \override Staff.BreathingSign.text = \markup { \musicglyph "scripts.rvarcomma" } << { g4 as g } \\ { es4 \breathe bes es } >> | % raltcomma and laltcomma are alternative variations of the % default rcomma and lcomma \override Staff.BreathingSign.text = \markup { \musicglyph "scripts.raltcomma" } << { g4 as g } \\ { es4 \breathe bes es } >> | % vee \override BreathingSign.text = \markup { \musicglyph "scripts.upbow" } es8[ d es f g] \breathe f | % caesura \override BreathingSign.text = \markup { \musicglyph "scripts.caesura.curved" } es8[ d] \breathe es[ f g f] | es2 r4 \bar "||" }
[ << Expressive marks ] | [トップ][目次] | [ Repeats >> ] |
[ < Expressive marks: ブレス記号 ] | [ 上へ : Expressive marks ] | [ Expressive marks: フェルマータの付いたカエスーラ ("線路記号") > ] |
一部が隠されたクレッシェンドのヘアピン
クレッシェンドのヘアピンの一部を非表示にするには、白い長方形を対応する部分の上から描画します。長方形は、テキスト マークアップの内部で PostScript コードとして定義します。
マークアップ コマンド with-dimensions
は、スペーシングの際に
(訳注: y 軸方向のバウンディングボックスを #'(0 . 0)
にすることで)
長方形の下端部分のみが考慮されるようにし、staff-padding
プロパティは、長方形がヘアピンと譜の間に配置されないようにしています。
ヘアピンが長方形によって隠されるために、ヘアピンのレイヤをテキスト マークアップよりも低く設定してください。
\relative c' { << { \dynamicUp r2 r16 c'8.\pp r4 } \\ { \override DynamicLineSpanner.layer = #0 des,2\mf\< ~ \override TextScript.layer = #2 \once\override TextScript.staff-padding = #6 \once\override TextScript.vertical-skylines = #'() des16_\markup \with-dimensions #'(2 . 7) #'(0 . 0) \with-color #white \filled-box #'(2 . 7) #'(0 . 2) #0 r8. des4 ~ des16->\sff r8. } >> }
[ << Expressive marks ] | [トップ][目次] | [ Repeats >> ] |
[ < Expressive marks: 一部が隠されたクレッシェンドのヘアピン ] | [ 上へ : Expressive marks ] | [ Expressive marks: ヘアピンの下にテキストを中央揃えする > ] |
フェルマータの付いたカエスーラ ("線路記号")
カエスーラは上にフェルマータの付いた二重の “線路記号” として表記される場合があります。このスニペットは、視覚的に良い線路記号とフェルマータの組み合わせ方を示しています。
\relative c'' { c2. % construct the symbol \override BreathingSign.text = \markup { \override #'(direction . 1) \override #'(baseline-skip . 1.8) \dir-column { \translate #'(0.155 . 0) \center-align \musicglyph "scripts.caesura.curved" \center-align \musicglyph "scripts.ufermata" } } \breathe c4 % set the breathe mark back to normal \revert BreathingSign.text c2. \breathe c4 \bar "|." }
[ << Expressive marks ] | [トップ][目次] | [ Repeats >> ] |
[ < Expressive marks: フェルマータの付いたカエスーラ ("線路記号") ] | [ 上へ : Expressive marks ] | [ Expressive marks: テキストによる強弱記号のテキストとスパナのスタイルを変更する > ] |
ヘアピンの下にテキストを中央揃えする
この例はヘアピンの (デ) クレッシェンドの下に “molto” や “poco” のようなテキストを追加する機能を提供しています。テキストの向きは、ヘアピンの向きに応じて変更されます。ヘアピンは DynamicText に揃えられます。
この例は Scheme コードを用いて、オブジェクトが通常どのように表示されるかを変更する方法も示しています。
\paper { tagline = ##f } hairpinWithCenteredText = #(define-music-function (text) (markup?) #{ \once \override Voice.Hairpin.after-line-breaking = #(lambda (grob) (let* ((stencil (ly:hairpin::print grob)) (par-y (ly:grob-parent grob Y)) (dir (ly:grob-property par-y 'direction)) (staff-line-thickness (ly:output-def-lookup (ly:grob-layout grob) 'line-thickness)) (new-stencil (ly:stencil-aligned-to (ly:stencil-combine-at-edge (ly:stencil-aligned-to stencil X CENTER) Y dir (ly:stencil-aligned-to (grob-interpret-markup grob (make-fontsize-markup (magnification->font-size (+ (ly:staff-symbol-staff-space grob) (/ staff-line-thickness 2))) text)) X CENTER)) X LEFT)) (staff-space (ly:output-def-lookup (ly:grob-layout grob) 'staff-space)) (par-x (ly:grob-parent grob X)) (dyn-text (grob::has-interface par-x 'dynamic-text-interface)) (dyn-text-stencil-x-length (if dyn-text (interval-length (ly:stencil-extent (ly:grob-property par-x 'stencil) X)) 0)) (x-shift (if dyn-text (- (+ staff-space dyn-text-stencil-x-length) (* 0.5 staff-line-thickness)) 0))) (ly:grob-set-property! grob 'Y-offset 0) (ly:grob-set-property! grob 'stencil (ly:stencil-translate-axis new-stencil x-shift X)))) #}) hairpinMolto = \hairpinWithCenteredText \markup { \italic molto } hairpinMore = \hairpinWithCenteredText \markup { \larger moltissimo } \layout { ragged-right = ##f } \relative c' { \hairpinMolto c2\< c\f \hairpinMore c2\ppppp\< c\f \break \hairpinMolto c2^\< c\f \hairpinMore c2\ppppp\< c\f }
[ << Expressive marks ] | [トップ][目次] | [ Repeats >> ] |
[ < Expressive marks: ヘアピンの下にテキストを中央揃えする ] | [ 上へ : Expressive marks ] | [ Expressive marks: スラーを実線から点線や破線に変更する > ] |
テキストによる強弱記号のテキストとスパナのスタイルを変更する
クレッシェンドやデクレッシェンドに使われるテキストは crescendoText
,
decrescendoText
コンテキスト プロパティをセットすることで変更できます。
スパナの線は、DynamicTextSpanner
の style
プロパティをセットすることでスタイルを変更できます。デフォルトの値は 'dashed-line
であり、他に 'line
, 'dotted-line
, 'none
が設定できます。
\relative c'' { \set crescendoText = \markup { \italic { cresc. poco } } \set crescendoSpanner = #'text \override DynamicTextSpanner.style = #'dotted-line a2\< a a2 a a2 a a2 a\mf }
[ << Expressive marks ] | [トップ][目次] | [ Repeats >> ] |
[ < Expressive marks: テキストによる強弱記号のテキストとスパナのスタイルを変更する ] | [ 上へ : Expressive marks ] | [ Expressive marks: ブレス記号を変更する > ] |
スラーを実線から点線や破線に変更する
スラーの見た目を実線から点線や破線に変更することができます。
\relative c' { c4( d e c) \slurDotted c4( d e c) \slurSolid c4( d e c) \slurDashed c4( d e c) \slurSolid c4( d e c) }
[ << Expressive marks ] | [トップ][目次] | [ Repeats >> ] |
[ < Expressive marks: スラーを実線から点線や破線に変更する ] | [ 上へ : Expressive marks ] | [ Expressive marks: 音符ごとに付点の数を独立して変更する > ] |
ブレス記号を変更する
ブレス記号のグリフは BreathingSign
レイアウト オブジェクトの
text
プロパティをオーバライドすることで、任意のマークアップ
テキストに変更することができます。
\relative c'' { c2 \override BreathingSign.text = \markup { \musicglyph "scripts.rvarcomma" } \breathe d2 }
[ << Expressive marks ] | [トップ][目次] | [ Repeats >> ] |
[ < Expressive marks: ブレス記号を変更する ] | [ 上へ : Expressive marks ] | [ Expressive marks: 強弱記号をマークアップ テキストと結合する > ] |
音符ごとに付点の数を独立して変更する
音符ごとに、入力したドットの数とは独立して付点の数を変更することができます。
\relative c' { c4.. a16 r2 | \override Dots.dot-count = #4 c4.. a16 r2 | \override Dots.dot-count = #0 c4.. a16 r2 | \revert Dots.dot-count c4.. a16 r2 | }
[ << Expressive marks ] | [トップ][目次] | [ Repeats >> ] |
[ < Expressive marks: 音符ごとに付点の数を独立して変更する ] | [ 上へ : Expressive marks ] | [ Expressive marks: 現代のグリッサンド > ] |
強弱記号をマークアップ テキストと結合する
強弱記号の中には、テキスト表示を含むものがあります (“più forte” や
“piano subito” など)。これらは \markup
コマンドで作り出すことができます。
piuF = \markup { \italic più \dynamic f } \layout { ragged-right = ##f } \relative c'' { c2\f c-\piuF }
[ << Expressive marks ] | [トップ][目次] | [ Repeats >> ] |
[ < Expressive marks: 強弱記号をマークアップ テキストと結合する ] | [ 上へ : Expressive marks ] | [ Expressive marks: 改行後のスパナの可視性をコントロールする > ] |
現代のグリッサンド
終端の音符が存在しない現代のグリッサンドは、不可視の音符とカデンツァを使用することで作ることができます。
\relative c'' { \time 3/4 \override Glissando.style = #'zigzag c4 c \cadenzaOn c4\glissando \hideNotes c,,4 \unHideNotes \cadenzaOff \bar "|" }
[ << Expressive marks ] | [トップ][目次] | [ Repeats >> ] |
[ < Expressive marks: 現代のグリッサンド ] | [ 上へ : Expressive marks ] | [ Expressive marks: スクリプトの縦方向の優先順位をコントロールする > ] |
改行後のスパナの可視性をコントロールする
改行のすぐ後の音符で終了するスパナの可視性は、after-line-breaking
のコールバック ly:spanner::kill-zero-spanned-time
によりコントロールされます。
グリッサンドやヘアピンのようなオブジェクトは、デフォルトで改行後のスパナを表示しないようにしています。このコールバックを無効化することで、改行後のスパナが表示されるようになります。
逆に、テキスト スパナなどはデフォルトで改行後に表示されるようになっていますが、コールバックを有効にすることで削除することができます。
\paper { ragged-right = ##t } \relative c'' { \override Hairpin.to-barline = ##f \override Glissando.breakable = ##t % show hairpin \override Hairpin.after-line-breaking = ##t % hide text span \override TextSpanner.after-line-breaking = #ly:spanner::kill-zero-spanned-time e2\<\startTextSpan % show glissando \override Glissando.after-line-breaking = ##t f2\glissando \break f,1\!\stopTextSpan }
[ << Expressive marks ] | [トップ][目次] | [ Repeats >> ] |
[ < Expressive marks: 改行後のスパナの可視性をコントロールする ] | [ 上へ : Expressive marks ] | [ Expressive marks: 遅れターンを作成する > ] |
スクリプトの縦方向の優先順位をコントロールする
スクリプト (音符に付加する記号) の縦方向の優先順位は、script-priority
プロパティでコントロールされます。値が小さいほど、音符の近くに配置されます。この例では、1 つ目は
TextScript
(シャープ記号) を低い優先度を持つようにしており、一番低い位置に表示されます。2 つ目はトリル (Script
) が低い優先度を持ち、内側に表示されるようになっています。2 つのオブジェクトが同じ優先度を持つ場合には、入力された順番が配置に影響します。
\relative c''' { \once \override TextScript.script-priority = #-100 a2^\prall^\markup { \sharp } \once \override Script.script-priority = #-100 a2^\prall^\markup { \sharp } }
[ << Expressive marks ] | [トップ][目次] | [ Repeats >> ] |
[ < Expressive marks: スクリプトの縦方向の優先順位をコントロールする ] | [ 上へ : Expressive marks ] | [ Expressive marks: 異なるボイスにまたがるアルペジオを作成する > ] |
遅れターンを作成する
下の音符が臨時記号を持つような遅れターンを作るには、いくつかのオーバライドが必要です。outside-staff-priority
プロパティを #f
にセットしなければ、avoid-slur
プロパティよりも優先されてしまい、スラーの内側に記号が入りません。分数 2/3
と 1/3
は、水平位置を調整しています。
\relative c'' { \after 2*2/3 \turn c2( d4) r | \after 4 \turn c4.( d8) \after 4 { \once \set suggestAccidentals = ##t \once \override AccidentalSuggestion.outside-staff-priority = ##f \once \override AccidentalSuggestion.avoid-slur = #'inside \once \override AccidentalSuggestion.font-size = -3 \once \override AccidentalSuggestion.script-priority = -1 \once \hideNotes cis8\turn \noBeam } d4.( e8) }
[ << Expressive marks ] | [トップ][目次] | [ Repeats >> ] |
[ < Expressive marks: 遅れターンを作成する ] | [ 上へ : Expressive marks ] | [ Expressive marks: ピアノ譜で譜をまたがるアルペジオを作成する > ] |
異なるボイスにまたがるアルペジオを作成する
Staff
コンテキストに Span_arpeggio_engraver
が追加された場合、アルペジオは同じ譜にある異なるボイスにまたがって表示されます。
\new Staff \with { \consists "Span_arpeggio_engraver" } \relative c' { \set Staff.connectArpeggios = ##t << { <e' g>4\arpeggio <d f> <d f>2 } \\ { <d, f>2\arpeggio <g b>2 } >> }
[ << Expressive marks ] | [トップ][目次] | [ Repeats >> ] |
[ < Expressive marks: 異なるボイスにまたがるアルペジオを作成する ] | [ 上へ : Expressive marks ] | [ Expressive marks: 他のコンテキストで譜をまたがるアルペジオを作成する > ] |
ピアノ譜で譜をまたがるアルペジオを作成する
PianoStaff
内では、PianoStaff.connectArpeggios
プロパティをセットすることで、譜をまたがるアルペジオを作成することができます。
\new PianoStaff \relative c'' << \set PianoStaff.connectArpeggios = ##t \new Staff { <c e g c>4\arpeggio <g c e g>4\arpeggio <e g c e>4\arpeggio <c e g c>4\arpeggio } \new Staff { \clef bass \repeat unfold 4 { <c,, e g c>4\arpeggio } } >>
[ << Expressive marks ] | [トップ][目次] | [ Repeats >> ] |
[ < Expressive marks: ピアノ譜で譜をまたがるアルペジオを作成する ] | [ 上へ : Expressive marks ] | [ Expressive marks: 2 桁の運指記号を作成する > ] |
他のコンテキストで譜をまたがるアルペジオを作成する
譜をまたがるアルペジオは Span_arpeggio_engraver
が Score
コンテキストに追加されていれば、GrandStaff
, PianoStaff
, StaffGroup
以外にも作成することができます。
\score { \new ChoirStaff { \set Score.connectArpeggios = ##t << \new Voice \relative c' { <c e>2\arpeggio <d f>2\arpeggio <c e>1\arpeggio } \new Voice \relative c { \clef bass <c g'>2\arpeggio <b g'>2\arpeggio <c g'>1\arpeggio } >> } \layout { \context { \Score \consists "Span_arpeggio_engraver" } } }
[ << Expressive marks ] | [トップ][目次] | [ Repeats >> ] |
[ < Expressive marks: 他のコンテキストで譜をまたがるアルペジオを作成する ] | [ 上へ : Expressive marks ] | [ Expressive marks: "本当の"括弧付きの強弱記号を作成する > ] |
2 桁の運指記号を作成する
5 よりも大きな運指記号を作成することができます。
\relative c' { c1-10 c1-50 c1-36 c1-29 }
[ << Expressive marks ] | [トップ][目次] | [ Repeats >> ] |
[ < Expressive marks: 2 桁の運指記号を作成する ] | [ 上へ : Expressive marks ] | [ Expressive marks: ボイスをまたがるスラーを作成する > ] |
"本当の"括弧付きの強弱記号を作成する
強弱記号に括弧を追加する一番簡単な方法は、\markup
ブロックを使用することですが、この方法には欠点があります: このように作成されたオブジェクトは、強弱記号ではなくテキスト マークアップとして振る舞うということです。
しかしながら、(記譜法リファレンスで説明しているように)
make-dynamic-script
関数と共に
Scheme コードを用いることで、似たようなオブジェクトを作り出すことができます。このように作成された記号は強弱記号として振る舞い、\dynamicUp
や
\dynamicDown
といったコマンドと互換性を保ちます。
paren = #(define-event-function (dyn) (ly:event?) (make-dynamic-script #{ \markup \concat { \normal-text \italic \fontsize #2 ( \pad-x #0.2 #(ly:music-property dyn 'text) \normal-text \italic \fontsize #2 ) } #})) \relative c'' { c4\paren\f c c \dynamicUp c\paren\p }
[ << Expressive marks ] | [トップ][目次] | [ Repeats >> ] |
[ < Expressive marks: "本当の"括弧付きの強弱記号を作成する ] | [ 上へ : Expressive marks ] | [ Expressive marks: テキスト スパナを作成する > ] |
ボイスをまたがるスラーを作成する
異なるボイスを繋ぐスラーを作成しなければならない場合があります。
解決法は、\hideNotes
を用いて片方のボイスに不可視の音符を追加することです。
この例は、Bach の Partita for Violin No. 2 (BWV 1004) の 235 小節目です。
\relative c' { << { d16( a') s a s a[ s a] s a[ s a] } \\ { \slurUp bes,16[ s e]( \hideNotes a) \unHideNotes f[( \hideNotes a) \unHideNotes fis]( \hideNotes a) \unHideNotes g[( \hideNotes a) \unHideNotes gis]( \hideNotes a) } >> }
[ << Expressive marks ] | [トップ][目次] | [ Repeats >> ] |
[ < Expressive marks: ボイスをまたがるスラーを作成する ] | [ 上へ : Expressive marks ] | [ Expressive marks: 強弱記号のカスタム テキスト スパナ後置関数 > ] |
テキスト スパナを作成する
\startTextSpan
と \stopTextSpan
コマンドは、ペダル記号やオッターバのようにテキスト スパナを容易に作成できます。TextSpanner
オブジェクトのプロパティをオーバライドすることで、出力を変更することができます。
\paper { ragged-right = ##f } \relative c'' { \override TextSpanner.bound-details.left.text = #"bla" \override TextSpanner.bound-details.right.text = #"blu" a4 \startTextSpan b4 c a4 \stopTextSpan \override TextSpanner.style = #'line \once \override TextSpanner.bound-details.left.stencil-align-dir-y = #CENTER a4 \startTextSpan b4 c a4 \stopTextSpan \override TextSpanner.style = #'dashed-line \override TextSpanner.bound-details.left.text = \markup { \draw-line #'(0 . 1) } \override TextSpanner.bound-details.right.text = \markup { \draw-line #'(0 . -2) } \once \override TextSpanner.bound-details.right.padding = #-2 a4 \startTextSpan b4 c a4 \stopTextSpan \set Staff.middleCPosition = #-13 \override TextSpanner.dash-period = #10 \override TextSpanner.dash-fraction = #0.5 \override TextSpanner.thickness = #10 a4 \startTextSpan b4 c a4 \stopTextSpan }
[ << Expressive marks ] | [トップ][目次] | [ Repeats >> ] |
[ < Expressive marks: テキスト スパナを作成する ] | [ 上へ : Expressive marks ] | [ Expressive marks: 強弱記号のテキスト スパナ音楽関数 > ] |
強弱記号のカスタム テキスト スパナ後置関数
これは、クレッシェンドのテキスト スパナをカスタマイズする後置関数です。スパナは小節の最初の音符から始めるべきです。-\mycresc
の記法を使用しなければ、スパナの開始点が次の音符になってしまいます。
% Two functions for (de)crescendo spanners where you can explicitly % give the spanner text. mycresc = #(define-music-function (mymarkup) (markup?) (make-music 'CrescendoEvent 'span-direction START 'span-type 'text 'span-text mymarkup)) mydecresc = #(define-music-function (mymarkup) (markup?) (make-music 'DecrescendoEvent 'span-direction START 'span-type 'text 'span-text mymarkup)) \relative c' { c4-\mycresc "custom cresc" c4 c4 c4 | c4 c4 c4 c4 | c4-\mydecresc "custom decresc" c4 c4 c4 | c4 c4\! c4 c4 }
[ << Expressive marks ] | [トップ][目次] | [ Repeats >> ] |
[ < Expressive marks: 強弱記号のカスタム テキスト スパナ後置関数 ] | [ 上へ : Expressive marks ] | [ Expressive marks: Grob をスキップするグリッサンド > ] |
強弱記号のテキスト スパナ音楽関数
カスタム テキスト スパナを定義することができ、ヘアピンやテキスト
クレッシェンドと同時に用いることができます。\<
と \>
はデフォルトでヘアピンを作り出し、\cresc
などはデフォルトでテキスト スパナを作り出します。
% Some sample text dynamic spanners, to be used as postfix operators crpoco = #(make-music 'CrescendoEvent 'span-direction START 'span-type 'text 'span-text "cresc. poco a poco") \relative c' { c4\cresc d4 e4 f4 | g4 a4\! b4\crpoco c4 | c4 d4 e4 f4 | g4 a4\! b4\< c4 | g4\dim a4 b4\decresc c4\! }
[ << Expressive marks ] | [トップ][目次] | [ Repeats >> ] |
[ < Expressive marks: 強弱記号のテキスト スパナ音楽関数 ] | [ 上へ : Expressive marks ] | [ Expressive marks: 異なるライン スタイルのヘアピン > ] |
Grob をスキップするグリッサンド
NoteColumn
Grob をグリッサンドが飛び越すように設定することができます。
\relative c' { a2 \glissando \once \override NoteColumn.glissando-skip = ##t f''4 d, }
[ << Expressive marks ] | [トップ][目次] | [ Repeats >> ] |
[ < Expressive marks: Grob をスキップするグリッサンド ] | [ 上へ : Expressive marks ] | [ Expressive marks: テキスト強弱記号の線を隠す > ] |
異なるライン スタイルのヘアピン
ヘアピンには line-interface
のスタイルを用いることができます:
dashed-line, dotted-line, line, trill, zigzag です。
\relative c' { c2\< c\! \override Hairpin.style = #'dashed-line c2\< c\! \override Hairpin.style = #'dotted-line c2\< c\! \override Hairpin.style = #'line c2\< c\! \override Hairpin.style = #'trill c2\< c\! \override Hairpin.style = #'zigzag c2\< c\! \revert Hairpin.style c2\< c\! }
[ << Expressive marks ] | [トップ][目次] | [ Repeats >> ] |
[ < Expressive marks: 異なるライン スタイルのヘアピン ] | [ 上へ : Expressive marks ] | [ Expressive marks: カスタム強弱記号を水平方向に揃える ("sempre pp" "piu f" "subito p" など) > ] |
テキスト強弱記号の線を隠す
(cresc. や dim. のような) 強弱を変更するテキストは、その範囲を破線で示しています。次のようにしてこの線を表示しないようにすることができます。
\relative c'' { \override DynamicTextSpanner.style = #'none \crescTextCresc c1\< | d | b | c\! }
[ << Expressive marks ] | [トップ][目次] | [ Repeats >> ] |
[ < Expressive marks: テキスト強弱記号の線を隠す ] | [ 上へ : Expressive marks ] | [ Expressive marks: カエスーラを挿入する > ] |
カスタム強弱記号を水平方向に揃える ("sempre pp" "piu f" "subito p" など)
強弱記号の中には追加のテキストを伴うもの (例えば “sempre pp”) があります。強弱記号は通常音符の下に中央揃えされるため、\pp の部分が音符に揃えられる必要があります。
“sempre pp” を水平方向に正しく揃えるためには、あたかも \pp のみが存在するかのように揃える必要があります。いくつかのアプローチがあります:
* 強弱記号が適用される音符の前に
\once\override DynamicText.X-offset = #-9.2
を設定し、手動で正しい位置にシフトします。欠点: この強弱記号を使用する際に毎回手動でシフトを行う必要があります。
* カスタム強弱記号の定義にいくらかのパディング (#:hspace 7.1
) を追加して、それを中央揃えさせます。欠点: パディングは実際にスペースを占有するため、その位置に他のマークアップや強弱記号は配置されません。
* 強弱記号のスクリプトを \once\override ... .X-offset = ..
でシフトします。欠点: \once \override
が毎回必要です!
* 追加されるテキストの寸法を (#:with-dimensions '(0 . 0) '(0 . 0)
を用いて) 0 にします。欠点: LilyPond にとっては “sempre” のサイズが
0 になるため、他のオブジェクトと衝突する可能性があります (衝突判定が行われないということです!)。また、いくつかのスペースは占有されているようであり、テキストが存在しない場合に比べて配置が多少ずれます。
* dynamic-script の Scheme 関数内で、直接明示的にシフトを設定します。
* dynamic-script の内部で明示的に揃え位置を設定します。デフォルトでは、これは何の効果も現れませんが、X-offset を指定した際にのみ有効となります!
欠点: DynamicText.X-offset
をセットする必要があり、それは全ての強弱記号に影響します! また、揃え位置は pp の中央ではなく、追加したテキストの右端となります。
\paper { ragged-right = ##f indent = 2.5\cm } % Solution 1: Using a simple markup with a particular halign value % Drawback: It's a markup, not a dynamic command, so \dynamicDown % etc. will have no effect semppMarkup = \markup { \halign #1.4 \italic "sempre" \dynamic "pp" } % Solution 2: Using a dynamic script & shifting with % \once \override ...X-offset = .. % Drawback: \once \override needed for every invocation semppK = #(make-dynamic-script (markup #:line (#:normal-text #:italic "sempre" #:dynamic "pp"))) % Solution 3: Padding the dynamic script so the center-alignment % puts it at the correct position % Drawback: the padding really reserves the space, nothing else can be there semppT = #(make-dynamic-script (markup #:line (#:normal-text #:italic "sempre" #:dynamic "pp" #:hspace 7.1))) % Solution 4: Dynamic, setting the dimensions of the additional text to 0 % Drawback: To lilypond "sempre" has no extent, so it might put % other stuff there => collisions % Drawback: Also, there seems to be some spacing, so it's not exactly the % same alignment as without the additional text semppM = #(make-dynamic-script (markup #:line (#:with-dimensions '(0 . 0) '(0 . 0) #:right-align #:normal-text #:italic "sempre" #:dynamic "pp"))) % Solution 5: Dynamic with explicit shifting inside the scheme function semppG = #(make-dynamic-script (markup #:hspace 0 #:translate '(-18.85 . 0) #:line (#:normal-text #:italic "sempre" #:dynamic "pp"))) % Solution 6: Dynamic with explicit alignment. This has only effect % if one sets X-offset! % Drawback: One needs to set DynamicText.X-offset! % Drawback: Aligned at the right edge of the additional text, % not at the center of pp semppMII = #(make-dynamic-script (markup #:line (#:right-align #:normal-text #:italic "sempre" #:dynamic "pp"))) \new StaffGroup << \new Staff = "s" \with { instrumentName = \markup \column { Normal } } << \relative c'' { \key es \major c4\pp c\p c c | c\ff c c\pp c } >> \new Staff = "sMarkup" \with { instrumentName = \markup \column { Normal markup } } << \relative c'' { \key es \major c4-\semppMarkup c\p c c | c\ff c c-\semppMarkup c } >> \new Staff = "sK" \with { instrumentName = \markup \column { Explicit shifting } } << \relative c'' { \key es \major \once \override DynamicText.X-offset = #-9.2 c4\semppK c\p c c c4\ff c \once \override DynamicText.X-offset = #-9.2 c4\semppK c } >> \new Staff = "sT" \with { instrumentName = \markup \column { Right padding } } << \relative c'' { \key es \major c4\semppT c\p c c | c\ff c c\semppT c } >> \new Staff = "sM" \with { instrumentName = \markup \column { Set dimension "to zero" } } << \relative c'' { \key es \major c4\semppM c\p c c | c\ff c c\semppM c } >> \new Staff = "sG" \with { instrumentName = \markup \column { Shift inside dynamics} } << \relative c'' { \key es \major c4\semppG c\p c c | c\ff c c\semppG c } >> \new Staff = "sMII" \with { instrumentName = \markup \column { Alignment inside dynamics } } << \relative c'' { \key es \major % Setting to ##f (false) gives the same result \override DynamicText.X-offset = #0 c4\semppMII c\p c c | c\ff c c\semppMII c } >> >> \layout { \override Staff.InstrumentName.self-alignment-X = #LEFT }
[ << Expressive marks ] | [トップ][目次] | [ Repeats >> ] |
[ < Expressive marks: カスタム強弱記号を水平方向に揃える ("sempre pp" "piu f" "subito p" など) ] | [ 上へ : Expressive marks ] | [ Expressive marks: レセ ヴィブレのタイ > ] |
カエスーラを挿入する
カエスーラ記号は BreathingSign
オブジェクトの text
プロパティをオーバライドすることで作成することができます。曲がったカエスーラ記号も使用することができます。
\relative c'' { \override BreathingSign.text = \markup { \musicglyph "scripts.caesura.straight" } c8 e4. \breathe g8. e16 c4 \override BreathingSign.text = \markup { \musicglyph "scripts.caesura.curved" } g8 e'4. \breathe g8. e16 c4 }
[ << Expressive marks ] | [トップ][目次] | [ Repeats >> ] |
[ < Expressive marks: カエスーラを挿入する ] | [ 上へ : Expressive marks ] | [ Expressive marks: 矢印 > ] |
レセ ヴィブレのタイ
レセ ヴィブレのタイの大きさは固定されています。tie-configuration
によって配置を調整することができます。
\relative c' { <c e g>4\laissezVibrer r <c f g>\laissezVibrer r <c d f g>4\laissezVibrer r <c d f g>4.\laissezVibrer r8 <c d e f>4\laissezVibrer r \override LaissezVibrerTieColumn.tie-configuration = #`((-7 . ,DOWN) (-5 . ,DOWN) (-3 . ,UP) (-1 . ,UP)) <c d e f>4\laissezVibrer r }
[ << Expressive marks ] | [トップ][目次] | [ Repeats >> ] |
[ < Expressive marks: レセ ヴィブレのタイ ] | [ 上へ : Expressive marks ] | [ Expressive marks: 複雑な破線のスラーを作成する > ] |
矢印
text-spanner, line-spanner (例えば Glissando) に対して矢印を用いることができます。
\relative c'' { \override TextSpanner.bound-padding = #1.0 \override TextSpanner.style = #'line \override TextSpanner.bound-details.right.arrow = ##t \override TextSpanner.bound-details.left.text = #"fof" \override TextSpanner.bound-details.right.text = #"gag" \override TextSpanner.bound-details.right.padding = #0.6 \override TextSpanner.bound-details.right.stencil-align-dir-y = #CENTER \override TextSpanner.bound-details.left.stencil-align-dir-y = #CENTER \override Glissando.bound-details.right.arrow = ##t \override Glissando.arrow-length = #0.5 \override Glissando.arrow-width = #0.25 a8\startTextSpan gis a4 b\glissando b, g'4 c\stopTextSpan c2 }
[ << Expressive marks ] | [トップ][目次] | [ Repeats >> ] |
[ < Expressive marks: 矢印 ] | [ 上へ : Expressive marks ] | [ Expressive marks: アーティキュレーションの省略記法のデフォルト値を書き換える > ] |
複雑な破線のスラーを作成する
dash-definition
プロパティをセットすることで、スラーに複雑な破線パターンを追加することができます。dash-definition
は
dash-element
のリストになっています。dash-element
はスラーの各部分に対する破線パターンのパラメータ リストです。
スラーはベジエ曲線の媒介変数 t (左端が 0, 右端が 1) の関数として定義されます。dash-element
は、(start-t stop-t dash-fraction dash-period)
のリストになっています。start-t
から stop-t
までの範囲が、dash-period
の長さにつき dash-fraction
が黒になるような破線となります。dash-period
は譜スペースの単位です。dash-fraction
を 1 にすると実線のスラーになります。
\relative c' { \once \override Slur.dash-definition = #'((0 0.3 0.1 0.75) (0.3 0.6 1 1) (0.65 1.0 0.4 0.75)) c4( d e f) \once \override Slur.dash-definition = #'((0 0.25 1 1) (0.3 0.7 0.4 0.75) (0.75 1.0 1 1)) c4( d e f) }
[ << Expressive marks ] | [トップ][目次] | [ Repeats >> ] |
[ < Expressive marks: 複雑な破線のスラーを作成する ] | [ 上へ : Expressive marks ] | [ Expressive marks: スラーの縦方向の位置を移動する > ] |
アーティキュレーションの省略記法のデフォルト値を書き換える
アーティキュレーションの省略記法は ly/script-init.ly
に定義されており、変数 dashHat
, dashPlus
, dashDash
,
dashBang
, dashLarger
, dashDot
,
dashUnderscore
にデフォルト設定がセットされています。これらを変更することができます。この例では、dashPlus
変数に
trill
をセットすることで、-+
を入力した際にデフォルトの + 記号の代わりにトリル記号が表示されるようにしています。
\relative c'' { c1-+ } dashPlus = \trill \relative c'' { c1-+ }
[ << Expressive marks ] | [トップ][目次] | [ Repeats >> ] |
[ < Expressive marks: アーティキュレーションの省略記法のデフォルト値を書き換える ] | [ 上へ : Expressive marks ] | [ Expressive marks: ヘアピンの端点を移動する > ] |
スラーの縦方向の位置を移動する
スラーの縦方向の位置は Slur
の positions
プロパティによって調整することができます。このプロパティは 2 つのパラメータを取り、1 つ目はスラーの左端、2 つ目はスラーの右端です。このパラメータの値は、スラーの正確な位置を決定するために用いられるわけではありません – LilyPond ではどのようなスラーが見た目として最善かを、このパラメータを基にして決定します。正の値はスラーを上方向に移動するため、符幹が下向きの音符に対して有効です。負の値はスラーを下方向に移動します。
\relative c' { \stemDown e4( a) \override Slur.positions = #'(1 . 1) e4( a) \override Slur.positions = #'(2 . 2) e4( a) \override Slur.positions = #'(3 . 3) e4( a) \override Slur.positions = #'(4 . 4) e4( a) \override Slur.positions = #'(5 . 5) e4( a) \override Slur.positions = #'(0 . 5) e4( a) \override Slur.positions = #'(5 . 0) e4( a) \stemUp \override Slur.positions = #'(-5 . -5) e4( a) \stemDown \revert Slur.positions e4( a) }
[ << Expressive marks ] | [トップ][目次] | [ Repeats >> ] |
[ < Expressive marks: スラーの縦方向の位置を移動する ] | [ 上へ : Expressive marks ] | [ Expressive marks: アルペジオの配置 > ] |
ヘアピンの端点を移動する
ヘアピンの端点は Hairpin
オブジェクトの shorten-pair
をセットすることで移動できます。正の値は端点を右に移動し、負の値は左に移動します。minimum-length
プロパティとは異なり、このプロパティはヘアピンのみの見た目に影響します。水平方向のスペーシングには影響しません
(始点や終点にある強弱記号もです)。そのため、この方法はヘアピンを割り当てられた領域の中で微調整するのに適しています。
{ c'1~\< c'2~ c'\! \once \override Hairpin.shorten-pair = #'(2 . 2) c'1~\< c'2~ c'\! \once \override Hairpin.shorten-pair = #'(-2 . -2) c'1~\< c'2~ c'\! c'1~\p-\tweak shorten-pair #'(2 . 0)\< c'2~ c'\ffff }
[ << Expressive marks ] | [トップ][目次] | [ Repeats >> ] |
[ < Expressive marks: ヘアピンの端点を移動する ] | [ 上へ : Expressive marks ] | [ Expressive marks: テキスト マークアップをスラーの内側に配置する > ] |
アルペジオの配置
アルペジオの長さを変更したい場合、上端と下端の位置を独立に変更することができます。
\relative c' { <c e g b>1\arpeggio \once \override Arpeggio.positions = #'(-5 . 0) <c e g b>1\arpeggio \once \override Arpeggio.positions = #'(0 . 5) <c e g b>1\arpeggio \once \override Arpeggio.positions = #'(-5 . 5) <c e g b>1\arpeggio }
[ << Expressive marks ] | [トップ][目次] | [ Repeats >> ] |
[ < Expressive marks: アルペジオの配置 ] | [ 上へ : Expressive marks ] | [ Expressive marks: ヘアピンを様々なスタイルで表示する > ] |
テキスト マークアップをスラーの内側に配置する
テキスト マークアップをスラーの内側に配置するには、outside-staff-priority
プロパティを #f
に設定する必要があります。
\relative c'' { \override TextScript.avoid-slur = #'inside \override TextScript.outside-staff-priority = ##f c2(^\markup { \halign #-10 \natural } d4.) c8 }
[ << Expressive marks ] | [トップ][目次] | [ Repeats >> ] |
[ < Expressive marks: テキスト マークアップをスラーの内側に配置する ] | [ 上へ : Expressive marks ] | [ Expressive marks: ヘアピンの表示に al niente 記譜法を用いる > ] |
ヘアピンを様々なスタイルで表示する
ヘアピン強弱記号は様々なスタイルで作成できます。
\relative c'' { \override Hairpin.stencil = #flared-hairpin a4\< a a a\f a4\p\< a a a\ff a4\sfz\< a a a\! \override Hairpin.stencil = #constante-hairpin a4\< a a a\f a4\p\< a a a\ff a4\sfz\< a a a\! \override Hairpin.stencil = #flared-hairpin a4\> a a a\f a4\p\> a a a\ff a4\sfz\> a a a\! \override Hairpin.stencil = #constante-hairpin a4\> a a a\f a4\p\> a a a\ff a4\sfz\> a a a\! }
[ << Expressive marks ] | [トップ][目次] | [ Repeats >> ] |
[ < Expressive marks: ヘアピンを様々なスタイルで表示する ] | [ 上へ : Expressive marks ] | [ Expressive marks: メトロノーム記号やリハーサル記号を譜の下に表示する > ] |
ヘアピンの表示に al niente 記譜法を用いる
ヘアピン強弱記号は、Hairpin
オブジェクトの circled-tip
プロパティを #t
にセットすることで、端に丸を付けて (“al niente” 記譜法) 表示することができます。
\relative c'' { \override Hairpin.circled-tip = ##t c2\< c\! c4\> c\< c2\! }
[ << Expressive marks ] | [トップ][目次] | [ Repeats >> ] |
[ < Expressive marks: ヘアピンの表示に al niente 記譜法を用いる ] | [ 上へ : Expressive marks ] | [ Expressive marks: 小節線にぶつかるヘアピンの挙動を設定する > ] |
メトロノーム記号やリハーサル記号を譜の下に表示する
デフォルトでは、メトロノーム記号やリハーサル記号は譜の上に表示されます。これらを譜の下に表示するには、MetronomeMark
や RehearsalMark
の direction
プロパティを正しくセットします。
\layout { indent = 0 ragged-right = ##f } { % Metronome marks below the staff \override Score.MetronomeMark.direction = #DOWN \tempo 8. = 120 c''1 % Rehearsal marks below the staff \override Score.RehearsalMark.direction = #DOWN \mark \default c''1 }
[ << Expressive marks ] | [トップ][目次] | [ Repeats >> ] |
[ < Expressive marks: メトロノーム記号やリハーサル記号を譜の下に表示する ] | [ 上へ : Expressive marks ] | [ Expressive marks: ヘアピンの最小長さをセットする > ] |
小節線にぶつかるヘアピンの挙動を設定する
ヘアピンの終端となる音符が強拍にある場合、ヘアピンはその前にある小節線の直前が終端となります。この挙動は to-barline
プロパティをオーバライドすることで調整できます。
\relative c'' { e4\< e2. e1\! \override Hairpin.to-barline = ##f e4\< e2. e1\! }
[ << Expressive marks ] | [トップ][目次] | [ Repeats >> ] |
[ < Expressive marks: 小節線にぶつかるヘアピンの挙動を設定する ] | [ 上へ : Expressive marks ] | [ Expressive marks: 同じアーティキュレーションを音符や和音の上と下の両方に表示する > ] |
ヘアピンの最小長さをセットする
ヘアピンが短すぎる場合、Hairpin
オブジェクトの minimum-length
プロパティを変更することで長くすることができます。
<< { \after 4 \< \after 2 \> \after 2. \! f'1 \override Hairpin.minimum-length = #8 \after 4 \< \after 2 \> \after 2. \! f'1 } { \repeat unfold 8 c'4 } >>
[ << Expressive marks ] | [トップ][目次] | [ Repeats >> ] |
[ < Expressive marks: ヘアピンの最小長さをセットする ] | [ 上へ : Expressive marks ] | [ Expressive marks: スナップ ピッツィカートあるいはバルトーク ピッツィカート > ] |
同じアーティキュレーションを音符や和音の上と下の両方に表示する
デフォルトでは、LilyPond は同じアーティキュレーション
(例えばアクセント、フェルマータ、フラジョレットなど) を音符の上と下に表示することを認めていません。例えば、c4_\fermata^\fermata
では、フェルマータが音符の下のみに表示され、上に表示するよう指定したフェルマータは無視されます。しかし、和音表記を用いてその内部にアーティキュレーションを配置すると、(運指記号と同じように)
アーティキュレーションを好きなだけ表示することができます。このアプローチでは符幹を無視し、アーティキュレーションを符頭との相対位置で配置します。これはこのスニペットのフラジョレットに見られます。和音外に配置されるアーティキュレーションと同じ挙動を得るには、add-stem-support
が必要となります。そのため、解決策は音符を和音として表記し、<...>
の中にアーティキュレーションを追加することです。
向きは常に上向きですが、\tweak
によって変更することができます:
<c-\tweak direction #DOWN-\fermata^\fermata>
\relative c' { <>^"Wrong" c2_\fermata^\fermata % The second fermata is ignored! <e d'>2^\flageolet_\flageolet \stopStaff s1 \startStaff <>^"Works if written inside a chord" <e_\flageolet d'^\flageolet>2 <e_\flageolet d'^\flageolet>2 <e_\flageolet^\flageolet>2 <e_\fermata^\fermata>2 }
[ << Expressive marks ] | [トップ][目次] | [ Repeats >> ] |
[ < Expressive marks: 同じアーティキュレーションを音符や和音の上と下の両方に表示する ] | [ 上へ : Expressive marks ] | [ Expressive marks: ブレス記号にチェックを使用する > ] |
スナップ ピッツィカートあるいはバルトーク ピッツィカート
スナップ ピッツィカート (“バルトーク ピッツィカート”とも呼ばれます) は、“弦を指板と垂直に強く引っ張って離して弦を指板にぶつけること” (Wikipedia) です。これは円とその中央から上に突き出す線の記号によって表します。
\relative c' { c4\snappizzicato <c' e g>4\snappizzicato <c' e g>4^\snappizzicato <c, e g>4_\snappizzicato }
[ << Expressive marks ] | [トップ][目次] | [ Repeats >> ] |
[ < Expressive marks: スナップ ピッツィカートあるいはバルトーク ピッツィカート ] | [ 上へ : Expressive marks ] | [ Expressive marks: ディビジを見やすくするために arpeggioBracket を使用する > ] |
ブレス記号にチェックを使用する
歌曲や管楽では、ブレス記号によくチェック マークを使用します。これはコンマ記号で示すように短い間を挿入するものではなく、マークの前にある音符を少しだけ短くすることでブレスを行います。マークを譜から離すために、上方向に少し移動しています。
\relative c'' { c2 \breathe d2 \override BreathingSign.Y-offset = #2.6 \override BreathingSign.text = \markup { \musicglyph "scripts.tickmark" } c2 \breathe d2 }
[ << Expressive marks ] | [トップ][目次] | [ Repeats >> ] |
[ < Expressive marks: ブレス記号にチェックを使用する ] | [ 上へ : Expressive marks ] | [ Expressive marks: 和音のレガートに 2 つのスラーを使用する > ] |
ディビジを見やすくするために arpeggioBracket を使用する
符幹が存在しないため情報がない場合に、ボイスの分割を arpeggioBracket
で表すことができます。これは合唱曲によく見られます。
\include "english.ly" \score { \relative c'' { \key a \major \time 2/2 << \new Voice = "upper" << { \voiceOne \arpeggioBracket a2( b2 <b d>1\arpeggio) <cs e>\arpeggio ~ <cs e>4 } \addlyrics { \lyricmode { A -- men. } } >> \new Voice = "lower" { \voiceTwo a1 ~ a a ~ a4 \bar "|." } >> } \layout { ragged-right = ##t } }
[ << Expressive marks ] | [トップ][目次] | [ Repeats >> ] |
[ < Expressive marks: ディビジを見やすくするために arpeggioBracket を使用する ] | [ 上へ : Expressive marks ] | [ Expressive marks: whiteout プロパティを使用する > ] |
和音のレガートに 2 つのスラーを使用する
和音をレガートで演奏する場合、2 つのスラーを書く場合があります。これは
doubleSlurs
をセットすることで実現できます。
\relative c' { \set doubleSlurs = ##t <c e>4( <d f> <c e> <d f>) }
[ << Expressive marks ] | [トップ][目次] | [ Repeats >> ] |
[ < Expressive marks: 和音のレガートに 2 つのスラーを使用する ] | [ 上へ : Expressive marks ] | [ Expressive marks: バロック音楽の縦線アーティキュレーション マーク > ] |
whiteout プロパティを使用する
下にあるオブジェクトの一部分をマスクするために、任意のグラフィカル
オブジェクトを白い背景の上に表示することができます。これは、衝突を解決するためにオブジェクトを移動するのが困難であるような複雑な状況において、見た目を改善するのに有効です。layer
プロパティを明示的に設定して、どのオブジェクトが白でマスクされるかを指定しなければなりません。
この例では、タイと拍子記号が重なる部分について、タイの方をマスクしています。そのためには TimeSignature
の whiteout
プロパティを設定し、TimeSignature
を Tie
の上のレイヤに移動する必要があります。Tie
のデフォルトのレイヤは 1 であるため、TimeSignature
のレイヤ値をそれより大きくします。また、StaffSymbol
がマスクされないように、更に上位のレイヤに配置する必要があります。
{ \override Score.StaffSymbol.layer = #4 \override Staff.TimeSignature.layer = #3 b'2 b'~ \once \override Staff.TimeSignature.whiteout = ##t \time 3/4 b' r4 }
[ << Expressive marks ] | [トップ][目次] | [ Repeats >> ] |
[ < Expressive marks: whiteout プロパティを使用する ] | [ 上へ : Expressive marks ] | [ Expressive marks: 複数の音符にまたがる強弱記号を縦方向に揃える > ] |
バロック音楽の縦線アーティキュレーション マーク
音符の上にある短い線は、バロック音楽で広く用いられるものです。意味は様々ですが、通常は音符をより“重く”演奏することを指示しています。次の例は、この記譜をどのように実現するかを示しています。
upline = \tweak stencil #(lambda (grob) (grob-interpret-markup grob #{ \markup \draw-line #'(0 . 1) #})) \stopped \relative c' { a'4^\upline a( c d')_\upline }
[ << Expressive marks ] | [トップ][目次] | [ Repeats >> ] |
[ < Expressive marks: バロック音楽の縦線アーティキュレーション マーク ] | [ 上へ : Expressive marks ] | [ Repeats > ] |
複数の音符にまたがる強弱記号を縦方向に揃える
同じ音符に配置されている、または開始あるいは終了する強弱記号は、縦方向に揃えられます。同じ音符に配置されない強弱記号も揃えるためには、DynamicLineSpanner
オブジェクトの staff-padding
プロパティを大きな値にします。
\relative c' { \override DynamicLineSpanner.staff-padding = #4 c2\p f\mf g2\< b4\> c\! }
[ << Expressive marks ] | [トップ][目次] | [ Repeats >> ] |
[ < Expressive marks: バロック音楽の縦線アーティキュレーション マーク ] | [ 上へ : Expressive marks ] | [ Repeats > ] |