1.3.1 音符に付けられる発想記号

このセクションでは、音符に添付される発想記号を作成する方法について説明します。音符に添付される発想記号には以下のものがあります: アーティキュレーション、装飾、強弱記号。新たに強弱記号を作成する方法についても議論します。


アーティキュレーションと装飾

アーティキュレーション、装飾音それに他の演奏指示を表すさまざまな記号は以下の構文を用いて音符に付けることができます:

note\name

name に対してとり得る値は アーティキュレーションの一覧 でリストアップしています。例えば:

\relative {
  c''4\staccato c\mordent b2\turn
  c1\fermata
}

[image of music]

これらのアーティキュレーションのいくつかはより容易に入力できるよう短縮記法を持っています。短縮記法は音符名の後ろに付けられ、ダッシュ - とそれに続くアーティキュレーションを表す記号から成ります。あらかじめ定義されている短縮記法は以下のアーティキュレーションです: marcato, stopped, tenuto, staccatissimo, accent, staccato それに portato。これらの出力は以下のように表示されます:

\relative {
  c''4-^ c-+ c-- c-!
  c4-> c-. c2-_
}

[image of music]

アーティキュレーションのデフォルトの配置規則はファイル ‘scm/script.scm’ で定義されています。アーティキュレーションと装飾は手動で譜の上または下に配置されることもあります – 向きと配置 を参照してください。

アーティキュレーションは Script オブジェクトです。これらのプロパティについて Script に説明があります。

アーティキュレーションは音符と同様に休符や複数小節の休符に付けることもできます。複数小節の休符にアーティキュレーションを付けると、MultiMeasureRestScript オブジェクトが作成されます。

\override Script.color = #red
\override MultiMeasureRestScript.color = #blue
a'2\fermata r\fermata
R1\fermata

[image of music]

アーティキュレーションに加えて、テキストとマークアップを音符に付けることができます。テキスト スクリプト を参照してください。

音符につけられる Script と TextScript の配置順序についての更なる情報は、 オブジェクトの配置 を参照してください。

Selected Snippets

アーティキュレーションの省略記法のデフォルト値を書き換える

アーティキュレーションの省略記法は ly/script-init.ly に定義されており、変数 dashHat, dashPlus, dashDash, dashBang, dashLarger, dashDot, dashUnderscore にデフォルト設定がセットされています。これらを変更することができます。この例では、dashPlus 変数に trill をセットすることで、-+ を入力した際にデフォルトの + 記号の代わりにトリル記号が表示されるようにしています。

\relative c'' { c1-+ }

dashPlus = \trill

\relative c'' { c1-+ }

[image of music]

スクリプトの縦方向の優先順位をコントロールする

スクリプト (音符に付加する記号) の縦方向の優先順位は、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 }
}

[image of music]

遅れターンを作成する

下の音符が臨時記号を持つような遅れターンを作るには、いくつかのオーバライドが必要です。outside-staff-priority プロパティを #f にセットしなければ、avoid-slur プロパティよりも優先されてしまい、スラーの内側に記号が入りません。分数 2/31/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)
}

[image of music]

参照

音楽用語集: tenuto, accent, staccato, portato

学習マニュアル: Placement of objects

記譜法リファレンス: テキスト スクリプト, 向きと配置, アーティキュレーションの一覧, トリル

インストールされているファイル: ‘scm/script.scm

コード断片集: 発想記号

内部リファレンス: Script, TextScript


強弱記号

絶対強弱記号は音符の後にコマンドを用いて – c4\ff などのように – 指定します。 利用可能な強弱記号は \ppppp, \pppp, \ppp, \pp, \p, \mp, \mf, \f, \ff, \fff, \ffff, \fffff, \fp, \sf, \sff, \sp, \spp, \sfz, \rfz, それに \n です。 強弱記号を手動で譜の上または下に配置することもできます – 向きと配置 を参照してください。

\relative c'' {
  c2\ppp c\mp
  c2\rfz c^\mf
  c2_\spp c^\ff
}

[image of music]

クレッシェンド 記号は \< で始まり、\!、絶対強弱記号あるいは追加のクレッシェンド記号またはデクレッシェンド記号で終わります。デクレッシェンド 記号は \> で始まり、\!、絶対強弱記号あるいは次のクレッシェンド記号またはデクレッシェンド記号で終わります。\cr\decr\<\> の代わりに用いることができます。 また、クレッシェンド記号やデクレッシェンド記号の終点に、それぞれ \endcr\enddecr\! の代わりに用いることもできます。この記譜法を用いるとデフォルトでは ヘアピン が譜刻されます。

\relative c'' {
  c2\< c\!
  d2\< d\f
  e2\< e\>
  f2\> f\!
  e2\> e\mp
  d2\> d\>
  c1\!
}

[image of music]

\! で終了するヘアピンは、\! が割り当てられた音符の右端で終了します。次の クレッシェンド または デクレッシェンド 記号の開始によってヘアピンが終了する場合、そのヘアピンは次の \< または \> が割り当てられた音符の中央で終了します。次のへアピンは、通常通りに音符の左端で始まる代わりに、右端から始まります。1 拍目で終わるヘアピンは、前の小節線のところで終了します。

\relative {
  c''1\< | c4 a c\< a | c4 a c\! a\< | c4 a c a\!
}

[image of music]

\! の代わりに絶対強弱記号で終了するヘアピンも同じように譜刻されます。しかしながら、絶対強弱記号の幅によってヘアピンの終了点は変わります。

\relative {
  c''1\< | c4 a c\mf a | c1\< | c4 a c\ffff a
}

[image of music]

1 つの音符に複数の記号を譜刻するには、空白休符を用いる必要があります。これは特に、同じ音符に クレッシェンドデクレッシェンド を付ける場合に有用です。

\relative {
  c''4\< c\! d\> e\!
  << f1 { s4 s4\< s4\> s4\! } >>
}

[image of music]

\espressivo コマンドを用いて、同じ音符にクレッシェンドとデクレッシェンドを付けることができます。しかしながら、これは強弱記号ではなくアーティキュレーションとして実装されているということに注意してください。

\relative {
  c''2 b4 a
  g1\espressivo
}

[image of music]

テキストのクレッシェンド記号は \cresc で開始します。テキストのデクレッシェンド記号は \decresc または \dim で開始します。必要に応じて延長線が譜刻されます。

\relative {
  g'8\cresc a b c b c d e\mf |
  f8\decresc e d c e\> d c b |
  a1\dim ~ |
  a2. r4\! |
}

[image of music]

強弱のテキスト符号の変更でヘアピンを置換することもできます:

\relative c'' {
  \crescTextCresc
  c4\< d e f\! |
  \dimTextDecresc
  g4\> e d c\! |
  \dimTextDecr
  e4\> d c b\! |
  \dimTextDim
  d4\> c b a\! |
  \crescHairpin
  \dimHairpin
  c4\< d\! e\> d\! |
}

[image of music]

新たに絶対強弱記号や強弱に対応させるテキストを作成するには、新たな強弱記号 を参照してください。

強弱記号の垂直方向の位置は DynamicLineSpanner によって処理されます。

Dynamics を用いて水平線上に強弱記号を譜刻することができます。タイミングを示すために空白休符を使用します。(Dynamics コンテキスト内の音符は音楽的時間を取りますが、譜刻されません。)Dynamics コンテキストはテキスト スクリプト、テキスト スパナ、ピアノ ペダル記号などを保持することができ、有用です。

<<
  \new Staff \relative {
    c'2 d4 e |
    c4 e e,2 |
    g'4 a g a |
    c1 |
  }
  \new Dynamics {
    s1\< |
    s1\f |
    s2\dim s2-"rit." |
    s1\p |
  }
>>

[image of music]

定義済みコマンド

\dynamicUp, \dynamicDown, \dynamicNeutral, \crescTextCresc, \dimTextDim, \dimTextDecr, \dimTextDecresc, \crescHairpin, \dimHairpin

Selected Snippets

小節線にぶつかるヘアピンの挙動を設定する

ヘアピンの終端となる音符が強拍にある場合、ヘアピンはその前にある小節線の直前が終端となります。この挙動は to-barline プロパティをオーバライドすることで調整できます。

\relative c'' {
  e4\< e2.
  e1\!
  \override Hairpin.to-barline = ##f
  e4\< e2.
  e1\!
}

[image of music]

ヘアピンの最小長さをセットする

ヘアピンが短すぎる場合、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
  }
>>

[image of music]

ヘアピンの端点を移動する

ヘアピンの端点は 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
}

[image of music]

ヘアピンの表示に al niente 記譜法を用いる

ヘアピン強弱記号は、Hairpin オブジェクトの circled-tip プロパティを #t にセットすることで、端に丸を付けて (“al niente” 記譜法) 表示することができます。

\relative c'' {
  \override Hairpin.circled-tip = ##t
  c2\< c\!
  c4\> c\< c2\!
}

[image of music]

ヘアピンを様々なスタイルで表示する

ヘアピン強弱記号は様々なスタイルで作成できます。

\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\!
}

[image of music]

強弱記号やテキスト スクリプトを縦方向に揃える

全ての DynamicLineSpanner オブジェクト (ヘアピンや強弱記号テキスト) は、他のアイテムが邪魔しない限り、譜から少なくとも staff-padding だけ離れた基準線に配置されます。staff-padding を十分に大きくすると、強弱記号を揃えることができます。

また、\textLengthOn を用いて、テキスト スクリプトをベースラインに揃えることができます。

music = \relative c' {
  a'2\p b\f
  e4\p f\f\> g, b\p
  c2^\markup { \huge gorgeous } c^\markup { \huge fantastic }
}

{
  \music
  \break
  \override DynamicLineSpanner.staff-padding = #3
  \textLengthOn
  \override TextScript.staff-padding = #1
  \music
}

[image of music]

テキスト強弱記号の線を隠す

(cresc. や dim. のような) 強弱を変更するテキストは、その範囲を破線で示しています。次のようにしてこの線を表示しないようにすることができます。

\relative c'' {
  \override DynamicTextSpanner.style = #'none
  \crescTextCresc
  c1\< | d | b | c\!
}

[image of music]

テキストによる強弱記号のテキストとスパナのスタイルを変更する

クレッシェンドやデクレッシェンドに使われるテキストは crescendoText, decrescendoText コンテキスト プロパティをセットすることで変更できます。

スパナの線は、DynamicTextSpannerstyle プロパティをセットすることでスタイルを変更できます。デフォルトの値は '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
}

[image of music]

参照

音楽用語集: al niente, crescendo, decrescendo, hairpin

学習マニュアル: アーティキュレーションと強弱記号

記譜法リファレンス: 向きと配置, 新たな強弱記号, MIDI 出力をより良くする, MIDI での音の強弱を制御する

コード断片集: 発想記号

内部リファレンス: DynamicText, Hairpin, DynamicLineSpanner, Dynamics


新たな強弱記号

強弱記号を作成する最も容易な方法は、\markup オブジェクトを使用することです。

moltoF = \markup { molto \dynamic f }

\relative {
  <d' e>16_\moltoF <d e>
  <d e>2..
}

[image of music]

マークアップ モードでは、注釈の強弱記号 (括弧や角括弧で囲まれます) を作成することができます。マークアップ モードの構文は テキストをフォーマットする で記述されています。

roundF = \markup {
    \center-align \concat { \bold { \italic ( }
           \dynamic f \bold { \italic ) } } }
boxF = \markup { \bracket { \dynamic f } }
\relative {
  c'1_\roundF
  c1_\boxF
}

[image of music]

単純に中央揃えの強弱記号は make-dynamic-script 関数を用いて簡単に作成できます。

sfzp = #(make-dynamic-script "sfzp")
\relative {
  c'4 c c\sfzp c
}

[image of music]

一般に、make-dynamic-script は引数として何らかのマークアップ オブジェクトをとります。強弱記号のフォントに含まれる文字は f,m,p,r,s それに z だけです。このため、テキストや句読点を含む強弱記号を必要とする場合、フォント ファミリとフォント エンコーディングを通常のテキストに戻すためのマークアップ コマンド – 例えば \normal-text – を用いる必要があります。通常のマークアップの代わりに make-dynamic-script を用いる利点は、同じ符頭に付けられるマークアップ オブジェクトとヘアピンが垂直方向に揃うことを保証されている点にあります。

roundF = \markup { \center-align \concat {
           \normal-text { \bold { \italic ( } }
           \dynamic f
           \normal-text { \bold { \italic ) } } } }
boxF = \markup { \bracket { \dynamic f } }
mfEspress = \markup { \center-align \line {
              \hspace #3.7 mf \normal-text \italic espress. } }
roundFdynamic = #(make-dynamic-script roundF)
boxFdynamic = #(make-dynamic-script boxF)
mfEspressDynamic = #(make-dynamic-script mfEspress)
\relative {
  c'4_\roundFdynamic\< d e f
  g,1~_\boxFdynamic\>
  g1
  g'1~\mfEspressDynamic
  g1
}

[image of music]

Scheme 形式のマークアップ モードを用いることもできます。マークアップ Scheme の構文は Markup construction in Scheme で説明されています。

moltoF = #(make-dynamic-script
            (markup #:normal-text "molto"
                    #:dynamic "f"))
\relative {
  <d' e>16 <d e>
  <d e>2..\moltoF
}

[image of music]

強弱記号を音符に中央揃えさせるのではなく、左揃えさせるには、\tweak を使います:

moltoF = \tweak DynamicText.self-alignment-X #LEFT
         #(make-dynamic-script
            (markup #:normal-text "molto"
                    #:dynamic "f"))
\relative {
  <d' e>16 <d e>
  <d e>2..\moltoF <d e>1
}

[image of music]

マークアップ モードでのフォント設定は フォントとフォント サイズを選択する で記述されています。

参照

記譜法リファレンス: テキストをフォーマットする, フォントとフォント サイズを選択する, MIDI 出力をより良くする, MIDI での音の強弱を制御する

拡張: Markup construction in Scheme

コード断片集: 発想記号


LilyPond — 記譜法リファレンス v2.23.82 (開発版).