LilyPond — 記譜法リファレンス

このマニュアルは LilyPond バージョン 2.23.2 で提供されるすべての記譜法についての参照を提供します。このマニュアルは、読み手が 学習マニュアル で扱っている題材に慣れ親しんでいることを前提としています。

このマニュアルと他のドキュメントの関係について、あるいは、このマニュアルを他の形式で読む方法についての情報は、 マニュアル を参照してください。

マニュアルのいずれかを見失ってしまった場合、http://lilypond.org/ にマニュアルがすべて揃っています。


1. 音楽記譜法

この章では音楽表記を作成する方法について説明します。


1.1 ピッチ

[image of music]

このセクションでは音符のピッチを指定する方法について議論します。このプロセスには 3 つのステップがあります: 入力、変更、出力です。


1.1.1 ピッチを記述する

このセクションではピッチを入力する方法について議論します。音符をオクターブの中に置くには 2 つの方法があります: 絶対モードと相対モードです。たいていの場合、相対モードの方が便利です。


絶対オクターブ入力

ピッチ名は a から g までの小文字を使って指定されます。c から b までの音符名はミドル C の下のオクターブに譜刻されます。

{
  \clef bass
  c4 d e f
  g4 a b c
  d4 e f g
}

[image of music]

他のオクターブはシングル クォート (') またはカンマ (,) 文字で指定されます。各 ' はピッチを 1 オクターブ上げます。一方、各 , はピッチを 1 オクターブ下げます。

{
  \clef treble
  c'4 e' g' c''
  c'4 g b c'
  \clef bass
  c,4 e, g, c
  c,4 g,, b,, c,
}

[image of music]

共通して何度も用いられるオクターブ記号は、\fixed の後に基準ピッチを入力し、その後の音楽を入力することで 1 度だけで済みます。 \fixed の中にあるピッチは、基準ピッチよりもオクターブ上か下にある場合にのみ ' か , の記号が必要です。

{
  \fixed c' {
    \clef treble
    c4 e g c'
    c4 g, b, c
  }
  \clef bass
  \fixed c, {
    c4 e g c'
    c4 g, b, c
  }
}

[image of music]

\fixed の後に続く音楽表記内のピッチは、外側にあるいかなる \relative の影響も受けません。次で説明します。

参照

音楽用語集: Pitch names

コード断片集: ピッチ


相対オクターブ入力

絶対オクターブ入力は、一つ一つの音符のオクターブを指定する必要があります。相対オクターブ入力は、対照的に、すぐ前の音符との関係で各オクターブを指定します。1 つの音符のオクターブを変更すると、続く音符のすべてに影響します。

相対音符モードは \relative コマンドを使って明示的に入力する必要があります。

\relative startpitch musicexpr

相対モードでは、各音符は可能な限り前の音符の近くに配置されます。このことは、musicexp の中にある各ピッチのオクターブが以下のように算出されるということを意味します:

ここで、実際に相対モードの例を挙げます:

\relative {
  \clef bass
  c d e f
  g a b c
  d e f g
}

[image of music]

オクターブ変更記号は 4 度よりも大きな音程に対して使用されます:

\relative {
  c'' g c f,
  c' a, e'' c
}

[image of music]

音符の連なりはオクターブ変更記号が無い場合であっても大きな音程に広がる可能性があります:

\relative {
  c f b e
  a d g c
}

[image of music]

\relative ブロックがネストされている場合、最も内側の \relative ブロックが、外側の \relative とは独立した自身の参照ピッチで開始します。

\relative {
  c' d e f
  \relative {
    c'' d e f
  }
}

[image of music]

\relative\chordmode ブロックでは効果を持ちません。

\new Staff {
  \relative c''' {
    \chordmode { c1 }
  }
  \chordmode { c1 }
}

[image of music]

\relative\chordmode ブロックの中で使用することは認められません。

\transpose ブロックの中では、\relative を記述しない限り、絶対モードになります。

\relative {
  d' e
  \transpose f g {
    d e
    \relative {
      d' e
    }
  }
}

[image of music]

前の要素が和音である場合、その和音の最初の音符が後に続く音符または和音の参照ポイントとして使用されます。和音の内部では、次の音符は常に 1 つ前の音符との相対関係になります。次の例を、c の音符に気を付けて、注意深く検証してください。

\relative {
  c'
  <c e g>
  <c' e g'>
  <c, e, g''>
}

[image of music]

上で説明したように、ピッチのオクターブは音符名のみを使って算出され、いかなる変更 (訳注: シャープやフラット) にも影響を受けません。そのため、B の後の E ダブル シャープは B よりも上に配置され、B の後の F ダブル フラットは B よりも下に配置されます。言い換えると、重増 4 度は重減 5 度よりも小さい – それぞれの音程に含まれる半音の数に関係無く – と見なされます。

\relative {
  c''2 fis
  c2 ges
  b2 eisis
  b2 feses
}

[image of music]

状況が複雑であるときには、前の音符にかかわらず固定したピッチを指定するほうが有益かもしれません。これは \resetRelativeOctave によって行うことができます。

\relative {
  <<
    { c''2 d }
    \\
    { e,,2 f }
  >>
  \resetRelativeOctave c''
  c2
}

[image of music]

参照

音楽用語集: fifth, interval, Pitch names

記譜法リファレンス: オクターブ チェック

コード断片集: ピッチ

内部リファレンス: RelativeOctaveMusic


臨時記号

Note: LilyPond を始めたばかりのユーザはしばしば臨時記号と調号のことで混乱します。LilyPond では、音符名はピッチを指定します – 調号と音部記号がこれらのピッチをどのように表示するかを決定します。c のような変更を加えられていない音符は、調号や音部記号とは無関係に、‘C ナチュラル’ を意味します。更なる情報は、 ピッチと調号 を参照してください。

シャープのピッチは音符名に is を付け加えることによって作られ、フラットのピッチは es を付け加えることによって作られます。予想しているかもしれませんが、ダブル シャープダブル フラットisis または eses を付け加えることによって作られます。この構文はオランダ語の音符命名規約から派生しました。臨時記号に他の名前を使うには、他の言語での音符名 を参照してください。

\relative c'' { ais1 aes aisis aeses }

[image of music]

ナチュラルのピッチは単に音符名を入力します。接尾辞は必要ありません。ナチュラル記号は、前の臨時記号や調号の効果をキャンセルするのに必要な場合に表示されます。

\relative c'' { a4 aes a2 }

[image of music]

4 分音が付け加えられるかもしれません。以下の一連の C は左から順にピッチが増えていっています:

\relative c'' { ceseh1 ces ceh c cih cis cisih }

[image of music]

通常、臨時記号は自動的に譜刻されますが、手動で譜刻する場合もあるかもしれません。親切の臨時記号はピッチの後にエクスクラメーション記号 ! を付け加えることによって譜刻することができます。忠告の臨時記号 (つまり、括弧で囲まれた臨時記号) はピッチの後にクエスチョン記号 ? を付け加えることによって譜刻することができます。これら追加の臨時記号を使ってナチュラル記号を作り出すこともできます。

\relative c'' { cis cis cis! cis? c c c! c? }

[image of music]

タイで結ばれた音符に付ける臨時記号は新しいシステム (訳者: 譜 1 行分のこと) の開始点でのみ譜刻されます:

\relative c'' {
  cis1~ 1~
  \break
  cis
}

[image of music]

Selected Snippets

タイで繋がれた音符が改行した際の臨時記号を隠す

タイで繋がれた音符が改行した際の臨時記号を隠す方法を示しています。

\relative c'' {
  \override Accidental.hide-tied-accidental-after-break = ##t
  cis1~ cis~
  \break
  cis
}

[image of music]

追加のナチュラル記号が自動で追加されないようにする

伝統的な譜刻のスタイルに合わせて、前に出現したダブルシャープやダブルフラットがシャープやフラットでキャンセルされた場合には、ナチュラル記号が表示されます。これを現代の慣習に合わせて変更するには、Staff コンテキストの extraNatural プロパティを f に設定します。

\relative c'' {
  aeses4 aes ais a
  \set Staff.extraNatural = ##f
  aeses4 aes ais a
}

[image of music]

参照

音楽用語集: sharp, flat, double sharp, double flat, Pitch names, quarter tone

学習マニュアル: ピッチと調号

記譜法リファレンス: 自動臨時記号, 注釈的な臨時記号 (ムジカ・フィクタ), 他の言語での音符名

コード断片集: ピッチ.

内部リファレンス: Accidental_engraver, Accidental, AccidentalCautionary, accidental-interface

既知の問題と警告

4 分音臨時記号の表記の仕方で広く認められた標準はないため、LilyPond の記号はいかなる標準にも準拠しません。


他の言語での音符名

他のさまざまな言語での音符名と臨時記号名のセットが定義されています。通常、音符名の言語の選択はファイルの先頭で行います。 以下の例はイタリア語の音符名を使用します:

\language "italiano"

\relative {
  do' re mi sib
}

[image of music]

利用可能な言語ファイルとそれらが定義している音符名を挙げます:

言語

音符名

nederlands

c d e f g a bes b

català または
 catalan

do re mi fa sol la sib si

deutsch

c d e f g a b h

english

c d e f g a bf/b-flat b

español または
 espanol

do re mi fa sol la sib si

français

do /re mi fa sol la sib si

italiano

do re mi fa sol la sib si

norsk

c d e f g a b h

português または
 portugues

do re mi fa sol la sib si

suomi

c d e f g a b h

svenska

c d e f g a b h

vlaams

do re mi fa sol la sib si

音符名に加えて、臨時記号の接尾辞も言語によって異なる場合があります:

言語

シャープ

フラット

ダブル シャープ

ダブル フラット

nederlands

is

es

isis

eses

català または
 catalan

d/s

b

dd/ss

bb

deutsch

is

es

isis

eses

english

s/-sharp

f/-flat

ss/x/-sharpsharp

ff/-flatflat

español または
 espanol

s

b

ss/x

bb

français

d

b

dd/x

bb

italiano

d

b

dd

bb

norsk

iss/is

ess/es

ississ/isis

essess/eses

português または
 portugues

s

b

ss

bb

suomi

is

es

isis

eses

svenska

iss

ess

ississ

essess

vlaams

k

b

kk

bb

オランダ語、ドイツ語、ノルウェー語、フィンランド語では、aes は縮めて as となりますが、オランダ語とノルウェー語については、LilyPond ではどちらの形式も認められます。これは eseesaesesaseseeseseses でも同様です。

ドイツ語とフィンランド語については、LilyPond は ases よりよく使われる形である asas が使用できます。

\relative c'' { a2 as e es a ases e eses }

[image of music]

音楽の中には ‘通常の’ シャープやフラットの音の変化をさらに細かく分けた微分音を使用するものがあります。四分音 (訳者: シャープやフラットの半分の音の変化。4 分音符ではありません) の接尾辞を以下の表で挙げます。接頭辞 半-1.5- はそれぞれ ‘半分’ と ‘1 つ半’ を意味します。

元号

半-シャープ

半-フラット

1.5-シャープ

1.5-フラット

nederlands

ih

eh

isih

eseh

català または
 catalan

qd/qs

qb

tqd/tqs

tqb

deutsch

ih

eh

isih

eseh

english

qs

qf

tqs

tqf

español または
 espanol

cs

cb

tcs

tcb

français

sd

sb

dsd

bsb

italiano

sd

sb

dsd

bsb

norsk

ih

eh

issih/isih

esseh/eseh

português または
 portugues

sqt

bqt

stqt

btqt

suomi

ih

eh

isih

eseh

svenska

ih

eh

issih

esseh

vlaams

hk

hb

khk

bhb

ドイツ語では、微分音に対して、上記の通常の表記の他に、似た形の短縮形を使用することもできます。

\language "deutsch"

\relative c'' { asah2 eh aih eisih }

[image of music]

ここに示されている大半の言語は西洋クラシック音楽 – Common Practice Period: 西暦1600年から1900年頃のバロック音楽、クラシック音楽、ロマン派音楽とも言えます – に関係があります。しかしながら、他のピッチやチューニング方法もサポートされています: 非西洋音楽の一般的な記譜法 を参照してください。

参照

音楽用語集: Pitch names, Common Practice Period.

記譜法リファレンス: 非西洋音楽の一般的な記譜法

あらかじめイストールされているファイル: ‘scm/define-note-names.scm

コード断片集: ピッチ


1.1.2 複数のピッチを変更する

このセクションではピッチを変更する方法について議論します。


オクターブ チェック

相対モードでは、オクターブ変更記号を付け忘れることが容易に起こり得ます。オクターブ チェックは、予期しないオクターブの音符を見つけた場合に警告を表示してオクターブを修正することによって、そのようなエラーを見つけ出すことをより容易にします。

音符のオクターブをチェックするには、= の後に絶対オクターブを指定します。以下の例は、2 番目の音符の絶対オクターブがオクターブ チェックによって示される d' ではなく d'' であるため、警告を発し (そしてピッチを変更し) ます。

\relative {
  c''2 d='4 d
  e2 f
}

[image of music]

音符のオクターブは \octaveCheck controlpitch コマンドでもチェックすることができます。controlpitch は絶対モードで指定されます。これは前の音符と controlpitch との間の音程が 4 度以内であるかどうかをチェックします (つまり、通常の相対モードでの算出方法と同じです)。このチェックが失敗した場合、警告が表示されます。このチェックの前にある音符は変更されませんが、その後に続く音符はオクターブが修正されます。

\relative {
  c''2 d
  \octaveCheck c'
  e2 f
}

[image of music]

以下の 2 小節を見てください。1 番目と 3 番目の \octaveCheck は失敗していますが、2 番目のチェックは失敗していません。

\relative {
  c''4 f g f

  c4
  \octaveCheck c'
  f
  \octaveCheck c'
  g
  \octaveCheck c'
  f
}

[image of music]

参照

コード断片集: ピッチ

内部リファレンス: RelativeOctaveCheck.


移調

音楽表記は \transpose で移調させることができます。構文は以下の通りです:

\transpose frompitch topitch musicexpr

これは musicexprfrompitch から topitch に移調されるということを意味します: frompitch のピッチの音符はすべて topitch に変更され、他の音符もすべて同じ音程で移調されます。frompitchtopitch のピッチはどちらも絶対モードで指定されます。

Note: transpose ブロックの中にある音符は、そのブロックの中に relative が無い限り、絶対モードになります。

D-メジャーの調で書かれた楽曲を思い浮かべてください。この楽曲を E-メジャーに移調することができます。調号も自動的に移調されることに注意してください。

\transpose d e {
  \relative {
    \key d \major
    d'4 fis a d
  }
}

[image of music]

C (通常の コンサート ピッチ) で書かれたパートを A のクラリネットで演奏する (そのため、A は C として表記され、演奏は表記されたものよりも 3 度低くなります) 場合、そのパート譜は以下のように作り出されます:

\transpose a c' {
  \relative {
    \key c \major
    c'4 d e g
  }
}

[image of music]

\key c \major を明示的に指定しているということに注意してください。調号を指定しなかった場合、音符は移調されますが、調号は譜刻されません。

\transpose は同音異名のピッチを区別します: \transpose c cis\transpose c des はどちらも半音上に移調します。1 番目の移調はシャープを譜刻し、音符の五線譜上での位置は変わりません。2 番目の移調はフラットを譜刻し、音符の五線譜上での位置は上に上がります。

music = \relative { c' d e f }
\new Staff {
  \transpose c cis { \music }
  \transpose c des { \music }
}

[image of music]

\transpose は上記とは異なる方法で用いることもでき、それによって移調楽器のために書かれた音符を入力することができます。前の例では C (またはコンサート ピッチ) でピッチを入力して、それらを移調楽器のために譜刻する方法を示しましたが、それとは正反対のことも可能です – 例えば、移調楽器のパート譜から指揮譜を譜刻することです。例えば、E で始まる B-フラットのトランペットの音楽 (コンサート ピッチでは D で始まる音楽) を入力している場合に、指揮譜を作り出すには以下のように記述します:

musicInBflat = { e4 … }
\transpose c bes, \musicInBflat

この音楽を F で譜刻する (例えば、フレンチ ホルンの楽譜にアレンジし直すために) には、既存の音楽をもう 1 つの \transpose で包み込みます:

musicInBflat = { e4 … }
\transpose f c' { \transpose c bes, \musicInBflat }

移調楽器についての更なる情報は、楽器の移調 を参照してください。

Selected Snippets

臨時記号の数が最小になるようにピッチを移調する ("スマート" トランスポーズ)

この例は、臨時記号の数が最小になるように、異名同音を置き換える Scheme コードを使用しています。この場合、次のルールが適用されます:

ダブルシャープやダブルフラットは削除されます

B シャープ -> C

E シャープ -> F

C フラット -> B

F フラット -> E

このようにして、最も自然な異名同音が選ばれます。

#(define (naturalize-pitch p)
   (let ((o (ly:pitch-octave p))
         (a (* 4 (ly:pitch-alteration p)))
         ;; alteration, a, in quarter tone steps,
         ;; for historical reasons
         (n (ly:pitch-notename p)))
     (cond
      ((and (> a 1) (or (eqv? n 6) (eqv? n 2)))
       (set! a (- a 2))
       (set! n (+ n 1)))
      ((and (< a -1) (or (eqv? n 0) (eqv? n 3)))
       (set! a (+ a 2))
       (set! n (- n 1))))
     (cond
      ((> a 2) (set! a (- a 4)) (set! n (+ n 1)))
      ((< a -2) (set! a (+ a 4)) (set! n (- n 1))))
     (if (< n 0) (begin (set! o (- o 1)) (set! n (+ n 7))))
     (if (> n 6) (begin (set! o (+ o 1)) (set! n (- n 7))))
     (ly:make-pitch o n (/ a 4))))

#(define (naturalize music)
   (let ((es (ly:music-property music 'elements))
         (e (ly:music-property music 'element))
         (p (ly:music-property music 'pitch)))
     (if (pair? es)
         (ly:music-set-property!
          music 'elements
          (map naturalize es)))
     (if (ly:music? e)
         (ly:music-set-property!
          music 'element
          (naturalize e)))
     (if (ly:pitch? p)
         (begin
           (set! p (naturalize-pitch p))
           (ly:music-set-property! music 'pitch p)))
     music))

naturalizeMusic =
#(define-music-function (m)
   (ly:music?)
   (naturalize m))

music = \relative c' { c4 d e g }

\score {
  \new Staff {
    \transpose c ais { \music }
    \naturalizeMusic \transpose c ais { \music }
    \transpose c deses { \music }
    \naturalizeMusic \transpose c deses { \music }
  }
  \layout { }
}

[image of music]

参照

記譜法リファレンス: 楽器の移調, 反転, 様式的な変形, 相対オクターブ入力, 逆行

コード断片集: ピッチ

内部リファレンス: TransposedMusic

既知の問題と警告

相対変換コマンドはその引数の中にある \transpose, \chordmode, あるいは \relative セクションには影響を及ぼしません。移調された音楽の中で相対モードを使用するには、\transpose の中に \relative を置く必要があります。

\transpose を使用している場合、3 重の臨時記号は表示されません。代わりに ‘異名等価の’ ピッチが表示されます (例えば e の 3 重フラットの代わりに d フラットが表示されます)。


反転

単一の操作で音楽表記を反転して、移調することができます:

\inversion around-pitch to-pitch musicexpr

The musicexpr の音程は around-pitch を中心に反転され、さらに around-pitchto-pitch にマッピングされるように移調されます。

music = \relative { c' d e f }
\new Staff {
  \music
  \inversion d' d' \music
  \inversion d' ees' \music
}

[image of music]

Note: 反転されるモチーフは絶対オクターブ形式で記述するか、最初に絶対オクターブ形式に変換されるよう relative ブロックで囲む必要があります。

参照

記譜法リファレンス: 様式的な変形, 逆行, 移調


逆行

音楽表記を後ろから前に演奏する逆行を作り出すことができます:

music = \relative { c'8. ees16( fis8. a16 b8.) gis16 f8. d16 }

\new Staff {
  \music
  \retrograde \music
}

[image of music]

既知の問題と警告

\retrograde は非常に単純なツールです。多くのイベントは交換ではなく‘反転’するため、スパナの開始点にある調整や方向指示子は対応する終了点にも追加する必要があります。つまり、^(^) によって終了しなければならないということです。全ての \<\cresc\!\endcr で終わらなければならず、全ての \>\decr\enddecr で終わらなければなりません。効果が永続するようなプロパティ変更のコマンドやオーバライドは予期しない結果を生み出すかもしれません。

参照

記譜法リファレンス: 反転, 様式的な変形, 移調


様式的な変形

音階に基づく作曲では、モチーフはさまざまなやり方で頻繁に移調されます。これは、モチーフの開始の音程を変えるために 移調 する場合や、旋回点で 反転 する場合があります。 逆行 するために後戻りする場合もあります– 逆行 を参照してください。

Note: 与えられた音階の中に無い音符は、移調されません。

様式的な移調

以下により、与えられた音階でモチーフを移調させることができます:

\modalTranspose from-pitch to-pitch scale motif

motif の音符は scale 内を to-pitchfrom-pitch 間の音程の度数の分だけシフトされます:

diatonicScale = \relative { c' d e f g a b }
motif = \relative { c'8 d e f g a b c }

\new Staff {
  \motif
  \modalTranspose c f \diatonicScale \motif
  \modalTranspose c b, \diatonicScale \motif
}

[image of music]

上昇する音階の長さは任意であり、指定する音程も任意です:

pentatonicScale = \relative { ges aes bes des ees }
motif = \relative { ees'8 des ges,4 <ges' bes,> <ges bes,> }

\new Staff {
  \motif
  \modalTranspose ges ees' \pentatonicScale \motif
}

[image of music]

半音階の音階を持つ \modalTranspose を使った時の効果は \transpose と同じですが、使われる音符の名前を特定することが できます:

chromaticScale = \relative { c' cis d dis e f fis g gis a ais b }
motif = \relative { c'8 d e f g a b c }

\new Staff {
  \motif
  \transpose c f \motif
  \modalTranspose c f \chromaticScale \motif
}

[image of music]

様式的な反転

モチーフを与えられた音階に従って与えられた旋回点 (音符) で反転させて、 移調させることを 1 つの操作でできます:

\modalInversion around-pitch to-pitch scale motif

motif の音符は scale 内を around-pitch から元の音符までと同じ度数の分だけ逆向きに進んだ位置に配置され、それからその結果は scale 内を to-pitcharound-pitch 間の音程の度数分だけシフトされます。

そのため、単純に音階をある音符で反転させる場合は、around-pitchto-pitch で同じ値を使用します:

octatonicScale = \relative { ees' f fis gis a b c d }
motif = \relative { c'8. ees16 fis8. a16 b8. gis16 f8. d16 }

\new Staff {
  \motif
  \modalInversion fis' fis' \octatonicScale \motif
}

[image of music]

音階の中にある 2 つの音符の中間にある旋回点で反転させるには、2 つの音符の 1 つを旋回点として反転させて、音階の 1 度数分だけ移調させます。指定された 2 つの音符が旋回点を囲んでいると解釈することができます:

scale = \relative { c' g' }
motive = \relative { c' c g' c, }

\new Staff {
  \motive
  \modalInversion c' g' \scale \motive
}

[image of music]

反転と逆行の操作を組み合わせると逆行-反転になります:

octatonicScale = \relative { ees' f fis gis a b c d }
motif = \relative { c'8. ees16 fis8. a16 b8. gis16 f8. d16 }

\new Staff {
  \motif
  \retrograde \modalInversion c' c' \octatonicScale \motif
}

[image of music]

参照

記譜法リファレンス: 反転, 逆行, 移調


1.1.3 ピッチを表示する

このセクションではピッチの出力を変更する方法について議論します。


音部記号

コマンドを明示しない場合、LilyPond のデフォルトの音部記号は高音部記号 (ト音記号) です。

c'2 c'

[image of music]

しかし、音部記号は \clef コマンドと適切な音部記号の名前を用いることで変えることができます。以下のそれぞれの例の中にある音符はすべてミドル C です。

\clef treble
c'2 c'
\clef alto
c'2 c'
\clef tenor
c'2 c'
\clef bass
c'2 c'

[image of music]

指定することのできる全ての音部記号の名前は 音部記号のスタイル にあります。

専門的な音部記号 – 例えば古代の音楽に用いられるもの – は 計量記譜法の音部記号グレゴリオ聖歌の音部記号 に説明してあります。タブ譜の音部記号が必要な音楽に関しては、 デフォルトのタブ譜カスタム タブ譜 に説明があります。

合図音符を用いる際の音部記号については、合図音符をフォーマットする\cueClef\cueDuringWithClef コマンドを参照してください。

音部名に _8 または ^8 を付け加えることによって、音部はそれぞれ 1 オクターブ下/上に移調され、_15 または ^15 によって 2 オクターブ移調されます。音部名にアルファベット以外の文字が含まれる場合、音部名をダブル クォートで囲む必要があります。

\clef treble
c'2 c'
\clef "treble_8"
c'2 c'
\clef "bass^15"
c'2 c'
\clef "alto_2"
c'2 c'
\clef "G_8"
c'2 c'
\clef "F^5"
c'2 c'

[image of music]

数字の引数を括弧や角括弧で囲むことで、オプションのオクターブを表示させることができます:

\clef "treble_(8)"
c'2 c'
\clef "bass^[15]"
c'2 c'

[image of music]

ピッチは数字の引数が括弧で囲まれていない場合と同じです。

デフォルトでは、改行のタイミングで音部記号の変更が行われる時には、次の行の音部記号の他に、前の行の最後に予告の音部記号が表示されます。この予告の音部記号は表示しないようにすることができます。

\clef treble { c'2 c' } \break
\clef bass { c'2 c' } \break
\clef alto
  \set Staff.explicitClefVisibility = #end-of-line-invisible
  { c'2 c' } \break
  \unset Staff.explicitClefVisibility
\clef bass { c'2 c' } \break

[image of music]

デフォルトでは、以前に表示された音部記号と同じ音部記号を \clef コマンドで指定しても、再表示はされず無視されます。この挙動は \set Staff.forceClef = ##t で変更することができます。

  \clef treble
  c'1
  \clef treble
  c'1
  \set Staff.forceClef = ##t
  c'1
  \clef treble
  c'1

[image of music]

さらに正確に言うと、音部記号を表示するのは \clef コマンドそのものではありません。代わりに、このコマンドは Clef_engraver のプロパティを変更し、Clef_engraver はそれによって現在の譜に音部記号を表示するかどうかを決定します。forceClef プロパティはこの音部記号を表示するかの決定をその場で上書きします。

手動で音部記号が変更された場合、変更後の音部記号は通常より小さく表示されます。この挙動を変更することができます。

  \clef "treble"
  c'1
  \clef "bass"
  c'1
  \clef "treble"
  c'1
  \override Staff.Clef.full-size-change = ##t
  \clef "bass"
  c'1
  \clef "treble"
  c'1
  \revert Staff.Clef.full-size-change
  \clef "bass"
  c'1
  \clef "treble"
  c'1

[image of music]

Selected Snippets

音部記号のプロパティを調整する

音部記号のグリフ、位置、オクターブ記号を変更するだけでは、変更後の音符の位置は変更されません。調号を正しい位置に表示するためには、middleCClefPosition も設定する必要があります。これは、“ミドル C” の位置を、中央の譜線を 0、上方向を正、下方向を負として設定します。

例えば、\clef "treble_8" は、clefGlyph, clefPosition, (音部記号自体の縦位置) middleCPosition, clefTransposition を設定するのと同等です。これらのプロパティの (middleCPosition を除く) どれかが変更された場合、新たに音部記号が表示されます。

次の例は、これらのプロパティを手動でセットする方法を示しています。最初の行では音部記号と音符の位置関係は通常通りですが、次の行ではそうではありません。

{
  % The default treble clef
  \key f \major
  c'1
  % The standard bass clef
  \set Staff.clefGlyph = #"clefs.F"
  \set Staff.clefPosition = #2
  \set Staff.middleCPosition = #6
  \set Staff.middleCClefPosition = #6
  \key g \major
  c'1
  % The baritone clef
  \set Staff.clefGlyph = #"clefs.C"
  \set Staff.clefPosition = #4
  \set Staff.middleCPosition = #4
  \set Staff.middleCClefPosition = #4
  \key f \major
  c'1
  % The standard choral tenor clef
  \set Staff.clefGlyph = #"clefs.G"
  \set Staff.clefPosition = #-2
  \set Staff.clefTransposition = #-7
  \set Staff.middleCPosition = #1
  \set Staff.middleCClefPosition = #1
  \key f \major
  c'1
  % A non-standard clef
  \set Staff.clefPosition = #0
  \set Staff.clefTransposition = #0
  \set Staff.middleCPosition = #-4
  \set Staff.middleCClefPosition = #-4
  \key g \major
  c'1 \break

  % The following clef changes do not preserve
  % the normal relationship between notes, key signatures
  % and clefs:

  \set Staff.clefGlyph = #"clefs.F"
  \set Staff.clefPosition = #2
  c'1
  \set Staff.clefGlyph = #"clefs.G"
  c'1
  \set Staff.clefGlyph = #"clefs.C"
  c'1
  \set Staff.clefTransposition = #7
  c'1
  \set Staff.clefTransposition = #0
  \set Staff.clefPosition = #0
  c'1

  % Return to the normal clef:

  \set Staff.middleCPosition = #0
  c'1
}

[image of music]

参照

記譜法リファレンス: 計量記譜法の音部記号, グレゴリオ聖歌の音部記号, デフォルトのタブ譜, カスタム タブ譜, 合図音符をフォーマットする

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

コード断片集: ピッチ

内部リファレンス: Clef_engraver, Clef, ClefModifier, clef-interface

既知の問題と警告

音部記号に付けるオクターブ移動の数字は、個別のグラフィカル オブジェクトとして扱われます。このため、Clef に適用される \override は、別の \overrideClefModifier グラフィカル オブジェクトに適用する必要があります。

\new Staff \with {
  \override Clef.color = #blue
  \override ClefModifier.color = #red
}

\clef "treble_8" c'4

[image of music]


調号

Note: LilyPond を始めたばかりのユーザはしばしば臨時記号と調号のことで混乱します。LilyPond では、音符名は未加工の入力です。調号と音部記号がこの未加工の入力をどのように表示するかを決定します。c のような変更を加えられていない音符は、調号や音部記号とは無関係に、‘C ナチュラル’ を意味します。更なる情報は、 ピッチと調号 を参照してください。

調号は楽曲を演奏すべき調性を示します。調号は譜の先頭で変更記号 (フラットやシャープ) のセットによって示されます。調号は変更されることがあります:

\key pitch mode

調号を pitch-メジャーや pitch-マイナーにするには、mode をそれぞれ \major または \minor にします。さらに標準のモード名 – チャーチ モード とも呼ばれます – を使うこともできます: \ionian, \dorian, \phrygian, \lydian, \mixolydian, \aeolian それに \locrian です。

\relative {
  \key g \major
  fis''1
  f
  fis
}

[image of music]

新たにモードを定義することができます – モードが C で始まる場合、C で始まる音階の各ステップに対する変更記号をリスト アップします。

freygish = #`((0 . ,NATURAL) (1 . ,FLAT) (2 . ,NATURAL)
    (3 . ,NATURAL) (4 . ,NATURAL) (5 . ,FLAT) (6 . ,FLAT))

\relative {
  \key c \freygish c'4 des e f
  \bar "||" \key d \freygish d es fis g
}

[image of music]

KeySignature のプロパティ flat-positionssharp-positions を用いて、調号の臨時記号を通常とは異なるオクターブに表示させたり、複数のオクターブに表示させることができます。これらのプロパティに渡される値は、臨時記号を表示させる譜ポジションの範囲を指定します。1 つの値だけを渡した場合、その譜ポジションで終了するオクターブの範囲に臨時記号が配置されます。

\override Staff.KeySignature.flat-positions = #'((-5 . 5))
\override Staff.KeyCancellation.flat-positions = #'((-5 . 5))
\clef bass \key es \major es g bes d'
\clef treble \bar "||" \key es \major es' g' bes' d''

\override Staff.KeySignature.sharp-positions = #'(2)
\bar "||" \key b \major b' fis' b'2

[image of music]

Selected Snippets

調号が変化する際にナチュラル記号が表示されないようにする

調号が変化する際、前の調号を打ち消すナチュラル記号が自動的に表示されます。これは Staff コンテキストの printKeyCancellation プロパティを f にセットすることで防止することができます。

\relative c' {
  \key d \major
  a4 b cis d
  \key g \minor
  a4 bes c d
  \set Staff.printKeyCancellation = ##f
  \key d \major
  a4 b cis d
  \key g \minor
  a4 bes c d
}

[image of music]

非伝統的な調号

広く使われている \key コマンドは、Staff コンテキストの keyAlterations をセットしています。非標準な調号を作成するには、このプロパティを直接セットします。

コマンドの形式は以下のようなリストです:

\set Staff.keyAlterations = #`(((octave . step) . alter) ((octave . step) . alter) ...)

が構文です。リストの各要素について、octave がオクターブを指定し (0 がミドル C からその上の B まで)、step はオクターブ内の音階 (0 が C, 6 が B)、alter,SHARP ,FLAT ,DOUBLE-SHARP などです。

または、各要素についてより簡潔な形式があり、(step . alter) は全てのオクターブに対して変化記号が適用されます。“シャープ” が 100 セントではない微分音のスケールでは、alter を 200 セントの全音を 1 とした数値で指定できます。

\include "arabic.ly"
\relative do' {
  \set Staff.keyAlterations = #`((0 . ,SEMI-FLAT)
                                 (1 . ,SEMI-FLAT)
                                 (2 . ,FLAT)
                                 (5 . ,FLAT)
                                 (6 . ,SEMI-FLAT))
%\set Staff.extraNatural = ##f
  re reb \dwn reb resd
  dod dob dosd \dwn dob |
  dobsb dodsd do do |
}

[image of music]

参照

音楽用語集: church mode, scordatura

学習マニュアル: ピッチと調号

コード断片集: ピッチ

内部リファレンス: KeyChangeEvent, Key_engraver, Key_performer, KeyCancellation, KeySignature, key-signature-interface


オッターバ囲み

オッターバ囲み は譜をオクターブ単位で移調します:

\relative a' {
  a2 b
  \ottava #-2
  a2 b
  \ottava #-1
  a2 b
  \ottava #0
  a2 b
  \ottava #1
  a2 b
  \ottava #2
  a2 b
}

[image of music]

Selected Snippets

オッターバ囲みのテキストを変更する

内部的には、\ottavaottavation プロパティを (例えば、8va8vb に) セットし、middleCPosition プロパティを変更します。オッターバ囲みのテキストを変更するには、\ottava の後に ottavation をセットするようにしてください。

オッターバ囲みが短い場合には、テキストを短くすると良いでしょう。

{
  c'2
  \ottava #1
  \set Staff.ottavation = #"8"
  c''2
  \ottava #0
  c'1
  \ottava #1
  \set Staff.ottavation = #"Text"
  c''1
}

[image of music]

オッターバを単一のボイスに対して適用する

譜に 2 つ以上のボイスがある場合、オッターバを設定すると、囲みの中にある全てのボイスの音符が移動してしまいます。オッターバを単一のボイスに対して適用したい場合には、middleCPosition とオッターバ囲みを明示的にセットする必要があります。ヘ音記号の middleCPosition は本来 6 にセットされており、これは譜の中央の線から 6 つ上であることを示しています。このスニペットでは、オッターバ部分の middleCPosition を 7 加算して、1 オクターブ移動しています。

{
  \clef bass
  << { <g d'>1~ q2 <c' e'> }
  \\
    {
      r2.
      \set Staff.ottavation = #"8vb"
      \once \override Staff.OttavaBracket.direction = #DOWN
      \set Voice.middleCPosition = #(+ 6 7)
      <b,,, b,,>4 ~ |
      q2
      \unset Staff.ottavation
      \unset Voice.middleCPosition
      <c e>2
    }
  >>
}

[image of music]

オッターヴァのスパナの傾きを変更する

オッターヴァのスパナの傾きを変更することができます。

\relative c'' {
  \override Staff.OttavaBracket.stencil = #ly:line-spanner::print
  \override Staff.OttavaBracket.bound-details =
    #`((left . ((Y . 0) ; Change the integer here
                (attach-dir . ,LEFT)
                (padding . 0)
                (stencil-align-dir-y . ,CENTER)))
       (right . ((Y . 5) ; Change the integer here
                 (padding . 0)
                 (attach-dir . ,RIGHT)
                 (text . ,(make-draw-dashed-line-markup
                           (cons 0 -1.2))))))
  \override Staff.OttavaBracket.left-bound-info =
     #ly:line-spanner::calc-left-bound-info-and-text
  \override Staff.OttavaBracket.right-bound-info =
     #ly:line-spanner::calc-right-bound-info
  \ottava #1
  c1
  c'''1
}

[image of music]

参照

音楽用語集: octavation

コード断片集: ピッチ

内部リファレンス: Ottava_spanner_engraver, OttavaBracket, ottava-bracket-interface


楽器の移調

楽器の移調を含む楽器を譜刻するとき、いくつかのパートはコンサート ピッチ とは異なるピッチで譜刻される可能性があります。このような場合、移調楽器 の調を指定すべきです。指定しなければ MIDI 出力や他のパートの出だしのピッチは誤ったものになります。引用についての更なる情報は 他のボイスを引用する を参照してください。

\transposition pitch

\transposition で使用するピッチは、譜に書かれた c' をその移調楽器で演奏したときに聴こえる実際の音に対応したものであるべきです。このピッチは絶対モードで入力します。ですから、楽譜よりも 1 度高い音を出す楽器は \transposition d' を使うべきです。\transposition は、ピッチがコンサート ピッチでは ない ピッチで入力されている場合に のみ 使用すべきです。

バイオリンと B-フラットのクラリネットのための音符をいくつか挙げます。それぞれのパートは、それぞれが指揮譜に刻譜されるときに使用される音符と調を使って入力されています。2 つの楽器は斉奏で演奏しています。

\new GrandStaff <<
  \new Staff = "violin" \with {
    instrumentName = "Vln"
    midiInstrument = "violin"
  }
  \relative c'' {
    % not strictly necessary, but a good reminder
    \transposition c'
    \key c \major
    g4( c8) r c r c4
  }
  \new Staff = "clarinet" \with {
    instrumentName = \markup { Cl (B\flat) }
    midiInstrument = "clarinet"
  }
  \relative c'' {
    \transposition bes
    \key d \major
    a4( d8) r d r d4
  }
>>

[image of music]

\transposition は楽曲の途中で変更されることもあります。例えば、クラリネット奏者は A のクラリネットから B-フラットのクラリネットに持ち替えなければならないことがあります。

flute = \relative c'' {
  \key f \major
  \cueDuring "clarinet" #DOWN {
    R1 _\markup\tiny "clarinet"
    c4 f e d
    R1 _\markup\tiny "clarinet"
  }
}
clarinet = \relative c'' {
  \key aes \major
  \transposition a
  aes4 bes c des
  R1^\markup { muta in B\flat }
  \key g \major
  \transposition bes
  d2 g,
}
\addQuote "clarinet" \clarinet
<<
  \new Staff \with { instrumentName = "Flute" }
    \flute
  \new Staff \with { instrumentName = "Cl (A)" }
    \clarinet
>>

[image of music]

参照

音楽用語集: concert pitch, transposing instrument

記譜法リファレンス: 他のボイスを引用する, 移調

コード断片集: ピッチ


自動臨時記号

臨時記号の譜刻の仕方には多くの異なる規約があります。LilyPond はどの臨時記号スタイルを使用するのかを指定するための関数を提供します。この関数は以下のように呼び出されます:

\new Staff <<
  \accidentalStyle voice
  { … }
>>

指定された臨時記号スタイルは、デフォルトでは、カレントの Staff に適用されます (スタイル pianopiano-cautionary は例外です。これらは以下で説明します)。オプションとして、この関数は 2 つ目の引数をとることができ、それによってスタイルを変更すべき範囲 (スコープ) を指定できます。例えば、カレントの StaffGroup のすべての譜で同じスタイルを使うには、以下のようにします:

\accidentalStyle StaffGroup.voice

サポートされる臨時記号スタイルを以下で示します。それぞれのスタイルを実際に示すために、以下の例を使用します:

musicA = {
  <<
    \relative {
      cis''8 fis, bes4 <a cis>8 f bis4 |
      cis2. <c, g'>4 |
    }
    \\
    \relative {
      ais'2 cis, |
      fis8 b a4 cis2 |
    }
  >>
}

musicB = {
  \clef bass
  \new Voice {
    \voiceTwo \relative {
      <fis a cis>8[ <fis a cis>
      \change Staff = up
      cis' cis
      \change Staff = down
      <fis, a> <fis a>]
      \showStaffSwitch
      \change Staff = up
      dis'4 |
      \change Staff = down
      <fis, a cis>4 gis <f a d>2 |
    }
  }
}

\new PianoStaff {
  <<
    \context Staff = "up" {
      \accidentalStyle default
      \musicA
    }
    \context Staff = "down" {
      \accidentalStyle default
      \musicB
    }
  >>
}

[image of music]

両方の譜で同じ臨時記号スタイルを使うのなら、この例の最後のブロックを以下で置き換えられます:

\new PianoStaff {
  <<
    \context Staff = "up" {
      %%% 次の行を変更したいスタイルに合わせて変更してください:
      \accidentalStyle Score.default
      \musicA
    }
    \context Staff = "down" {
      \musicB
    }
  >>
}
default

これはデフォルトの譜刻の仕方です。これは 18 世紀の一般的な習慣と一致します: 臨時記号が有効なのは、その臨時記号が発生した小節の終わりまでで、かつ、その臨時記号が発生したオクターブの中だけです。そのため以下の例の中では、第 2 小節の b や最後の c の前にはナチュラル記号は譜刻されていません:

[image of music]

voice

通常の臨時記号の付け方では、臨時記号は Staff レベルで保持されます。しかしながらこのスタイルでは、臨時記号はそれぞれのボイスで別々に譜刻されます。それを除けば、このスタイルの規則は default と同じです。

結果として、あるボイスからの臨時記号は他のボイスでキャンセルされず、これはしばしば望まない結果となります: 以下の例では、2 番目の a をナチュラルで演奏するか、シャープで演奏するかを決定するのは困難です。そのため、voice オプションは、それぞれのボイスが別々の演奏者によって個々に読まれる場合にのみ使用すべきです。譜が 1 人の演奏者によって使用される場合 (例えば、指揮者やピアノ譜の場合)、このスタイルの代わりに modernmodern-cautionary を使用すべきです。

[image of music]

modern

この規則は 20 世紀の一般的な臨時記号の付け方と一致します: この規則はいくつかの余分なナチュラル記号を省略します – 伝統的にダブル シャープの後のシャープに前置されるナチュラル記号と、ダブル フラットの後のフラットに前置されるナチュラル記号を省略します。

modern 規則の臨時記号の付け方は default とほぼ同じですが、あいまいさを避けるための 2 つの規則が追加されます – 一時的な臨時記号が使われると、 その後の小節で (同じオクターブにある音符に対して) キャンセル記号が譜刻され、臨時記号が使われた小節では他のオクターブにある音符にもキャンセル記号が譜刻されます。そのため、上部譜の第 2 小節の中にある bc の前にはナチュラルが付けられています:

[image of music]

modern-cautionary

この規則は modern と似ていますが、忠告的臨時記号として ‘追加の’ 臨時記号が (括弧付きで) 譜刻されます。これらの臨時記号は、AccidentalCautionaryfont-size プロパティをオーバライドすることで異なったサイズで表示することができます。

[image of music]

modern-voice

この規則は多声の臨時記号として使用されます。演奏家が複数の声部の中の 1 つの声部を演奏する場合にも、すべての声部を演奏する場合にも使用されます。臨時記号はそれぞれの声部に対して譜刻されますが、同じ Staff の中であっても声部をまたいでキャンセルされます。そのため、最後の小節で a がキャンセルされています – なぜなら、前のキャンセルは異なる声部で行われたからです。さらに下部譜では d がキャンセルされています – その臨時記号は前の小節の異なる声部で付けられたものだからです:

[image of music]

modern-voice-cautionary

この規則は modern-voice と同じですが、追加の臨時記号 (これは voice では譜刻されません) は忠告として譜刻されます。たとえ default で譜刻されるすべての臨時記号がこの規則でも譜刻されたとしても、それらの臨時記号のいくつかは忠告として譜刻されます。

[image of music]

piano

この規則は 20 世紀のピアノ譜の臨時記号のつけ方を反映しています。このスタイルは modern スタイルと非常によく似ています。しかしながらこのスタイルでは、同じ GrandStaff または PianoStaff の中にある譜をまたがって臨時記号はキャンセルされます。そのため、最後の和音ではすべての音符でキャンセルが行われています。

この臨時記号スタイルは、デフォルトで、GrandStaffPianoStaff に適用されます。

[image of music]

piano-cautionary

この規則は piano と同じですが、追加の臨時記号は忠告として譜刻されます。

[image of music]

choral

このルールは modern-voicepiano の組み合わせです。これは自身のボイスのみを追う歌手にとって必要な全ての臨時記号を表示し、また ChoirStaff の全てのボイスを同時に追う読譜者のために追加の臨時記号も表示します。

この臨時記号スタイルは ChoirStaff でデフォルトで適用されています。

[image of music]

choral-cautionary

この規則は choral と同じですが、追加の臨時記号は忠告として譜刻されます。

[image of music]

neo-modern

この規則は現代音楽での一般的な臨時記号の付け方を再現します: 臨時記号は modern と同じように譜刻されますが、同じ小節の中で臨時記号を付けられた音符と同じ音符が再び現れた場合、その音符にも臨時記号が譜刻されます – ただし、臨時記号を付けられた音符の直後に同じ音符が現れる場合は除きます (訳者: 第 1 小節の下部譜にある 2 つの f には両方とも臨時記号が譜刻されていますが、第 1 小節の上部譜にある 2 つのミドル C は連続しているため、後のミドル C には臨時記号が譜刻されません)。

[image of music]

neo-modern-cautionary

この規則は neo-modern と似ていますが、追加の臨時記号は忠告の臨時記号として (括弧付きで) 譜刻されます。これらの臨時記号は、AccidentalCautionaryfont-size プロパティをオーバライドすることで異なったサイズで表示することができます。

[image of music]

neo-modern-voice

この規則は、1 つのボイスを演奏する音楽家とすべてのボイスを演奏する音楽家両方のための複数ボイスの臨時記号に使用されます。neo-modern と同様に、臨時記号は各ボイスに譜刻されますが、同じ Staff にあるボイスをまたがるとキャンセルされます。

[image of music]

neo-modern-voice-cautionary

この規則は neo-modern-voice と似ていますが、追加の臨時記号が忠告の臨時記号として譜刻されます。

[image of music]

dodecaphonic

この規則は 20 世紀初頭の作曲家たちによって導入された臨時記号の付け方を反映しています – ナチュラルの音符と非ナチュラルの音符 (訳者: ピアノの白鍵に対応する音符と黒鍵に対応する音符) 間にある上下関係を無効にしようとする試みです。このスタイルでは、すべて の音符にナチュラル記号を含む臨時記号が付けられます。

[image of music]

dodecaphonic-no-repeat

dodecaphonic と似て、通常全ての 音符に臨時記号が譜刻されますが、同じ譜の中でピッチが直後に繰り返される場合には譜刻されません。

[image of music]

dodecaphonic-first

dodecaphonic と似て、通常全ての 音符に臨時記号が譜刻されますが、小節内で最初に出現したものに限られます。オクターブが異なるものは新たに譜刻されますが、異なるボイスでも臨時記号の効果は持続します。

[image of music]

teaching

この規則は学生向けを意図したものであり、自動的に譜刻される忠告の臨時記号によって容易にスケール譜を作ることを容易にします。臨時記号は modern と同じように譜刻されます。しかしながら、調号によって指定されたすべてのシャープ音、フラット音に対して忠告の臨時記号が譜刻されます – ただし、前の音符の直後にある同じピッチの音符は例外です。

[image of music]

no-reset

この規則は default と同じですが、臨時記号の保持は小節内に限定されず、‘最後まで’ 保持されます:

[image of music]

forget

この規則は no-reset と正反対です: 臨時記号はまったく保持されません – そのため、調号に対応しながら、前にある音楽とは無関係にすべての臨時記号が譜刻されます。

[image of music]

参照

コード断片集: ピッチ

内部リファレンス: Accidental, Accidental_engraver, GrandStaff, PianoStaff, Staff, AccidentalSuggestion, AccidentalPlacement, accidental-suggestion-interface

既知の問題と警告

同時発生する音符はシーケンシャル モードで入力されたものと見なされます。このことが意味するのは、和音の各音符は入力ファイルの中で記述された順に 1 つずつ発生するものとして、和音の臨時記号は譜刻されるということです。これは和音の中の臨時記号が互いに依存関係にある場合に問題となります – この問題はデフォルトの臨時記号スタイルでは発生しません。この問題は、問題となる音符に !? を手動で付け加えることによって解決できます。

臨時記号の忠告的なキャンセルは 1 つ前の小節を見て行われます。しかしながら、\repeat volta N セクションの後にくる \alternative ブロックでは、キャンセルの算出はその前に 譜刻された 小節ではなく、その前に 演奏された 小節を見て行われると演奏者は予想します。以下の例では、2 番目の差し替え小節の中にあるナチュラル c にナチュラル記号は必要ありません。

[image of music]

以下の方法で解決できます: 局部的に臨時記号スタイルを forget に変更する関数を定義します:

forget = #(define-music-function (music) (ly:music?) #{
  \accidentalStyle forget
  #music
  \accidentalStyle modern
#})
{
  \accidentalStyle modern
  \time 2/4
  \repeat volta 2 {
    c'2
  }
  \alternative {
     cis'
     \forget c'
  }
}

[image of music]


音域

用語 音域 (ambitus) は、音楽のある部分の中にあるボイスがとるピッチの範囲を示します。さらに、ある楽器が演奏することができるピッチ範囲を示すこともあるかもしれません。音域をボーカル パートに譜刻することによって、歌い手はそのパートの音域が歌い手の能力と一致するかどうかを容易に見極めることができます。

音域は、楽曲の開始点で、最初の音部記号の近くに記されます。範囲は最低ピッチと最高ピッチを表す 2 つの音符によってグラフィカルに示されます。臨時記号は、その臨時記号が調号の一部でない場合にのみ譜刻されます。

\layout {
  \context {
    \Voice
    \consists "Ambitus_engraver"
  }
}

\relative {
  aes' c e2
  cis,1
}

[image of music]

Selected Snippets

音域をボイスごとに追加する

音域をボイスごとに追加することができます。この場合、衝突を避けるために Ambitus を手動で移動する必要があります。

\new Staff <<
  \new Voice \with {
    \consists "Ambitus_engraver"
  } \relative c'' {
    \override Ambitus.X-offset = #2.0
    \voiceOne
    c4 a d e
    f1
  }
  \new Voice \with {
    \consists "Ambitus_engraver"
  } \relative c' {
    \voiceTwo
    es4 f g as
    b1
  }
>>

[image of music]

複数のボイスを持つ譜での音域

Staff コンテキストに Ambitus_engraver を追加すると、譜にボイスが複数ある場合でも、譜ごとに音域を表示します。

\new Staff \with {
  \consists "Ambitus_engraver"
  }
<<
  \new Voice \relative c'' {
    \voiceOne
    c4 a d e
    f1
  }
  \new Voice \relative c' {
    \voiceTwo
    es4 f g as
    b1
  }
>>

[image of music]

音域の隙間を変更する

音域表示において、デフォルトの符頭と線との隙間を変更することができます。

\layout {
  \context {
    \Voice
    \consists "Ambitus_engraver"
  }
}

\new Staff {
  \time 2/4
  % Default setting
  c'4 g''
}

\new Staff {
  \time 2/4
  \override AmbitusLine.gap = #0
  c'4 g''
}

\new Staff {
  \time 2/4
  \override AmbitusLine.gap = #1
  c'4 g''
}

\new Staff {
  \time 2/4
  \override AmbitusLine.gap = #1.5
  c'4 g''
}

[image of music]

参照

音楽用語集: ambitus

コード断片集: ピッチ

内部リファレンス: Ambitus_engraver, Voice, Staff, Ambitus, AmbitusAccidental, AmbitusLine, AmbitusNoteHead, ambitus-interface

既知の問題と警告

複数のボイスがある場合にボイスごとに音域をとることによって生じる音域の衝突を処理するシステムはありません。


1.1.4 符頭

このセクションでは符頭を変更する方法について説明します。


特殊な符頭

符頭を変更することができます:

\relative c'' {
  c4 b
  \override NoteHead.style = #'cross
  c4 b
  \revert NoteHead.style
  a b
  \override NoteHead.style = #'harmonic
  a b
  \revert NoteHead.style
  c4 d e f
}

[image of music]

すべての符頭スタイルを調べるには、符頭のスタイル を参照してください。

cross スタイルはさまざまな音楽的意図を表すために使用されます。以下の定義済みコマンドは符頭を譜コンテキストとタブ譜コンテキストで変更し、何らかの音楽的意味を表すために使用することができます:

\relative {
  c''4 b
  \xNotesOn
   a b c4 b
  \xNotesOff
  c4 d
}

[image of music]

この定義済みコマンドの音楽関数は、譜コンテキストやタブ譜コンテキストの和音の内外で使用して、符頭を×の形にすることができます:

\relative {
  c''4 b
  \xNote { e f }
  c b < g \xNote c f > b
}

[image of music]

\xNote, \xNotesOn それに \xNotesOff の同義語として \deadNote, \deadNotesOn それに \deadNotesOff を使用することができます。dead note という用語はギタリストが一般的に使用します。

また、ダイアモンド形のための似たような短縮記法があります:

\relative c'' {
  <c f\harmonic>2 <d a'\harmonic>4 <c g'\harmonic> f\harmonic
}

[image of music]

定義済みコマンド

\harmonic, \xNotesOn, \xNotesOff, \xNote.

参照

コード断片集: ピッチ

記譜法リファレンス: 符頭のスタイル, 和音の音符, ハーモニクスとデッド ノートの指示

内部リファレンス: note-event, Note_heads_engraver, Ledger_line_engraver, NoteHead, LedgerLineSpanner, note-head-interface, ledger-line-spanner-interface


演奏を容易にする記譜法の符頭

‘演奏を容易にする’ 符頭は、符頭の中に音符名を含みます。これは、初心者のための楽譜で使用されます。文字を読みやすくするために、大きなフォント サイズで譜刻すべきです。大きなフォントで譜刻する方法は、譜サイズを設定する を参照してください。

#(set-global-staff-size 26)
\relative c' {
  \easyHeadsOn
  c2 e4 f
  g1
  \easyHeadsOff
  c,1
}

[image of music]

定義済みコマンド

\easyHeadsOn, \easyHeadsOff

Selected Snippets

演奏を容易にする記譜法で数字を使用する

演奏を容易にする記譜法では、NoteHead オブジェクトの note-names プロパティを使用し、符頭の内側に表示される文字を決定しています。このプロパティをオーバライドすることで、スケールの度数を表す数字を符頭に表示することができます。

全ての符頭オブジェクトに対してこれを適用するために、簡単なエングラーバを作成することができます。

#(define Ez_numbers_engraver
   (make-engraver
    (acknowledgers
     ((note-head-interface engraver grob source-engraver)
      (let* ((context (ly:translator-context engraver))
	     (tonic-pitch (ly:context-property context 'tonic))
	     (tonic-name (ly:pitch-notename tonic-pitch))
	     (grob-pitch
	      (ly:event-property (event-cause grob) 'pitch))
	     (grob-name (ly:pitch-notename grob-pitch))
	     (delta (modulo (- grob-name tonic-name) 7))
	     (note-names
	      (make-vector 7 (number->string (1+ delta)))))
	(ly:grob-set-property! grob 'note-names note-names))))))

#(set-global-staff-size 26)

\layout {
  ragged-right = ##t
  \context {
    \Voice
    \consists \Ez_numbers_engraver
  }
}

\relative c' {
  \easyHeadsOn
  c4 d e f
  g4 a b c \break

  \key a \major
  a,4 b cis d
  e4 fis gis a \break

  \key d \dorian
  d,4 e f g
  a4 b c d
}

[image of music]

参照

記譜法リファレンス: 譜サイズを設定する

コード断片集: ピッチ

内部リファレンス: note-event, Note_heads_engraver, NoteHead, note-head-interface


シェイプ ノートの符頭

シェイプ ノート記譜法では、符頭の形状は音階の中での音符の位置付けに対応します。この表記は 19 世紀のアメリカの歌集で一般的なものです。シェイプ ノートの符頭は Sacred Harp、Southern Harmony、Funk (Harmonia Sacra)、Walker、それに Aiken (Christian Harmony) スタイルで使用されます:

\relative c'' {
  \aikenHeads
  c, d e f g2 a b1 c \break
  \aikenThinHeads
  c,4 d e f g2 a b1 c \break
  \sacredHarpHeads
  c,4 d e f g2 a b1 c \break
  \southernHarmonyHeads
  c,4 d e f g2 a b1 c \break
  \funkHeads
  c,4 d e f g2 a b1 c \break
  \walkerHeads
  c,4 d e f g2 a b1 c \break
}

[image of music]

符頭の形状は音階の中での位置に対応し、音階のベースは \key コマンドによって決まります。マイナーで記述している場合、符頭の形状を決定する音階ステップはメジャーの場合との相対関係になります:

\relative c'' {
  \key a \minor
  \aikenHeads
  a b c d e2 f g1 a \break
  \aikenHeadsMinor
  a,4 b c d e2 f g1 a \break
  \aikenThinHeadsMinor
  a,4 b c d e2 f g1 a \break
  \sacredHarpHeadsMinor
  a,2 b c d \break
  \southernHarmonyHeadsMinor
  a2 b c d \break
  \funkHeadsMinor
  a2 b c d \break
  \walkerHeadsMinor
  a2 b c d \break
}

[image of music]

定義済みコマンド

\aikenHeads, \aikenHeadsMinor, \aikenThinHeads, \aikenThinHeadsMinor, \funkHeads, \funkHeadsMinor, \sacredHarpHeads, \sacredHarpHeadsMinor, \southernHarmonyHeads, \southernHarmonyHeadsMinor, \walkerHeads, \walkerHeadsMinor

Selected Snippets

Aiken head thin variant noteheads

Aiken head white notes get harder to read at smaller staff sizes, especially with ledger lines. Losing interior white space makes them appear as quarter notes.

\score {
  {
    \aikenHeads
    c''2 a' c' a

    % Switch to thin-variant noteheads
    \set shapeNoteStyles = ##(doThin reThin miThin
                              faThin sol laThin tiThin)
    c'' a' c' a
  }
}
% END EXAMPLE

[image of music]

音階に応じて異なる符頭のスタイルを適用する

shapeNoteStyles プロパティは、音階 (調号と、tonic プロパティによる) に応じて符頭の形を変化させるために用いることができます。このプロパティは形のセットを与える必要がありますが、(triangle, cross, xcircle などの図形表現を用いて) 自由に定義できるほか、階名を使用して、アメリカの古い伝統の形を基に定義することができます (いくつかのラテン語の階名も使用することができます)。

古いアメリカの歌集を模倣するには、\aikenHeads\sacredHarpHeads といった定義済みのコマンドを符頭のスタイルとして用いることができます。

この例では、シェイプ ノートの符頭を得るいくつかの方法を示しています。また、和声機能と符頭の対応を維持しながらメロディを移調する機能も示しています。

fragment = {
  \key c \major
  c2 d
  e2 f
  g2 a
  b2 c
}

\new Staff {
  \transpose c d
  \relative c' {
    \set shapeNoteStyles = ##(do re mi fa
                               #f la ti)
    \fragment
  }

  \break

  \relative c' {
    \set shapeNoteStyles = ##(cross triangle fa #f
                               mensural xcircle diamond)
    \fragment
  }
}

[image of music]

すべての符頭スタイルを調べるには、符頭のスタイル を参照してください。

参照

コード断片集: ピッチ

記譜法リファレンス: 符頭のスタイル

内部リファレンス: note-event, Note_heads_engraver, NoteHead, note-head-interface


即興

即興はしばしばスラッシュ形の符頭で記されます。そのような表記では、演奏者は好みのピッチを選ぶことができますが、指定されたリズムに従って演奏する必要があります。このような符頭は以下のようにして作成することができます:

\new Voice \with {
  \consists "Pitch_squash_engraver"
} \relative {
  e''8 e g a a16( bes) a8 g
  \improvisationOn
  e8 ~
  2 ~ 8 f4 f8 ~
  2
  \improvisationOff
  a16( bes) a8 g e
}

[image of music]

定義済みコマンド

\improvisationOn, \improvisationOff

参照

コード断片集: ピッチ

内部リファレンス: Pitch_squash_engraver, Voice, RhythmicStaff


1.2 リズム

[image of music]

このセクションではリズム、休符、演奏時間、連桁、小節について議論します。


1.2.1 リズムを記述する


演奏時間

演奏時間は数とドットで指定されます。演奏時間はその演奏時間の逆数で入力されます。例えば、4 分音符は 4 で入力され (1/4 の音符だから)、半音符は 2 で入力されます (1/2 の音符だから)。全音符よりも長い音符を入力するには、\longa コマンド (全音符の 4 倍) と \breve コマンド (全音符の 2 倍) を使う必要があります。128 分音符のような短い音符を指定することもできます。それよりも短い音価を指定することも可能ですが、必ず連桁付きの音符となります。

音符の演奏時間は数とドットで入力します。入力された数は音符の長さの逆数となります。例えば、4 分音符は 1/4 の長さを持つため、4 と入力します。2 分音符は 2、8 分音符は 8 となります。1024 までの短い音符は入力できますが、それよりも短い音符は連桁で繋がれた状態でしか表示できません。連桁 を参照してください。

全音符よりも長い音符については、\longa – ブレヴィスの 2 倍 – や \breve コマンドを使用してください。ブレヴィスの 4 倍の長さは \maxima コマンドで入力できますが、古代の記譜法でしか表示できません。古代の記譜法 を参照してください。

\relative {
  \time 8/1
  c''\longa c\breve c1 c2
  c4 c8 c16 c32 c64 c128 c128
}

[image of music]

同じ例で自動連桁を off にしてみます。

\relative {
  \time 8/1
  \autoBeamOff
  c''\longa c\breve c1 c2
  c4 c8 c16 c32 c64 c128 c128
}

[image of music]

独立した演奏時間 – ピッチを持たず、演奏時間だけの音符 – が音楽内に現れた場合、前の音符や和音からピッチを受け継ぎます。

\relative {
  \time 8/1
  c'' \longa \breve 1 2
  4 8 16 32 64 128 128
}

[image of music]

独立したピッチ – 演奏時間を持たず、ピッチだけの音符 – が音楽内に現れた場合、前の音符や和音から演奏時間を受け継ぎます。前の演奏時間が存在しない場合、デフォルトは 4 つまり 4 分音符となります。

\relative { a' a a2 a a4 a a1 a }

[image of music]

付点音符の演奏時間を得るには、演奏時間の後にドット (.) を置きます。2 重付点音符は 2 つのドットを置き、3 重付点音符は 3 つのドットなどとなります。

\relative { a'4 b c4. b8 a4. b4.. c8. }

[image of music]

譜線を避けるために、音符のドットは通常上に移動されます。しかし、多声の場合では、必要ならば手動でドットの位置を譜線の上か下に移動することができます。Direction and placement を参照してください。

演奏時間の中には数字とドットだけでは表せず、2 つ以上の音符をタイでつなげるしかない場合があります。詳細は タイ を参照してください。

歌詞音節と音符を揃えるために演奏時間を指定する方法については 声楽 を参照してください。

音符を演奏時間に比例させた間隔で配置することができます。プロポーショナル ノーテーション を参照してください。

定義済みコマンド

\autoBeamOn, \autoBeamOff, \dotsUp, \dotsDown, \dotsNeutral

Selected Snippets

二全音符を変更する

二全音符の表示を、符頭の左右に線が 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
}

[image of music]

音符ごとに付点の数を独立して変更する

音符ごとに、入力したドットの数とは独立して付点の数を変更することができます。

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

[image of music]

参照

音楽用語集: breve, longa, maxima, note value, Duration names notes and rests

記譜法リファレンス: 連桁, タイ, 符幹, リズムを記述する, 休符を記述する, 声楽, 古代の記譜法, プロポーショナル ノーテーション

コード断片集: リズム

内部リファレンス: Dots, DotColumn

既知の問題と警告

休符の演奏時間には基本的に限界 (最大値や最小値) がありませんが、図柄の数には限界があり、1024 から \maxima までの休符を譜刻することができます。


連符

連符は \tuplet を使った音楽表記から作られ、音楽表記の速度に分数を掛け合わせます。

\tuplet fraction { music }

分数 (fraction) の分子が音符の上または下に譜刻され、オプションで囲みが付きます。最も一般的な連符は 3 連符です。(3 つの音符が音符 2 つ分の演奏時間で演奏されます。)

\relative {
  a'2 \tuplet 3/2 { b4 4 4 }
  c4 c \tuplet 3/2 { b4 a g }
}

[image of music]

連符の長いパッセージを入力するとき、各グループに別々の \tuplet コマンドを記述することは不便です。音楽の前に一つの連符グループの長さを直接指定することで、連符を自動的にグループ化することができます:

\relative {
  g'2 r8 \tuplet 3/2 8 { cis16 d e e f g g f e }
}

[image of music]

連符囲みは手動で譜の上または下に配置することができます:

\relative {
  \tupletUp \tuplet 3/2 { c''8 d e }
  \tupletNeutral \tuplet 3/2 { c8 d e }
  \tupletDown \tuplet 3/2 { f,8 g a }
  \tupletNeutral \tuplet 3/2 { f8 g a }
}

[image of music]

連符はネストすることができます:

\relative {
  \autoBeamOff
  c''4 \tuplet 5/4 { f8 e f \tuplet 3/2 { e[ f g] } } f4
}

[image of music]

ネストされた連符の演奏開始点が同時である場合に、それらの連符を変更するには \tweak を使う必要があります。 \tweak コマンド を参照してください。

多くの古い版で好まれるように、連符囲みはスラーに置き換えることができます:

\relative {
  \tuplet 3/2 4 {
    \override TupletBracket.tuplet-slur = ##t
    c'4 e8 d4 f8
    \override TupletBracket.bracket-visibility = ##t
    e f g f e d
  } c1
}

[image of music]

デフォルトでは、連符囲みは、それがまたがるすべての音符が連桁でつながれない場合にのみ譜刻されます。場合によっては (上記の例のようにスラーを使用するなど)、次のスニペットのいずれかで詳しく説明されているように、bracket-visibility プロパティを使用して、その動作を変更することが望ましい場合があります。

より一般的には、オブジェクトの可視性 で説明されているように、 TupletBracket オブジェクトと TupletNumber オブジェクトのどちらかまたは両方を非表示または表示できます。しかしながら、連符囲みを譜刻せずに音符の演奏時間をより柔軟に変更する方法も 演奏時間を変更する で紹介されています。

定義済みコマンド

\tupletUp, \tupletDown, \tupletNeutral.

Selected Snippets

一つの \tuplet コマンドで複数の連符を入力する

tupletSpannerDuration プロパティは、一つの \tuplet コマンド内にある音符が、どれぐらいの長さで連符一つ分を作るかを指定します。これにより、一つの \tuplet コマンドで多くの連続した連符を作成することができ、入力が簡潔になります。

tupletSpannerDuration を設定する方法はいくつかあります。\tupletSpan コマンドは、プロパティを与えられた長さにセットし、長さではなく \default が与えられた場合はリセットします。もう一つの方法は、\tuplet のオプション引数を用いることです。

\relative c' {
  \time 2/4
  \tupletSpan 4
  \tuplet 3/2 { c8^"\\tupletSpan 4" c c c c c }
  \tupletSpan \default
  \tuplet 3/2 { c8^"\\tupletSpan \\default" c c c c c }
  \tuplet 3/2 4 { c8^"\\tuplet 3/2 4 {...}" c c c c c }
}

[image of music]

連符の数字を変更する

デフォルトでは、連符の上には \tuplet の引数として与えられた数字のみが表示されます。

代わりに、3:2 のような形の数字を表示することができます。また、数字を非表示にすることもできます。

\relative c'' {
  \tuplet 3/2 { c8 c c }
  \tuplet 3/2 { c8 c c }
  \override TupletNumber.text = #tuplet-number::calc-fraction-text
  \tuplet 3/2 { c8 c c }
  \omit TupletNumber
  \tuplet 3/2 { c8 c c }
}

[image of music]

デフォルトでない連符の数字

LilyPond は連符に表示される数字として、実際の音価の比率とは異なる値を整形して表示する関数が用意されています。連符の数や比だけでなく、音価を示す音符を表示することもできます。

\relative c'' {
  \once \override TupletNumber.text =
    #(tuplet-number::non-default-tuplet-denominator-text 7)
  \tuplet 3/2  { c4. c4. c4. c4. }
  \once \override TupletNumber.text =
    #(tuplet-number::non-default-tuplet-fraction-text 12 7)
  \tuplet 3/2  { c4. c4. c4. c4. }
  \once \override TupletNumber.text =
    #(tuplet-number::append-note-wrapper
      (tuplet-number::non-default-tuplet-fraction-text 12 7)
      (ly:make-duration 3 0))
  \tuplet 3/2  { c4. c4. c4. c4. }
  \once \override TupletNumber.text =
    #(tuplet-number::append-note-wrapper
      tuplet-number::calc-denominator-text
      (ly:make-duration 2 0))
  \tuplet 3/2  { c8 c8 c8 c8 c8 c8 }
  \once \override TupletNumber.text =
    #(tuplet-number::append-note-wrapper
      tuplet-number::calc-fraction-text
      (ly:make-duration 2 0))
  \tuplet 3/2  { c8 c8 c8 c8 c8 c8 }
  \once \override TupletNumber.text =
    #(tuplet-number::fraction-with-notes
      (ly:make-duration 2 1) (ly:make-duration 3 0))
  \tuplet 3/2  { c4. c4. c4. c4. }
  \once \override TupletNumber.text =
    #(tuplet-number::non-default-fraction-with-notes 12
      (ly:make-duration 3 0) 4 (ly:make-duration 2 0))
  \tuplet 3/2  { c4. c4. c4. c4. }
}

[image of music]

連符の括弧の可視性をコントロールする

連符の括弧の可視性についての挙動は、デフォルトでは同じ長さの連桁がある場合に表示されないようになっています。これをコントロールするには、bracket-bisibility プロパティを #t (常に表示), #'if-no-beam (連桁が無い場合にのみ表示。デフォルトの振る舞い), #f (常に非表示) のいずれかにセットします。 3 つ目の選択肢は、実際には TupletBracket オブジェクトを出力から完全に省略することに相当します。

music = \relative c'' {
  \tuplet 3/2 { c16[ d e } f8]
  \tuplet 3/2 { c8 d e }
  \tuplet 3/2 { c4 d e }
}

\new Voice {
  \relative c' {
    << \music s4^"default" >>
    \override TupletBracket.bracket-visibility = #'if-no-beam
    << \music s4^"'if-no-beam" >>
    \override TupletBracket.bracket-visibility = ##t
    << \music s4^"#t" >>
    \override TupletBracket.bracket-visibility = ##f
    << \music s4^"#f" >>
    \omit TupletBracket
    << \music s4^"omit" >>
  }
}

[image of music]

連桁で繋がれた連符の途中で改行する

この作為的な例は、連桁で繋がれた連符の途中で手動あるいは自動の改行を許可する方法を示しています。ただし、拍に収まらない連符は手動で連桁を繋ぐ必要があります。

\layout {
  \context {
    \Voice
    % Permit line breaks within tuplets
    \remove "Forbid_line_break_engraver"
    % Allow beams to be broken at line breaks
    \override Beam.breakable = ##t
  }
}
\relative c'' {
  a8
  \repeat unfold 5 { \tuplet 3/2 { c[ b a] } }
  % Insert a manual line break within a tuplet
  \tuplet 3/2 { c[ b \bar "" \break a] }
  \repeat unfold 5 { \tuplet 3/2 { c[ b a] } }
  c8
}

[image of music]

参照

音楽用語集: triplet, tuplet, polymetric

学習マニュアル: Tweaking methods

記譜法リファレンス: 向きと配置, オブジェクトの可視性, 時間管理, 演奏時間を変更する, \tweak コマンド, 多拍子記譜法

コード断片集: Rhythms

内部リファレンス: TupletBracket, TupletNumber, TimeScaledMusic.


演奏時間を変更する

*N/M (または、M が 1 の場合は *N) を演奏時間の後に付け加えることによって、単一の音符、休符、和音の演奏時間を分数 N/M 倍することができます。要素は評価結果が数字または *#(ly:music-length music) のような音楽的な長さとなる Scheme 表記を用いて加えることもできます。これは、音符や複数小節の休符の長さを音楽変数から導き出した長さにするために、 ‘1’ の長さを調整するのに便利です。

要素の追加は作り出される音符や休符の見た目には影響を与えませんが、変更された演奏時間は小節の中での位置を算出するためと、MIDI 出力での演奏時間を決定するために使用されます。掛け合わせる要素は *L*M/N のように組み合わせることができます。掛け合わせる要素は演奏時間の一部です: 音符の演奏時間が指定されていない場合、前の音符から取ったデフォルトの演奏時間に要素が掛け合わされます。

以下の例では、最初の 3 つの音符で 2 拍ですが、連符囲みは譜刻されていません。

\relative {
  \time 2/4
  % 演奏時間を変更して 3 連符にします
  a'4*2/3 gis a
  % 通常の演奏時間
  a4 a
  % 和音の演奏時間を 2 倍にします
  <a d>4*2
  % 演奏時間は 4 分音符ですが、見た目は 16 分音符です
  b16*4 c4
}

[image of music]

空白休符の演奏時間も掛け算によって変更できます。これは s1*23 のように多くの小節をスキップする場合に役に立ちます。

同様の方法で分数を使うことで、長く伸びた音楽を圧縮することができます。それによりそれぞれの音符、和音、休符には分数が掛け合わせられたかのようになります。これは楽譜要素の見た目をそのままにして、要素の内部演奏時間に与えられた伸縮比の要素、たいていは分子/分母を掛け合わせます。ここで、音楽がどのように圧縮され、伸張されるかを示す例を挙げます:

\relative {
  \time 2/4
  % 通常の演奏時間
  <c'' a>4 c8 a
  % 2/3 を掛けます
  \scaleDurations 2/3 {
    <c a f>4. c8 a f
  }
  % 2 を掛けます
  \scaleDurations 2 {
    <c' a>4 c8 b
  }
}

[image of music]

このコマンドの応用例の 1 つは多拍子記譜法での使用です。多拍子記譜法 を参照してください。

参照

記譜法リファレンス: 連符, 不可視の休符, 多拍子記譜法

コード断片集: Rhythms

既知の問題と警告

小節内での位置の計算はその小節の音符に適用される全ての演奏時間の伸縮や、それより前の小節からの計算結果を考慮する必要があります。この計算は分数を用いて行われています。計算の途中で分子あるいは分母が 2^30 を超えると、プログラムの実行と譜刻はその時点でエラーを発生せずに止まります。 (訳注: 内部的に、分子と分母をそれぞれ整数型として持つ分数型を用いているため、あまりに複雑な演奏時間の伸縮を行うと、計算の途中で分子や分母が2^30 を超えてしまい譜刻が途中で止まってしまうということです。)


タイ

タイは同じピッチの隣り合う符頭を結び付けます。タイは音符の演奏時間を伸張する効果があります。

Note: タイを音楽的なフレーズを表す スラーフレージング スラー と混同しないでください。タイは音符の演奏時間を伸ばす働きを持ち、音価を増やすドットに似ています。

タイは、結ばれる 2 つの音符の 1 つ目にチルド記号 (~) を付加することで入力します。この記号は音符が次の音符とタイで結ばれるということを示し、次の音符は同じピッチでなければなりません。

{ a'2~ 4~ 16 r r8 }

[image of music]

タイでは、演奏時間のみを入力することで‘最後に明示されたピッチ’を用いることができます:

{ a'2~ 4~ 16 r r8 }

[image of music]

タイは、音符が小節線をまたがる場合か、リズムを表すためにドットを使うことができない場合に使用されます。さらに、以下の例のように音価が小節の区画をまたがる場合にも使用されます (訳者補足: 4/4 拍子では 1 小節は 1/4, 1/4, 1/4, 1/4 の区画に分けられます。下の例の第 2 小節では半音符が区画をまたがっているので良くない書き方であり、第 1 小節のように書くべきです。):

\relative {
  r8 c'4.~ 4 r4 |
  r8^"こうすべきではありません" c2~ 8 r4
}

[image of music]

小節線をまたいで多くの音符をタイで結び付ける必要がある場合、自動音符分割を使用したほうが簡単かもしれません – 自動音符分割 を参照してください。これは長い音符を自動的に分割して、小節線をまたがる音符をタイで結び付けます。

タイを和音に適用する場合、ピッチが一致する符頭すべてが結ばれます。一致する符頭が無い場合、タイは作成されません。和音の内部にタイを置くことによって、和音の一部だけをタイで結ぶことができます。

\relative c' {
  <c e g>2~ 2 |
  <c e g>4~ <c e g c>
    <c~ e g~ b> <c e g b> |
}

[image of music]

繰り返しの 2 回目の差し替え部分はタイで結ばれた音符で始まっています。そのような繰り返し部分でのタイは以下のように指定する必要があります:

\relative {
  \repeat volta 2 { c'' g <c e>2~ }
  \alternative {
    % 1 番目の差し替え部分: 後に続く音符は通常通りタイで結ばれます
    { <c e>2. r4 }
    % 2 番目の差し替え部分: 後に続く音符にはリピート用のタイを付けます
    { <c e>2\repeatTie d4 c }
  }
}

[image of music]

L.v. タイ (レセ ヴィブレ: laissez vibrer) は音符を終端で途切れさせないということを示します。ピアノ、ハープ、他の弦楽器、それに打楽器のための楽譜で使用されます。L.v. タイは以下のように入力します:

<c' f' g'>1\laissezVibrer

[image of music]

タイを手動で上向きまたは下向きに配置することができます。 向きと配置 を参照してください。

タイを破線、点線、実線と破線の組み合わせにすることができます。

\relative c' {
  \tieDotted
  c2~ 2
  \tieDashed
  c2~ 2
  \tieHalfDashed
  c2~ 2
  \tieHalfSolid
  c2~ 2
  \tieSolid
  c2~ 2
}

[image of music]

破線パターンのカスタマイズを指定することができます:

\relative c' {
  \tieDashPattern #0.3 #0.75
  c2~ 2
  \tieDashPattern #0.7 #1.5
  c2~ 2
  \tieSolid
  c2~ 2
}

[image of music]

タイの破線パターン定義の構造は、スラーの破線パターン定義と同じです。複雑な破線パターンについての更なる情報は スラー を参照してください。

タイとの間に隙間を作りたいオブジェクトには、whiteout レイアウト プロパティと layer レイアウト プロパティをオーバライドしてください。

\relative {
  \override Tie.layer = #-2
  \override Staff.TimeSignature.layer = #-1
  \override Staff.KeySignature.layer = #-1
  \override Staff.TimeSignature.whiteout = ##t
  \override Staff.KeySignature.whiteout = ##t
  b'2 b~
  \time 3/4
  \key a \major
  b r4
}

[image of music]

定義済みコマンド

\tieUp, \tieDown, \tieNeutral, \tieDotted, \tieDashed, \tieDashPattern, \tieHalfDashed, \tieHalfSolid, \tieSolid

Selected Snippets

アルペジオにタイを使用する

タイはアルペジオを表記する際にも使われます。この場合、タイの始端となる複数の音符は同時である必要はありません。これは tieWaitForNote プロパティを #t にセットすることで実現できます。この機能は例えば、和音のトレモロにタイを繋ぐ場合などに有用ですが、通常の音符に対して用いることもできます。

\relative c' {
  \set tieWaitForNote = ##t
  \grace { c16[ ~ e ~ g] ~ } <c, e g>2
  \repeat tremolo 8 { c32 ~ c' ~ } <c c,>1
  e8 ~ c ~ a ~ f ~ <e' c a f>2
  \tieUp
  c8 ~ a
  \tieDown
  \tieDotted
  g8 ~ c g2
}

[image of music]

タイを手動で譜刻する

タイは TieColumn オブジェクトの tie-configuration プロパティを変更することで手動で譜刻することができます。最初の数値が中央の譜線からの距離を譜スペースの半分の単位で表し、次の数値が向きを表します (1 = 上, -1 = 下)。

LilyPond は最初の数値の正確な値と不正確な値を区別することに注意してください。正確な値 (つまり、整数または (/ 4 5) のような分数) を使用する場合、値はおおよその垂直位置として機能し、LilyPond によってさらに調整され、タイが譜線を避けるようにします。浮動小数点数のような不正確な値を使用する場合は、それ以上調整せずに垂直位置と見なされます。

\relative c' {
  <c e g>2~ <c e g>
  \override TieColumn.tie-configuration =
    #'((0.0 . 1) (-2.0 . 1) (-4.0 . 1))
  <c e g>2~ <c e g>
  \override TieColumn.tie-configuration =
    #'((0 . 1) (-2 . 1) (-4 . 1))
  <c e g>2~ <c e g>
}

[image of music]

参照

音楽用語集: tie, laissez vibrer

記譜法リファレンス: スラー, 自動音符分割

コード断片集: Expressive marks, Rhythms

内部リファレンス: LaissezVibrerTie, LaissezVibrerTieColumn, TieColumn, Tie

既知の問題と警告

タイがアクティブなときに譜を切り換えても斜めのタイは作られません。

タイの最中に音部記号やオクターブを変更することはきちんと定義されていません。そのような場合には、スラーを用いる方が好ましいです。


1.2.2 休符を記述する

休符は音楽表記の中の音楽の一部として入力されます。


休符

休符は音符名 r を持つ音符として入力されます。全休符よりも長い演奏時間を持つ休符には以下に示す定義済みコマンドを使用します:

\new Staff {
  % この 2 行は例を見やすくするためのものです
  \time 16/1
  \omit Staff.TimeSignature
  % 八全休符を譜刻します。二全休符 4 つと等価です
  r\maxima
  % 四全休符を譜刻します。二全休符 2 つと等価です
  r\longa
  % 二全休符を譜刻します。
  r\breve
  r1 r2 r4 r8 r16 r32 r64 r128
}

[image of music]

全休符 – 小節の中心に置かれます – は複数小節の休符として入力する必要があります。複数小節の休符は多くの小節に対してと同様に単一の小節に対しても使用することができます。詳細は 小節単位の休符 を参照してください。

休符の垂直方向の位置を明示的に指定するには、音符の後に続けて \rest を記述します。その音符が譜上で占める位置に、その音符の演奏時間を持つ休符が配置されます。これは多声部音楽を手動で精密にフォーマットすることを考慮したものです。なぜなら、自動休符フォーマットでは多声部音楽の休符の衝突を回避できないからです。

\relative { a'4\rest d4\rest }

[image of music]

Selected Snippets

休符のスタイル

休符には様々なスタイルが使用できます。

\new Staff \relative c {
  \omit Score.TimeSignature
  \cadenzaOn

  \override Staff.Rest.style = #'mensural
  r\maxima^\markup \typewriter { mensural }
  r\longa r\breve r1 r2 r4 r8 r16 s32 s64 s128 s128
  \bar ""
  \break

  \override Staff.Rest.style = #'neomensural
  r\maxima^\markup \typewriter { neomensural }
  r\longa r\breve r1 r2 r4 r8 r16 s32 s64 s128 s128
  \bar ""
  \break

  \override Staff.Rest.style = #'classical
  r\maxima^\markup \typewriter { classical }
  r\longa r\breve r1 r2 r4 r8 r16 r32 r64 r128 s128
  \bar ""
  \break

  \override Staff.Rest.style = #'z
  r\maxima^\markup \typewriter { z-style }
  r\longa r\breve r1 r2 r4 r8 r16 r32 r64 r128 s128
  \bar ""
  \break

  \override Staff.Rest.style = #'default
  r\maxima^\markup \typewriter { default }
  r\longa r\breve r1 r2 r4 r8 r16 r32 r64 r128 s128
}

[image of music]

参照

音楽用語集: breve, longa, maxima

記譜法リファレンス: 小節単位の休符

コード断片集: Rhythms

内部リファレンス: Rest

既知の問題と警告

休符の演奏時間には基本的に限界がありません (最大値としても、最小値としても)。しかしながら、図柄の数には限界があります: 1024 分から全音符の 8 倍までの休符を譜刻することができます。


不可視の休符

不可視の休符 (‘空白休符’ とも呼ばれます) は音符名 s を持つ音符として入力することができます:

\relative c'' {
  c4 c s c |
  s2 c |
}

[image of music]

空白休符は音符モードと和音モードでのみ利用可能です。他のモードでは、例えば歌詞を入力している場合、音楽モーメントをスキップするには \skip を使用します。\skip は明示的な演奏時間を必要としますが、\addlyrics\lyricsto を使っていて、歌詞が関係するメロディーの音符から演奏時間を得ている場合は無視されます。

<<
  {
    a'2 \skip2 a'2 a'2
  }
  \new Lyrics {
    \lyricmode {
      foo2 \skip 1 bla2
    }
  }
>>

[image of music]

\skip はコマンドであるため、s とは異なり後に続く音符のデフォルト演奏時間には影響を与えません。

<<
  {
    \repeat unfold 8 { a'4 }
  }
  {
    a'4 \skip 2 a' |
    s2 a'
  }
>>

[image of music]

空白休符は、音符や休符と同様に、StaffVoice が存在しない場合に、それらを暗黙的に作成します:

{ s1 s s }

[image of music]

\skip はただ音楽的な時間をスキップするだけです。これはいかなる種類の出力も作成しません。

% これは有効な入力ですが、何もしません
{ \skip 1 \skip1 \skip 1 }

[image of music]

参照

学習マニュアル: Visibility and color of objects

記譜法リファレンス: 隠された音符, オブジェクトの可視性

コード断片集: Rhythms

内部リファレンス: SkipMusic


小節単位の休符

1 つまたは複数の小節に対する休符は音符名として大文字の ‘R’ を持つ音符として入力します。これらの演奏時間は、演奏時間を変更する で説明されているように、演奏時間の乗数を使用する機能を含めて、音符に使用される演奏時間表記と同じように入力されます。

% 休みの小節は 1 つの小節にまとめられます
\compressMMRests {
  R1*4
  R1*24
  R1*4
  b'2^"Tutti" b'4 a'4
}

[image of music]

上記の例は、空の小節を圧縮する で説明されているように、複数の空の小節を圧縮する方法も示しています。

複数小節にまたがる休符の演奏時間は、常に 1 つまたは複数の小節の長さに等しくなければなりません。したがって、一部の拍子記号では、ドットや分数を使う必要があります:

\compressMMRests {
  \time 2/4
  R1 | R2 |
  \time 3/4
  R2. | R2.*2 |
  \time 13/8
  R1*13/8 | R1*13/8*12 |
  \time 10/8
  R4*5*4 |
}

[image of music]

1 小節分の休符は、拍子次第で全休符または二全休符のどちらかとして、小節の中央に譜刻されます。

\time 4/4
R1 |
\time 6/4
R1*3/2 |
\time 8/4
R1*2 |

[image of music]

マークアップを複数小節にまたがる休符に付け加えることができます。

\compressEmptyMeasures
\time 3/4
R2.*10^\markup { \italic "ad lib." }

[image of music]

複数小節にまたがる休符が \partial 設定の直後にある場合、小節チェックの警告が表示されないかもしれません。

定義済みコマンド

\textLengthOn, \textLengthOff, \compressMMRests

Selected Snippets

複数小節にまたがる休符の長さをコントロールする

複数小節にまたがる休符の長さは、休符の長さに依存しますが、MultiMeasureRest.space-increment によってコントロールされます。デフォルト値は 2.0 です。

\relative c' {
  \compressEmptyMeasures
  R1*2 R1*4 R1*64 R1*16
  \override Staff.MultiMeasureRest.space-increment = 2.5
  R1*2 R1*4 R1*64 R1*16
}

[image of music]

複数小節にまたがる休符の位置を変更する

通常の休符と異なり、音符に付加することによって複数小節にまたがる休符の位置を変更するコマンドは用意されていません。しかし、多声の音楽では、奇数番号のボイスと偶数番号のボイスで休符の位置が分けられます。複数小節にまたがる休符の位置は以下のようにコントロールできます:

\relative c'' {
  % Multi-measure rests by default are set under the fourth line
  R1
  % They can be moved using an override
  \override MultiMeasureRest.staff-position = #-2
  R1
  \override MultiMeasureRest.staff-position = #0
  R1
  \override MultiMeasureRest.staff-position = #2
  R1
  \override MultiMeasureRest.staff-position = #3
  R1
  \override MultiMeasureRest.staff-position = #6
  R1
  \revert MultiMeasureRest.staff-position
  \break

  % In two Voices, odd-numbered voices are under the top line
  << { R1 } \\ { a1 } >>
  % Even-numbered voices are under the bottom line
  << { a1 } \\ { R1 } >>
  % Multi-measure rests in both voices remain separate
  << { R1 } \\ { R1 } >>

  % Separating multi-measure rests in more than two voices
  % requires an override
  << { R1 } \\ { R1 } \\
     \once \override MultiMeasureRest.staff-position = #0
     { R1 }
  >>

  % Using compressed bars in multiple voices requires another override
  % in all voices to avoid multiple instances being printed
  \compressMMRests
  <<
   \revert MultiMeasureRest.direction
    { R1*3 }
    \\
   \revert MultiMeasureRest.direction
    { R1*3 }
  >>
}

[image of music]

複数小節にまたがる休符にマークアップを付加する

複数小節にまたがる休符に付加されるマークアップは、休符の上または下に中央揃えされます。マークアップが長い場合であっても、休符が広げられることはありません。休符をマークアップに合わせて広げる場合は、休符の前に空の和音を追加して、それにマークアップを付加してください。

このような方法で付加されたテキストは、空の和音が本来表示されるべき場所に合わせて左揃えされます。しかし、小節の長さをテキストに合わせるようにすれば、テキストが中央揃えされたように見えます。

\relative c' {
  \compressMMRests {
    \textLengthOn
    <>^\markup { [MAJOR GENERAL] }
    R1*19
    <>_\markup { \italic { Cue: ... it is yours } }
    <>^\markup { A }
    R1*30^\markup { [MABEL] }
    \textLengthOff
    c4^\markup { CHORUS } d f c
  }
}

[image of music]

参照

音楽用語集: multi-measure rest

記譜法リファレンス: 演奏時間, 演奏時間を変更する, 空の小節を圧縮する, テキスト, テキストをフォーマットする, テキスト スクリプト

コード断片集: Rhythms

内部リファレンス: MultiMeasureRest, MultiMeasureRestNumber, MultiMeasureRestScript, MultiMeasureRestText

既知の問題と警告

複数小節にまたがる休符の上に運指記号を配置すると (例えば、R1*10-4)、運指の数字が休みの小節数と衝突する可能性があります。

複数の通常の休符を自動的に単一の複数小節休符にまとめる方法はありません。

複数小節にまたがる休符が休符の衝突を引き起こすことはありません。


1.2.3 リズムを表示する


拍子

拍子は以下のようにセットします:

\time 2/4 c''2
\time 3/4 c''2.

[image of music]

小節の途中で拍子記号を変更することについては、上拍で扱っています。

拍子は楽曲の始まりと拍子が変更されたときに譜刻されます。行の終わりで変更が起こる場合、警告の拍子が行の終わりに譜刻されます。デフォルトの振る舞いを変更することができます。オブジェクトの可視性 を参照してください。

\relative c'' {
  \time 2/4
  c2 c
  \break
  c c
  \break
  \time 4/4
  c c c c
}

[image of music]

2/2 や 4/4 で使用される拍子は数字を使用するスタイルに変更することができます:

\relative c'' {
  % デフォルトのスタイル
  \time 4/4 c1
  \time 2/2 c1
  % 数字を使うスタイルに変更します
  \numericTimeSignature
  \time 4/4 c1
  \time 2/2 c1
  % デフォルトのスタイルに戻します
  \defaultTimeSignature
  \time 4/4 c1
  \time 2/2 c1
}

[image of music]

計量拍子については 計量記譜法の拍子記号 でカバーされています。

譜刻される拍子を設定することに加えて、\time コマンドは拍子に基づくプロパティ baseMoment, beatStructure, それに beamExceptions の値も設定します。これらのプロパティにあらかじめ定義されているデフォルト値は ‘scm/time-signature-settings.scm’ で見つかります。

beatStructure のデフォルトの値は、\time に省略可能な 1 つ目の引数を与えることでオーバライドできます:

\score {
  \new Staff {
    \relative {
      \time 2,2,3 7/8
      \repeat unfold 7 { c'8 } |
      \time 3,2,2 7/8
      \repeat unfold 7 { c8 } |
    }
  }
}

[image of music]

また、baseMomentbeamExceptions も含めた、全ての拍子に基づくプロパティのデフォルトの値を一度にセットすることができます。値は異なる拍子記号について独立に設定できます。新しい値は同じ拍子記号の \time コマンドが続く時に有効となります。

\score {
  \new Staff {
    \relative c' {
      \overrideTimeSignatureSettings
        4/4        % timeSignatureFraction
        1/4        % baseMomentFraction
        3,1        % beatStructure
        #'()       % beamExceptions
      \time 4/4
      \repeat unfold 8 { c8 } |
    }
  }
}

[image of music]

\overrideTimeSignatureSettings は 4 つの引数をとります:

  1. timeSignatureFraction, この設定が適用される、拍子記号を示す分数。
  2. baseMomentFraction, 拍子の基本タイミングの単位となる分子と分母を保持する分数。
  3. beatStructure, 小節の拍構造を示す Scheme リスト。基本タイミングを単位とします。
  4. beamExceptions, 指定された拍子でそれぞれの拍で終了しない連桁の規則を保持する配列リスト。自動連桁の振る舞いを設定する に説明があります。

デフォルトの拍子プロパティ値の変更を元の値に戻すことができます:

\score {
  \relative {
    \repeat unfold 8 { c'8 } |
    \overrideTimeSignatureSettings
      4/4        % timeSignatureFraction
      1/4        % baseMomentFraction
      3,1        % beatStructure
      #'()       % beamExceptions
    \time 4/4
    \repeat unfold 8 { c8 } |
    \revertTimeSignatureSettings 4/4
    \time 4/4
    \repeat unfold 8 { c8 } |
  }
}

[image of music]

Timing_translatorDefault_bar_line_engraverScore コンテキストから Staff コンテキストに移動させることにより、異なる譜に対して異なる値のデフォルト拍子プロパティを割り当てることができます。

\score {
  \new StaffGroup <<
     \new Staff {
        \overrideTimeSignatureSettings
          4/4        % timeSignatureFraction
          1/4        % baseMomentFraction
          3,1        % beatStructure
          #'()       % beamExceptions
        \time 4/4
        \repeat unfold 8 {c''8}
     }
     \new Staff {
        \overrideTimeSignatureSettings
          4/4        % timeSignatureFraction
          1/4        % baseMomentFraction
          1,3        % beatStructure
          #'()       % beamExceptions
        \time 4/4
        \repeat unfold 8 {c''8}
     }
  >>
  \layout {
    \context {
      \Score
      \remove "Timing_translator"
      \remove "Default_bar_line_engraver"
    }
    \context {
      \Staff
      \consists "Timing_translator"
      \consists "Default_bar_line_engraver"
    }
  }
}

[image of music]

これらの拍子記号に基づく変数を変更するさらなる方法 – 変更の際に同じ拍子記号がもう一度表示されることを避ける方法 – については、 自動連桁の振る舞いを設定する にあります。

定義済みコマンド

\numericTimeSignature, \defaultTimeSignature

Selected Snippets

拍子記号の (分数ではなく) 分子のみを数字で表示する

拍子記号の分数全体を表示せず、分子のみ (今回は 7) を表示したい場合があります。これは \override Staff.TimeSignature.style = #'single-digit を用いてスタイルを永続的に変更することで簡単に実現できます。\revert Staff.TimeSignature.style を使用することで、この設定を元に戻すことが出来ます。1 つの拍子記号に対してのみ単一の数字で表示したい場合は、\override の前に \once を記述します。

\relative c'' {
  \time 3/4
  c4 c c
  % Change the style permanently
  \override Staff.TimeSignature.style = #'single-digit
  \time 2/4
  c4 c
  \time 3/4
  c4 c c
  % Revert to default style:
  \revert Staff.TimeSignature.style
  \time 2/4
  c4 c
  % single-digit style only for the next time signature
  \once \override Staff.TimeSignature.style = #'single-digit
  \time 5/4
  c4 c c c c
  \time 2/4
  c4 c
}

[image of music]

参照

音楽用語集: time signature

記譜法リファレンス: 計量記譜法の拍子記号, 自動連桁の振る舞いを設定する, 時間管理

インストールされているファイル: ‘scm/time-signature-settings.scm’.

コード断片集: Rhythms

内部リファレンス: TimeSignature, Timing_translator


メトロノーム記号

基本的なメトロノーム記号は単純に以下のように記述します:

\relative {
  \tempo 4 = 120
  c'2 d
  e4. d8 c2
}

[image of music]

メトロノーム記号を 2 つの数の範囲として譜刻することもできます:

\relative {
  \tempo 4 = 40 - 46
  c'4. e8 a4 g
  b,2 d4 r
}

[image of music]

テキストを持つテンポ指示にすこともできます:

\relative {
  \tempo "Allegretto"
    c''4 e d c
    b4. a16 b c4 r4
}

[image of music]

メトロノーム記号とテキストを組み合わせると、メトロノーム記号は自動的に括弧で囲まれます:

\relative {
  \tempo "Allegro" 4 = 160
  g'4 c d e
  d4 b g2
}

[image of music]

一般に、テキストを任意のマークアップ オブジェクトにすることができます:

\relative {
  \tempo \markup { \italic Faster } 4 = 132
  a'8-. r8 b-. r gis-. r a-. r
}

[image of music]

テキストを伴わないメトロノーム記号を括弧で囲むには、空の文字列を含めて記述します:

\relative {
  \tempo "" 8 = 96
  d''4 g e c
}

[image of music]

長い休符 (小節単位の休符 を参照してください) がある楽器のパート譜では、テンポ表示同士が近づいてしまうことがあります。 \markLengthOn コマンドは、テンポ表示が重ならないように水平方向のスペースを追加し、\markLengthOff はテンポ表示が水平方向のスペースを無視するデフォルトの挙動に戻します。

\compressMMRests {
  \markLengthOn
  \tempo "Molto vivace"
  R1*12
  \tempo "Meno mosso"
  R1*16
  \markLengthOff
  \tempo "Tranquillo"
  R1*20
}

[image of music]

Selected Snippets

メトロノーム記号やリハーサル記号を譜の下に表示する

デフォルトでは、メトロノーム記号やリハーサル記号は譜の上に表示されます。これらを譜の下に表示するには、MetronomeMarkRehearsalMarkdirection プロパティを正しくセットします。

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

[image of music]

メトロノーム記号を表示せずにテンポを変更する

楽譜には何も出力せずに MIDI 出力のテンポのみを変更するには、メトロノーム記号を非表示にします。

\score {
  \new Staff \relative c' {
    \tempo 4 = 160
    c4 e g b
    c4 b d c
    \set Score.tempoHideNote = ##t
    \tempo 4 = 96
    d,4 fis a cis
    d4 cis e d
  }
  \layout { }
  \midi { }
}

[image of music]

マークアップ モードでメトロノーム記号を作成する

新しいメトロノーム記号はマークアップ モードで作成できますが、MIDI 出力のテンポは変更されません。

\relative c' {
  \tempo \markup {
    \concat {
      (
      \smaller \general-align #Y #DOWN \note {16.} #1
      " = "
      \smaller \general-align #Y #DOWN \note {8} #1
      )
    }
  }
  c1
  c4 c' c,2
}

[image of music]

詳細は テキストをフォーマットする を参照してください。

参照

音楽用語集: metronome, metronomic indication, tempo indication, metronome mark

記譜法リファレンス: テキストをフォーマットする, MIDI 出力を作り出す, 小節単位の休符

コード断片集: Staff notation

内部リファレンス: MetronomeMark


上拍

弱拍上拍 などのような部分小節またはピックアップ小節は、\partial コマンドを使って入力します:

\partial duration

\partial が楽譜の最初で用いられた際には、duration は最初の小節より前にある音楽の長さです。

\relative {
  \time 3/4
  \partial 4.
  r4 e'8 | a4 c8 b c4 |
}

[image of music]

\partial が楽譜の最初より後に用いられた際には、durationは現在の小節の 残りの 長さとなります。新しい番号の小節は作られません。

\relative {
  \set Score.barNumberVisibility = #all-bar-numbers-visible
  \override Score.BarNumber.break-visibility =
	    #end-of-line-invisible
  \time 9/8
  d''4.~ 4 d8 d( c) b | c4.~ 4. \bar "||"
  \time 12/8
  \partial 4.
  c8( d) e | f2.~ 4 f8 a,( c) f |
}

[image of music]

\partial コマンドは小節の途中で拍子記号が変化する場合に必要ですが、単独で使われることもあります。

\relative {
  \set Score.barNumberVisibility = #all-bar-numbers-visible
  \override Score.BarNumber.break-visibility =
	    #end-of-line-invisible
  \time 6/8
  \partial 8
  e'8 | a4 c8 b[ c b] |
  \partial 4
  r8 e,8 | a4 \bar "||"
  \partial 4
  r8 e8 | a4
  c8 b[ c b] |
}

[image of music]

\partial コマンドは Timing.measurePosition プロパティをセットします。これは小節のどれだけが経過したかを表す分数です。

参照

音楽用語集: anacrusis

記譜法リファレンス: 装飾小音符

コード断片集: Rhythms

内部リファレンス: Timing_translator


無韻律の音楽

韻律のある音楽では、自動的に小節線が挿入され、小節番号が算出されます。無韻律の音楽 (例えばカデンツァ) では、これは望ましくなく、コマンド \cadenzaOn を用いて ‘スイッチ off’ することができます。‘スイッチ on’ に戻すには、適切な場所で \cadenzaOff を用います。

\relative c'' {
  c4 d e d
  \cadenzaOn
  c4 c d8[ d d] f4 g4.
  \cadenzaOff
  \bar "|"
  d4 e d c
}

[image of music]

カデンツァが終わると、小節番号が再開されます。

\relative c'' {
  % すべての小節番号を表示します
  \override Score.BarNumber.break-visibility = #all-visible
  c4 d e d
  \cadenzaOn
  c4 c d8[ d d] f4 g4.
  \cadenzaOff
  \bar "|"
  d4 e d c
}

[image of music]

カデンツァの中に \bar コマンドを挿入しても、小節線は表示されますが、新しい小節が始まることはありません。そのため、全ての臨時記号 – 通常小節の最後まで効果が持続する – は、\bar による小節線の後でも有効のままです。もし小節線の後の臨時記号を表示させたいならば、親切の臨時記号 (!) や忠告の臨時記号 (?) を手動で挿入する必要があります。臨時記号 を参照してください。

\relative c'' {
  c4 d e d
  \cadenzaOn
  cis4 d cis d
  \bar "|"
  % 最初の cis は小節線の後ですが、臨時記号無しで表示されます
  cis4 d cis! d
  \cadenzaOff
  \bar "|"
}

[image of music]

自動連桁は \cadenzaOn で無効になります。このため、カデンツァ内の連桁はすべて手動で入力する必要があります (手動連桁)。

\relative {
  \repeat unfold 8 { c''8 }
  \cadenzaOn
  cis8 c c c c
  \bar"|"
  c8 c c
  \cadenzaOff
  \repeat unfold 8 { c8 }
}

[image of music]

これらの定義済みコマンドは、たとえ Voice コンテキストの 1 つの中に配置したとしても、楽譜の中にあるすべての譜に影響を与えます。これを変更するには、Timing_translatorScore コンテキストから Staff コンテキストに移動させます。多拍子記譜法 を参照してください。

定義済みコマンド

\cadenzaOn, \cadenzaOff

参照

音楽用語集: cadenza

記譜法リファレンス: オブジェクトの可視性, 多拍子記譜法, 手動連桁, 臨時記号

コード断片集: Rhythms

既知の問題と警告

自動の改行と改ページが挿入されるのは小節線のある場所だけです。そのため、長い無韻律の音楽で改行や改ページを行うには手動で ‘不可視の’ 小節線を挿入する必要があります:

\bar ""

多拍子記譜法

多拍子記譜法がサポートされます。 複合拍子記譜法がサポートされます。明示的な複合拍子と、拍子指定を変更して音符の演奏時間を伸縮することによる複合拍子のどちらもです。

それぞれの譜は異なる拍子を持ち、小節の長さは等価である場合

各譜共通の拍子記号をセットして、timeSignatureFraction にお望みの分数をセットします。それから、\scaleDurations 関数を用いて共通の拍子記号に対する 各譜の音符の演奏時間を伸縮させます。

以下の例では、拍子記号 3/4, 9/8, それに 10/8 の音楽が並列しています。2 番目の譜では示された演奏時間に 2/3 が掛けられ (なぜなら、2/3 * 9/8 = 3/4 だからです)、3 番目の譜では示された演奏時間に 3/5 が掛けられます (なぜなら、3/5 * 10/8 = 3/4 だからです)。演奏時間の伸縮は自動連桁の規則に影響を与えるため、手動で連桁を付ける必要があるかもしれません。

\relative <<
  \new Staff {
    \time 3/4
    c'4 c c |
    c4 c c |
  }
  \new Staff {
    \time 3/4
    \set Staff.timeSignatureFraction = 9/8
    \scaleDurations 2/3
      \repeat unfold 6 { c8[ c c] }
  }
  \new Staff {
    \time 3/4
    \set Staff.timeSignatureFraction = 10/8
    \scaleDurations 3/5 {
      \repeat unfold 2 { c8[ c c] }
      \repeat unfold 2 { c8[ c] } |
      c4. c \tuplet 3/2 { c8[ c c] } c4
    }
  }
>>

[image of music]

それぞれの譜は異なる拍子を持ち、小節の長さは等価ではない場合

Timing_translatorDefault_bar_line_engraverStaff コンテキストに移すことによって、それぞれの譜に独立した拍子を与えることができます。

\layout {
  \context {
    \Score
    \remove "Timing_translator"
    \remove "Default_bar_line_engraver"
  }
  \context {
    \Staff
    \consists "Timing_translator"
    \consists "Default_bar_line_engraver"
  }
}

% 以上で、各譜はそれぞれに拍子を持つようになります

\relative <<
  \new Staff {
    \time 3/4
    c'4 c c |
    c4 c c |
  }
  \new Staff {
    \time 2/4
    c4 c |
    c4 c |
    c4 c |
  }
  \new Staff {
    \time 3/8
    c4. |
    c8 c c |
    c4. |
    c8 c c |
  }
>>

[image of music]

複合拍子記号

複合拍子記号は \compoundMeter を用いて作成します。構文は以下の通りです:

\compoundMeter #'(list of lists)

最も簡単な構成は単一のリストであり、リストの 最後の 数字が拍子記号の分母になります。

\relative {
  \compoundMeter #'((2 2 2 8))
  \repeat unfold 6 c'8 \repeat unfold 12 c16
}

[image of music]

リストを追加することでより複雑な拍子を構築することができます。また、この関数で指定された値に基づいて自動連桁の設定は調節されます。

\relative {
  \compoundMeter #'((1 4) (3 8))
  \repeat unfold 5 c'8 \repeat unfold 10 c16
}

\relative {
  \compoundMeter #'((1 2 3 8) (3 4))
  \repeat unfold 12 c'8
}

[image of music]

参照

音楽用語集: polymetric, polymetric time signature, meter

記譜法リファレンス: 自動連桁, 手動連桁, 拍子, 演奏時間を変更する

コード断片集: Rhythms

内部リファレンス: TimeSignature, Timing_translator, Default_bar_line_engraver, Staff

既知の問題と警告

それぞれの譜において、同時に起こる音符の水平方向の位置は同じになりますが、(それぞれの譜にある) 小節線は、異なる拍子記号によって一貫性の無いスペーシングを生み出す可能性があります。

多拍子記譜法で midi ブロックを使用した場合、予期しない小節線チェックの警告が表示される可能性があります。その場合は、midi ブロック内で、Timing_translatorScore コンテキストから Staff コンテキストに移動してください。

\midi {
  \context {
    \Score
    \remove "Timing_translator"
  }
  \context {
     \Staff
     \consists "Timing_translator"
  }
}

[image of music]


自動音符分割

小節線をまたがる長い音符を自動的にタイで結ばれた音符に変換することができます。これを行うには、Note_heads_engraverCompletion_heads_engraver で置き換えます。同様に、小節線をまたがる長い休符を自動的に分割することができます。 これを行うには、Rest_engraverCompletion_rest_engraver で置き換えます。以下の例では、小節線をまたがる音符と休符は分割され、音符はされにタイで結ばれています。

\new Voice \with {
  \remove "Note_heads_engraver"
  \consists "Completion_heads_engraver"
  \remove "Rest_engraver"
  \consists "Completion_rest_engraver"
}
\relative {
  c'2. c8 d4 e f g a b c8 c2 b4 a g16 f4 e d c8. c2 r1*2
}

[image of music]

これらのエングラーバは進行中の音符と休符をすべて小節線のところで分割して、音符に対してはタイを挿入します。これらのエングラーバの用途の 1 つに複雑な楽譜のデバッグがあります: 何小節かで音符がきちんと満たされていない場合、このエングラーバで挿入されたタイが、それぞれの小節の狂いを示します。

completionUnit プロパティは音符を分割する際の好ましい長さを指定します。

\new Voice \with {
  \remove "Note_heads_engraver"
  \consists "Completion_heads_engraver"
} \relative {
  \time 9/8 g\breve. d''4. \bar "||"
  \set completionUnit = #(ly:make-moment 3 8)
  g\breve. d4.
}

[image of music]

これらのエングラーバは、連符のような長さが伸縮された音符に対しては、入力と同じ伸縮率を保ったまま分割します。

\new Voice \with {
  \remove "Note_heads_engraver"
  \consists "Completion_heads_engraver"
} \relative {
  \time 2/4 r4
  \tuplet 3/2 {g'4 a b}
  \scaleDurations 2/3 {g a b}
  g4*2/3 a b
  \tuplet 3/2 {g4 a b}
  r4
}

[image of music]

参照

音楽用語集: tie

学習マニュアル: Engravers explained, Adding and removing engravers

コード断片集: Rhythms

内部リファレンス: Note_heads_engraver, Completion_heads_engraver, Rest_engraver, Completion_rest_engraver, Forbid_line_break_engraver

既知の問題と警告

前のバージョンの挙動を維持するため、c1*2 のような 1 小節より長い音符や休符は、{ c1 c1 } のように伸縮しない長さに分割されます。completionFactor プロパティでこの挙動を調整でき、これを#f にセットすることで音符や休符を伸縮することができます。


旋律のリズムを示す

しばしば旋律のリズムだけを示したいことがあります。これはリズム譜を使うことで達成できます。そのような譜上にある音符のピッチはすべて破棄され、その譜自体は 1 本の線を持ちます:

<<
  \new RhythmicStaff {
    \new Voice = "myRhythm" \relative {
      \time 4/4
      c'4 e8 f g2
      r4 g g f
      g1
    }
  }
  \new Lyrics {
    \lyricsto "myRhythm" {
      This is my song
      I like to sing
    }
  }
>>

[image of music]

ギター コード表はしばしばつま弾き (ストラム) のリズムを示します。これは Pitch_squash_engraver\improvisationOn を使うことで達成できます。

<<
  \new ChordNames {
    \chordmode {
      c1 f g c
    }
  }
  \new Voice \with {
    \consists "Pitch_squash_engraver"
  } \relative c'' {
    \improvisationOn
    c4 c8 c c4 c8 c
    f4 f8 f f4 f8 f
    g4 g8 g g4 g8 g
    c4 c8 c c4 c8 c
  }
>>

[image of music]

和音を含む音楽も、まず \reduceChords 関数で 1 つの音符にまとめることによって RhythmicStaff に入力したり、Pitch_squash_engraver に使用することができます。

\new RhythmicStaff {
  \time 4/4
  \reduceChords {
    <c>2
    <e>2
    <c e g>2
    <c e g>4
    <c e g>4
  }
}

[image of music]

定義済みコマンド

\improvisationOn, \improvisationOff, \reduceChords

Selected Snippets

ギター ストロークのリズム

ギター音楽では、メロディの音符、コードネーム、フレット図と共に、ストロークのリズムを表示することができます。

\include "predefined-guitar-fretboards.ly"
<<
  \new ChordNames {
    \chordmode {
      c1 | f | g | c
    }
  }
  \new FretBoards {
    \chordmode {
      c1 | f | g | c
    }
  }
  \new Voice \with {
    \consists "Pitch_squash_engraver"
  } {
    \relative c'' {
      \improvisationOn
      c4 c8 c c4 c8 c
      f4 f8 f f4 f8 f
      g4 g8 g g4 g8 g
      c4 c8 c c4 c8 c
    }
  }
  \new Voice = "melody" {
    \relative c'' {
      c2 e4 e4
      f2. r4
      g2. a4
      e4 c2.
    }
  }
  \new Lyrics {
    \lyricsto "melody" {
      This is my song.
      I like to sing.
    }
  }
>>

[image of music]

参照

コード断片集: Rhythms

内部リファレンス: RhythmicStaff, Pitch_squash_engraver


1.2.4 連桁


自動連桁

デフォルトでは、連桁は自動的に挿入されます:

\relative c'' {
  \time 2/4 c8 c c c
  \time 6/8 c8 c c c8. c16 c8
}

[image of music]

自動的に決定される連桁が満足いかないものである場合、明示的に連桁を挿入することが可能です – 手動連桁 を参照してください。連桁を休符の上まで伸ばそうと意図しているのなら、連桁を手動で挿入する 必要があります

自動連桁を必要としない場合、\autoBeamOff で off にすることができ、\autoBeamOn で on にすることができます:

\relative c' {
  c4 c8 c8. c16 c8. c16 c8
  \autoBeamOff
  c4 c8 c8. c16 c8.
  \autoBeamOn
  c16 c8
}

[image of music]

Note: 歌曲の中でメリスマを表すために連桁を使用する場合、autoBeamOff で自動連桁を off にして、手動で連桁を示すべきです。partCombineautoBeamOff と一緒に用いると予期しない結果になる可能性があります。詳細はコード断片集を参照してください。

自動的に挿入されるデフォルトの連桁とは異なるパターンの連桁を作成することができます – 自動連桁の振る舞いを設定する を参照してください。

定義済みコマンド

\autoBeamOff, \autoBeamOn

Selected Snippets

改行に跨る連桁

連桁が小節線を跨ぐ場合、改行は通常禁止されます。この挙動は以下のようにして変更することができます。

\relative c'' {
  \override Beam.breakable = ##t
  c8 c[ c] c[ c] c[ c] c[ \break
  c8] c[ c] c[ c] c[ c] c
}

[image of music]

向きの変わる連桁が作られる符頭間の距離を変更する

向きが変わる連桁は、符頭と符頭が大きく離れている場合に自動的に作られます。この挙動は auto-knee-gap プロパティで調整することができます。符頭間の距離が auto-knee-gap と連桁オブジェクトの幅を[c 足したものよりも大きい場合に、向きの変わる連桁が作られます (連桁オブジェクトの幅は、音符の長さや、連桁の傾きによって異なります)。デフォルトでは、auto-knee-gap は 5.5 譜スペースにセットされています。

{
  f8 f''8 f8 f''8
  \override Beam.auto-knee-gap = #6
  f8 f''8 f8 f''8
}

[image of music]

\partCombine と \autoBeamOff

\partCombine と共に \autoBeamOff を使用した場合の挙動は理解しづらいです。

譜全体で自動連桁をオフにするために、代わりに以下を用いたほうが良いです:

\set Staff.autoBeaming = ##f

\partCombine は 3 種類のボイスを作り出します – 符幹が上向きの単一ボイス、符幹が下向きの単一ボイス、パート結合が行われたボイスです。

\autoBeamOff\partCombine の 1 つ目の引数の中で用いた場合、符幹が上向きのボイスか、結合されたボイスのどちらかの、現在アクティブな方に適用されます。\autoBeamOff が 2 つ目の引数の中で用いられた場合、符幹が下向きのボイスに適用されます。

\partCombine の中で全ての自動連桁をオフにするために \autoBeamOff を用いるためには、3 回呼び出しを行う必要があります。

{
  %\set Staff.autoBeaming = ##f % turns off all autobeaming
  \partCombine
  {
    \autoBeamOff % applies to split up stems
    \repeat unfold 4 a'16
    %\autoBeamOff % applies to combined up stems
    \repeat unfold 4 a'8
    \repeat unfold 4 a'16
  }
  {
    \autoBeamOff % applies to down stems
    \repeat unfold 4 f'8
    \repeat unfold 8 f'16 |
  }
}

[image of music]

参照

記譜法リファレンス: 手動連桁, 自動連桁の振る舞いを設定する.

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

コード断片集: Rhythms

内部リファレンス: Auto_beam_engraver, Beam_engraver, Beam, BeamEvent, BeamForbidEvent, beam-interface, unbreakable-spanner-interface

既知の問題と警告

連桁のプロパティは連桁構築の開始時に決定され、その後から連桁の完了までの間に追加された連桁プロパティの変更は 次の 連桁から影響を与えます。


自動連桁の振る舞いを設定する

自動連桁が有効な場合、連桁の配置は以下の 3 つのコンテキスト プロパティによって決定されます: baseMoment, beatStructure, beamExceptions。これらの値は以下で示すようにオーバライドすることができますが、拍子 で説明しているように、デフォルトの値そのものを変更することもできます。

beamExceptions が現在の拍子記号に対して定義されている時、そのルールのみが連桁の配置の決定に使用されます。 baseMomentbeatStructure の値は使用されません。

beamExceptions が現在の拍子記号に対して定義されていない時、baseMomentbeatStructure の値によって連桁の配置が決定されます。

baseMomentbeatStructure による連桁

デフォルトで、非常によく使われる拍子に対しては beamExceptions のルールが定義されているため、自動連桁に baseMomentbeatStructure の値を使用させるためには、beamExceptions のルールを無効化しなければいけません。beamExceptions はこのようにして無効化します:

\set Timing.beamExceptions = #'()

beamExceptions#'() にセットされた場合 (明示的にセットされた場合と、現在の拍子記号に対してルールが定義されていない場合の両方を含みます)、連桁の終了点は baseMomentbeatStructure コンテキスト プロパティで指定された拍に従います。beatStructure は小節内の各拍の長さが baseMoment の単位で定義された Scheme リストです。デフォルトでは、baseMoment は 1/拍子の分母です。

beatStructurebaseMoment の値はそれぞれの拍子記号に対して別々に存在するということに注意してください。これらの値を変更しても、影響が及ぶのは現在有効な拍子記号に対してのみです。そのため、これらの変更は新しい拍子記号のセクションが始まる \time コマンドの前ではなく後に置かれなければいけません。ある拍子記号に与えられた新しい値は記憶されており、その拍子記号が新たに出現した際に再び有効になります。

\relative c'' {
  \time 5/16
  c16^"default" c c c c |
  % beamExceptions は 5/16 の拍子については定義されていないようですが、
  % 念のために無効にしておきましょう
  \set Timing.beamExceptions = #'()
  \set Timing.beatStructure = 2,3
  c16^"(2+3)" c c c c |
  \set Timing.beatStructure = 3,2
  c16^"(3+2)" c c c c |
}

[image of music]

\relative {
  \time 4/4
  a'8^"default" a a a a a a a
  % beamExceptions は 4/4 に対しては明らかに定義されているため、
  % これを無効にします
  \set Timing.beamExceptions = #'()
  \set Timing.baseMoment = #(ly:make-moment 1/4)
  \set Timing.beatStructure = 1,1,1,1
  a8^"changed" a a a a a a a
}

[image of music]

連桁の設定変更をある特定のテキストに限定することができます。下位コンテキストに連桁の設定が含まれない場合、そのコンテキストを囲んでいる上位コンテキストの設定が適用されます。

\new Staff {
  \time 7/8
  % beamExceptions は 7/8 に対しては定義されていないため
  % 無効にする必要はありません
  \set Staff.beatStructure = 2,3,2
  <<
    \new Voice = one {
      \relative {
        a'8 a a a a a a
      }
    }
    \new Voice = two {
      \relative {
        \voiceTwo
        \set Voice.beatStructure = 1,3,3
        f'8 f f f f f f
      }
    }
  >>
}

[image of music]

譜で複数のボイスが使用されている場合に連桁設定を譜のすべてのボイスに適用するには、Staff コンテキストで設定を行う必要があります:

\time 7/8
% リズム 3-1-1-2
% デフォルトで連桁設定の変更は Voice に適用され、うまくいきません
% なぜなら、自動生成されるボイスで、すべての拍は baseMoment (1 . 8) だからです
\set beatStructure = 3,1,1,2
<< \relative {a'8 a a a16 a a a a8 a} \\ \relative {f'4. f8 f f f} >>

% コンテキスト Staff を指定するとうまくいきます
\set Staff.beatStructure = 3,1,1,2
<< \relative {a'8 a a a16 a a a a8 a} \\ \relative {f'4. f8 f f f} >>

[image of music]

baseMoment の値を調整することで、連桁の振る舞いを変更することができます。baseMoment の値を変更した場合、beatStructure に新しい baseMoment と矛盾しない値を設定する必要があります。

\time 5/8
% beamExceptions は 5/8 に対しては定義されていないため
% 無効にする必要はありません
\set Timing.baseMoment = #(ly:make-moment 1/16)
\set Timing.beatStructure = 7,3
\repeat unfold 10 { a'16 }

[image of music]

beatLengthmoment – 演奏時間の単位 – です。タイプ moment の量は Scheme 関数 ly:make-moment によって作り出されます。この関数についての更なる情報は 時間管理 を参照してください。

デフォルトでは、baseMoment には「1/拍子の分母」がセットされています。このデフォルトの例外は ‘scm/time-signature-settings.scm’ で見つかります。

beamExceptions に基づいた連桁

特殊な自動連桁規則 (連桁の終わりが拍に従わないもの) はプロパティ beamExceptions に定義します。

beamExceptions の値は – 少し複雑な Scheme データ構造ですが – は、 \beamExceptions 関数によって非常に簡単に生成できます。この関数には 1 つ以上の手動連桁を含む、小節の長さのリズムパターンを与えます (小節は小節チェック記号 | で分割されている必要があります。この関数では他に小節の長さを識別する方法が無いためです)。簡単な例を示します:

\relative c'' {
  \time 3/16
  \set Timing.beatStructure = 2,1
  \set Timing.beamExceptions =
    \beamExceptions { 32[ 32] 32[ 32] 32[ 32] }
  c16 c c |
  \repeat unfold 6 { c32 } |
}

[image of music]

Note: beamExceptions の値は 完全な 例外リストである必要があります。つまり、その設定には適用されるべき例外がすべて含まれている必要があります。例外の 1 つだけを追加、削除、変更することはできません。このことは扱い難いように思えるかもしれませんが、新しい連桁パターンを指定する際に現在の連桁設定を知る必要がないということを意味します。

拍子が変更されると、Timing.baseMoment, Timing.beatStructure, それに Timing.beamExceptions のデフォルト値が設定されます。拍子を設定すると、その Timing コンテキストの自動連桁設定はデフォルトの振る舞いにリセットされます。

\relative a' {
  \time 6/8
  \repeat unfold 6 { a8 }
  % (4 + 2) にグループ化します
  \set Timing.beatStructure = 4,2
  \repeat unfold 6 { a8 }
  % デフォルトの振る舞いに戻ります
  \time 6/8
  \repeat unfold 6 { a8 }
}

[image of music]

ある拍子に対するデフォルトの自動連桁設定は ‘scm/beam-settings.scm’ の中で決定されます。ある拍子に対する自動連桁のデフォルト設定を変更する方法は 拍子 で説明しています。

ある拍子に対する自動連桁設定の多くには beamExceptions が登録されています。例えば、4/4 拍子は 16 分音符しかない小節を 2 つの連桁で囲もうとします。beamExceptions がリセットされていなければ、beamExceptions 規則は beatStructure 設定をオーバライドすることができます。

\time 4/4
\set Timing.baseMoment = #(ly:make-moment 1/8)
\set Timing.beatStructure = 3,3,2
% 以下は beamExceptions のため、(3 3 2) の連桁にはなりません
\repeat unfold 8 {c''8} |
% 以下は beamExceptions をクリアするため、(3 3 2) の連桁になります
\set Timing.beamExceptions = #'()
\repeat unfold 8 {c''8}

[image of music]

同様に、3/4 拍子はデフォルトで 8 分音符しかない小節を 1 つの連桁で囲みます。3/4 拍子の 8 分音符に拍毎の連桁を付けるには、beamExceptions をリセットします。

\time 3/4
% beamExceptions により、デフォルトで (6) の連桁を付けます
\repeat unfold 6 {a'8} |
% beatLength により、これは (1 1 1) の連桁を付けます
\set Timing.beamExceptions = #'()
\repeat unfold 6 {a'8}

[image of music]

ロマン派や古典派時代の譜刻では、3/4 拍子の小節の途中から連桁が始まることがありますが、誤った 6/8 拍子の印象を与えるため現代の習慣では用いません (Gould の 153 ページを参照してください)。3/8 拍子でも同様の状況が発生します。この振る舞いはコンテキスト プロパティ beamHalfMeasure によって制御されます – これは分子が 3 の拍子記号の場合にのみ効果を持ちます:

\relative a' {
  \time 3/4
  r4. a8 a a |
  \set Timing.beamHalfMeasure = ##f
  r4. a8 a a |
}

[image of music]

自動連桁はどのように機能するのか

自動連桁が有効である場合、自動連桁の配置はコンテキスト プロパティ baseMoment, beatStructure, それに beamExceptions によって決定されます。

連桁の配置を決定する際、以下の規則が並び順の優先度で適用されます:

上記の規則で、連桁タイプ は連桁でグループ化された音符の最短演奏時間です。

デフォルトの連桁規則は ‘scm/time-signature-settings.scm’ の中にあります。

Selected Snippets

連桁を細分する

16 分音符 (あるいはそれより短い音符) の連桁は、デフォルトでは細分されません。つまり、3 つ以上の音符全体が分かれることなく平等に連桁で繋がれます。この挙動は、subdivideBeams プロパティをセットすることで、連桁を細分するように変更することができます。このプロパティがセットされると、連桁が現在の baseMoment の間隔で細分されて表示されるようになります。分割された後の音符全体の長さが分割長より短い (不完全な連桁) 場合は、連桁の本数は可能な最長分割グループが基になります。しかし、分割された後の音符が 1 つしか存在しない場合、この制限は適用されません。 baseMoment は、明示的にセットされなければ、現在の拍子記号の分母分の 1 に設定されます。baseMoment は、このスニペットのように ly:make-moment 関数を用いて、連桁を分割する単位となる長さを分数で指定する必要があります。また、baseMoment が変更された場合、beatStructure も新たな baseMoment に合わせて変更する必要があります:

\relative c'' {
  c32[ c c c c c c c]
  \set subdivideBeams = ##t
  c32[ c c c c c c c]

  % Set beam sub-group length to an eighth note
  \set baseMoment = #(ly:make-moment 1/8)
  \set beatStructure = 2,2,2,2
  c32[ c c c c c c c]

  % Set beam sub-group length to a sixteenth note
  \set baseMoment = #(ly:make-moment 1/16)
  \set beatStructure = 4,4,4,4
  c32[ c c c c c c c]

  % Shorten beam by 1/32
  \set baseMoment = #(ly:make-moment 1/8)
  \set beatStructure = 2,2,2,2
  c32[ c c c c c c] r32

  % Shorten beam by 3/32
  \set baseMoment = #(ly:make-moment 1/8)
  \set beatStructure = 2,2,2,2
  c32[ c c c c] r16.
  r2
}

[image of music]

厳密な拍に基づく連桁

16 分音符以下の連桁の向きは、音符が属する拍に基づいて決定することができます。最初の連桁では突き出るものが避けられ (デフォルト)、次の連桁は拍に厳密に従います。

\relative c'' {
  \time 6/8
  a8. a16 a a
  \set strictBeatBeaming = ##t
  a8. a16 a a
}

[image of music]

小節のグループ化記号

小節内の拍のまとまりは、beatStructure コンテキスト プロパティによりコントロールされます。beatStructure の値はscm/time-signature-settings.scm に、多くの拍子記号に対して設定されています。beatStructure の値は、\set で変更することができます。あるいは、\time を拍子記号と beatStructure の明示的な変更のために用いることができます。そのためには、拍子記号の前に小節内部の拍のグループを数値のリストで (Scheme の構文で) 与えます。

\timeTiming コンテキストに適用されるため、Voice のような他のより低いレベルのコンテキストにセットされた beatStructurebaseMoment の値を上書きしません。

Measure_grouping_engraver がコンテキストに含まれている場合、拍のグループを示す記号が表示されます。この記号はリズムが複雑な現代音楽を読みやすくします。この例では、9/8 の小節が 2 つの方法で 2 つのパターンにグループ化されています。5/8 は scm/time-signature-settings.scm のデフォルト設定を用いています。

\score {
  \new Voice \relative c'' {
    \time 9/8
    g8 g d d g g a( bes g) |
    \set Timing.beatStructure = 2,2,2,3
    g8 g d d g g a( bes g) |
    \time 4,5 9/8
    g8 g d d g g a( bes g) |
    \time 5/8
    a4. g4 |
  }
  \layout {
    \context {
      \Staff
      \consists "Measure_grouping_engraver"
    }
  }
}

[image of music]

Score コンテキストでの自動連桁

Score コンテキストに設定された自動連桁の設定は全ての譜に適用されますが、StaffVoce レベルで設定することもできます。

\relative c'' {
  \time 5/4
  % Set default beaming for all staves
  \set Score.baseMoment = #(ly:make-moment 1/8)
  \set Score.beatStructure = 3,4,3
  <<
    \new Staff {
      c8 c c c c c c c c c
    }
    \new Staff {
      % Modify beaming for just this staff
      \set Staff.beatStructure = 6,4
      c8 c c c c c c c c c
    }
    \new Staff {
      % Inherit beaming from Score context
      <<
        {
          \voiceOne
          c8 c c c c c c c c c
        }
        % Modify beaming for this voice only
        \new Voice {
          \voiceTwo
          \set Voice.beatStructure = 6,4
          a8 a a a a a a a a a
        }
      >>
    }
  >>
}

[image of music]

参照

記譜法リファレンス: 拍子

インストールされているファイル: ‘scm/time-signature-settings.scm

コード断片集: Rhythms

内部リファレンス: Auto_beam_engraver, Beam, BeamForbidEvent, beam-interface

既知の問題と警告

自動連桁が終了しておらず、まだ音符を受け付けている最中に楽譜が終了する場合、その最後の連桁はまったく譜刻されません。<< … \\ … >> で入力される多声ボイスでも同様です。自動連桁がまだ音符を受け付けている最中に多声ボイスが終了する場合、その最後の連桁はまったく譜刻されません。ボイスや楽譜の最後の連桁には手動で連桁を付けることにより、これらの問題を回避できます。

デフォルトでは、Timing コンテキストは Score コンテキストにエイリアスされています。このことは、ある譜で拍子の設定を行うと、他の譜での連桁の付け方にも影響を与えると言うことを意味します。このため、後で出てくる譜で拍子の設定を行うと、前にある譜でセットしたカスタム連桁はリセットされます。この問題を回避する方法の 1 つは、拍子の設定は 1 つの譜でしか行わないことです。

<<
  \new Staff {
    \time 3/4
    \set Timing.baseMoment = #(ly:make-moment 1/8)
    \set Timing.beatStructure = 1,5
    \set Timing.beamExceptions = #'()
    \repeat unfold 6 { a'8 }
  }
  \new Staff {
    \repeat unfold 6 { a'8 }
  }
>>

[image of music]

拍子に対するデフォルトの連桁設定を変更することで、常にお望みの連桁を使うこともできます。ある拍子に対する自動連桁設定を変更する方法は 拍子 で説明しています。

<<
  \new Staff {
    \overrideTimeSignatureSettings
      3/4               % timeSignatureFraction
      1/8               % baseMomentFraction
      1,5               % beatStructure
      #'()		% beamExceptions
    \time 3/4
    \repeat unfold 6 { a'8 }
  }
  \new Staff {
    \time 3/4
    \repeat unfold 6 { a'8 }
  }
>>

[image of music]


手動連桁

自動連桁アルゴリズムをオーバライドする必要がある場合もあります。例えば、自動連桁は休符や小節線を越えて連桁を配置することはなく、合唱譜では連桁はしばしば音符ではなく歌詞の韻律に従って配置されます。そのような連桁は [] で開始点と終了点を記すことによって手動で指定することができます:

\relative { r4 r8[ g' a r] r g[ | a] r }

[image of music]

方向指示子を用いることで、連桁の向きを手動で設定することができます:

\relative { c''8^[ d e] c,_[ d e f g] }

[image of music]

連桁でつながれないようにするために、個々の音符には \noBeam が記されるかもしれません:

\relative {
  \time 2/4
  c''8 c\noBeam c c
}

[image of music]

装飾小音符の連桁と通常の音符の連桁は同時進行で発生します。通常の音符の連桁の途中に、連桁でつながれない装飾小音符は配置されません。

\relative {
  c''4 d8[
  \grace { e32 d c d }
  e8] e[ e
  \grace { f16 }
  e8 e]
}

[image of music]

プロパティ stemLeftBeamCountstemRightBeamCount をセットすることによって連桁をさらに厳密に手動制御することが可能です。これらの値はそれぞれ、次の音符の左側と右側に描く連桁の本数を指定します。どちらかのプロパティがセットされている場合、その値は 1 度だけ使用され、それから消去されます。以下の例では、最後の f は左側に連桁を 1 本だけ持って – すなわち、グループ全体をつなげている 8 分音符の連桁を持って – 譜刻されています。

\relative a' {
  a8[ r16 f g a]
  a8[ r16
  \set stemLeftBeamCount = #2
  \set stemRightBeamCount = #1
  f16
  \set stemLeftBeamCount = #1
  g16 a]
}

[image of music]

定義済みコマンド

\noBeam

Selected Snippets

水平な符尾とはみ出す連桁

単一の音符に出現する連桁や、端がはみ出す連桁は、stemLeftBeamCount, stemRightBeamCount と連桁指示 [] を組み合わせることで作ることができます。

単一の音符で、右側にのみはみ出す連桁については、音符に [] を付加し、stemLeftBeamCount を 0 にします (Example 1 を参照)。

左側にのみはみ出す場合は、代わりに stemRightBeamCount を 0 にします (Example 2)。

複数音符の連桁で、右側にはみ出す場合は、stemRightBeamCount を正の値にします。左側にはみ出す場合は、stemLeftBeamCount を正の値にします (Example 3)。

休符に囲まれた単一の音符では、両方向にはみ出した連桁を表示したほうが分かりやすい場合があります。これは連桁指示 [] のみで実現できます (Example 4)。

(注意: \set stemLeftBeamCount は常に \once \set と同等です。つまり、連桁の本数は“保持されず”、最後の例における 16[] の音符はその前の \set に影響されません。)

\score {
  <<
    % Example 1
    \new RhythmicStaff {
      \set stemLeftBeamCount = #0
      c16[]
      r8.
    }
    % Example 2
    \new RhythmicStaff {
      r8.
      \set stemRightBeamCount = #0
      16[]
    }
    % Example 3
    \new RhythmicStaff {
      16 16
      \set stemRightBeamCount = #2
      16 r r
      \set stemLeftBeamCount = #2
      16 16 16
    }
    % Example 4
    \new RhythmicStaff {
      16 16
      \set stemRightBeamCount = #2
      16 r16
      16[]
      r16
      \set stemLeftBeamCount = #2
      16 16
    }
  >>
}

[image of music]

参照

記譜法リファレンス: 向きと配置, 装飾小音符

コード断片集: Rhythms

内部リファレンス: Beam, BeamEvent, Beam_engraver, beam-interface, Stem_engraver


羽状の連桁

羽状の連桁は、楽曲全体のテンポを変えることなく、音符の小さなグループをテンポを上げながら (あるいは下げながら) 演奏すべきであることを示すために使用されます。羽状連桁の範囲は [] を使って手動で指定する必要があり、連桁の羽は Beam のプロパティ grow-direction に向きを指定することによって調整することができます。

音符の配置と MIDI 出力での音が羽状連桁によって指示された ritardando (徐々に緩やかに) や accelerando (次第に速く) を反映すべきであるのなら、音符は波括弧で区切られた音楽表記としてグループ化される必要があり、さらに、そのグループの最初の音符と最後の音符の演奏時間の比率を指定する featheredDurations コマンドを前に置く必要があります。

角括弧は連桁の範囲を示し、波括弧は演奏時間を変更される音符はどれなのかを示します。通常これら 2 つは同じ音符のグループを囲みますが、同じであることは必須ではありません: 2 つのコマンドは独立しています。

以下の例では、8 つの 16 分音符は 2 分音符とまったく同じ時間を占めますが、最初の音符の長さは最後の音符の長さの半分であり、中間の音符は徐々に長くなります。最初の 4 つの 32 分音符は徐々にスピード アップしますが、最後の 4 つの 32 分音符は一定のテンポです。

\relative c' {
  \override Beam.grow-direction = #LEFT
  \featherDurations #(ly:make-moment 2/1)
  { c16[ c c c c c c c] }
  \override Beam.grow-direction = #RIGHT
  \featherDurations #(ly:make-moment 2/3)
  { c32[ d e f] }
  % revert to non-feathered beams
  \override Beam.grow-direction = #'()
  { g32[ a b c] }
}

[image of music]

譜刻される音符の間隔は音符の演奏時間を近似的に表しているだけですが、MIDI 出力での演奏時間は正確です。

定義済みコマンド

\featherDurations

参照

コード断片集: Rhythms

既知の問題と警告

\featherDurations は非常に短い音楽コード断片に対してだけ、そして分数の数が小さいときにだけ機能します。


1.2.5 小節


小節線

小節線は小節を区切り、繰り返しを示すためにも使用されます。通常、単線の小節線が拍子に基づいて出力に自動的に挿入されます。

自動的に挿入される単線の小節線は \bar コマンドで他のタイプに変更することができます。例えば、通常、2 重線の閉じの小節線が楽曲の最後に配置されます:

\relative { e'4 d c2 \bar "|." }

[image of music]

ある小節の最後の音符が、自動的に挿入される小節線の所で終わっていなくても無効ではありません: その音符は次の小節に持ち越されるものと見なされます。しかしながら、そのような持ち越しのある小節がいくつも続く場合、その音楽は圧縮されて表示される可能性があり、ページからはみ出す可能性さえあります。これは、自動改行は完全な小節 – つまり、小節の終端ですべての音符が終わっている小節 – の終わりでのみ発生するからです。

Note: 誤った演奏時間の指定は改行を抑制し、結果として非常に圧縮された楽譜やページからはみ出す楽譜の原因となります。

手動で挿入された小節線のところでも – たとえ、その小節が不完全であっても – 改行することができます。小節線を譜刻せずに改行を可能にするには、以下を使用します:

\bar ""

これは不可視の小節線を挿入し、そこで改行が発生することを可能にします (強制はしません)。小節番号カウンタは増加しません。強制的に改行を行うには、改行 を参照してください。

不可視の小節線と他の特殊な小節線は任意の位置に手動で挿入することができます。それらの小節線の位置がある小節の終わりと一致する場合、それらの小節線はそこに自動で挿入されるはずだった単線の小節線に取って代わります。小節の終わりと一致しない場合、指定された小節線がその位置に挿入されます。

手動の小節線は純粋に視覚的なものです。それらは通常の小節線が影響を与えるプロパティ – 小節番号、臨時記号、改行など – には何の影響も与えません。手動の小節線はその後に続く自動小節線の算出や配置に影響を与えません。自動小節線がすでに存在する場所に手動小節線が配置されても、自動小節線の効果は変更されません。

手動で挿入できる小節線として、単線の小節線は 2 種類あり、2 重線の小節線は 5 種類あります:

\relative {
  f'1 \bar "|"
  f1 \bar "."
  g1 \bar "||"
  a1 \bar ".|"
  b1 \bar ".."
  c1 \bar "|.|"
  d1 \bar "|."
  e1
}

[image of music]

さらに、点線と破線の小節線があります:

\relative {
  f'1 \bar ";"
  g1 \bar "!"
  a1
}

[image of music]

さらに、繰り返しの小節線が 9 種類あります:

\relative {
  f'1 \bar ".|:"
  g1 \bar ":..:"
  a1 \bar ":|.|:"
  b1 \bar ":|.:"
  c1 \bar ":.|.:"
  d1 \bar "[|:"
  e1 \bar ":|][|:"
  f1 \bar ":|]"
  g1 \bar ":|."
  a1
}

[image of music]

更に、小節線は単純な短線として表示することができます:

f'1 \bar "'" g'1

[image of music]

しかし、このような短線は通常、グレゴリア聖歌の中で使われます。そこでは代わりに \divisioMinima を用いるほうが良いです。グレゴリア聖歌の ディビジオ セクションで説明してあります。

LilyPond は Kievan 記譜法をサポートしており、特殊な Kievan の小節線を入力することができます:

f'1 \bar "k"

[image of music]

この記譜法に関する更なる情報は、キエフ記譜法で譜刻する に説明してあります。

行内のセーニョ記号として、3 タイプの小節線があり、改行での振る舞いがそれぞれ異なります:

\relative c'' {
  c4 c c c
  \bar "S-||"
  c4 c c c \break
  \bar "S-||"
  c4 c c c
  \bar "S"
  c4 c c c \break
  \bar "S"
  c4 c c c
  \bar "S-S"
  c4 c c c \break
  \bar "S-S"
  c1
}

[image of music]

繰り返しを表す小節線は手動で挿入される場合がありますが、それらの小節線自体は LilyPond に繰り返されるセクションを認識させることはしません。そのような繰り返されるセクションはさまざまな繰り返しのコマンドを使って入力した方が良いです (繰り返し を参照してください)。繰り返しのコマンドは自動的に適切な小節線を譜刻します。

さらに、".|:-||" を使用することができます。これは ".|:" と等価ですが、例外として改行位置では、この小節線は行の終わりに 2 重線の小節線を置き、次の行の始めに繰り返し開始の小節線を置きます。

\relative c'' {
  c4 c c c
  \bar ".|:-||"
  c4 c c c \break
  \bar ".|:-||"
  c4 c c c
}

[image of music]

繰り返しとセーニョ記号の組み合わせは 6 種類あります:

\relative c'' {
  c4 c c c
  \bar ":|.S"
  c4 c c c \break
  \bar ":|.S"
  c4 c c c
  \bar ":|.S-S"
  c4 c c c \break
  \bar ":|.S-S"
  c4 c c c
  \bar "S.|:-S"
  c4 c c c \break
  \bar "S.|:-S"
  c4 c c c
  \bar "S.|:"
  c4 c c c \break
  \bar "S.|:"
  c4 c c c
  \bar ":|.S.|:"
  c4 c c c \break
  \bar ":|.S.|:"
  c4 c c c
  \bar ":|.S.|:-S"
  c4 c c c \break
  \bar ":|.S.|:-S"
  c1
}

[image of music]

さらに、\inStaffSegno コマンドがあります。これは、\repeat volta コマンドと用いられた際に、繰り返しの小節線と結合したセーニョ小節線を作り出します。通常の繰り返し を参照してください。

\defineBarLine を用いて、新しい小節線を定義することができます:

\defineBarLine bartype #'(end begin span)

\defineBarLine の引数は‘空の’文字列 "" を含むことができ、これは不可視の小節線を作り出します。または、#f にセットすることで、何の小節線も表示しないようにすることができます。

定義した後、新しい小節線は \bar bartype で使用することができます。

現在使用できる小節線の要素は 10 個存在します:

\defineBarLine ":" #'("" ":" "")
\defineBarLine "=" #'("=" "" "")
\defineBarLine "[" #'("" "[" "")
\defineBarLine "]" #'("]" "" "")

\new Staff {
  s1 \bar "|"
  s1 \bar "."
  s1 \bar "!"
  s1 \bar ";"
  s1 \bar ":"
  s1 \bar "k"
  s1 \bar "S"
  s1 \bar "="
  s1 \bar "["
  s1 \bar "]"
  s1 \bar ""
}

[image of music]

"=" 小節線は、セーニョ記号と組み合わせて使うための二重の小節線を提供します。二重の細い小節線を単独で表示させるためにをこれを使わないでください。\bar "||" を使ってください。

"-" 記号は、小節線に注釈を入れるために使用します。これは、同じ見た目をしていても改行によって挙動が変化する場合や、譜をまたぐ小節線の見た目が異なる場合に区別するのに便利です。"-" の後に続く部分は、小節線を構築する際に使用されません。

\defineBarLine "||-dashedSpan" #'("||" "" "!!")

\new StaffGroup <<
  \new Staff \relative c'' {
    c1 \bar "||"
    c1 \bar "||-dashedSpan"
    c1
  }
  \new Staff \relative c'' {
    c1
    c1
    c1
  }
>>

[image of music]

更に、スペース文字 " " は、譜をまたぐ小節線がメインの小節線に正しく揃うようにするプレース ホルダとして機能します:

\defineBarLine ":|.-wrong" #'(":|." "" "|.")
\defineBarLine ":|.-right" #'(":|." "" " |.")

\new StaffGroup <<
  \new Staff \relative c'' {
    c1 \bar ":|.-wrong"
    c1 \bar ":|.-right"
    c1
  }
  \new Staff \relative c'' {
    c1
    c1
    c1
  }
>>

[image of music]

小節線の要素を追加したい場合、LilyPond はそれらを定義するシンプルな手段を提供しています。小節線の変更あるいは追加に関する更なる情報は、ファイル ‘scm/bar-line-.scm’ を参照してください。

多くの譜を持つ楽譜では、ある譜の \bar コマンドは自動的にすべての譜に適用されます。結果として、StaffGroup, PianoStaff, あるいは GrandStaff では、小節線は譜をまたがって 1 本に接続されます。

<<
  \new StaffGroup <<
    \new Staff \relative {
      e'4 d
      \bar "||"
      f4 e
    }
    \new Staff \relative { \clef bass c'4 g e g }
  >>
  \new Staff \relative { \clef bass c'2 c2 }
>>

[image of music]

コマンド \bar bartype は ‘\set Timing.whichBar = bartype’ の短縮記法です。whichBar プロパティがセットされるといつでも小節線が作成されます。

自動的に挿入される小節線に使用されるデフォルトの小節線タイプは "|" です。これは ‘\set Timing.defaultBarType = bartype’ でいつでも変更することができます。

参照

記譜法リファレンス: 改行, 繰り返し, 譜をグループ化する

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

コード断片集: Rhythms

内部リファレンス: BarLine ( Staff の階層で作成されます), SpanBar (譜をまたぎます), Timing_translator (Timing プロパティ用です)


小節番号

小節番号は、デフォルトでは、最初の行を除く各行の開始点で譜刻されます。番号自体は currentBarNumber プロパティに保存されていて、通常は各小節で自動的に更新されます。小節番号を手動で設定することも可能です:

\relative c' {
  c1 c c c
  \break
  \set Score.currentBarNumber = #50
  c1 c c c
}

[image of music]

小節番号は、各行の開始点に配置する代わりに、規則的な間隔で譜刻することができます。このようにするには、小節番号を行の開始点以外の位置に譜刻できるよう、デフォルトの振る舞いをオーバライドする必要があります。これは BarNumberbreak-visibility プロパティによって制御されます。これは 3 つの値をとります – 3 つの値は、対応する小節番号を可視にするかしないかを指定するために、#t または #f にセットされます。3 つの値の順番は、end of line visible, middle of line visible, beginning of line visible (行の終了点での可視性、行の途中での可視性、行の開始点での可視性) です。以下の例では、譜刻可能な場所すべてに小節番号を譜刻しています:

\relative c' {
  \override Score.BarNumber.break-visibility = ##(#t #t #t)
  \set Score.currentBarNumber = #11
  % 最初の小節番号が表示されるようにします
  \bar ""
  c1 | c | c | c |
  \break
  c1 | c | c | c |
}

[image of music]

Selected Snippets

最初の小節に小節番号を表示する

デフォルトでは、最初の小節番号が ’1’ 以下の場合、表示が抑制されます。barNumberVisibilityall-bar-numbers-visible にセットすることで、最初の小節にも小節番号を表示することができます。しかし、これを動作させるためには更に、最初の音符の前に空白の小節線を挿入する必要があります。

\layout {
  indent = 0
  ragged-right = ##t
}

\relative c' {
  \set Score.barNumberVisibility = #all-bar-numbers-visible
  \bar ""
  c1 | d | e | f \break
  g1 | e | d | c
}

[image of music]

一定間隔で小節番号を表示する

barNumberVisibility プロパティをセットすることで、小節番号を一定間隔で表示することができます。以下の例では、行末を除いて、2 小節ごとに小節番号が表示されています。

\relative c' {
  \override Score.BarNumber.break-visibility = #end-of-line-invisible
  \set Score.currentBarNumber = #11
  % Permit first bar number to be printed
  \bar ""
  % Print a bar number every second measure
  \set Score.barNumberVisibility = #(every-nth-bar-number-visible 2)
  c1 | c | c | c | c
  \break
  c1 | c | c | c | c
}

[image of music]

小節番号が表示される間隔を変更する

小節番号が表示される間隔は {set-bar-number-visibility} コンテキスト関数を変更することで変更することもできます。

\relative c' {
  \override Score.BarNumber.break-visibility = #end-of-line-invisible
  \context Score \applyContext #(set-bar-number-visibility 4)
  \repeat unfold 10 c'1
  \context Score \applyContext #(set-bar-number-visibility 2)
  \repeat unfold 10 c
}

[image of music]

小節番号を四角や丸の中に表示する

小節番号は四角や丸の中に表示することができます。

\relative c' {
  % Prevent bar numbers at the end of a line and permit them elsewhere
  \override Score.BarNumber.break-visibility = #end-of-line-invisible
  \set Score.barNumberVisibility = #(every-nth-bar-number-visible 4)

  % Increase the size of the bar number by 2
  \override Score.BarNumber.font-size = #2

  % Draw a box round the following bar number(s)
  \override Score.BarNumber.stencil
    = #(make-stencil-boxer 0.1 0.25 ly:text-interface::print)
  \repeat unfold 5 { c1 }

  % Draw a circle round the following bar number(s)
  \override Score.BarNumber.stencil
    = #(make-stencil-circler 0.1 0.25 ly:text-interface::print)
  \repeat unfold 4 { c1 } \bar "|."
}

[image of music]

小節番号を変更する

小節番号を付番する異なる方法が 2 つあり、繰り返しのある音楽に対して有用です。

\relative c'{
  \set Score.alternativeNumberingStyle = #'numbers
  \repeat volta 3 { c4 d e f | }
    \alternative {
      { c4 d e f | c2 d \break }
      { f4 g a b | f4 g a b | f2 a | \break }
      { c4 d e f | c2 d }
    }
  c1 \break
  \set Score.alternativeNumberingStyle = #'numbers-with-letters
  \repeat volta 3 { c,4 d e f | }
    \alternative {
      { c4 d e f | c2 d \break }
      { f4 g a b | f4 g a b | f2 a | \break }
      { c4 d e f | c2 d }
    }
  c1
}

[image of music]

小節番号を揃える

デフォルトで小節番号は親オブジェクトに右揃えされます。つまり、小節番号は行の左端に、行内に表示される場合には小節線の左端に表示されます。これを中央揃えあるいは左揃えにすることができます。

\relative c' {
  \set Score.currentBarNumber = #111
  \override Score.BarNumber.break-visibility = #all-visible
  % Increase the size of the bar number by 2
  \override Score.BarNumber.font-size = #2
  % Print a bar number every second measure
  \set Score.barNumberVisibility = #(every-nth-bar-number-visible 2)
  c1 | c1
  % Center-align bar numbers
  \override Score.BarNumber.self-alignment-X = #CENTER
  c1 | c1
  % Left-align bar numbers
  \override Score.BarNumber.self-alignment-X = #LEFT
  c1 | c1
}

[image of music]

楽譜から小節線を削除する

Score コンテキストから Bar_number_engraver を削除することで、小節線を完全に削除することができます。

\layout {
  \context {
    \Score
    \omit BarNumber
    % or:
    %\remove "Bar_number_engraver"
  }
}

\relative c'' {
  c4 c c c \break
  c4 c c c
}

[image of music]

参照

コード断片集: Rhythms

内部リファレンス: BarNumber, Bar_number_engraver

既知の問題と警告

小節番号は StaffGroup の左括弧の上端と衝突する可能性があります。これを解決するには、BarNumberpadding プロパティを使って小節番号を適切な位置に配置します。詳細は StaffGroup BarNumber を参照してください。


小節と小節番号のチェック

小節チェックは入力された演奏時間の誤りを検出する手助けをします。小節チェックは、小節線が書き込まれると予想される場所ならどこにでも、小節記号 | を使うことで挿入できます。他の場所で小節チェックの線に遭遇した場合、警告のリストがログ ファイルに書き込まれ、小節チェックに失敗した行番号と行を示します。次の例では、2 番目の小節チェックがエラーを発します。

\time 3/4 c2 e4 | g2 |

正しくない演奏時間は滅茶苦茶な楽譜を生成する可能性があります – 特にその楽譜が多声である場合はそうなる可能性があります。入力を修正するには、まずざっと見て失敗した小節チェックと演奏時間の誤りを探すと良いでしょう。

連続する小節チェックは同じ音楽的間隔で off になり、最初の警告メッセージだけが表示されます。これにより、警告の焦点がタイミング エラーの発生源に絞られます。

歌詞でも小節チェックを使用することができます。以下に例を挙げます:

\lyricmode {
  \time 2/4
  Twin -- kle | Twin -- kle |
}

歌詞での小節チェック マークは、マークが処理されてその次の音節が出現するタイミングで評価されます。もし歌詞が、小節の最初に休符を持つボイスと関連づいているなら、その小節の最初に配置できる音節が存在せず、警告が表示されます。

入力の中で小節チェックあるいはパイプ記号 | に遭遇した場合にとられるアクションを再定義することも可能です。これにより、小節チェック以外のことを行うことができます。再定義は音楽表記を "|" に代入することによって行います。以下の例では、| は小節の終わりをチェックするのではなく、それが現れた場所に 2 重線の小節線を挿入するようセットされています。

"|" = \bar "||"
{
  c'2 c' |
  c'2 c'
  c'2 | c'
  c'2 c'
}

[image of music]

大きな楽曲をコピーしている場合、LilyPond の小節番号とコピー元のオリジナルの小節番号の対応をチェックすると役に立ちます。この対応は \barNumberCheck によってチェックすることができます。例えば、

\barNumberCheck #123

を使用すると、currentBarNumber が処理された時に 123 でなければ、警告が表示されます。

参照

コード断片集: Rhythms


リハーサル記号

リハーサル記号を譜刻するには、\mark コマンドを使用します:

\relative c'' {
  c1 \mark \default
  c1 \mark \default
  c1 \mark \default
  c1 \mark \default
}

[image of music]

\mark \default を使用するとリハーサル記号は自動的に +1 されますが、手動で整数をリハーサル記号にセットすることもできます。セットした値は rehearsalMark に保存されます。

\relative c'' {
  c1 \mark \default
  c1 \mark \default
  c1 \mark #8
  c1 \mark \default
  c1 \mark \default
}

[image of music]

文字 ‘I’ は、譜刻の慣習に従って、スキップされます。文字 ‘I’ を含めたければ、リハーサル記号のスタイル (文字のみ、四角で囲まれた文字、丸で囲まれた文字) に合わせて以下のコマンドの 1 つを使用します:

\set Score.markFormatter = #format-mark-alphabet
\set Score.markFormatter = #format-mark-box-alphabet
\set Score.markFormatter = #format-mark-circle-alphabet
\relative c'' {
  \set Score.markFormatter = #format-mark-box-alphabet
  c1 \mark \default
  c1 \mark \default
  c1 \mark #8
  c1 \mark \default
  c1 \mark \default
}

[image of music]

スタイルはプロパティ markFormatter によって定義されます。これは引数としてカレントの記号 (整数) とカレントのコンテキストをとる関数です。この関数はマークアップ オブジェクトを返します。以下の例では、markFormatter には定義済みの手続きがセットされています。数小節後では、四角で囲まれた番号を作り出す手続きがセットされています。

\relative c'' {
  \set Score.markFormatter = #format-mark-numbers
  c1 \mark \default
  c1 \mark \default
  \set Score.markFormatter = #format-mark-box-numbers
  c1 \mark \default
  \set Score.markFormatter = #format-mark-circle-numbers
  c1 \mark \default
  \set Score.markFormatter = #format-mark-circle-letters
  c1
}

[image of music]

ファイル ‘scm/translation-functions.scm’ は format-mark-letters (デフォルトのフォーマット), format-mark-box-letters, format-mark-numbers それに format-mark-box-numbers の定義を保持しています。これらを参考にして他のフォーマット関数を作り出すこともできます。

加算された数字や文字の代わりに小節番号を取得するために format-mark-barnumbers, format-mark-box-barnumbers, それに format-mark-circle-barnumbers を使うことがあります。

リハーサル記号の他のスタイルを手動で指定することができます:

\mark "A1"

Score.markFormatter はこの方法で指定された記号に影響を与えません。しかしながら、文字列として \markup 使用することができます。

\mark \markup { \box A1 }

音楽的図柄 (セーニョ記号など) を \mark の中に譜刻することができます:

\relative c' {
  c1 \mark \markup { \musicglyph "scripts.segno" }
  c1 \mark \markup { \musicglyph "scripts.coda" }
  c1 \mark \markup { \musicglyph "scripts.ufermata" }
  c1
}

[image of music]

\musicglyph を使用して譜刻できる記号のリストは、Emmentaler フォント を参照してください。

リハーサル記号の配置の一般的な調整については、テキストをフォーマットする を参照してください。更に細かな制御を行う場合は、オブジェクトを揃えるbreak-alignable-interface を参照してください。

ファイル ‘scm/translation-functions.scm’ は format-mark-numbersformat-mark-letters の定義を保持しています。ここにある定義を参考にして他のフォーマット関数を作り出すことができます。

参照

記譜法リファレンス: Emmentaler フォント, テキストをフォーマットする, オブジェクトを揃える

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

コード断片集: Rhythms

内部リファレンス: MarkEvent, Mark_engraver, RehearsalMark


1.2.6 特殊なリズム関連事項


装飾小音符

装飾小音符は装飾の音であり、小さなフォントで表示され、論理的には演奏時間を持ちません。

\relative {
  c''4 \grace b16 a4(
  \grace { b16 c16 } a2)
}

[image of music]

装飾音符には他にも 3 つのタイプがあります。acciaccatura (長さを持たない装飾小音符で、スラーでつなげられるスラッシュ付きの符幹を持つ音符) と、 appoggiatura (一定の比率で主音符から演奏時間を取り、スラッシュを持たない音符) です。スラーで結ばれた主音符の間に装飾小音符を配置するために、\slashedGrace 関数を用いて、 acciaccatura のようにスラッシュ付きの符幹を持つがスラーは付かない装飾小音符を譜刻することもできます。

\relative {
  \acciaccatura d''8 c4
  \appoggiatura e8 d4
  \acciaccatura { g16 f } e2
  \slashedGrace a,8 g4
  \slashedGrace b16 a4(
  \slashedGrace b8 a2)
}

[image of music]

装飾小音符の配置は他の譜と同期されます。以下の例では、8 分の装飾小音符 1 つに対して 2 つの 16 分装飾小音符が割り当てられています:

<<
  \new Staff \relative { e''2 \grace { c16 d e f } e2 }
  \new Staff \relative { c''2 \grace { g8 b } c2 }
>>

[image of music]

装飾小音符で記譜を終えたいのならば、\afterGrace コマンドを使用します。このコマンドは 2 つの引数をとります: 主音符と主音符の後に続く装飾小音符です。

\relative { c''1 \afterGrace d1 { c16[ d] } c1 }

[image of music]

これは主音符の後に装飾小音符を配置します。装飾小音符がどのタイミングで配置されるかは、主音符の長さとの割合で決められます。以下に示すデフォルトの設定はトップレベルで再定義することができます:

afterGraceFraction = 3/4

代わりに、個々の \afterGrace コマンドの直後に分数を与えることで割合を指定することもできます。

次の例は順に、デフォルトのスペース、主音符の 15/16 に指定した場合、主音符の 1/2 に指定した場合の結果を示しています。

<<
  \new Staff \relative {
    c''1 \afterGrace d1 { c16[ d] } c1
  }
  \new Staff \relative {
    c''1 \afterGrace 15/16 d1 { c16[ d] } c1
  }
  \new Staff \relative {
    c''1 \afterGrace 1/2 d1 { c16[ d] } c1
  }
>>

[image of music]

\afterGrace の効果は、空白休符を用いても得ることができます。以下の例では、主音符の長さの 7/8 のスペースをとった後に装飾小音符を配置しています。

\new Voice \relative {
  <<
    { d''1^\trill_( }
    { s2 s4. \grace { c16 d } }
  >>
  c1)
}

[image of music]

\grace 音楽表記は特殊な譜刻設定を導入します – 例えば、小さなフォントを作り出し、向きを設定するためです。それゆえ、装飾小音符の特殊な設定をオーバライドするためにレイアウトの調整を行う場合、調整は装飾小音符の表記の中に置くべきです。さらに、そのオーバライドは装飾小音符の表記の中で元に戻しておくべきです。以下の例では、装飾小音符の符幹のデフォルトの向きがオーバライドされ、それから元に戻されています。

\new Voice \relative {
  \acciaccatura {
    \stemDown
    f''16->
    \stemNeutral
  }
  g4 e c2
}

[image of music]

Selected Snippets

通常の符頭で装飾音符のスラッシュを使用する

アッチャカトゥーラに付加されるスラッシュを、他の場面で使用することができます。

\relative c'' {
  \override Flag.stroke-style = #"grace"
  c8( d2) e8( f4)
}

[image of music]

装飾音符のスタイルを調整する

add-grace-property, remove-grace-property を用いて、装飾音符のスタイルを楽譜全体にわたって変更することができます。次の例は 常に上向きとなっている Stem の向きの設定を無効にして、またデフォルトの符頭をクロスに変更しています。

\relative c'' {
  \new Staff {
    $(remove-grace-property 'Voice 'Stem 'direction)
    $(add-grace-property 'Voice 'NoteHead 'style 'cross)
    \new Voice {
       \acciaccatura { f16 } g4
       \grace { d16 e } f4
       \appoggiatura { f,32 g a } e2
    }
  }
}

[image of music]

装飾音符のデフォルトの挙動を再定義する

装飾音符に関するデフォルトの識別子は startGraceMusic, stopGraceMusic, startAcciaccaturaMusic, stopAcciaccaturaMusic, startAppoggiaturaMusic, stopAppoggiaturaMusic であり、‘ly/grace-init.ly’ に定義されています。これらを再定義することで、装飾音符の挙動を変更することができます。

startAcciaccaturaMusic = {
  <>(
  \override Flag.stroke-style = #"grace"
  \slurDashed
}

stopAcciaccaturaMusic = {
  \revert Flag.stroke-style
  \slurSolid
  <>)
}

\relative c'' {
  \acciaccatura d8 c1
}

[image of music]

装飾音符を浮いたスペースに配置する

strict-grace-spacing プロパティをセットすることで、装飾音符を列として ’浮いた’ 状態にすることができます。つまり、装飾音符ではない音符のスペーシングと独立させることができます: まず、通常の音符がスペーシングされ、その後に装飾音符が左側に配置されます。

\relative c'' {
  <<
    \override Score.SpacingSpanner.strict-grace-spacing = ##t
    \new Staff \new Voice {
      \afterGrace c4 { c16[ c8 c16] }
      c8[ \grace { b16 d } c8]
      c4 r
    }
    \new Staff {
      c16 c c c c c c c c4 r
    }
  >>
}

[image of music]

参照

音楽用語集: grace notes, acciaccatura, appoggiatura

記譜法リファレンス: 演奏時間を変更する, 手動連桁

インストールされているファイル: ‘ly/grace-init.ly

コード断片集: Rhythms

内部リファレンス: GraceMusic, Grace_beam_engraver, Grace_auto_beam_engraver, Grace_engraver, Grace_spacing_engraver

既知の問題と警告

複数の音符を連桁でつないだ アッチャカトゥーラ にはスラッシュは付けられず、複数の音符を連桁でつないだ アッポジャトゥーラ とまったく同じに見えます。

装飾小音符の同期は予期しない結果を引き起こす可能性があります。譜の記譜要素 – 拍子、小節線など – も同期をとられます。装飾小音符を持つ譜と持たない譜を混在させる場合は気をつけて下さい。例えば:

<<
  \new Staff \relative { e''4 \bar ".|:" \grace c16 d2. }
  \new Staff \relative { c''4 \bar ".|:" d2. }
>>

[image of music]

これは、他の譜にある装飾小音符の演奏時間に対応した空白の装飾小音符を挿入することによって修正することができます。上の例を以下のように修正します:

<<
  \new Staff \relative { e''4 \bar ".|:" \grace c16 d2. }
  \new Staff \relative { c''4 \bar ".|:" \grace s16 d2. }
>>

[image of music]

実際の音符部分には \acciaccatura\appoggiatura を用いていたとしても、空白休符の部分には \grace コマンドを用いるようにしてください。そうしないと、見えない装飾小音符と次の音符とを繋ぐ、醜いスラーが表示されます。

装飾小音符セクションはシーケンシャルな音楽表記の中でのみ使用すべきです。装飾小音符セクションのネスト、並置はサポートされておらず、クラッシュや他のエラーを引き起こすかもしれません。

MIDI 出力において装飾小音符はそれぞれ 1/4 の実演奏時間を持ちます。一連の装飾小音符の演奏時間が前の音符の演奏時間よりも長い場合、“Going back in MIDI time” エラーになります。エラーを避けるには、装飾小音符の演奏時間を短くします。例えば:

c'8 \acciaccatura { c'8[ d' e' f' g'] }

を以下のようにします:

c'8 \acciaccatura { c'16[ d' e' f' g'] }

あるいは、明示的に演奏時間を変更します:

c'8 \acciaccatura { \scaleDurations 1/2 { c'8[ d' e' f' g'] } }

演奏時間を変更する を参照してください。


カデンツァに揃える

オーケストラのコンテキストにおいて、カデンツァは特殊な問題を提起します: 楽譜の構成に演奏時間を持つカデンツァや他のソロ パッセージが含まれる場合、他のすべての楽器は、そのカデンツァの演奏時間の分だけスキップする必要があります。さもなければ、他の楽器はカデンツァの終わりよりも早すぎる (あるいは遅すぎる) タイミングで始まってしまいます。

この問題の解決方法の一つは、関数 mmrest-of-lengthskip-of-length を使用することです。これらの Scheme 関数は、引数として定義済みの音楽表記をとり、その音楽表記と同じ長さの複数小節休符または \skip を生成します。

MyCadenza = \relative {
  c'4 d8 e f g g4
  f2 g4 g
}

\new GrandStaff <<
  \new Staff {
    \MyCadenza c'1
    \MyCadenza c'1
  }
  \new Staff {
    #(mmrest-of-length MyCadenza)
    c'1
    #(skip-of-length MyCadenza)
    c'1
  }
>>

[image of music]

参照

音楽用語集: cadenza

コード断片集: Rhythms


時間管理

時間は Timing_translator – これは、デフォルトでは、Socre コンテキストの中にあります – によって管理されます。エイリアス TimingTiming_translator が配置されているコンテキストに付け加えられます。 エイリアス Timing が利用可能であることを保証するため、コンテキスト (VoiceStaff など) を明示的にインスタンス化する必要があるかもしれません。

以下の Timing のプロパティは、楽譜内でのタイミングの経過を追うために使用されます。

currentBarNumber

カレントの小節番号。このプロパティの使用例は、小節番号 を参照してください。

measureLength

カレントの拍子での小節の長さ。4/4 拍子では 1 であり、6/8 拍子では 3/4 です。この値は小節線を挿入するタイミングと自動連桁の生成の仕方を決定します。

measurePosition

カレントで処理している小節内での位置。この値は、measureLength に到達するか超過したときに、この値から measureLength を減算されることによって、リセットされます。リセットが起こるときに、currentBarNumber が +1 されます。

timing

真にセットされている場合、各タイム ステップごとに上記の変数は更新されます。偽にセットされている場合、エングラーバはカレントの小節に永久に留まります。

タイミングは、上記の値のいずれかを明示的に設定することによって、変更することができます。次の例では、デフォルトの 4/4 拍子が譜刻されていますが、measureLength は 5/4 にセットされています。第 3 小節の 4/8 の位置で、measurePositoin は 1/8 進められて 5/8 になり、それによりその小節は 1/8 短くされます。次の小節線は 5/4 ではなく 9/8 の位置で引かれます。

\new Voice \relative {
  \set Timing.measureLength = #(ly:make-moment 5/4)
  c'1 c4 |
  c1 c4 |
  c4 c
  \set Timing.measurePosition = #(ly:make-moment 5/8)
  b4 b b8 |
  c4 c1 |
}

[image of music]

この例が示すように、ly:make-moment n/m は全音符の n/m の長さの演奏時間を構成します。例えば、ly:make-moment 1/8 は 1 個の 8 分音符の演奏時間であり、ly:make-moment 7/16 は 7 個の 16 分音符の演奏時間です。

参照

記譜法リファレンス: 小節番号, 無韻律の音楽

コード断片集: Rhythms

内部リファレンス: Timing_translator, Score


1.3 発想記号

[image of music]

このセクションでは楽譜の中で作成可能なさまざまな発想記号をリストアップします。


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'' {
  c2*2/3 ( s2*1/3\turn d4) r
  <<
    { c4.( d8) }
    { s4 s\turn }
  >>
  \transpose c d \relative c'' <<
    { c4.( d8) }
    {
      s4
      \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
      \single \hideNotes
      b8-\turn \noBeam
      s8
    }
  >>
}

[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 プロパティを変更することで長くすることができます。

\relative c'' {
  c4\< c\! d\> e\!
  << f1 { s4 s\< s\> s\! } >>
  \override Hairpin.minimum-length = #5
  << f1 { s4 s\< s\> s\! } >>
}

[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

コード断片集: 発想記号


1.3.2 曲線の発想記号

このセクションでは曲線を持つさまざまな発想記号 – 通常のスラー、フレージング スラー、ブレス記号、Fall それに Doit – を作成する方法について説明します。


スラー

スラー は括弧を用いて入力します:

Note: 多声音楽では、スラーが始まったボイスでそのスラーを終わらせる必要があります。

\relative {
  f''4( g a) a8 b(
  a4 g2 f4)
  <c e>2( <b d>2)
}

[image of music]

スラーを手動で音符の上または下に配置することができます。向きと配置 を参照してください。

同時進行する、あるいは重なるスラーは特別な注意を必要とします。通常、外側のスラーはフレージングを表し、フレージング スラーは通常のスラーと重複します。フレージング スラーを参照してください。一つの Voice に通常のスラーが複数必要な場合、スラーの前に \= と識別子 (シンボルか非負の整数) を入力することによって、対応するスラーの始点と終点にラベルを付ける必要があります。

\fixed c' {
  <c~ f\=1( g\=2( >2 <c e\=1) a\=2) >
}

[image of music]

スラーは実線、点線あるいは破線のどれかになります。実線がスラーのデフォルト スタイルです:

\relative {
  c'4( e g2)
  \slurDashed
  g4( e c2)
  \slurDotted
  c4( e g2)
  \slurSolid
  g4( e c2)
}

[image of music]

スラーの半分を破線 (前半を破線、後半を実線) にする、あるいは、半分を実線 (前半を実線、後半を破線) にすることもできます:

\relative {
  c'4( e g2)
  \slurHalfDashed
  g4( e c2)
  \slurHalfSolid
  c4( e g2)
  \slurSolid
  g4( e c2)
}

[image of music]

スラーの破線パターンを定義することができます:

\relative {
  c'4( e g2)
  \slurDashPattern #0.7 #0.75
  g4( e c2)
  \slurDashPattern #0.5 #2.0
  c4( e g2)
  \slurSolid
  g4( e c2)
}

[image of music]

定義済みコマンド

\slurUp, \slurDown, \slurNeutral, \slurDashed, \slurDotted, \slurHalfDashed, \slurHalfSolid, \slurDashPattern, \slurSolid

Selected Snippets

和音のレガートに 2 つのスラーを使用する

和音をレガートで演奏する場合、2 つのスラーを書く場合があります。これは doubleSlurs をセットすることで実現できます。

\relative c' {
  \set doubleSlurs = ##t
  <c e>4( <d f> <c e> <d f>)
}

[image of music]

テキスト マークアップをスラーの内側に配置する

テキスト マークアップをスラーの内側に配置するには、outside-staff-priority プロパティを #f に設定する必要があります。

\relative c'' {
  \override TextScript.avoid-slur = #'inside
  \override TextScript.outside-staff-priority = ##f
  c2(^\markup { \halign #-10 \natural } d4.) c8
}

[image of music]

複雑な破線のスラーを作成する

dash-definition プロパティをセットすることで、スラーに複雑な破線パターンを追加することができます。dash-definitiondash-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)
}

[image of music]

参照

音楽用語集: slur

学習マニュアル: ネストされない括弧とタイ

記譜法リファレンス: 向きと配置, フレージング スラー

コード断片集: 発想記号

内部リファレンス: Slur


フレージング スラー

音楽センテンスを示す フレージング スラー (またはフレーズ記号) はコマンド \(\) を用いて記述します:

\relative {
  c''4\( d( e) f(
  e2) d\)
}

[image of music]

印刷の上では、フレージング スラーは通常のスラーとほとんど同じです。しかしながら、それぞれ異なるオブジェクトとして取り扱われます。\slurUp はフレージング スラーには影響を与えません。フレージング スラーを手動で音符の上または下に配置することができます。向きと配置 を参照してください。

同時進行あるいは重なり合うフレージング スラーは、通常のスラーと同様に \= を用いて入力する必要があります。スラー を参照してください。

フレージング スラーを実線、点線あるいは破線にすることができます。実線がフレージング スラーのデフォルト スタイルです:

\relative {
  c'4\( e g2\)
  \phrasingSlurDashed
  g4\( e c2\)
  \phrasingSlurDotted
  c4\( e g2\)
  \phrasingSlurSolid
  g4\( e c2\)
}

[image of music]

フレージング スラーの半分を破線 (前半を破線、後半を実線) にする、あるいは、半分を実線 (前半を実線、後半を破線) にすることもできます:

\relative {
  c'4\( e g2\)
  \phrasingSlurHalfDashed
  g4\( e c2\)
  \phrasingSlurHalfSolid
  c4\( e g2\)
  \phrasingSlurSolid
  g4\( e c2\)
}

[image of music]

フレージング スラーの破線パターンを定義することができます:

\relative {
  c'4\( e g2\)
  \phrasingSlurDashPattern #0.7 #0.75
  g4\( e c2\)
  \phrasingSlurDashPattern #0.5 #2.0
  c4\( e g2\)
  \phrasingSlurSolid
  g4\( e c2\)
}

[image of music]

フレージング スラーに対する破線パターンの定義は、スラーに対する破線パターンの定義と同じ構造をとります。複雑な破線パターンについての更なる情報は、スラー のコード断片集を参照してください。

定義済みコマンド

\phrasingSlurUp, \phrasingSlurDown, \phrasingSlurNeutral, \phrasingSlurDashed, \phrasingSlurDotted, \phrasingSlurHalfDashed, \phrasingSlurHalfSolid, \phrasingSlurDashPattern, \phrasingSlurSolid

参照

学習マニュアル: ネストされない括弧とタイ

記譜法リファレンス: 向きと配置, スラー

コード断片集: 発想記号

内部リファレンス: PhrasingSlur


ブレス記号

ブレス記号は \breathe を用いて入力します:

{ c''2. \breathe d''4 }

[image of music]

ブレス記号は他の発想記号と異なり、前の音符と関連したものではなく、独立した音楽イベントです。そのため、前の音符に付加する発想記号や、手動連桁を示す角括弧、スラーやフレージング スラーを示す括弧は \breathe の前に配置されなければなりません。

ブレス記号は自動連桁を終わらせます。この振る舞いをオーバライドする方法は、手動連桁 を参照してください。

\relative { c''8 \breathe d e f g2 }

[image of music]

古代記譜法でのブレス記号の音楽指示子 – divisio (ディビジオ: 区切り記号) がサポートされています。詳細は ディビジオ を参照してください。

Selected Snippets

ブレス記号を変更する

ブレス記号のグリフは BreathingSign レイアウト オブジェクトの text プロパティをオーバライドすることで、任意のマークアップ テキストに変更することができます。

\relative c'' {
  c2
  \override BreathingSign.text =
    \markup { \musicglyph "scripts.rvarcomma" }
  \breathe
  d2
}

[image of music]

ブレス記号にチェックを使用する

歌曲や管楽では、ブレス記号によくチェック マークを使用します。これはコンマ記号で示すように短い間を挿入するものではなく、マークの前にある音符を少しだけ短くすることでブレスを行います。マークを譜から離すために、上方向に少し移動しています。

\relative c'' {
  c2
  \breathe
  d2
  \override BreathingSign.Y-offset = #2.6
  \override BreathingSign.text =
    \markup { \musicglyph "scripts.tickmark" }
  c2
  \breathe
  d2
}

[image of music]

カエスーラを挿入する

カエスーラ記号は 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
}

[image of music]

参照

音楽用語集: caesura

記譜法リファレンス: ディビジオ

コード断片集: 発想記号

内部リファレンス: BreathingEvent, BreathingSign, Breathing_sign_engraver


Fall と Doit

\bendAfter コマンドを用いて、FallDoit 音符にを付け加えることができます。Fall あるいは Doit の向きはプラスあるいはマイナス (上あるいは下) で示します。指示の数は Fall あるいは Doit の主音符を展開させるピッチの幅を示します。

\relative c'' {
  c2\bendAfter #+4
  c2\bendAfter #-4
  c2\bendAfter #+6.5
  c2\bendAfter #-6.5
  c2\bendAfter #+8
  c2\bendAfter #-8
}

[image of music]

Selected Snippets

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
}

[image of music]

参照

音楽用語集: fall, doit

コード断片集: 発想記号


1.3.3 直線の発想記号

このセクションでは直線的な軌道をとるさまざまな発想記号 – グリッサンド、アルペジオそれにトリル – を作成する方法について説明します。


グリッサンド

グリッサンド は音符の後に \glissando を付けることによって作成されます:

\relative {
  g'2\glissando g'
  c2\glissando c,
  \afterGrace f,1\glissando f'16
}

[image of music]

グリッサンドは譜を跨いで音符を結ぶことができます:

\new PianoStaff <<
  \new Staff = "right" {
    e'''2\glissando
    \change Staff = "left"
    a,,4\glissando
    \change Staff = "right"
    b''8 r |
  }
  \new Staff = "left" {
    \clef bass
    s1
  }
>>

[image of music]

グリッサンドは和音の中にある音符を結ぶことができます。2 つの和音の音符を平行に 1 対 1 で結ぶのではない場合、 \glissandoMap を設定することで、結び方を定義する必要があります。和音の音符は入力ファイル ‘.ly’ で出現する順に 0, 1, … と番号が付きます。

\relative {
  <c' e>1\glissando g' |
  <c, e>1\glissando |
  <g' b> |
  \break
  \set glissandoMap = #'((0 . 1) (1 . 0))
  <c, g'>1\glissando |
  <d a'> |
  \set glissandoMap = #'((0 . 0) (0 . 1) (0 . 2))
  c1\glissando |
  <d f a> |
  \set glissandoMap = #'((2 . 0) (1 . 0) (0 . 1))
  <f d a'>1\glissando |
  <c c'> |
}

[image of music]

異なるスタイルのグリッサンドを作成することもできます。詳細は ライン スタイル を参照してください。

Selected Snippets

現代のグリッサンド

終端の音符が存在しない現代のグリッサンドは、不可視の音符とカデンツァを使用することで作ることができます。

\relative c'' {
  \time 3/4
  \override Glissando.style = #'zigzag
  c4 c
  \cadenzaOn
  c4\glissando
  \hideNotes
  c,,4
  \unHideNotes
  \cadenzaOff
  \bar "|"
}

[image of music]

長いグリッサンドにタイミング マークを追加する

長いグリッサンド部分の拍をタイミング マークで表示する場合があります。これは通例符頭が無く符幹だけの音符として表され、この中間部分に発想記号を付け加えることもできます。

符幹がグリッサンドにうまく揃わない場合には、わずかに配置を調整する必要があるかもしれません。

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

[image of music]

グリッサンドを改行できるようにする

after-line-breaking と共に breakable プロパティを #t にすることで、グリッサンドの途中で改行することができます。

glissandoSkipOn = {
  \override NoteColumn.glissando-skip = ##t
  \hide NoteHead
  \override NoteHead.no-ledgers = ##t
}

\relative c'' {
  \override Glissando.breakable = ##t
  \override Glissando.after-line-breaking = ##t
  f1\glissando |
  \break
  a4 r2. |
  f1\glissando
  \once \glissandoSkipOn
  \break
  a2 a4 r4 |
}

[image of music]

繰り返しにまたがるグリッサンド

複数の \alternative ブロックにまたがるグリッサンドは、\alternative ブロックの始まりに見えない装飾音符を配置し、グリッサンドを付加することで模倣することができます。装飾音符のピッチはグリッサンドの始端と同じであるべきです。ここでは、装飾音符のピッチを引数に取る音楽関数を定義しています。

多声の音楽では、他のボイスの装飾音符と位置を合わせる必要があります。

repeatGliss = #(define-music-function (grace)
  (ly:pitch?)
  #{
    % the next two lines ensure the glissando is long enough
    % to be visible
    \once \override Glissando.springs-and-rods
      = #ly:spanner::set-spacing-rods
    \once \override Glissando.minimum-length = #3.5
    \once \hideNotes
    \grace $grace \glissando
  #})

\score {
  \relative c'' {
    \repeat volta 3 { c4 d e f\glissando }
    \alternative {
      { g2 d }
      { \repeatGliss f g2 e }
      { \repeatGliss f e2 d }
    }
  }
}

music =  \relative c' {
  \voiceOne
  \repeat volta 2 {
    g a b c\glissando
  }
  \alternative {
    { d1 }
    { \repeatGliss c \once \omit StringNumber e1\2 }
  }
}

\score {
  \new StaffGroup <<
    \new Staff <<
      \new Voice { \clef "G_8" \music }
    >>
    \new TabStaff  <<
      \new TabVoice { \clef "moderntab" \music }
    >>
  >>
}

[image of music]

参照

音楽用語集: glissando

記譜法リファレンス: ライン スタイル

コード断片集: 発想記号

内部リファレンス: Glissando

既知の問題と警告

線の上にテキストを譜刻する (gliss. など) ことはサポートされていません。


アルペジオ

和音の アルペジオ (変則和音とも呼ばれます) は和音構造の後に \arpeggio を付けることによって記述されます:

\relative { <c' e g c>1\arpeggio }

[image of music]

異なるタイプのアルペジオを描くこともできます。\arpeggioNormal は通常のアルペジオに戻します:

\relative {
  <c' e g c>2\arpeggio

  \arpeggioArrowUp
  <c e g c>2\arpeggio

  \arpeggioArrowDown
  <c e g c>2\arpeggio

  \arpeggioNormal
  <c e g c>2\arpeggio
}

[image of music]

特殊な 括弧スタイル のアルペジオ シンボルを作成することができます:

\relative {
  <c' e g c>2

  \arpeggioBracket
  <c e g c>2\arpeggio

  \arpeggioParenthesis
  <c e g c>2\arpeggio

  \arpeggioParenthesisDashed
  <c e g c>2\arpeggio

  \arpeggioNormal
  <c e g c>2\arpeggio
}

[image of music]

括弧スタイルのアルペジオの破線プロパティは 'dash-definition プロパティで制御します。'dash-definition プロパティについては スラー で説明しています。

アルペジオをタイを用いて明示的に描き出すことができます。詳細は タイ を参照してください。

定義済みコマンド

\arpeggio, \arpeggioArrowUp, \arpeggioArrowDown, \arpeggioNormal, \arpeggioBracket, \arpeggioParenthesis, \arpeggioParenthesisDashed

Selected Snippets

ピアノ譜で譜をまたがるアルペジオを作成する

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

[image of music]

他のコンテキストで譜をまたがるアルペジオを作成する

譜をまたがるアルペジオは Span_arpeggio_engraverScore コンテキストに追加されていれば、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"
    }
  }
}

[image of music]

異なるボイスにまたがるアルペジオを作成する

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

[image of music]

参照

音楽用語集: arpeggio

記譜法リファレンス: スラー, タイ

コード断片集: 発想記号

内部リファレンス: Arpeggio, Slur, PianoStaff

既知の問題と警告

ある PianoStaff の中の同時点で譜を跨ぐアルペジオと跨がないアルペジオを混在させることはできません。

譜を跨ぐアルペジオに括弧スタイルのアルペジオを適用することは単純な方法ではできません。譜を跨ぐ符幹を参照してください。


トリル

延長線を持たない短い トリル\trill で譜刻されます。アーティキュレーションと装飾 を参照してください。

延長線を持つ長いトリルは \startTrillSpan\stopTrillSpan で作成されます:

\relative {
  d''1\startTrillSpan
  d1
  c2\stopTrillSpan
  r2
}

[image of music]

改行を跨ぐトリルは、次行の最初の音符の上から再開されます。

\relative {
  d''1\startTrillSpan
  \break
  d1
  c2\stopTrillSpan
  r2
}

[image of music]

連続したトリルには、明示的な \stopTrillSpan コマンドは必要ありません。なぜなら、自動的に次のトリルが前のトリルの右端となるからです。

\relative {
  d''1\startTrillSpan
  d1
  b1\startTrillSpan
  d2\stopTrillSpan
  r2
}

[image of music]

トリルを装飾小音符と組み合わせることもできます。この組み合わせの構文と装飾小音符を正確に配置する方法については、装飾小音符 で説明しています。

\relative {
  d''1~\afterGrace
  d1\startTrillSpan { c32[ d]\stopTrillSpan }
  c2 r2
}

[image of music]

明示的なピッチを持つ予備の音符を必要とするトリルは \pitchedTrill コマンドを用いて譜刻することができます。最初の引数は主音符です。2 番目の引数は トリル の音符であり、括弧で囲まれた符幹を持たない符頭として譜刻されます。

\relative {
  \pitchedTrill
  d''2\startTrillSpan fis
  d2
  c2\stopTrillSpan
  r2
}

[image of music]

小節内で最初に出現するピッチを持つトリルでは、臨時記号がナチュラルも含めて表示されます。

{
  \key d \major
  \pitchedTrill
  d'2\startTrillSpan cis d\stopTrillSpan 
  \pitchedTrill
  d2\startTrillSpan c d\stopTrillSpan
  \pitchedTrill
  d2\startTrillSpan e d\stopTrillSpan
}

[image of music]

続く (同じ小節内の同じ音程の) 臨時記号は、手動で追加する必要があります。

\relative {
  \pitchedTrill
  eis''4\startTrillSpan fis
  eis4\stopTrillSpan
  \pitchedTrill
  eis4\startTrillSpan cis
  eis4\stopTrillSpan
  \pitchedTrill
  eis4\startTrillSpan fis
  eis4\stopTrillSpan
  \pitchedTrill
  eis4\startTrillSpan fis!
  eis4\stopTrillSpan
}

[image of music]

定義済みコマンド

\startTrillSpan, \stopTrillSpan

参照

音楽用語集: trill

記譜法リファレンス: アーティキュレーションと装飾, 装飾小音符

コード断片集: 発想記号

内部リファレンス: TrillSpanner


1.4 繰り返し

[image of music]

繰り返しは音楽の主要なコンセプトであり、繰り返しのために複数の記譜法が存在します。LilyPond は以下の種類の繰り返しをサポートします:

volta

繰り返される音楽は描き出されませんが、繰り返しの小節線で囲まれます。繰り返しが楽曲の先頭にある場合、繰り返しの小節線は繰り返しの終端にのみ譜刻されます。繰り返し時に入れ替えて演奏される部分 (volta) は囲みの右側に譜刻されます。これは入れ替えがある繰り返しの標準的な記譜法です。

unfold

繰り返される音楽は、repeatcount によって指定された回数だけ、描き出されます。これは反復の多い音楽を入力するときに有用です。

percent

これには拍の繰り返しや小節の繰り返しがあります。スラッシュまたはパーセント記号のような外見をしています。

tremolo

これはトレモロの連桁を描くために使用されます。


1.4.1 長い繰り返し

このセクションでは長い (通常は複数の小節) 繰り返しを入力する方法について議論します。繰り返しには 2 つの形式があります: 繰り返し記号によって囲まれる繰り返しと、描き出される繰り返し – これは反復の多い音楽を入力するために使用されます – です。繰り返し記号を手動で制御することもできます。


通常の繰り返し

通常の繰り返しの構文は以下の通りです。

\repeat volta repeatcount musicexpr

ここで、musicexpr は音楽表記です。

入れ替えを持たない 1 回の繰り返しは以下のようになります:

\relative {
  \repeat volta 2 { c''4 d e f }
  c2 d
  \repeat volta 2 { d4 e f g }
}

[image of music]

繰り返しの‘開始’記号は、デフォルトでは最初の小節には表示されません。しかし、最初の音符の前に \bar ".|:" を用いることで表示させることができます。

\relative {
  \repeat volta 2 { \bar ".|:" c''4 d e f }
  c2 d
  \repeat volta 2 { d4 e f g }
}

[image of music]

繰り返し時に入れ替えて演奏する部分は \alternative を用いて作り出すことができます。入れ替えの各グループを波括弧で囲んで、このブロックの中に配置します。

\repeat volta repeatcount musicexpr
\alternative {
  { musicexpr }
}

ここで、musicexpr は音楽表記です。

繰り返し回数が入れ替え部分の数よりも多い場合、始めの方の繰り返しには最初の入れ替え部分が使用されます。

繰り返しが 1 回で、入れ替えも 1 つの場合は以下のようになります:

\relative {
  \repeat volta 2 { c''4 d e f | }
  \alternative {
    { c2 e | }
    { f2 g | }
  }
  c1
}

[image of music]

繰り返しが複数回あり、最後に入れ替え部分を演奏する繰り返しは以下のようになります:

\relative {
  \repeat volta 4 { c''4 d e f | }
  \alternative {
    { c2 e | }
    { f2 g | }
  }
  c1
}

[image of music]

繰り返しが複数回あり、入れ替えも 2 つ以上ある繰り返しは以下のようになります:

\relative {
  \repeat volta 3 { c''4 d e f | }
  \alternative {
    { c2 e | }
    { f2 g | }
    { a2 g | }
  }
  c1
}

[image of music]

Note: 入れ替えが複数ある場合、入れ替えの閉じ波括弧と次の入れ替えの開始の波括弧の間に何かを置くべきではありません。さもないと、予期せぬ数の入れ替えが発生します。

Note: Voice コンテキストを明示的にインスタンス化せずにrelativerepeat の中に配置すると、余計な譜が表示されます。 余計な譜が表示される を参照してください。

入れ替えの無い繰り返しが小節の途中で始まる場合、通常は後の小節の対応する中間部分で終了します (開始部分と終了部分で 1 つの完全な小節が作られます)。このような場合、繰り返し記号は‘本当の’小節線ではないため、小節チェックや \partial コマンドをそこに置くべきではありません:

c'4 e g
\repeat volta 4 {
  e4 |
  c2 e |
  g4 g g
}
  g4 |
  a2 a |
  g1 |

[image of music]

入れ替えの無い繰り返しが部分小節で始まる場合は、\partial コマンドが小節の最初に必要であることを除けば、同じ原則が適用されます:

\partial 4
\repeat volta 4 {
  e'4 |
  c2 e |
  g4 g g
}
  g4 |
  a2 a |
  g1 |

[image of music]

タイを 2 つ目の終了部に追加することができます:

\relative {
  c''1
  \repeat volta 2 { c4 d e f~ }
  \alternative {
    { f2 d }
    { f2\repeatTie f, }
  }
}

[image of music]

\inStaffSegno コマンドは、\repeat volta コマンドと一緒に用いられた際に、繰り返しの小節線とセーニョ記号を合体させた小節線を作り出します。どの繰り返し記号が使われるか (すなわち、開始記号か、終了記号か、両者を合わせた記号か) は、自動的に選択されます。対応する “D.S.” 記号は手動で入力しなければいけないことに注意してください。

繰り返しを使わない:

\relative {
  e'1
  \inStaffSegno
  f2 g a b
  c1_"D.S." \bar "|."
}

[image of music]

繰り返しの始まりに:

\relative {
  e'1
  \repeat volta 2 {
    \inStaffSegno  % start repeat
    f2 g a b
  }
  c1_"D.S." \bar "|."
}

[image of music]

繰り返しの終わりに:

\relative {
  e'1
  \repeat volta 2 {
    f2 g a b
    \inStaffSegno  % end repeat
  }
  f2 g a b
  c1_"D.S." \bar "|."
}

[image of music]

2 つの繰り返しの間に:

\relative {
  e'1
  \repeat volta 2 {
    f2 g a b
  }
  \inStaffSegno  % double repeat
  \repeat volta 2 {
    f2 g a b
  }
  c1_"D.S." \bar "|."
}

[image of music]

他の小節線記号を用いる場合、 (Score コンテキストに) プロパティ segnoType, startRepeatSegnoType, endRepeatSegnoType, doubleRepeatSegnoType を好みの値を設定します。小節線の種類はあらかじめ定義されているものか、前に \defineBarLine コマンドで定義されているものから選択する必要があります (小節線を参照してください)。

\defineBarLine ":|.S[" #'(":|." "S[" "")
\defineBarLine "]" #'("]" "" "")
\relative {
  e'1
  \repeat volta 2 {
    f2 g a b
    \once \set Score.endRepeatSegnoType = ":|.S["
    \inStaffSegno
  }
  f2 g \bar "]" a b
  c1_"D.S." \bar "|."
}

[image of music]

Selected Snippets

繰り返し括弧を短くする

デフォルトでは、繰り返し括弧は入れ替え部分全体に表示されますが、voltaSpannerDuration をセットすることで短くすることができます。次の例では、括弧は 1 小節、つまり 3/4 分だけ表示されます。

\relative c'' {
  \time 3/4
  c4 c c
  \set Score.voltaSpannerDuration = #(ly:make-moment 3/4)
  \repeat volta 5 { d4 d d }
  \alternative {
    {
      e4 e e
      f4 f f
    }
    { g4 g g }
  }
}

[image of music]

繰り返し括弧を他の譜にも追加する

デフォルトでは、Volta_engraverScore コンテキストに属しており、繰り返しの括弧は通常最上段の譜の上にのみ表示されます。これを調整するには、Volta_engraver を、括弧を表示させたい譜の Staff コンテキストに追加します。“複数譜に繰り返し括弧を表示する” スニペットも参照してください。

<<
  \new Staff { \repeat volta 2 { c'1 } \alternative { c' } }
  \new Staff { \repeat volta 2 { c'1 } \alternative { c' } }
  \new Staff \with { \consists "Volta_engraver" } { c'2 g' e' a' }
  \new Staff { \repeat volta 2 { c'1 } \alternative { c' } }
>>

[image of music]

入れ替え部分がある場合の二重繰り返しのデフォルトをセットする

入れ替え部分がある場合の二重繰り返しのスタイルには 3 種類あります。これは doubleRepeatType でセットすることができます。

\relative c'' {
  \repeat volta 1 { c1 }
  \set Score.doubleRepeatType = #":..:"
  \repeat volta 1 { c1 }
  \set Score.doubleRepeatType = #":|.|:"
  \repeat volta 1 { c1 }
  \set Score.doubleRepeatType = #":|.:"
  \repeat volta 1 { c1 }
}

[image of music]

小節番号を変更する

小節番号を付番する異なる方法が 2 つあり、繰り返しのある音楽に対して有用です。

\relative c'{
  \set Score.alternativeNumberingStyle = #'numbers
  \repeat volta 3 { c4 d e f | }
    \alternative {
      { c4 d e f | c2 d \break }
      { f4 g a b | f4 g a b | f2 a | \break }
      { c4 d e f | c2 d }
    }
  c1 \break
  \set Score.alternativeNumberingStyle = #'numbers-with-letters
  \repeat volta 3 { c,4 d e f | }
    \alternative {
      { c4 d e f | c2 d \break }
      { f4 g a b | f4 g a b | f2 a | \break }
      { c4 d e f | c2 d }
    }
  c1
}

[image of music]

参照

音楽用語集: repeat, volta

記譜法リファレンス: 小節線, コンテキストのプラグインを変更する, タイとスラーの形状を変更する, 時間管理

インストールされているファイル: ‘ly/engraver-init.ly

コード断片集: Repeats

内部リファレンス: VoltaBracket, RepeatedMusic, VoltaRepeatedMusic, UnfoldedRepeatedMusic

既知の問題と警告

\repeat ブロックから \alternative ブロックまで続くスラーは、最初の入れ替え部分に対してのみ機能します。他の入れ替え部分に対して見た目上、スラーを伸ばすには \repeatTie を使います。 しかしながら、この手法はスラーが 1 本の場合のみ可能であり、TabStaff では機能しません。複数のスラーを入れ替え部分に伸ばし、TabStaff コンテキストでも機能する手法は タイとスラーの形状を変更する で示しています。

さらに、入れ替え部分の最後から繰り返しの開始点までスラーで結ぶこともできません。

\repeat ブロックから \alternative ブロックまで続くグリッサンドは最初の入れ替え部分に対してのみ機能します。他の入れ替え部分に対して見た目上、グリッサンドを伸ばすには、見えない装飾音符から始まるグリッサンドのコードを記述します。例として、グリッサンド の楽譜断片集にある “繰り返しを跨いでグリッサンドを延長する” を参照してください。

不完全な小節で始まる繰り返しが measureLength プロパティの変更を行う\alternative ブロックを持つ場合、\unfoldRepeats を使用するとおかしな場所に小節線が引かれ、小節チェック警告が発生します。

以下のようにネストされた繰り返し

\repeat …
\repeat …
\alternative

はあいまいです。なぜなら、\alternative がどちらの \repeat に属するのかはっきりしないからです。このあいまいさは、常に \alternative を内側の \repeat に属させることによって解決されます。はっきりとさせるために、そのような状況では波括弧を使用すると賢明です。


手動の繰り返し記号

Note: 以下の手法は特殊な繰り返し構造を表示するためだけに使用され、予期しない振る舞いをする可能性があります。たいていのケースでは、繰り返しは標準の repeat コマンドを用いるか、適切な小節線を譜刻することによって作成すべきです。更なる情報は、小節線 を参照してください。

プロパティ repeatCommands を用いて繰り返しのレイアウトを制御することができます。このプロパティの値は繰り返しコマンドの Scheme リストです。

start-repeat

.|: 小節線を譜刻します。

\relative {
  c''1
  \set Score.repeatCommands = #'(start-repeat)
  d4 e f g
  c1
}

[image of music]

標準の譜刻習慣に従い、楽曲の先頭では繰り返し記号は譜刻されません。

end-repeat

:|. 小節線を譜刻します。

\relative {
  c''1
  d4 e f g
  \set Score.repeatCommands = #'(end-repeat)
  c1
}

[image of music]

(volta number) … (volta #f)

指定された番号を持つ新しい volta を作成します。Volta 囲みは明示的に終了させる必要があります。さもなければ、譜刻されません。

\relative {
  f''4 g a b
  \set Score.repeatCommands = #'((volta "2"))
  g4 a g a
  \set Score.repeatCommands = #'((volta #f))
  c1
}

[image of music]

複数の繰り返しコマンドが同時に発生することもあります:

\relative {
  f''4 g a b
  \set Score.repeatCommands = #'((volta "2, 5") end-repeat)
  g4 a g a
  c1
  \set Score.repeatCommands = #'((volta #f) (volta "95") end-repeat)
  b1
  \set Score.repeatCommands = #'((volta #f))
}

[image of music]

テキストを volta 囲みに含めることができます。テキストに使用できるのは数字やマークアップ テキストです。テキストをフォーマットする を参照してください。マークアップ テキストを使用するための最も簡単な方法は、最初にマークアップを定義し、それからそのマークアップを Scheme リストに含める方法です。

voltaAdLib = \markup { 1. 2. 3... \text \italic { ad lib. } }
\relative {
  c''1
  \set Score.repeatCommands =
    #(list(list 'volta voltaAdLib) 'start-repeat)
  c4 b d e
  \set Score.repeatCommands = #'((volta #f) (volta "4.") end-repeat)
  f1
  \set Score.repeatCommands = #'((volta #f))
}

[image of music]

参照

記譜法リファレンス: 小節線, テキストをフォーマットする

コード断片集: Repeats

内部リファレンス: VoltaBracket, RepeatedMusic, VoltaRepeatedMusic


繰り返しを描き出す

unfold コマンドを用いることにより、繰り返しを単に反復する音楽を描き出すために使用することができます。構文は以下の通りです:

\repeat unfold repeatcount musicexpr

ここで、musicexpr は音楽表記であり、repeatcountmusicexpr を繰り返す回数です。

\relative {
  \repeat unfold 2 { c''4 d e f }
  c1
}

[image of music]

いくつかのケースでは、特に \relative コンテキストの中では、\repeat unfold 関数は音楽表記を複数回記述したものと同じにはなりません。例えば、

\repeat unfold 2 { a'4 b c }

これは以下と等価ではありません。

a'4 b c | a'4 b c

入れ替え部分がある繰り返しを展開することもできます。

\relative {
  \repeat unfold 2 { c''4 d e f }
  \alternative {
    { c2 g' }
    { c,2 b }
  }
  c1
}

[image of music]

繰り返し回数が入れ替え部分の数よりも多い場合、最初の入れ替え部分だけが適用されます。残りの入れ替えは無視されて譜刻されません。

\relative {
  \repeat unfold 4 { c''4 d e f }
  \alternative {
    { c2 g' }
    { c,2 b }
    { e2 d }
   }
  c1
}

[image of music]

入れ替え部分の数が繰り返し回数よりも多い場合、最初の入れ替え部分が使用され、残りの繰り返し部分は無視され、譜刻されません。

\relative {
  \repeat unfold 2 { c''4 d e f }
  \alternative {
    { c2 g' }
    { c,2 b }
    { e2 d }
  }
  c1
}

[image of music]

複数の unfold 関数をネストすることも可能です。(unfold は入れ替え部分を持っていても、持っていなくても構いません。)

\relative {
  \repeat unfold 2 {
    \repeat unfold 2 { c''4 d e f }
    \alternative {
      { c2 g' }
      { c,2 b }
    }
  }
  c1
}

[image of music]

和音構造は和音の繰り返し記号 q で繰り返すことができます。和音の繰り返し を参照してください。

Note: Voice コンテキストを明示的にインスタンス化せずにrelativerepeat の中に配置すると、余計な譜が表示されます。 余計な譜が表示される を参照してください。

参照

記譜法リファレンス: 和音の繰り返し

コード断片集: Repeats

内部リファレンス: RepeatedMusic, UnfoldedRepeatedMusic


1.4.2 短い繰り返し

このセクションでは、短い繰り返しを入力する方法について議論します。短い繰り返しには 2 つの形式があります: 単一の音符、単一の小節あるいは 2 小節の繰り返しを表すスラッシュまたはパーセント記号と、トレモロです。


パーセント繰り返し

繰り返される短いパターンは 1 回だけ譜刻され、繰り返しは特殊な記号で置き換えられます。

構文は以下の通りです

\repeat percent number musicexpr

ここで、musicexpr は音楽表記です。

1 小節よりも短いパターンはスラッシュで置き換えられます。

\relative c'' {
  \repeat percent 4 { c128 d e f }
  \repeat percent 4 { c64 d e f }
  \repeat percent 5 { c32 d e f }
  \repeat percent 4 { c16 d e f }
  \repeat percent 4 { c8 d }
  \repeat percent 4 { c4 }
  \repeat percent 2 { c2 }
}

[image of music]

1 または 2 小節のパターンはパーセントのような記号で置き換えられます。

\relative c'' {
  \repeat percent 2 { c4 d e f }
  \repeat percent 2 { c2 d }
  \repeat percent 2 { c1 }
}

[image of music]

\relative {
  \repeat percent 3 { c''4 d e f | c2 g' }
}

[image of music]

1 小節よりも短いけれども異なる演奏時間が含まれるパターンは2 重線のパーセント記号を用います。

\relative {
  \repeat percent 4 { c''8. <d f>16 }
  \repeat percent 2 { \tuplet 3/2 { r8 c d } e4 }
}

[image of music]

Selected Snippets

パーセント繰り返しのカウンタ

パーセント記号による小節の繰り返しが 2 回以上続く場合には、この例のようにプロパティをセットすることで、カウンタを表示することができます。

\relative c'' {
  \set countPercentRepeats = ##t
  \repeat percent 4 { c1 }
}

[image of music]

パーセント繰り返しのカウンタの可視性

パーセント繰り返しのカウンタは repeatCountVisibility コンテキスト プロパティをセットすることで一定間隔で表示することができます。

\relative c'' {
  \set countPercentRepeats = ##t
  \set repeatCountVisibility = #(every-nth-repeat-count-visible 5)
  \repeat percent 10 { c1 } \break
  \set repeatCountVisibility = #(every-nth-repeat-count-visible 2)
  \repeat percent 6 { c1 d1 }
}

[image of music]

独立したパーセント繰り返し

パーセント繰り返しを単独で表示することができます。

makePercent =
#(define-music-function (note) (ly:music?)
   "Make a percent repeat the same length as NOTE."
   (make-music 'PercentEvent
               'length (ly:music-length note)))

\relative c'' {
  \makePercent s1
}

[image of music]

参照

音楽用語集: percent repeat, simile

コード断片集: Repeats

内部リファレンス: RepeatSlash, RepeatSlashEvent, DoubleRepeatSlash, PercentRepeat, PercentRepeatCounter, PercentRepeatedMusic, Percent_repeat_engraver, DoublePercentEvent, DoublePercentRepeat, DoublePercentRepeatCounter, Double_percent_repeat_engraver, Slash_repeat_engraver

既知の問題と警告

パーセント記号の繰り返しは、パーセント記号以外に何も含むことができません。特に、拍子の変更は繰り返されません。

\repeat percent 3 { \time 5/4 c2. 2 \time 4/4 2 2 }

[image of music]

拍子の変更や \partial コマンドは、パーセント記号の繰り返しの外側にある並列部分で行われる必要があります (例えば、独立したタイミング トラック)。

<<
  \repeat percent 3 { c2. 2 2 2 }
  \repeat unfold 3 { \time 5/4 s4*5 \time 4/4 s1 }
>>

[image of music]


トレモロの繰り返し

トレモロには 2 つの形式があります: 2 つの和音あるいは 2 つの音符を交互に演奏するものと、単一の音符あるいは和音を素早く繰り返すものです。交互に演奏するトレモロは、音符あるいは和音の間に多重連桁を付け加えることによって示され、一方、単一の音符を素早く繰り返すトレモロは単一の音符に多重連桁あるいは多重スラッシュを付け加えることによって示されます。

2 つの音符の間にトレモロ記号を配置するには、トレモロ スタイルの \repeat を使用します:

\relative c'' {
  \repeat tremolo 8 { c16 d }
  \repeat tremolo 6 { c16 d }
  \repeat tremolo 2 { c16 d }
}

[image of music]

\repeat tremolo の構文では、波括弧の中にある音符の数がちょうど 2 つであること、それに、繰り返しの回数が普通の音符あるいは付点音符として表すことができる音価に相当することが必須です。それゆえ、\repeat tremolo 7 は有効であり、2 重付点音符を作り出します。しかしながら、\repeat tremolo 9 は無効です。

トレモロの演奏時間は、波括弧で囲まれた音楽表記の演奏時間に繰り返し回数を掛けたものに等しいです: \repeat tremolo 8 { c16 d16 } は全音符のトレモロであり、トレモロの連桁でつながれた 2 つの全音符として譜刻されます。

単一の音符上にトレモロ記号を配置する方法は 2 つあります。\repeat tremolo 構文をここでも使用します – この場合、音符を波括弧で囲むべきではありません:

\repeat tremolo 4 c'16

[image of music]

音符の後に :N を付け加えることによって同じ出力を得ることができます。N は細部の演奏時間を表し、8 以上である必要があります。N が 8 である場合、音符の符幹に 1 本の連桁が付け加えられます。N が省略された場合、 最後の値が使用されます:

\relative {
  c''2:8 c:32
  c: c:
}

[image of music]

Selected Snippets

譜をまたがるトレモロ

\repeat tremolo は、和音のトレモロに対してはちょうど 2 つの引数を取らなければならないため、譜をまたがる和音のトレモロは 同じ括弧内に音を配置し、\change Staff コマンドで譜を変更する必要があります。

\new PianoStaff <<
  \new Staff = "up" \relative c'' {
    \key a \major
    \time 3/8
    s4.
  }
  \new Staff = "down" \relative c'' {
    \key a \major
    \time 3/8
    \voiceOne
    \repeat tremolo 6 {
      <a e'>32
      {
        \change Staff = "up"
        \voiceTwo
        <cis a' dis>32
      }
    }
  }
>>

[image of music]

参照

コード断片集: Repeats


1.5 同時進行する音符

[image of music]

楽譜の中で多声部は楽曲の 1 節の中にある複数のボイスを参照します。LilyPond の中で多声部は同じ譜にある複数のボイスを参照します。


1.5.1 単一のボイス

このセクションでは同じボイスの中にある同時進行する音符について議論します。


和音の音符

和音は <> で 1 組のピッチを囲むことによって形成されます。和音の後には – 普通の音符と同様に – 演奏時間が続くかもしれません:

\relative {
  <a' c e>1 <a c e>2 <f a c e>4 <a c>8. <g c e>16
}

[image of music]

さらに、和音の後には – 普通の音符と同様に – アーティキュレーションが続くかもしれません:

\relative {
  <a' c e>1\fermata <a c e>2-> <f a c e>4\prall <a c>8.^! <g c e>16-.
}

[image of music]

和音の中にある音符自体にもアーティキュレーションや装飾を付けることができます。

\relative {
  <a' c\prall e>1 <a-> c-^ e>2 <f-. a c-. e-.>4
  <a-+ c-->8. <g\fermata c e\turn>16
}

[image of music]

しかしながら、いくつかの記譜要素 – 強弱記号、ヘアピンなど – は和音の中の音符ではなく、和音に付ける必要があります。そうしなければ、譜刻されません。運指やスラーなどの他の記譜要素が和音の中の音符に付けられた場合、和音全体や単音に付けた場合と比べて配置が明らかに変化します。

\relative {
  <a'\f c( e>1 <a c) e>\f <a\< c e>( <a\! c e>)
  <a c e>\< <a c e> <a c e>\!
}

[image of music]

和音は和音に含まれる音符、アーティキュレーション、それに他の付属要素のコンテナにすぎません。従って、音符を持たない和音は演奏時間を持ちません。そのような和音に付属するアーティキュレーションは、後に続く音符や和音のタイミングで発生して、組み合わされます (そのような要素の複雑な組み合わせについては 同時進行表記 を参照してください):

\relative {
  \grace { g'8( a b }
  <> ) \p \< -. -\markup \italic "sempre staccato"
  \repeat unfold 4 { c4 e }  c1\f
}

[image of music]

和音の中のピッチに対して相対モードを使うことができます。各和音の最初の音符は常に、前の和音の最初の音符との相対関係で決まります。前が和音でない場合は、その和音の前にある最後のピッチとの相対関係になります。和音の中にある残りの音符はすべて 同じ和音の中にある 前の音符との相対関係になります。

\relative {
  <a' c e>1 <f a c> <a c e> <f' a c> <b, e b,>
}

[image of music]

和音についての更なる情報は、和音記譜法 を参照してください。

参照

音楽用語集: chord

学習マニュアル: Combining notes into chords

記譜法リファレンス: 和音記譜法, アーティキュレーションと装飾, 相対オクターブ入力, 複数のボイス

コード断片集: Simultaneous notes

既知の問題と警告

1 譜スペース内に 3 つ以上のピッチを保持している和音 – ‘<e f! fis!>’ など – では、符頭が重なります。状況に応じて、適切な表記を用います


和音の繰り返し

入力の手間を省くために、前の和音を繰り返すための短縮記法があります。和音を繰り返すためのシンボルは q です:

\relative {
  <a' c e>1 q <f a c>2 q
}

[image of music]

前の和音のピッチが複製されているだけなので、 通常の和音と同様に、和音の繰り返しのシンボルにも演奏時間、アーティキュレーション、マークアップ、スラー、連桁などを使うことができます。

\relative {
  <a' c e>1\p^"text" q2\<( q8)[-! q8.]\! q16-1-2-3 q8\prall
}

[image of music]

和音繰り返しのシンボルは常に最後の和音を覚えているため、最後の和音の後に和音ではない音符や休符があったとしても、和音を繰り返すことができます。

\relative {
  <a' c e>1 c'4 q2 r8 q8 |
  q2 c, |
}

[image of music]

しかしながら、和音繰り返しのシンボルは前の和音の中にある、あるいは付属している強弱記号、アーティキュレーション、あるいは装飾を持ち越しません。

\relative {
  <a'-. c\prall e>1\sfz c'4 q2 r8 q8 |
  q2 c, |
}

[image of music]

それらのイベントを持ち越すには、\chordRepeats 関数を明示的に呼び出し、引数に持ち越す イベント タイプ を指定するリストを持たせます。これにより持ち越されるイベントはすでに和音 q に存在しているものだけです。

\relative {
  \chordRepeats #'(articulation-event)
  { <a'-. c\prall e>1\sfz c'4 q2 r8 q8-. } |
  q2 c, |
}

[image of music]

上記の例では \chordRepeats\relative 構造の内部で使用することで予期しない結果になっています: \chordRepeats の和音イベントが展開されると、通常どおりに入力された和音と区別が付かず、\relative は現在の状態に基づいてオクターブを割り当てます。

ネストされた \relative のインスタンスは内外のインスタンスに影響を与えないので、\chordRepeats の内側に \relative を配置することで\chordRepeats の和音を展開する前にオクターブを確定させることができます。今回のケースでは、内側にある \relative の内容は外側にある \relative の影響を受けないので、繰り返しの和音は前の和音の音程を維持しています。また、内側の \relative は外側の \relative に影響を与えないので、最後の音符のオクターブ入力が変化します。

\relative {
  \chordRepeats #'(articulation-event)
  \relative
  { <a'-. c\prall e>1\sfz c'4 q2 r8 q8-. } |
  q2 c'' |
}

[image of music]

\chordRepeats は明示的に呼び出された場合にのみ \relative と相互作用します: 暗黙的な繰り返し和音の展開はすべての \relative インスタンスが処理されてから行われます。

参照

記譜法リファレンス: 和音記譜法, アーティキュレーションと装飾

インストールされているファイル: ‘ly/chord-repetition-init.ly


同時進行表記

2 重山括弧で囲まれた 1 つあるいは複数の音楽表記は同時進行します。最初の表記が単一の音符で始まる場合、あるいは同時進行する表記全体が明らかに単一のボイスの中にある場合、その表記全体は単一の譜の上に配置されます。そうでない場合、同時進行する表記の要素は別々の譜の上に配置されます。

以下の例は 1 つの譜の上にある同時進行表記を示しています:

\new Voice {  % 明らかに単一のボイスです
  << \relative { a'4 b g2 }
     \relative { d'4 g c,2 } >>
}

[image of music]

\relative {
  % 単一の音符で始まります
  a' << \relative { a'4 b g }
       \relative { d'4 g c, } >>
}

[image of music]

これは同時進行するセクションが同一のリズムを持つ場合に役に立ちます。しかしながら、異なる演奏時間を持つ音符を同じ符幹に取り付けようとするとエラーとなります。単一のVoice’ の中にある音符、アーティキュレーション、それにプロパティの変更は収集され、音楽的な順序で譜刻されます:

\relative {
  <a' c>4-.  <>-. << c a >>  << { c-. <c a> } { a s-. } >>
}

[image of music]

同時に複数の符幹や連桁、あるいは異なる音符の演奏時間やプロパティが必要な場合、複数のボイスを使う必要があります。

以下の例は、同時進行する表記が暗黙的に複数の譜を生成する様子を示しています:

% 単一の音符で始まりません
<< \relative { a'4 b g2 }
   \relative { d'4 g2 c,4 } >>

[image of music]

ここでは、リズムが異なっていても問題ありません。異なるボイスだと解釈されるからです。

既知の問題と警告

譜の同じ場所で、同じ向きの符幹を持つ複数のボイスから音符がシフトされずに (あるいは同じシフトで) 配置された場合、コンパイル中に以下のメッセージが表示されます:

warning: This voice needs a \voiceXx or \shiftXx setting

以下でこのメッセージを表示させなくすることができます:

\override NoteColumn.ignore-collision = ##t

しかしながら、これは警告を非表示にするだけでなく、衝突解決に関するすべてのメッセージを非表示にして、他にも意図しない影響を与える可能性があります (衝突の解決既知の問題 も参照してください)。


クラスタ

クラスタは演奏すべき連続したピッチの範囲を示します。クラスタは 1 組の音符の範囲 (envelope) として表されます。クラスタはひと続きの和音に関数 \makeClusters を適用することによって入力されます。例えば以下のように:

\relative \makeClusters { <g' b>2 <c g'> }

[image of music]

通常の音符とクラスタを同じ譜に一緒にして配置することができます – たとえ、それらが同時進行であってもです。そのようなケースでは、通常の音符とクラスタの衝突を自動的に回避しようとする試みは行われません。

参照

音楽用語集: cluster

コード断片集: Simultaneous notes

内部リファレンス: ClusterSpanner, ClusterSpannerBeacon, Cluster_spanner_engraver

既知の問題と警告

クラスタは少なくとも 2 つの和音を持つ場合にのみうまく譜刻されます。さもなければ、あまりにも狭く譜刻されます。

クラスタは符幹を持たず、それ自体で演奏時間を示すことはできません。しかしながら、譜刻されるクラスタの長さはクラスタを定義する和音の演奏時間によって決定されます。クラスタを分割するには、クラスタとクラスタの間に分割するための休符が必要です。

クラスタは MIDI 出力を作り出しません。


1.5.2 複数のボイス

このセクションでは複数のボイスあるいは複数の譜の中にある同時進行する音符について議論します。


単一譜の多声

明示的にボイスをインスタンス化する

単一の譜の中に複数の独立したボイスを配置するのに必要とされる基本的な構造が以下の例で示されています:

\new Staff <<
  \new Voice = "first"
    \relative { \voiceOne r8 r16 g'' e8. f16 g8[ c,] f e16 d }
  \new Voice= "second"
    \relative { \voiceTwo d''16 c d8~ 16 b c8~ 16 b c8~ 16 b8. }
>>

[image of music]

ここでは、ボイスは明示的にインスタンス化されていて、名前を与えられています。\voiceOne\voiceFour コマンドはボイスをセット アップし、それにより、1 番目と 3 番目のボイスは上向きの符幹を持ち、2 番目と 4 番目のボイスは下向きの符幹を持ち、3 番目と 4 番目のボイスの符頭は水平方向にずれて、それぞれのボイスの中の休符は衝突を避けるために自動的に移動させられます。\oneVoice コマンドはすべてのボイス設定をニュートラルなデフォルトの向きに戻します。

一時的に多声となる楽節 (パッセージ)

一時的に多声となる楽節は以下のような構成で作成することができます:

<< { \voiceOne … }
  \new Voice { \voiceTwo … }
>> \oneVoice

ここで、一時多声楽節の中の最初の表記は直前に使われていた Voice コンテキストに配置され、その Voice コンテキストは一時セクションの後も続いていきます。山括弧の中の他の表記は別の一時ボイスに代入されます。これと同様に、歌詞は多声セクションの前、最中、後に続いているボイスに代入されます:

\relative <<
  \new Voice = "melody" {
    a'4
    <<
      {
        \voiceOne
        g f
      }
      \new Voice {
        \voiceTwo
        d2
      }
    >>
    \oneVoice
    e4
  }
  \new Lyrics \lyricsto "melody" {
  This is my song.
  }
>>

[image of music]

ここで、\voiceOne\voiceTwo コマンドはそれぞれのボイスの設定を定義するために必要とされています。

2 重バックスラッシュ構造

<< {…} \\ {…} >> 構造 – この中では 2 つ (あるいはそれ以上) の表記が 2 重バックスラッシュで区切られています – は、同じような構造だが 2 重バックスラッシュを持たない構造とはまったく異なる振る舞いをします: この構造の中にある すべての 表記は新たな Voice コンテキストに代入されます。それらの新しい Voice コンテキストは暗黙的に作成され、あらかじめ決められた名前 "1", "2" などを与えられます。

最初の例は以下のように書き換えることができます:

<<
  \relative { r8 r16 g'' e8. f16 g8[ c,] f e16 d }
  \\
  \relative { d''16 c d8~ 16 b c8~ 16 b c8~ 16 b8. }
>>

[image of music]

一時ボイスが作成され、それから消去されることが問題にならない場合に、この構文を使用することができます。暗黙的に作成されるボイスには、それらがコードの中で現れる順番に従って、\voiceOne\voiceFour コマンドと同じ設定が与えられます。

以下の例では、真ん中のボイスは上向きの符幹を持ちます。そのため、それを 3 番目に置いて、望みどおりに上向きの符幹を持つボイス 3 にしています。休符が 2 重に譜刻されることを避けるために、空白休符を使用しています。

<<
  \relative { r8 g'' g  g g f16 ees f8 d }
  \\
  \relative { ees'8 r ees r d r d r }
  \\
  \relative { d''8 s c s bes s a s }
>>

[image of music]

簡単なことですが、 コンテキストとエングラーバ ボイスを明示的にインスタンス化する で説明されているように、明示的に Voice コンテキストを作成しておくと賢明です。

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: 上から 3 番
  \\
  { g'2  }  % 6: 下から 3 番
>>

[image of music]

ボイスの入力順序を変更したい場合、\voices コマンドが役に立ちます:

\new Staff \voices 1,3,5,6,4,2 <<
  \time 2/4
  { f''2 }  % 1: 最上段
  \\
  { d''2 }  % 3: 上から 2 番
  \\
  { b'2  }  % 5: 上から 3 番
  \\
  { g'2  }  % 6: 下から 3 番
  \\
  { e'2  }  % 4: 下から 2 番
  \\
  { c'2  }  % 2: 最下段
>>

[image of music]

Note: 歌詞、スパナ (スラー、タイ、強弱のヘアピン等) はボイスを ‘跨ぐ’ ことはできません。

同一のリズム

同じリズムを持ち、並行して進行する音楽を譜刻するという特殊なケースでは、並行する音楽を単一の Voice の中に組み込み、それにより和音を形成することができます。これを実現するには、並行する音楽を明示的にインスタンス化されたボイス内の同時進行音楽構造の中に置きます:

\new Voice <<
  \relative { e''4 f8 d e16 f g8 d4 }
  \relative { c''4 d8 b c16 d e8 b4 }
>>

[image of music]

この手法では、音楽が同じリズムを持たない場合に、おかしな連桁と警告を生じます。

定義済みコマンド

\voiceOne, \voiceTwo, \voiceThree, \voiceFour, \oneVoice

参照

学習マニュアル: Voices contain music, Explicitly instantiating voices

記譜法リファレンス: 打楽器の譜, 不可視の休符, 符幹

コード断片集: Simultaneous notes


ボイス スタイル

ボイス毎に異なる色と形を与えて、容易に見分けられるようにすることができます:

<<
  \relative { \voiceOneStyle d''4 c2 b4 }
  \\
  \relative { \voiceTwoStyle e'2 e }
  \\
  \relative { \voiceThreeStyle b2. c4 }
  \\
  \relative { \voiceFourStyle g'2 g }
>>

[image of music]

\voiceNeutralstyle コマンドは標準の体裁に戻すために使用されます。

定義済みコマンド

\voiceOneStyle, \voiceTwoStyle, \voiceThreeStyle, \voiceFourStyle, \voiceNeutralStyle

参照

学習マニュアル: I'm hearing Voices, Other sources of information.

コード断片集: Simultaneous notes


衝突の解決

同じピッチ、同じ符頭を持ち、符幹の方向が逆で異なるボイスの中にある符頭は自動的に 1 つの符頭にまとめられます – マージされます。しかしながら、音符の符頭が異なっていたり、符幹の方向が同じである場合はマージされません。異なるボイスの中にあり、符幹の方向が逆の休符は垂直方向にずらされます。以下の例は 3 つの異なる状態を示しています – 第 1 小節の 1, 3 拍目、それに第 2 小節の 1 拍目で自動マージが失敗しています。

<<
  \relative {
    c''8 d e d c d c4
    g'2 fis
  } \\
  \relative {
    c''2 c8. b16 c4
    e,2 r
  } \\
  \relative {
    \oneVoice
    s1
    e'8 a b c d2
  }
>>

[image of music]

以下に示すように、異なる符頭を持つ音符をマージすることができます。この例では、第 1 小節の 1 拍目の符頭がマージされました:

<<
  \relative {
    \mergeDifferentlyHeadedOn
    c''8 d e d c d c4
    g'2 fis
  } \\
  \relative {
    c''2 c8. b16 c4
    e,2 r
  } \\
  \relative {
    \oneVoice
    s1
    e'8 a b c d2
  }
>>

[image of music]

四分音符と二分音符はこの方法ではマージされません。なぜなら区別が難しくなるからです。

第 1 小節の 3 拍目のように異なる付点を持つ符頭もマージすることができます:

<<
  \relative {
    \mergeDifferentlyHeadedOn
    \mergeDifferentlyDottedOn
    c''8 d e d c d c4
    g'2 fis
  } \\
  \relative {
    c''2 c8. b16 c4
    e,2 r
  } \\
  \relative {
    \oneVoice
    s1
    e'8 a b c d2
  }
>>

[image of music]

第 2 小節の最初の版音符と 8 分音符は正しくマージされていません。なぜなら 3 つ以上の音符が同じ列に並ぶ場合、自動マージは正しく機能できないからです。今回のケースでは、マージされた符頭が間違っています。マージが正しい符頭を選択できるようにするため、マージすべきでない符頭に \shift を適用する必要があります。ここでは、\shiftOn を適用することで、最上段にある g を列から外し、\mergeDifferentlyHeadedOn を正しく機能させています。

<<
  \relative {
    \mergeDifferentlyHeadedOn
    \mergeDifferentlyDottedOn
    c''8 d e d c d c4
    \shiftOn
    g'2 fis
  } \\
  \relative {
    c''2 c8. b16 c4
    e,2 r
  } \\
  \relative {
    \oneVoice
    s1
    e'8 a b c d2
  }
>>

[image of music]

\shiftOn コマンドは、ボイスの中にある音符がずれることを許可します (強制はしません)。\shiftOn がボイスに適用されると、そのボイスの中にある音符あるいは和音は、同じ向きの符幹を持つ他のボイスと符幹が衝突する場合にのみ、ずらされます。\shiftOff コマンドは、適用された時点から、このタイプの音符の移動を禁止します。

デフォルトでは、外側のボイス (通常はボイス 1 と 2) には \shiftOff が指定されていて、内側のボイス (ボイス 3 以上) には \shiftOn が指定されています。音符をずらす場合、上向きの符幹を持つボイス (奇数番号のボイス) は右側にずらされ、下向きの符幹を持つボイス (偶数番号のボイス) は左側にずらされます。

簡略化された多声表記が内部的にどのように展開されるかをお見せするための例を挙げます。

Note: 3 つ以上のボイスがある場合、入力ファイルでのボイスの垂直方向の順序は、譜上でのボイスの垂直方向の順序と同じにすべきではありません!

\new Staff \relative {
  %% 簡略化された入力
  <<
    { f''2  }  % 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
  >>
}

[image of music]

さらに 2 つのコマンド – \shiftOnn\shiftOnnn – は、複雑な状況で衝突を解決するために一時的に指定されるさらに大きなずれを提供します。 実際の音楽からの例 を参照してください。

音符は符幹の向きが反対である場合 (例えば、デフォルトのボイス 1 と 2 である場合や、明示的に符幹の向きが反対になるよう指定されている場合) にのみマージされます。

定義済みコマンド

\mergeDifferentlyDottedOn, \mergeDifferentlyDottedOff, \mergeDifferentlyHeadedOn, \mergeDifferentlyHeadedOff

\shiftOn, \shiftOnn, \shiftOnnn, \shiftOff

Selected Snippets

衝突を避けるための追加のボイス

複雑な多声音楽では、音符どうしの衝突を避けるために追加のボイスが必要になる場合があります。4 つ以上の並列ボイスが必要な場合には、追加のボイスは Scheme 関数 context-spec-music を用いて変数を定義することで追加できます。

voiceFive = #(context-spec-music (make-voice-props-set 4) 'Voice)

\relative c'' {
  \time 3/4
  \key d \minor
  \partial 2
  <<
    \new Voice  {
      \voiceOne
      a4. a8
      e'4 e4. e8
      f4 d4. c8
    }
    \new Voice {
      \voiceTwo
      d,2
      d4 cis2
      d4 bes2
    }
    \new Voice {
      \voiceThree
      f'2
      bes4 a2
      a4 s2
    }
    \new Voice {
      \voiceFive
      s2
      g4 g2
      f4 f2
    }
  >>
}

[image of music]

多声の音楽で付点付きの音符を移動する

上のボイスにある付点付きの音符が、下の音符との衝突を避けるために移動する場合、デフォルトでは右側に移動します。この挙動は、NoteCollisionprefer-dotted-right プロパティをオーバライドすることで変更できます。

\new Staff \relative c' <<
  {
    f2. f4
    \override Staff.NoteCollision.prefer-dotted-right = ##f
    f2. f4
    \override Staff.NoteCollision.prefer-dotted-right = ##t
    f2. f4
  }
  \\
  { e4 e e e e e e e e e e e }
>>

[image of music]

音符の水平位置を強制的に調整する

組版エンジンがうまく対処できない場合、次の構文で音符の水平位置をオーバライドすることができます。単位は譜スペースです。

\relative c' <<
  {
    <d g>2 <d g>
  }
  \\
  {
    <b f'>2
    \once \override NoteColumn.force-hshift = #1.7
    <b f'>2
  }
>>

[image of music]

参照

音楽用語集: polyphony

学習マニュアル: Multiple notes at once, Voices contain music, Real music example

コード断片集: Simultaneous notes

内部リファレンス: NoteColumn, NoteCollision, RestCollision

既知の問題と警告

\override NoteColumn.ignore-collision = ##t を使うと異なるボイスにある符頭が異なる音符を不適切にマージします。

\mergeDifferentlyHeadedOn
<< \relative { c'16 a' b a } \\ \relative { c'2 } >>
\override NoteColumn.ignore-collision = ##t
<< \relative { c'16 a' b a } \\ \relative { c'2 } >>

[image of music]


休符のマージ

複数のボイスを用いる場合、両方のパートに出現する休符はマージされるのが一般的です。これは Merge_rests_engraver を用いることで達成できます。

voiceA = \relative { d''4 r d2 | R1 | }
voiceB = \relative { fis'4 r g2 | R1 | }
\score {
  <<
    \new Staff \with {
      instrumentName = "unmerged"
    }
    <<
      \new Voice { \voiceOne \voiceA }
      \new Voice { \voiceTwo \voiceB }
    >>
    \new Staff \with {
      instrumentName = "merged"
      \consists "Merge_rests_engraver"
    }
    <<
      \new Voice { \voiceOne \voiceA }
      \new Voice { \voiceTwo \voiceB }
    >>
  >>
}

[image of music]

suspendRestMerging コンテキスト プロパティを ##t にセットすることで、休符のマージを一時的に無効にすることができます。


自動パート結合

自動パート結合は 2 つのパートに分かれた音楽を単一の譜にマージします。これはオーケストラ譜を譜刻する時に特に有用です。ある範囲で 2 つのパートの音楽が同一である場合、1 つの Voice だけが譜刻されます。2 つのパートが異なる箇所では第 2 Voice が譜刻されます。この場合、符幹の向きはそれぞれ上と下ににセットされ、さらにソロ パートと 二重奏 (due) パートが識別されて適切なマークが付けられます。

自動パート結合の構文は以下の通りです:

\partCombine musicexpr1 musicexpr2

以下の例は自動パート結合の基本的な機能を示しています: 2 つのパートを単一の譜に多声部として配置し、それぞれの符幹の向きをセットしています。個々のパート譜と結合譜で同じ変数が使用されています。

instrumentOne = \relative {
  c'4 d e f |
  R1 |
  d'4 c b a |
  b4 g2 f4 |
  e1 |
}

instrumentTwo = \relative {
  R1 |
  g'4 a b c |
  d4 c b a |
  g4 f( e) d |
  e1 |
}

<<
  \new Staff \instrumentOne
  \new Staff \instrumentTwo
  \new Staff \partCombine \instrumentOne \instrumentTwo
>>

[image of music]

両パートの第 3 小節の音符は同じなので、片方の音符だけが譜刻されています。符幹、スラー、それにタイの向きは、ソロなのかあるいは斉奏なのかによって、自動的に設定されます。多声が必要になる場合、第 1 パート (one と呼ばれるコンテキストを持ちます) は常に上向きの符幹を持ち、一方、第 2 パート (two と呼ばれるコンテキストを持ちます) は常に下向きの符幹を持ちます。ソロの場合、第 1 パートと第 2 パートにはそれぞれ ‘Solo’ と ‘Solo II’ というマークが付けられます。斉奏 (二重奏) パートには、デフォルトで、テキスト “a2” というマークが付けられます。

デフォルトでは、\partCombine は同じピッチの音符を 二重奏 の音符としてマージします。また、同じリズムで音程が 9 度以下の音符は和音として結合し、9 度より大きい (あるいは、ボイスが交差している) 場合は別々のボイスになります。この挙動は \partCombine コマンドの後に、省略可能な数字のペアの引数を与えることでオーバライドすることができます: 1 つ目が、結合が始まる音程 (デフォルトは 0) で、2 つ目が別々のボイスとなる音程です。2 つ目の引数を 0 にすることで、2 度以上の音符を分割し、1 にすることで 3 度以上の音符を分割するというようになります。

instrumentOne = \relative {
  a4 b c d |
  e f g a |
  b c d e |
}

instrumentTwo = \relative {
  c'4 c c c |
  c c c c |
  c c c c |
}

<<
  \new Staff \partCombine \instrumentOne \instrumentTwo
  \new Staff \partCombine #'(2 . 3) \instrumentOne \instrumentTwo
>>

[image of music]

\partCombine の 2 つの引数は別個の Voice コンテキストとして解釈されます。そのため、相対オクターブを用いる場合、両方のパートで \relative を記述すべきです。すなわち、以下のように記述します:

\partCombine
  \relative … musicexpr1
  \relative … musicexpr2

\partCombine の外側にある \relative セクションは musicexpr1musicexpr2 のピッチには影響を与えません。

プロの楽譜では長いパッセージで、2 つのボイスの音符のいくつかが同じでユニゾンとして譜刻できる場合であっても、ボイスを分けて譜刻することがあります。 ですから、音符を和音に組み合わせることと、1 つのボイスをソロとして表示することは等価ではありません。なぜなら、\partCombine 関数は各音符を個々に考慮するからです。 このような場合、\partCombine 関数を以下のコマンドのいずれかでオーバライドすることができます。全てのコマンドは音楽表記の中で次の音符だけに適用されるように \once 接頭辞を付けることができます。

instrumentOne = \relative c' {
  \partCombineApart c2^"apart" e |
  \partCombineAutomatic e2^"auto" e |
  \partCombineChords e'2^"chord" e |
  \partCombineAutomatic c2^"auto" c |
  \partCombineApart c2^"apart" \once \partCombineChords e^"chord once" |
  c2 c |
}
instrumentTwo = \relative {
  c'2 c |
  e2 e |
  a,2 c |
  c2 c' |
  c2 c |
  c2 c |
}

<<
  \new Staff { \instrumentOne }
  \new Staff { \instrumentTwo }
  \new Staff { \partCombine \instrumentOne \instrumentTwo }
>>

[image of music]

\partCombine を歌詞と同時に使う

\partCombine は歌詞と同時に動作するように設計されていません。歌詞を付けるために、ボイスの片方に名前が明示されていた場合、パート結合は動作を停止します。しかし、NullVoice コンテキストを用いることで効果を得ることができます。歌詞を共有する多声 を参照してください。

Selected Snippets

2 つのパートを 1 つの譜にまとめる

自動パート結合ツール (\partCombine コマンド) は、いくつかの異なるパートを同じ譜にまとめるものです。“solo” や “a2” といったテキスト指示は、デフォルトで追加されます。これらを削除するには、printPartCombineTexts プロパティを f にセットします。賛美歌のような歌曲では、“solo/a2” のテキストを追加する必要は無いため、これらを削除すると良いでしょう。しかしながら、これらを削除した場合、ソロの指示も表示されなくなるため問題があるかもしれません。このような場合は、通常の多声構文を用いると良いでしょう。

このスニペットは、2 つのパートを 1 つの譜に表示する 3 つの方法を示しています: 通常の多声、テキストを削除した \partCombine、テキストのある \partCombine の順です。

%% Combining pedal notes with clef changes

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 \with { instrumentName = "Standard polyphony" }

      << \musicUp \\ \musicDown >>

    \new Staff \with {
      instrumentName = "PartCombine without text"
      printPartCombineTexts = ##f
    }

    \partCombine \musicUp \musicDown

    \new Staff \with { instrumentName = "PartCombine with text" }
      \partCombine \musicUp \musicDown
    >>
  \layout {
    indent = 6.0\cm
    \context {
      \Score
      \override SystemStartBar.collapse-height = #30
    }
  }
}

[image of music]

自動パート結合のテキストを変更する

自動パート結合機能を使用する際に、ソロやユニゾンを表示するテキストを変更することができます。

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

[image of music]

参照

音楽用語集: a due, part

記譜法リファレンス: パートを記述する

コード断片集: Simultaneous notes

内部リファレンス: PartCombineMusic, Voice

既知の問題と警告

すべての \partCombine… はボイスを 2 つだけ受け取ることができます。

\partCombine… 関数を \tuplet ブロックや \relative ブロックの中に置くことはできません。

printPartCombineTexts がセットされていて、ある小節で 2 つのボイスの音符が同じである場合、パート結合はその小節で a2 を複数譜刻する可能性があります。

\partCombineVoice の中の音符の開始だけを検知します。例えば、ある Voice でパート結合を開始した時に、他の Voice で音符がすでに開始しているかどうかを知ることはできません。このことは “Solo” や “Unison” が不適切に譜刻されるといった予期しない問題を引き起こす可能性があります

\partCombine はすべてのスパナ (スラー、タイ、強弱のヘアピン等) を同じ Voice で維持します。そのため、異なる Voice で始まる / 終わるスパナは不適切にの譜刻されたり、全く譜刻されなかったりする可能性があります。

\partCombine 関数が 2 つのパートを組み合わせることができない場合 (すなわち、2 つのボイスの演奏時間が異なる場合)、内部的に 2 つのボイスにカスタム名を付与します: それぞれ onetwo です。このことは、異なる名前を付けられた Voice への “切り替え” があった場合、その Voice のイベントは無視されることを意味します。

デフォルトのタブ譜 のタブ譜や 自動連桁音符 に対して \partCombine を使う場合は、それぞれの 既知の問題と警告 も参照してください。


音楽を並列に記述する

複数のパートを持つ音楽を入力コードの途中に挿入することができます。関数 \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.~   4              r16 e'8.~   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.~   4              r16 d'8.~   4              |
  c'2                        c'2                        |

}
\new StaffGroup <<
  \new Staff << \voiceA \\ \voiceB >>
  \new Staff { \clef bass \voiceC }
>>

[image of music]

相対モードを使用することができます。\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.~ 4        r16 e8.~  4         |
  c2                c                   |

  % Bar 2
  r8 a,16 d f a, d f r8 a,16 d f a, d f |
  r16 d8.~  4        r16 d8.~  4        |
  c2                 c                  |

 }
\new StaffGroup <<
  \new Staff << \relative c'' \voiceA \\ \relative c' \voiceB >>
  \new Staff \relative c' { \clef bass \voiceC }
>>

[image of music]

これはピアノ譜で非常に良く機能します。以下の例は、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
       >>
     }
  >>
}

[image of music]

参照

学習マニュアル: Organizing pieces with variables

コード断片集: Simultaneous notes


1.6 譜の記譜法

[image of music]

このセクションでは、譜の見た目を変える方法、複数の譜を持つ楽譜を譜刻する方法、それに、テンポ指示と演奏指示楽節の音符を譜に付け加える方法について説明します。


1.6.1 譜を表示する

このセクションでは、譜を作成する方法と、譜をグループ化する方法をいくつか説明します。


新たに譜をインスタンス化する

stave: 譜 (staff: 譜 (表) の単称) は \new コマンドや \context コマンドで作成されます。詳細は コンテキストを作成して参照する を参照してください。

基本的な譜コンテキストは Staff です:

\new Staff \relative { c''4 d e f }

[image of music]

DrumStaff コンテキストは、一般的なドラム セットのための 5 線譜を作成します。各楽器は異なるシンボルで示されます。\drummode コマンドの後に続けて、楽器をドラム モードで入力します。各楽器は名前によって指定されます。詳細は 打楽器の譜 を参照してください。

\new DrumStaff {
  \drummode { cymc hh ss tomh }
}

[image of music]

RhythmicStaff は、入力のリズム価だけを表示する単線譜を作成します。(ピッチは無視されますが) 演奏時間が保持されます。詳細は 旋律のリズムを示す を参照してください。

\new RhythmicStaff { c4 d e f }

[image of music]

TabStaff は、標準のギター チューニングの 6 弦のタブ譜を作成します。詳細は デフォルトのタブ譜 を参照してください。

\new TabStaff \relative { c''4 d e f }

[image of music]

古代音楽の記譜法のために 2 つの譜コンテキストが用意されています: MensuralStaffVaticanaStaff です。これらのことは 定義されているコンテキスト で説明されています。

GregorianTranscriptionStaff コンテキストは、現代グレゴリア聖歌を記譜するための譜を作成します。これは小節線を譜刻しません。

\new GregorianTranscriptionStaff \relative { c''4 d e f e d }

[image of music]

新たに単一譜コンテキストを定義する場合があります。詳細は 新しいコンテキストを定義する を参照してください。

参照

音楽用語集: staff, staves

記譜法リファレンス: コンテキストを作成して参照する, 打楽器の譜, 旋律のリズムを示す, デフォルトのタブ譜, 定義されているコンテキスト, 譜シンボル, グレゴリオ聖歌のコンテキスト, 計量記譜法のコンテキスト, 新しいコンテキストを定義する

コード断片集: Staff notation

内部リファレンス: Staff, DrumStaff, GregorianTranscriptionStaff, RhythmicStaff, TabStaff, MensuralStaff, VaticanaStaff, StaffSymbol


譜をグループ化する

複数の譜からなるシステムを形成するために譜をグループ化するさまざまなコンテキストが存在します。グループ化を行うコンテキストはそれぞれにシステム開始境界線のスタイルと小節線の振る舞いを設定します。

コンテキストが指定されていない場合、デフォルトのプロパティが使用されます: グループは垂直の線で始まり、小節線はつながりません。

<<
  \new Staff \relative { c''1 c }
  \new Staff \relative { c''1 c }
>>

[image of music]

StaffGroup コンテキストでは、グループは角括弧で始まり、小節線はすべての譜を貫いて刻譜されます。

\new StaffGroup <<
  \new Staff \relative { c''1 c }
  \new Staff \relative { c''1 c }
>>

[image of music]

ChoirStaff では、グループは角括弧で始まりますが、小節線はつながりません。

\new ChoirStaff <<
  \new Staff \relative { c''1 c }
  \new Staff \relative { c''1 c }
>>

[image of music]

GrandStaff では、グループは波括弧で始まり、小節線はすべての譜を貫きます。

\new GrandStaff <<
  \new Staff \relative { c''1 c }
  \new Staff \relative { c''1 c }
>>

[image of music]

PianoStaffGrandStaff と同一ですが、例外として楽器名を刻譜することができます。詳細は 楽器名 を参照してください。

\new PianoStaff \with { instrumentName = "Piano" }
<<
  \new Staff \relative { c''1 c }
  \new Staff \relative { \clef bass c1 c }
>>

[image of music]

各譜グループ化コンテキストはプロパティ systemStartDelimiter を以下の値の 1 つにセットします: SystemStartBar, SystemStartBrace あるいは SystemStartBracket。4 つ目の境界線 – SystemStartSquare も利用可能ですが、これは明示的に指定する必要があります。

新たな譜グループ化コンテキストを定義することもできます。詳細は 新しいコンテキストを定義する を参照してください。

Selected Snippets

譜グループの先頭に角括弧を使用する

システム開始の境界線 SystemStartSquareStaffGroup または ChoirStaff で明示的にセットすることで使用することができます。

\score {
  \new StaffGroup { <<
  \set StaffGroup.systemStartDelimiter = #'SystemStartSquare
    \new Staff { c'4 d' e' f' }
    \new Staff { c'4 d' e' f' }
  >> }
}

[image of music]

システムに譜が 1 つしか存在しない場合にも括弧を表示する

ChoirStaffStaffGroup に譜が 1 つだけ存在する場合、デフォルトでは括弧や行頭の小節線は表示されません。これは collapse-height をオーバライドし、値を譜線の数より小さくセットすることで変更することができます。

括弧が波の形をしている PianoStaffGrandStaff のようなコンテキストでは、別のプロパティをセットする必要があります。例の 2 つ目のシステムを参照してください。

\score {
  \new StaffGroup <<
    % Must be lower than the actual number of staff lines
    \override StaffGroup.SystemStartBracket.collapse-height = #4
    \override Score.SystemStartBar.collapse-height = #4
    \new Staff {
      c'1
    }
  >>
}
\score {
  \new PianoStaff <<
    \override PianoStaff.SystemStartBrace.collapse-height = #4
    \override Score.SystemStartBar.collapse-height = #4
    \new Staff {
      c'1
    }
  >>
}

[image of music]

Mensurstriche レイアウト (譜の間に小節線を表示する)

Mensurstriche (計量音楽風の) レイアウトでは、小節線を譜の中には表示せず、譜と譜の間に表示します。これは、ChoirStaff の代わりに StaffGroup を用いることで実現できます。譜の中にある小節線は \hide で非表示にします。

global = {
  \hide Staff.BarLine
  s1 s
  % the final bar line is not interrupted
  \undo \hide Staff.BarLine
  \bar "|."
}

\new StaffGroup \relative c'' {
  <<
    \new Staff { << \global { c1 c } >> }
    \new Staff { << \global { c c } >> }
  >>
}

[image of music]

参照

音楽用語集: brace, bracket, grand staff

記譜法リファレンス: 楽器名, 新しいコンテキストを定義する

コード断片集: Staff notation

内部リファレンス: Staff, StaffGroup, ChoirStaff, GrandStaff, PianoStaff, SystemStartBar, SystemStartBrace, SystemStartBracket, SystemStartSquare


ネストされた譜グループ

譜グループ化コンテキストは任意の深さにネストすることができます。そうした場合、それぞれの子コンテキストは、親グループの角括弧に隣接して新しい角括弧を作成します。

\new StaffGroup <<
  \new Staff \relative { c''2 c | c2 c }
  \new StaffGroup <<
    \new Staff \relative { g'2 g | g2 g }
    \new StaffGroup \with {
      systemStartDelimiter = #'SystemStartSquare
    }
    <<
      \new Staff \relative { e'2 e | e2 e }
      \new Staff \relative { c'2 c | c2 c }
    >>
  >>
>>

[image of music]

新たにネストされた譜グループ化コンテキストを定義することができます。詳細は 新しいコンテキストを定義する を参照してください。

Selected Snippets

譜をネストする

systemStartDelimiterHierarchy は、より複雑な譜のグループ化を行うために用いることができます。\set StaffGroup.systemStartDelimiterHierarchy コマンドの引数として基となるのは、譜の数だけあるアルファベットのリストです。それぞれの譜の前に SystemStartDelimiter を追加することで、グループ化の始まりを示します。その際、グループとなる譜の範囲を括弧で囲む必要があります。リスト中の要素は省略することができますが、最上位のグループは必ず全ての譜を含みます。SystemStartDelimiterSystemStartBar, SystemStartBracket, SystemStartBrace, SystemStartSquare のいずれかです。

\new StaffGroup
\relative c'' <<
  \override StaffGroup.SystemStartSquare.collapse-height = #4
  \set StaffGroup.systemStartDelimiterHierarchy
    = #'(SystemStartSquare (SystemStartBrace (SystemStartBracket a
                             (SystemStartSquare b)  ) c ) d)
  \new Staff { c1 }
  \new Staff { c1 }
  \new Staff { c1 }
  \new Staff { c1 }
  \new Staff { c1 }
>>

[image of music]

参照

記譜法リファレンス: 譜をグループ化する, 楽器名, 新しいコンテキストを定義する

コード断片集: Staff notation

内部リファレンス: StaffGroup, ChoirStaff, SystemStartBar, SystemStartBrace, SystemStartBracket, SystemStartSquare


システムを分割する

1 ページあたりのシステムの数がページによって異なる場合、システム分割記号を間に置くことでシステムを分割するという慣習があります。デフォルトでは、システム分割記号は空になっていますが、 \paper オプションで有効にすることができます。

\book {
  \score {
    \new StaffGroup <<
      \new Staff {
        \relative {
          c''4 c c c
          \break
          c4 c c c
        }
      }
      \new Staff {
        \relative {
          c''4 c c c
          \break
          c4 c c c
        }
      }
    >>
  }
  \paper {
    system-separator-markup = \slashSeparator
    % 以下のコマンドはこのドキュメントでの体裁を整えるためだけのものです
    paper-width = 100\mm
    paper-height = 100\mm
    tagline = ##f
  }
}

[image of music]

参照

記譜法リファレンス: ページ レイアウト

コード断片集: Staff notation


1.6.2 個々の譜を変更する

このセクションでは、譜の属性を変更する方法について説明します: 例えば、譜線の本数や譜サイズを変更します。譜を開始/終了する方法とオッシア セクションをセットする方法についても記述します。


譜シンボル

\stopStaff コマンドと \startStaff コマンドを使って、楽譜内の任意の場所で譜線を停止あるいは (再) 開始させることができます。

\relative {
  \stopStaff f''4 d \startStaff g, e
  f'4 d \stopStaff g, e
  f'4 d \startStaff g, e
}

[image of music]

+

定義済みコマンド

\startStaff, \stopStaff

譜の線 (加線を含む) は StaffSymbol グラフィカル オブジェクトに属し、 StaffSymbol プロパティを用いて変更することができます。しかしながら、変更は譜が (再) 開始する前に行う必要があります。

譜線の本数を変更することができます:

\relative {
  f''4 d \stopStaff
  \override Staff.StaffSymbol.line-count = #2
  \startStaff g, e |

  f'4 d \stopStaff
  \revert Staff.StaffSymbol.line-count
  \startStaff g, e |
}

[image of music]

各譜線の位置を変更することもできます。数字のリストでそれぞれの譜線の位置を指定します。0 は通常の譜における中央の線で、通常の譜の譜線の位置は (-4 -2 0 2 4) となります。 1 つの値に対して 1 本の譜線が譜刻されるので、1 つのオーバライドで譜線の位置と本数を変更することができます。

\relative {
  f''4 d \stopStaff
  \override Staff.StaffSymbol.line-positions = #'(1 3 5 -1 -3)
  \startStaff g, e |
  f'4 d \stopStaff
  \override Staff.StaffSymbol.line-positions = #'(8 6.5 -6 -8 -0.5)
  \startStaff g, e |
}

[image of music]

符幹の向きが通常通り (譜の下半分では上向き、上半分では下向き) になるように、カスタマイズした譜では中央の線 (あるいは「間」) を通常の中央の位置 (0) に配置するようにしてください。 新しい譜線に対応して、音部記号とミドル C の位置を調節する必要があるかもしれません。音部記号 を参照してください。

譜線の太さを変えることができます。デフォルトでは、加線 (訳者注: ledger line, 譜の上下に突き出た符頭と符幹に付けられる短い譜線) と符幹の太さも影響を受けます。

\new Staff \with {
  \override StaffSymbol.thickness = #3
} \relative {
  f''4 d g, e
}

[image of music]

加線の太さを譜線の太さから独立して設定することもできます。

\new Staff \with {
  \override StaffSymbol.thickness = #2
  \override StaffSymbol.ledger-line-thickness = #'(0.5 . 0.4)
} \relative {
  f'''4 a, a,, f
}

[image of music]

1 つ目の値は譜線の太さに、2 つ目は譜線の間隔に掛け算され、それら 2 つの値を加算した値が加線の太さになります。

加線の垂直方向の位置を変更することができます:

\new Staff \with {
  \override StaffSymbol.ledger-positions = #'(-3 -2 -1 2 5 6)
} \relative {
  f'''4 a, a,, f
}

[image of music]

符頭の位置と加線を持つ他の符頭との関係に応じて、符頭の上または下に追加の加線を配置することできます。

\new Staff \with {
  \override StaffSymbol.ledger-extra = #4
} \relative {
  f'''4 a, d, f,
}

[image of music]

譜の内部に加線を表示させることもできます。この場合、譜線のカスタマイズが必要です。以下の例は明示的に ledger-position をセットしない場合とした場合の加線のデフォルト位置を示しています。以下の例で、StaffSymbol 全体に対する \override を元に戻すには\stopStaff を行う必要があります。

\relative d' {
  \override Staff.StaffSymbol.line-positions = #'(-8 0 2 4)
  d4 e f g
  \stopStaff
  \startStaff
  \override Staff.StaffSymbol.ledger-positions = #'(-8 -6 (-4 -2) 0)
  d4 e f g
}

[image of music]

譜線の間隔を変えることができます。この設定は加線の間隔にも影響を与えます。

\new Staff \with {
  \override StaffSymbol.staff-space = #1.5
} \relative {
  f'''4 d, g, e,
}

[image of music]

Selected Snippets

いくつかの譜線を他より太くする

教育上の目的で、譜線を太くすることができます (目的の例としては、中央の線の強調や、ト音記号の線を強調することなど)。これは強調したい線のすぐ近くに新たな譜線を追加することで実現できます。譜線の追加には StaffSymbol オブジェクトの line-positions プロパティを使用します。

{
  \override Staff.StaffSymbol.line-positions =
    #'(-4 -2 -0.2 0 0.2 2 4)
  d'4 e' f' g'
}

[image of music]

参照

音楽用語集: line, ledger line, staff

記譜法リファレンス: 音部記号

コード断片集: Staff notation

内部リファレンス: StaffSymbol, staff-symbol-interface


オッシア譜

適切な位置で新しく同時進行の譜を作成することによって、オッシア 譜をセットすることができます:

\new Staff \relative {
  c''4 b d c
  <<
    { c4 b d c }
    \new Staff { e4 d f e }
  >>
  c4 b c2
}

[image of music]

しかしながら、上の例は通常は望ましいものではありません。オリジナルの譜の上にあり、拍子記号や音部記号を持たず、小さなサイズのフォントを使用するオッシア譜を作成するには調整が必要です。学習マニュアルの Nesting music expressions に望ましいオッシア譜を作成するための方法が記述されています。

以下の例は、オッシア譜をオリジナルの譜の上に配置するために alignAboveContext プロパティを用いています。この手法は、2, 3 のオッシア譜が必要とされているだけである場合であれば、最も適切な方法です。

\new Staff = "main" \relative {
  c''4 b d c
  <<
    { c4 b d c }

    \new Staff \with {
      \remove "Time_signature_engraver"
      alignAboveContext = "main"
      \magnifyStaff #2/3
      firstClef = ##f
    }
    { e4 d f e }
  >>
  c4 b c2
}

[image of music]

多くの別個のオッシア譜が必要である場合、ある特有の コンテキスト ID を持つ空の Staff コンテキストを作成する方が適切かもしれません: このコンテキストを 呼び出し、オッシア譜が必要とされる場所で \startStaff\stopStaff を用いることでオッシア譜が作成されます。この手法の利点は、以下の例よりも長い楽曲であれば、明らかです。

<<
  \new Staff = "ossia" \with {
    \remove "Time_signature_engraver"
    \hide Clef
    \magnifyStaff #2/3
  }
  { \stopStaff s1*6 }

  \new Staff \relative {
    c'4 b c2
    <<
      { e4 f e2 }
      \context Staff = "ossia" {
        \startStaff e4 g8 f e2 \stopStaff
      }
    >>
    g4 a g2 \break
    c4 b c2
    <<
      { g4 a g2 }
      \context Staff = "ossia" {
        \startStaff g4 e8 f g2 \stopStaff
      }
    >>
    e4 d c2
  }
>>

[image of music]

オッシア譜を作成するための代替手段として、\RemoveAllEmptyStaves コマンドが用いられるかもしれません。この手法は、オッシア譜が改行の直後に発生する場合、最も便利な手法です。\RemoveAllEmptyStaves についての更なる情報は、譜を隠す を参照してください。

<<
  \new Staff = "ossia" \with {
    \remove "Time_signature_engraver"
    \hide Clef
    \magnifyStaff #2/3
    \RemoveAllEmptyStaves
  } \relative {
    R1*3
    c''4 e8 d c2
  }
  \new Staff \relative {
    c'4 b c2
    e4 f e2
    g4 a g2 \break
    c4 b c2
    g4 a g2
    e4 d c2
  }
>>

[image of music]

Selected Snippets

オッシアと歌詞の縦方向の揃え位置

このスニペットは、歌詞とオッシアの位置を調整するために alignBelowContextalignAboveContext コンテキスト プロパティを使用する方法を示しています。

\paper {
  ragged-right = ##t
}

\relative c' <<
  \new Staff = "1" { c4 c s2 }
  \new Staff = "2" { c4 c s2 }
  \new Staff = "3" { c4 c s2 }
  { \skip 2
    <<
      \lyrics {
        \set alignBelowContext = #"1"
        lyrics4 below
      }
      \new Staff \with {
        alignAboveContext = #"3"
        fontSize = #-2
        \override StaffSymbol.staff-space = #(magstep -2)
        \remove "Time_signature_engraver"
      } {
        \tuplet 6/4 {
          \override TextScript.padding = #3
          c8[^"ossia above" d e d e f]
        }
      }
    >>
  }
>>

[image of music]

参照

音楽用語集: ossia, staff, Frenched staff

学習マニュアル: Nesting music expressions, Size of objects, Length and thickness of objects

記譜法リファレンス: 譜を隠す

コード断片集: Staff notation

内部リファレンス: StaffSymbol


譜を隠す

Staff コンテキストから Staff_symbol_engraver を削除することによって、譜線を隠すことができます。そうする代わりに、\stopStaff を用いることもできます。

\new Staff \with {
  \remove "Staff_symbol_engraver"
}
\relative { a''8 f e16 d c b a2 }

[image of music]

空の譜は隠すことができます (いわゆる ‘Frenched Score’ にするため)。これは、コンテキスト中で \RemoveEmptyStaves を適用することで実現できます。(\layout ブロック内に適用することによって) 楽譜全体に設定することも、(\with ブロック内に適用することによって) 特定の譜に限定することもできます。このコマンドは、最初のシステムを除いて、楽譜内にある全ての空の譜を削除します。最初のシステムにある譜も隠したい場合は、\RemoveAllEmptyStaves を使ってください。サポートしているコンテキストは Staff, RhythmicStaff, VaticanaStaff です。

Note: 譜が空であると見なされるのは、それが複数小節にわたる休符、休符、スキップ、空白休符、あるいはそれらの要素の組み合わせだけで構成されている場合です。

\layout {
  \context {
    \Staff
    \RemoveEmptyStaves
  }
}

\relative <<
  \new Staff {
    e'4 f g a \break
    b1 \break
    a4 b c2
  }
  \new Staff {
    c,4 d e f \break
    R1 \break
    f4 g c,2
  }
>>

[image of music]

譜に対してオッシア セクションを作成するために、\RemoveAllEmptyStaves を用いることもできます。詳細は オッシア譜 を参照してください。

定義済みコマンド

\RemoveEmptyStaves, \RemoveAllEmptyStaves

参照

音楽用語集: Frenched staff

学習マニュアル: Visibility and color of objects

記譜法リファレンス: コンテキストのデフォルト設定を変更する, 譜シンボル, オッシア譜, 隠された音符, 不可視の休符, オブジェクトの可視性

コード断片集: Staff notation

内部リファレンス: ChordNames, FiguredBass, Lyrics, Staff, VerticalAxisGroup, Staff_symbol_engraver

既知の問題と警告

Staff_symbol_engraver を削除すると、小節線も隠されます。小節線が強制的に可視になるよう設定されている場合、フォーマット エラーが発生するかもしれません。そのような場合は、エングラーバを削除する代わりに、以下のオーバライドを使用してください:

\omit StaffSymbol
\override NoteHead.no-ledgers = ##t

\Staff \RemoveEmptyStaves に関連する既知の問題と警告は コンテキストのデフォルト設定を変更する を参照してください。


1.6.3 パートを記述する

このセクションでは、楽譜に楽器名を挿入するためにしばしば必要となる、オーケストラまたはアンサンブル音楽用のパートを作成する方法について説明します。他のボイスを引用する方法、演奏指示音符を譜刻する方法、個々のパートで複数の連続する空の小節をまとめる方法についても記述します。


楽器名

Staff, PianoStaff, StaffGroup, GrandStaff それに ChoirStaff コンテキストの中にある譜の左側に、楽器名を譜刻することができます。instrumentName の値が最初の行の譜に対して使用され、shortInstrumentName の値がそれに続くすべての行の譜に対して使用されます。

\new Staff \with {
  instrumentName = "Violin "
  shortInstrumentName = "Vln. "
} \relative {
  c'4.. g'16 c4.. g'16 \break | c1 |
}

[image of music]

\markup を用いて、より複雑な楽器名を作成することができます:

\new Staff \with {
  instrumentName = \markup {
    \column { "Clarinetti"
      \line { "in B" \smaller \flat }
    }
  }
} \relative {
  c''4 c,16 d e f g2
}

[image of music]

2 つ以上の譜コンテキストがグループ化されている場合、デフォルトでは楽器名と短縮楽器名は中央揃えされます。複数行にわたる楽器名を中央揃えするには、\center-column を用いる必要があります:

<<
  \new Staff \with {
    instrumentName = "Flute"
  } \relative {
    f''2 g4 f
}
  \new Staff \with {
    instrumentName = \markup {
      \center-column { "Clarinet"
        \line { "in B" \smaller \flat }
      }
    }
  } \relative { c''4 b c2 }
>>

[image of music]

しかしながら、楽器名が長い場合、indent 設定と short-indent 設定の値を増やさない限り、譜グループの中にある楽器名は中央揃えされません。これらの設定についての詳細は シフトとインデントのための \paper 変数 を参照してください。

<<
  \new Staff \with {
    instrumentName = "Alto Flute in G"
    shortInstrumentName = "Flt."
  } \relative {
    f''2 g4 f \break
    g4 f g2
  }
  \new Staff \with {
    instrumentName = "Clarinet"
    shortInstrumentName = "Clar."
  } \relative {
    c''4 b c2 \break
    c2 b4 c
  }
>>

\layout {
  indent = 3.0\cm
  short-indent = 1.5\cm
}

[image of music]

楽器名を他のコンテキスト (ChordNamesFiguredBass など) に付け加えるには、 そのコンテキストに Instrument_name_engraver を追加する必要があります。詳細は コンテキストのプラグインを変更する を参照してください。

楽曲の途中で shortInstrumentName や、新しい楽器に必要なその他の設定を変更することもできます。しかしながら、instrumentName は最初のインスタンスが譜刻され、楽曲の途中での変更は無視されます:

prepPiccolo = <>^\markup \italic { muta in Piccolo }

prepFlute = <>^\markup \italic { muta in Flauto }

setPiccolo = {
  <>^\markup \bold { Piccolo }
  \transposition c''
}

setFlute = {
  <>^\markup \bold { Flute }
  \transposition c'
}

\new Staff \with {
  instrumentName = "Flute"
  shortInstrumentName = "Flt."
}
\relative {
  g'1 g g g \break
  g1 g \prepPiccolo R R \break
  \set Staff.instrumentName = "Piccolo"
  \set Staff.shortInstrumentName = "Picc."
  \setPiccolo
  g1 g g g \break
  g1 g \prepFlute R R \break
  \set Staff.instrumentName = "Flute"
  \set Staff.shortInstrumentName = "Flt."
  \setFlute
  g1 g g g
}

[image of music]

参照

記譜法リファレンス: シフトとインデントのための \paper 変数, コンテキストのプラグインを変更する

コード断片集: Staff notation

内部リファレンス: InstrumentName, PianoStaff, Staff


他のボイスを引用する

あるボイスが他のボイスと同じ音符を演奏することはごく一般的なことです。例えば、第 1 バイオリンと第2バイオリンがあるパッセージで同じフレーズを演奏することがあります。これは、ボイスに他のボイスを 引用 させることで実現でき、第 2 ボイスの音楽全体を再入力する必要はありません。

最上位レベルのスコープで用いる \addQuote コマンドは一部を引用することができる音楽を定義します。

\quoteDuring コマンドを用いて、引用を開始する位置を示します。このコマンドは 2 つの引数をとります: \addQuote で定義した引用するボイスの名前と、引用部分の演奏時間を示す音楽表記です。

fluteNotes = \relative {
  a'4 gis g gis | b4^"quoted" r8 ais\p a4( f)
}

oboeNotes = \relative {
  c''4 cis c b \quoteDuring "flute" { s1 }
}

\addQuote "flute" { \fluteNotes }

\score {
  <<
    \new Staff \with { instrumentName = "Flute" } \fluteNotes
    \new Staff \with { instrumentName = "Oboe" } \oboeNotes
  >>
}

[image of music]

\quoteDuring で使用される音楽表記が空白休符や複数小節休符ではなく音符を保持している場合、引用は多声となり、予期しない結果となる可能性があります。

fluteNotes = \relative {
  a'4 gis g gis | b4^"quoted" r8 ais\p a4( f)
}

oboeNotes = \relative {
  c''4 cis c b \quoteDuring "flute" { e4 r8 ais b4 a }
}

\addQuote "flute" { \fluteNotes }

\score {
  <<
    \new Staff \with { instrumentName = "Flute" } \fluteNotes
    \new Staff \with { instrumentName = "Oboe" } \oboeNotes
  >>
}

[image of music]

\unfoldRepeats コマンドを \quoteDuring と一緒に使う場合、引用の中でも \unfoldRepeats コマンドを使わなければなりません:

fluteNotes = \relative {
  \repeat volta 2 { a'4 gis g gis }
}

oboeNotesDW = \relative {
  \repeat volta 2 \quoteDuring "incorrect" { s1 }
}

oboeNotesW = \relative {
  \repeat volta 2 \quoteDuring "correct" { s1 }
}


\addQuote "incorrect" { \fluteNotes }

\addQuote "correct" { \unfoldRepeats \fluteNotes }

\score {
  \unfoldRepeats
  <<
    \new Staff \with { instrumentName = "Flute" }
    \fluteNotes
    \new Staff \with { instrumentName = "Oboe (incorrect)" }
    \oboeNotesDW
    \new Staff \with { instrumentName = "Oboe (correct)" }
    \oboeNotesW
  >>
}

[image of music]

\quoteDuring コマンドは引用されるパートと引用するパート両方の \transposition を使用して、引用されるパートと同じ響きのピッチに変換して、引用するパートの音符を作り出します。

clarinetNotes = \relative c'' {
  \transposition bes
  \key d \major
  b4 ais a ais | cis4^"quoted" r8 bis\p b4( f)
}

oboeNotes = \relative {
  c''4 cis c b \quoteDuring "clarinet" { s1 }
}

\addQuote "clarinet" { \clarinetNotes }


\score {
  <<
    \new Staff \with { instrumentName = "Clarinet" } \clarinetNotes
    \new Staff \with { instrumentName = "Oboe" } \oboeNotes
  >>
}

[image of music]

デフォルトでは引用される音楽はすべてのアーティキュレーション、強弱記号、マークアップ等を含んでいます。quotedEventTypes コンテキスト プロパティを用いることで、引用される音楽から引用するオブジェクトを選択することが可能です。

fluteNotes = \relative {
  a'2 g2 |
  b4\<^"quoted" r8 ais a4\f( c->)
 }

oboeNotes = \relative {
  c''2. b4 |
  \quoteDuring "flute" { s1 }
}

\addQuote "flute" { \fluteNotes }

\score {
  <<
    \set Score.quotedEventTypes = #'(note-event articulation-event
                                     crescendo-event rest-event
                                     slur-event dynamic-event)
    \new Staff \with { instrumentName = "Flute" } \fluteNotes
    \new Staff \with { instrumentName = "Oboe" } \oboeNotes
  >>
}

[image of music]

引用にもタグを付けることができます。タグを使用する を参照してください。

参照

記譜法リファレンス: 楽器の移調, タグを使用する

インストールされているファイル: ‘scm/define-event-classes.scm’.

コード断片集: Staff notation

内部リファレンス: + Music classes, QuoteMusic, Voice

既知の問題と警告

\addQuote 中にある最初の Voice の内容だけが引用されます。そのため、音楽表記が \new\context Voice を含んでいても、それらの内容は引用されません。装飾小音符の引用はサポートされておらず、LilyPond がクラッシュする可能性さえあります。 ネストされた連符を引用しようとしてもうまくいきません。


合図音符をフォーマットする

合図音符をフォーマットする最も簡単な方法は、パートの中で明示的に CueVoice コンテキストを作成することです。

\relative {
  R1
  <<
    { e'2\rest r4. e8 }
    \new CueVoice {
      \stemUp d'8^"flute" c d e fis2
    }
  >>
  d,4 r a r
}

[image of music]

音部記号の変更が必要で、合図音符に適切なサイズの音部記号を譜刻する場合、\cueClef コマンドは明示的な CueVoice コンテキストと共に用いられます。その後、\cueClefUnset コマンドを用いて、オリジナルの音部記号 – 再度、適切なサイズにされた – に戻すことができます。

\relative {
  \clef "bass"
  R1
  <<
    { e'2\rest r4. \cueClefUnset e,8 }
    \new CueVoice {
      \cueClef "treble" \stemUp d''8^"flute" c d e fis2
    }
  >>
  d,,4 r a r
}

[image of music]

必要があれば、CueVoice 無しで \cueClef コマンドと \cueClefUnset コマンドを用いることもできます。

\relative {
  \clef "bass"
  R1
  \cueClef "treble"
  d''8^"flute" c d e fis2
  \cueClefUnset
  d,,4 r a r
}

[image of music]

もっと複雑な合図音符 – 例えば、移調を含んでいる、複数の音楽ソースからの合図音符を挿入する – の場合、\cueDuring コマンドや \cueDuringWithClef コマンドを用いることができます。これらのコマンドは \quoteDuring を特殊化したものです。\quoteDuring については、前のセクションの 他のボイスを引用する を参照してください。

構文は以下の通りです:

\cueDuring quotename #direction music

\cueDuringWithClef quotename #direction #clef music

quotename に対応する小節の音楽は CueVoice コンテキストとして追加されて music と同時進行して、多声になります。direction は引数 UP または DOWN を取り – それぞれ第 1 ボイス及び第 2 ボイスと対応します – 合図音符が他のボイスに対してどのように譜刻されるかを決定します。

fluteNotes = \relative {
  r2. c''4 | d8 c d e fis2 | g2 d |
}

oboeNotes = \relative c'' {
  R1
  <>^\markup \tiny { flute }
  \cueDuring "flute" #UP { R1 }
  g2 c,
}

\addQuote "flute" { \fluteNotes }

\new Staff {
  \oboeNotes
}

[image of music]

instrumentCueName プロパティを設定することによって、\cueDuring で音楽のどの部分を引用するか調節することができます。このプロパティのデフォルト値は '(note-event rest-event tie-event beam-event tuplet-span-event) であり、音符、休符、タイ、連桁、それに連符だけが引用され、アーティキュレーション、強弱記号、マークアップ等は引用されません。

Note: 以下の例のように VoicecueDuring で始まる場合、Voice を明示的に宣言する必要があります。そうしないと音楽表記全体が CueVoice コンテキストに属してしまいます。

oboeNotes = \relative {
  r2 r8 d''16(\f f e g f a)
  g8 g16 g g2.
}
\addQuote "oboe" { \oboeNotes }

\new Voice \relative c'' {
  \set Score.quotedCueEventTypes = #'(note-event rest-event tie-event
                                      beam-event tuplet-span-event
                                      dynamic-event slur-event)
  \cueDuring "oboe" #UP { R1 }
  g2 c,
}

[image of music]

引用される楽器の名前を表示するために、マークアップを用いることができます。合図音符が音符記号の変更を必要とする場合、手動で変更することができますが、合図音符が終わったところで手動で元の音部記号に戻す必要がありmす。

fluteNotes = \relative {
  r2. c''4 d8 c d e fis2 g2 d2
}

bassoonNotes = \relative c {
  \clef bass
  R1
  \clef treble
  <>^\markup \tiny { flute }
  \cueDuring "flute" #UP { R1 }
  \clef bass
  g4. b8 d2
}

\addQuote "flute" { \fluteNotes }

\new Staff {
  \bassoonNotes
}

[image of music]

あるいはまた、代わりに \cueDuringWithClef 関数を用いることができます。このコマンドは追加の引数で音部の変更を指定して、合図音符に音部記号を譜刻しますが、合図音部が終了したところで元の音部記号を自動的に譜刻します。

fluteNotes = \relative {
  r2. c''4 d8 c d e fis2 g2 d2
}

bassoonNotes = \relative c {
  \clef bass
  R1
  <>^\markup { \tiny "flute" }
  \cueDuringWithClef "flute" #UP "treble" { R1 }
  g4. b8 d2
}

\addQuote "flute" { \fluteNotes }

\new Staff {
  \bassoonNotes
}

[image of music]

\quoteDuring と同様に、\cueDuring は楽器の移調を考慮します。合図音符は合図を受け取る楽器のピッチで作り出され、ソース楽器の同じ響きのピッチになります。

合図音符を移調させるには \transposedCueDuring を使用します。このコマンドはコンサート ミドル C の音を表すピッチを (絶対モードで) 指定する追加の引数を取ります。これは、全く別の場所で登録された楽器から合図を取る場合に有用です。

piccoloNotes = \relative {
  \clef "treble^8"
  R1
  c'''8 c c e g2
  c4 g g2
}

bassClarinetNotes = \relative c' {
  \key d \major
  \transposition bes,
  d4 r a r
  \transposedCueDuring "piccolo" #UP d { R1 }
  d4 r a r
}

\addQuote "piccolo" { \piccoloNotes }

<<
  \new Staff \piccoloNotes
  \new Staff \bassClarinetNotes
>>

[image of music]

\killCues コマンドは音楽表記から合図音符を削除します。これにより、同じ音楽表記を使って合図を持つ楽器パートと楽譜を作り出すことが可能です。\killCues コマンドは \cueDuring によって引用された音符とイベントだけを削除します。合図に関連する他のマークアップ – 音部変更と引用元の楽器を識別するラベルなど – にはタグを付けて楽譜に含めるかどうかを選択することができます。タグを使用する を参照してください。

fluteNotes = \relative {
  r2. c''4 d8 c d e fis2 g2 d2
}

bassoonNotes = \relative c {
  \clef bass
  R1
  \tag #'part {
    \clef treble
    <>^\markup \tiny { flute }
  }
  \cueDuring "flute" #UP { R1 }
  \tag #'part \clef bass
  g4. b8 d2
}

\addQuote "flute" { \fluteNotes }

\new Staff {
  \bassoonNotes
}

\new StaffGroup <<
  \new Staff {
    \fluteNotes
  }
  \new Staff {
    \removeWithTag #'part { \killCues { \bassoonNotes } }
  }
>>

[image of music]

参照

記譜法リファレンス: 他のボイスを引用する, 楽器の移調, 楽器名, 音部記号, 合図, タグを使用する

コード断片集: Staff notation

内部リファレンス: CueVoice, Voice

既知の問題と警告

\cueDuring を使用した場合、Voice コンテキストと CueVoice コンテキストの間で休符の衝突が発生する可能性があります。\cueDuringWithClef\transposedCueDuring を使用する場合、追加で必要となる引数は引用と向きの後に配置する必要があります。


空の小節を圧縮する

デフォルトでは、すべての小節は空であっても譜刻されます – これは、リズムイベント (音符、休符、非表示の休符など) が複数の小節にまたがるほど長い場合に発生する可能性があります。 この動作は、次の図に示すように、すべての空の小節を単一の小節にまとめることで変更できます (この例の 2 番目の部分は小節を展開して実際にはデフォルトの動作に戻ります):

\override Score.BarNumber.break-visibility = #'#(#f #t #t)
\time 2/4
\compressEmptyMeasures
c'1 d'1. e'\breve
\bar "||"
\expandEmptyMeasures
c'1 d'1. e'\breve

[image of music]

その表記法は構文的には正しいですが、前の例で示したように、音楽的な観点からは混乱するかもしれません。したがって、break-visibility を用いる で説明されている構文を使用して、小節番号を明示的に譜刻する必要があります。

そのような表記がより有用になる可能性があるのは、小節単位の休符 に適用される場合です。複数小節にまたがる休符は、複数小節にまたがる休符の記号を含む単一の小節として表示され、休符の小節数が小節の上に譜刻されます。

% デフォルトの振る舞い
\time 3/4 r2. | R2.*2 |
\time 2/4 R2 |
\time 4/4
% 休みの小節を 1 つの小節にまとめます
\compressEmptyMeasures
r1 | R1*17 | R1*4 |
\expandEmptyMeasures
% 休みの小節を展開します
\time 3/4
R2.*2 |

[image of music]

\compressEmptyMeasures とは異なり、音楽関数 \compressMMRests は休符にのみ適用され、他のイベントは圧縮されません。プロパティ設定ではなく関数として、その構文は音楽表現が続く必要があるという点でわずかに異なります:

\compressMMRests {
  % 休符は圧縮されます…
  R1*7
  % …ただし、音符は複数の小節にまたがることができます。
  g'1 a'1*2 d'1
  R1*2
}

[image of music]

このセクションで説明するすべてのコマンドは、実際には skipBars 内部プロパティに依存しています。これは、\set コマンド で説明されているように、 Score コンテキストで設定されます。

定義済みコマンド

\compressEmptyMeasures, \expandEmptyMeasures, \compressMMRests

Selected Snippets

単一の小節の休符に数字を付ける

複数小節にまたがる休符は、単一の小節を除いて、長さを数字で表示します。これは、restNumberThreshold を設定することで変更できます。

{
  \compressEmptyMeasures
  R1 R1*10 R1*11 \bar "||"
  \set restNumberThreshold = 0
  R1 R1*10 R1*11 \bar "||"
  \set restNumberThreshold = 10
  R1 R1*10 R1*11
}

[image of music]

複数小節にまたがる休符の形を変更する

休符が複数小節に渡り、それが 10 小節以下の場合には、四全休符や二全休符が並んだものとして表記されます (ドイツ語で Kirchenpausen – 教会休符と呼ばれます)。10 小節より長い場合は、単純な線として表示されます。このデフォルトの 10 を変更するには、expand-limit プロパティをオーバライドします。

\relative c'' {
  \compressMMRests {
    R1*2 | R1*5 | R1*9
    \override MultiMeasureRest.expand-limit = #3
    R1*2 | R1*5 | R1*9
  }
}

[image of music]

参照

記譜法リファレンス: break-visibility を用いる, 小節単位の休符, \set コマンド

内部リファレンス: MultiMeasureRest, MultiMeasureRestNumber, MultiMeasureRestScript, MultiMeasureRestText


1.7 編集者の注釈

[image of music]

このセクションでは、音符の見た目を変える方法と、分析や教育的な強調を付け加える方法について議論します。


1.7.1 譜の内部

このセクションでは、譜の内部にある要素に強調を付け加える方法について説明します。


記譜フォント サイズを選択する

Note:
テキストのフォント サイズに関しては、フォントとフォント サイズを選択するを参照してください。
譜のサイズに関しては、譜サイズを設定するを参照してください。
合図音符に関しては、合図音符をフォーマットするを参照してください。
オッシア譜に関しては、オッシア譜を参照してください。

譜のサイズを変えずに記譜のサイズを変更するには、\magnifyMusic コマンドに拡大縮小の割合を指定します:

\new Staff <<
  \new Voice \relative {
    \voiceOne
    <e' e'>4 <f f'>8. <g g'>16 <f f'>8 <e e'>4 r8
  }
  \new Voice \relative {
    \voiceTwo
    \magnifyMusic 0.63 {
      \override Score.SpacingSpanner.spacing-increment = #(* 1.2 0.63)
      r32 c'' a c a c a c r c a c a c a c
      r c a c a c a c a c a c a c a c
    }
  }
>>

[image of music]

上の例にある \override は、不具合の一時的な回避措置です。このセクションの最後にある“既知の問題と警告”を参照してください。

通常のサイズの音符が小さい音符とマージされる際には、符幹や臨時記号が正しく揃うように、小さい音符のサイズを(‘\once \normalsize’ によって) リセットする必要があります:

\new Staff <<
  \key fis \minor
  \mergeDifferentlyDottedOn
  \new Voice \relative {
    \voiceOne
    \magnifyMusic 0.63 {
      \override Score.SpacingSpanner.spacing-increment = #(* 1.2 0.63)
      \once \normalsize cis'32( cis' gis b a fis \once \normalsize d d'
      \once \normalsize cis, cis' gis b a gis \once \normalsize fis fis'
      \once \normalsize fis, fis' ais, cis b gis \once \normalsize eis eis'
      \once \normalsize a, a' bis, d cis b \once \normalsize gis gis')
    }
  }
  \new Voice \relative {
    \voiceTwo
    cis'8. d16 cis8. fis16 fis8. eis16 a8. gis16
  }
>>

[image of music]

\magnifyMusic コマンドは合図音符、装飾音符、オッシア譜を作るためのものとしては想定されていません – これらには、より適切な作成方法があります。代わりに、このコマンドは以下のような場合に適しています: 単一の譜にある、単一の楽器について、記譜サイズが変化し、しかし装飾音符を用いるのは適切ではない場合 – 例えばカデンツァのようなパッセージや上の例にあるような場合です。 \magnifyMusic の値を 0.63 にセットすることで、CueVoice と同じ大きさになります。

Note: magnifyMusic コマンドは譜のサイズを変更する時にも使うべきではありません。譜サイズを設定するを参照してください。

個々のレイアウト オブジェクトのサイズを変更する

個々のレイアウト オブジェクトは \tweak\override コマンドを使って、font-size プロパティを調整することでサイズを変更できます:

\relative {
  % 符頭のサイズを変更します
  <f' \tweak font-size -4 b e>-5
  % 運指記号のサイズを変更します
  bes-\tweak font-size 0 -3
  % 臨時記号のサイズを変更します
  \once \override Accidental.font-size = -4 bes!-^
  % アーティキュレーションのサイズを変更します
  \once \override Script.font-size = 4 bes!-^
}

[image of music]

それぞれのレイアウト オブジェクトの font-size のデフォルト値は、内部リファレンスにリストアップされています。font-size プロパティはfont-interface をサポートしているレイアウト オブジェクトにのみ設定できます。font-size がオブジェクトの ‘Standard settings’ に存在していない場合は、デフォルト値は 0 です。 All layout objects を参照してください。

fontSize プロパティを理解する

fontSize コンテキスト プロパティは、コンテキストに属するグリフ ベースの (訳注: フォントの文字として定義されている、詳しくは後述) 記譜要素全ての相対サイズを調整します:

\relative {
  \time 3/4
  d''4---5 c8( b a g) |
  \set fontSize = -6
  e'4-- c!8-4( b a g) |
  \set fontSize = 0
  fis4---3 e8( d) fis4 |
  g2.
}

[image of music]

fontSize の値は、現在の譜の高さに応じた通常のサイズからの相対値を示しています。デフォルトの fontSize は 0 です。fontSize に 6 を加えることで大きさが 2 倍になり、6 を減じることで半分になります。1 が約 12% の増減になります。

font-size プロパティの対数的な単位は常に直観的とは限りません。Scheme 関数 magnification->font-size はこれに対応する便利な関数です。例えば、記譜の大きさをデフォルトの 75% にしたい場合は、以下のようにします:

\set fontSize = #(magnification->font-size 0.75)

Scheme 関数 magstep は逆のことをします: font-size の値を拡大縮小率に変換します。

fontSize プロパティはグリフとして描かれている記譜要素のみに作用します – 例えば、符頭、臨時記号、文字などです。譜のサイズそのものや、符幹、連桁のサイズ、水平方向のスペースなどは変化しません。(譜のサイズを変更せずに) 符幹、連桁のサイズや、水平方向のスペースを変更するには、上記の \magnifyMusic を使用してください。譜のサイズを含めて、全てのサイズを変更する場合は、譜サイズを設定するを参照してください。

fontSize コンテキスト プロパティ が設定されると、個々のレイアウト オブジェクトのグリフが出力される前に、fontSize の値と、font-size グラフィカル オブジェクト プロパティの値が足し合わされます。これは、fontSize が既に設定されていて、個々の font-size プロパティを更に設定する場合に混乱するかもしれません:

% NoteHead のデフォルトの font-size は 0 です
% Fingering のデフォルトの font-size は -5 です
c''4-3

\set fontSize = -3
% NoteHead のフォント サイズの最終的な値は -3 になります
% Fingering のフォント サイズの最終的な値は -8 になります
c''4-3

\override Fingering.font-size = 0
% Fingering のフォント サイズの最終的な値は -3 になります
c''4-3

[image of music]

以下のような短縮記法コマンドも存在します:

コマンド同等なコマンド相対サイズ
\teeny\set fontSize = -371%
\tiny\set fontSize = -279%
\small\set fontSize = -189%
\normalsize\set fontSize = 0100%
\large\set fontSize = 1112%
\huge\set fontSize = 2126%
\relative c'' {
  \teeny
  c4.-> d8---3
  \tiny
  c4.-> d8---3
  \small
  c4.-> d8---3
  \normalsize
  c4.-> d8---3
  \large
  c4.-> d8---3
  \huge
  c4.-> d8---3
}

[image of music]

フォント サイズの変更は、ひな形のサイズが望みのサイズに最も近くなるよう (一定の割合で) 増減することによって、達成されます。標準フォント サイズ (font-size = 0 のフォント サイズ) は標準の譜の高さに基づきます。20pt の譜では、11pt のフォントが選択されます。

定義済みコマンド

\magnifyMusic, \teeny, \tiny, \small, \normalsize, \large, \huge

参照

記譜法リファレンス: フォントとフォント サイズを選択する, 譜サイズを設定する, 合図音符をフォーマットする, オッシア譜

インストールされているファイル: ‘ly/music-functions-init.ly’, ‘ly/property-init.ly

コード断片集: Editorial annotations

内部リファレンス: font-interface

既知の問題と警告

\magnifyMusic を使用する際に、水平方向のスペースが不適切になる 2 つの不具合があります。これを解決する方法が 1 つだけありますが、全ての場合にうまくいくとは限りません。次の例で、mag 変数を好きな値に置き換えてください。\newSpacingSection コマンドの片方や両方、あるいは \override\revert コマンドを取り除いてみることができます:

\magnifyMusic mag {
  \newSpacingSection
  \override Score.SpacingSpanner.spacing-increment = #(* 1.2 mag)
  [music]
  \newSpacingSection
  \revert Score.SpacingSpanner.spacing-increment
}

運指の指示

運指の指示は 音符-数字 を用いることで挿入することができます:

\relative { c''4-1 d-2 f-4 e-3 }

[image of music]

指の入れ替えのためにマークアップ テキストや文字列を使うこともできます。

\relative {
  c''4-1 d-2 f\finger \markup \tied-lyric "4~3" c\finger "2 - 3"
}

[image of music]

ある音符を親指で演奏するよう指示するために、サム スクリプト (thumb script) を付け加えることができます (例えば、チェロ音楽で)。

\relative { <a'_\thumb a'-3>2 <b_\thumb b'-3> }

[image of music]

和音の個々の音符の後に運指を付け加えることによって、和音に対する運指法を付け加えることができます。

\relative {
  <c''-1 e-2 g-3 b-5>2 <d-1 f-2 a-3 c-5>
}

[image of music]

運指指示の配置を手動で譜の上または下にすることができます。向きと配置 を参照してください。

Selected Snippets

和音内の運指記号の位置をコントロールする

運指番号の位置を精密にコントロールすることができます。位置の設定が適用されるためには、単一の音符であっても和音構造 <> を用いる必要があります。

\relative c' {
  \set fingeringOrientations = #'(left)
  <c-1 e-3 a-5>4
  \set fingeringOrientations = #'(down)
  <c-1 e-3 a-5>4
  \set fingeringOrientations = #'(down right up)
  <c-1 e-3 a-5>4
  \set fingeringOrientations = #'(up)
  <c-1 e-3 a-5>4
  \set fingeringOrientations = #'(left)
  <c-1>2
  \set fingeringOrientations = #'(down)
  <e-3>2
  \set stringNumberOrientations = #'(up left down)
  <f\3 a\2 c\1>1
  \set strokeFingerOrientations = #'(down right up)
  <c\rightHandFinger #1 e\rightHandFinger #2 c'\rightHandFinger #4 >
}

[image of music]

運指記号を譜の内側に表示する

デフォルトでは、縦方向の運指記号は譜の外側に配置されます。この挙動を取り消すことができます。注意: この場合、和音でない場合にも <> を用いる必要があります。

\relative c' {
  <c-1 e-2 g-3 b-5>2
  \override Fingering.staff-padding = #'()
  <c-1 e-2 g-3 b-5>4 g'-0
  a8[-1 b]-2 g-0 r
  \override Fingering.add-stem-support = ##f
  a[-1 b]-2 g-0 r
  \override Fingering.add-stem-support = ##t
  a[-1 b]-2 g-0 r
  \override Fingering.add-stem-support = #only-if-beamed
  a[-1 b]-2 g-0 r
}

[image of music]

参照

記譜法リファレンス: 向きと配置

コード断片集: Editorial annotations

内部リファレンス: FingeringEvent, fingering-event, Fingering_engraver, New_fingering_engraver, Fingering


隠された音符

隠された (または不可視、透明の) 音符は、音楽理論や作曲の演習の際に有用です。

\relative {
  c''4 d
  \hideNotes
  e4 f
  \unHideNotes
  g a
  \hideNotes
  b
  \unHideNotes
  c
}

[image of music]

符頭、符幹、旗、それに休符は不可視です。連桁は、隠された音符から始まる場合は、不可視です。 不可視の音符に取り付けられたオブジェクトは可視のままです。

\relative c'' {
  e8(\p f g a)--
  \hideNotes
  e8(\p f g a)--
}

[image of music]

定義済みコマンド

\hideNotes, \unHideNotes

参照

学習マニュアル: オブジェクトの可視性と色

Notation Reference: 不可視の休符, オブジェクトの可視性, 譜を隠す

コード断片集: Editorial annotations

内部リファレンス: Note_spacing_engraver, NoteSpacing


オブジェクトに色を付ける

個々のオブジェクトに色を割り振ることができます。有効なカラー名は 色の一覧 でリストアップされています。

\override NoteHead.color = #red
c''4 c''
\override NoteHead.color = #(x11-color 'LimeGreen)
d''
\override Stem.color = #blue
e''

[image of music]

Scheme 関数 x11-color を用いることによって、X11 のために定義された色の全範囲にアクセスすることができます。この関数は引数を 1 つとります。この引数は 'FooBar という形式のシンボルであったり、"FooBar" という形式の文字列であったりします。最初の形式はより素早く記述できて、より効率的です。しかしながら、2 番目の形式を使うと複数単語形式の X11 カラーにアクセスすることができます。

x11-color がパラメータとして意味をなさない場合、その色はデフォルトの黒になります。

\new Staff \with {
  instrumentName = \markup {
    \with-color #(x11-color 'red) "Clarinet"
    }
  }
  \relative c'' {
  \override Staff.StaffSymbol.color = #(x11-color 'SlateBlue2)
  gis8 a
  \override Beam.color = #(x11-color "medium turquoise")
  gis a
  \override Accidental.color = #(x11-color 'DarkRed)
  gis a
  \override NoteHead.color = #(x11-color "LimeGreen")
  gis a
  % 以下は意図的に意味をなさない色を指定しています。符幹が黒のままであることに注意してください
  \override Stem.color = #(x11-color 'Boggle)
  b2 cis
}

[image of music]

Scheme 関数 rgb-color を用いることによって、厳密な RGB カラーを指定することができます。

\new Staff \with {
  instrumentName = \markup {
    \with-color #(x11-color 'red) "Clarinet"
    }
  }
\relative c'' {
  \override Staff.StaffSymbol.color = #(x11-color 'SlateBlue2)
  \override Stem.color = #(rgb-color 0 0 0)
  gis8 a
  \override Stem.color = #(rgb-color 1 1 1)
  gis8 a
  \override Stem.color = #(rgb-color 0 0 0.5)
  gis4 a
}

[image of music]

参照

記譜法リファレンス: 色の一覧, \tweak コマンド

コード断片集: Editorial annotations

既知の問題と警告

X11 カラーは必ずしも同様の名前を持つノーマル カラーとまったく同じとなるわけではありません。

すべての X11 カラーが Web ブラウザで見分けられるわけではありません。つまり、ある Web ブラウザは LineGreenForestGreen を同じ色で表示するかもしれません。Web 向けでは、ノーマル カラーを使用することを推奨します (つまり、blue, green, red)。

和音の中にある音符に別々に色を付けるのに \override を使うことはできません。代わりにそれぞれの音符の前に \tweak や、それと同等な\single\override を使用してください – \tweak コマンド を参照してください。


括弧

音楽イベントの前に \parenthesize を置くことによって、そのオブジェクトに括弧を付けることができます。和音の前に \parenthesize を置くと、和音の音符それぞれに括弧が付けられます。和音内部の音符に個別に括弧を付けることもできます。

\relative {
  c''2 \parenthesize d
  c2 \parenthesize <c e g>
  c2 <c \parenthesize e g>
}

[image of music]

音符ではないオブジェクトにも括弧を付けることができます。アーティキュレーションに対して括弧をつける場合、\parenthesize コマンドの前にハイフンが必要です。

\relative {
  c''2-\parenthesize -. d
  c2 \parenthesize r
}

[image of music]

参照

コード断片集: Editorial annotations

内部リファレンス: Parenthesis_engraver, ParenthesesItem, parentheses-interface

既知の問題と警告

和音に括弧を付けると、和音全体に単一の大きな括弧が付くのではなく、それぞれの音符に個別に括弧が付きます。


符幹

音符が見つかった場合はいつでも Stem オブジェクトが自動的に作成されます。全音符や休符の場合でも Stem オブジェクトが作成されますが、不可視になります。

符幹の向きを手動で上または下にすることができます – 向きと配置 を参照してください。

定義済みコマンド

\stemUp, \stemDown, \stemNeutral

Selected Snippets

譜の中央にある音符の符幹のデフォルトの向き

譜の中央にある音符の符幹の向きは、Stemneutral-direction プロパティにセットされています。

\relative c'' {
  a4 b c b
  \override Stem.neutral-direction = #up
  a4 b c b
  \override Stem.neutral-direction = #down
  a4 b c b
}

[image of music]

メロディに合わせて譜の中央にある音符の符幹の向きを自動で変更する

LilyPond では、Voice コンテキストに Melody_engraver を追加し、Stemneutral-direction をオーバライドすることで、譜の中央にある音符の符幹の向きを、メロディに合わせて変更することができます。

\relative c'' {
  \time 3/4
  a8 b g f b g |
  \set suspendMelodyDecisions = ##t
  a  b g f b g |
  \unset suspendMelodyDecisions
  c  b d c b c |
}

\layout {
  \context {
    \Voice
    \consists "Melody_engraver"
    \autoBeamOff
  }
}

[image of music]

参照

記譜法リファレンス: 向きと配置

コード断片集: Editorial annotations

内部リファレンス: Stem_engraver, Stem, stem-interface


1.7.2 譜の外部

このセクションでは、譜の外側から譜の中にある要素を強調するための方法について説明します。


音符名

音符名は NoteNames コンテキストを用いて、テキストとして譜刻できます。通常の譜と同時に用いると、各音符と同期してその名前を譜の上部または下部に譜刻することができます。

\language "italiano"
melody = \relative do'' {
  fad2 si,8 dod re mi fad4. re8 fad2
}

<<
  \new NoteNames { \melody }
  \new Staff { \key si \minor \melody }
  \new NoteNames {
    \set printNotesLanguage = "deutsch"
    \set printAccidentalNames = ##f
    \melody
  }
>>

[image of music]

デフォルトでは、音符名は音楽の入力で使われるものと同じ言語で譜刻されます。しかしながら、printNotesLanguage プロパティで他の言語を選択することが可能です (他の言語での音符名 を参照してください) 。臨時記号を譜刻するかどうかは、printAccidentalNames プロパティで決定されます。

プロパティをシンボルにセットし、printOctaveNames##t にセットすることで、音符名を LilyPond の入力構文と密接に似せることができます。より一般的な結果が欲しい場合は、‘科学的な’ オクターブ名にすることもできます。

melody = \relative c'' {
  fis2 b,8 cis d e fis4. d8 fis2
}

<<
  \new NoteNames {
    \set printOctaveNames = ##t
    \set printAccidentalNames = #'lily
    \melody
  }
  \new Staff { \key b \minor \melody }
  \new NoteNames {
    \set printOctaveNames = #'scientific
    \melody
  }
>>

[image of music]

noteNameSeparator プロパティは和音がどのように譜刻されるかを定義します。その他のフォーマット関数は noteNameFunction で定義され、このような関数は、いずれかを無視する場合であっても、 pitchcontext 引数を受けなければなりません。

somechords = \relative c' {
  <b d fis>2 <b cis e g> <b d fis> q
}

<<
  \new NoteNames {
    \set noteNameSeparator = "+"
    \somechords
  }
  \new Staff { \key b \minor \somechords }
  \new NoteNames {
    \set noteNameFunction =
      #(lambda (pitch ctx)
         (alteration->text-accidental-markup
          (ly:pitch-alteration pitch)))
    \somechords
  }
>>

[image of music]

参照

記譜法リファレンス: 他の言語での音符名

内部リファレンス: NoteName, NoteNames, Note_name_engraver


バルーン ヘルプ

記譜要素に四角いバルーンで印を付けて、テキストを付け加えることができます。この機能の主目的は記譜法を説明することです。

\new Voice \with { \consists "Balloon_engraver" }
\relative c'' {
  \balloonGrobText #'Stem #'(3 . 4) \markup { "I'm a Stem" }
  a8
  \balloonGrobText #'Rest #'(-4 . -4) \markup { "I'm a rest" }
  r
  <c, g'-\balloonText #'(-2 . -2) \markup { "I'm a note head" } c>2.
}

[image of music]

上の例には 2 つの音楽関数が使われています – balloonGrobTextballoonText です。前者は \once \override のように使用され、任意のグラフィカル オブジェクトにテキストを付加します。後者はたいてい和音の中で \tweak のように使用され、個々の音符にテキストを付加します。

バルーン ヘルプのテキストは音符の間隔に影響を与えませんが、影響を与えるように変更することもできます:

\new Voice \with { \consists "Balloon_engraver" }
\relative c'' {
  \balloonGrobText #'Stem #'(3 . 4) \markup { "I'm a Stem" }
  a8
  \balloonGrobText #'Rest #'(-4 . -4) \markup { "I'm a rest" }
  r
  \balloonLengthOn
  <c, g'-\balloonText #'(-2 . -2) \markup { "I'm a note head" } c>2.
}

[image of music]

定義済みコマンド

\balloonLengthOn, \balloonLengthOff

参照

コード断片集: Editorial annotations

内部リファレンス: Balloon_engraver, BalloonTextItem, balloon-interface


グリッド ライン

音符に同期して、譜の間に垂直な線を描くことができます。

線の終点を作成するために Grid_point_engraver を用いる必要があります。一方、実際に線を描くために Grid_line_span_engraver を用いる必要があります。デフォルトでは、グリッド ラインは各符頭の左端に揃えられます。グリッド ラインは上の譜の中央線から下の譜の中央線まで引かれます。gridInterval でグリッド ライン間の演奏時間を指定する必要があります。

\layout {
  \context {
    \Staff
    \consists "Grid_point_engraver"
    gridInterval = #(ly:make-moment 1/4)
  }
  \context {
    \Score
    \consists "Grid_line_span_engraver"
  }
}

\score {
  \new ChoirStaff <<
    \new Staff \relative {
      \stemUp
      c''4. d8 e8 f g4
    }
    \new Staff \relative {
      \clef bass
      \stemDown
      c4 g' f e
    }
  >>
}

[image of music]

Selected Snippets

グリッド線: 見た目を変更する

グリッド線の見た目は、プロパティをオーバライドすることで変更することができます。

\score {
  \new ChoirStaff <<
    \new Staff {
      \relative c'' {
        \stemUp
        c'4. d8 e8 f g4
      }
    }
    \new Staff {
      \relative c {
        % this moves them up one staff space from the default position
        \override Score.GridLine.extra-offset = #'(0.0 . 1.0)
        \stemDown
        \clef bass
        \once \override Score.GridLine.thickness = #5.0
        c4
        \once \override Score.GridLine.thickness = #1.0
        g'4
        \once \override Score.GridLine.thickness = #3.0
        f4
        \once \override Score.GridLine.thickness = #5.0
        e4
      }
    }
  >>
  \layout {
    \context {
      \Staff
      % set up grids
      \consists "Grid_point_engraver"
      % set the grid interval to one quarter note
      gridInterval = #(ly:make-moment 1/4)
    }
    \context {
      \Score
      \consists "Grid_line_span_engraver"
      % this moves them to the right half a staff space
      \override NoteColumn.X-offset = #-0.5
    }
  }
}

[image of music]

参照

コード断片集: Editorial annotations

内部リファレンス: Grid_line_span_engraver, Grid_point_engraver, GridLine, GridPoint, grid-line-interface, grid-point-interface.


分析の囲み

音楽分析では、囲みを使って楽曲の構造を示します。シンプルな水平な囲みがサポートされています。

\layout {
  \context {
    \Voice
    \consists "Horizontal_bracket_engraver"
  }
}
\relative {
  c''2\startGroup
  d\stopGroup
}

[image of music]

分析の囲みはネストすることができます。

\layout {
  \context {
    \Voice
    \consists "Horizontal_bracket_engraver"
  }
}
\relative {
  c''4\startGroup\startGroup
  d4\stopGroup
  e4\startGroup
  d4\stopGroup\stopGroup
}

[image of music]

Selected Snippets

分析用のブラケットを譜の上に表示する

分析用のブラケットは、デフォルトでは譜の下に表示されます。次の例は譜の上に表示する方法を示しています。

\layout {
  \context {
    \Voice
    \consists "Horizontal_bracket_engraver"
  }
}

\relative c'' {
  \once \override HorizontalBracket.direction = #UP
  c2\startGroup
  d2\stopGroup
}

[image of music]

ラベル付きの分析用ブラケット

Grob HorizontalBracketTexttext プロパティを設定することで、分析用のブラケットにテキストを追加することができます。同時に開始するブラケットに異なるテキストを追加する場合には、\tweak コマンドを使用してください。改行後のテキストは括弧付きで表示されます。

\layout {
  \context {
    \Voice
    \consists "Horizontal_bracket_engraver"
    \override HorizontalBracket.direction = #UP
  }
}

{
  \once\override HorizontalBracketText.text = "a"
    c''\startGroup d''\stopGroup
    \once\override HorizontalBracketText.text = "a'"
    e''\startGroup d''\stopGroup |
  c''-\tweak HorizontalBracketText.text
        \markup \bold \huge "b" \startGroup
     -\tweak HorizontalBracketText.text "a" \startGroup
    d''\stopGroup
    e''-\tweak HorizontalBracketText.text "a'" \startGroup
    d''\stopGroup\stopGroup |
  c''-\tweak HorizontalBracketText.text foo \startGroup
    d'' e'' f'' | \break
  g'' a'' b'' c'''\stopGroup
}

[image of music]

参照

内部リファレンス: Horizontal_bracket_engraver, HorizontalBracket, horizontal-bracket-interface, HorizontalBracketText, horizontal-bracket-text-interface, Staff


1.8 テキスト

[image of music]

このセクションでは、楽譜に (さまざまなフォーマットの) テキストを含める方法について説明します。


テキスト オブジェクトの概要

テキスト オブジェクトは、ダブル クォーテーションの間の単純な文字列か、 テキストをフォーマットする に詳細を書いたさまざまな高度なテキスト フォーマットやグラフィカルな改善を受け入れることができる \markup ブロックとして入力されます。

このように markup ブロックは使われます:

主な使い方ではありませんが、その他の多くのテキスト ベースのオブジェクトを markup ブロックで入力できます。

実際、グラフィカル オブジェクト (または ‘grob’) の実質的な出現のカスタマイズのために \markup を使うことは、もしそのオブジェクトが text プロパティを持っている場合はそれを、もしくは stencil プロパティを上書きすることで可能となっています。これを可能にしているいくつかの仕組みは、 Flexible architecture で説明されています。

以下の例は markup ブロックの遍在性を説明します。上に列挙されたオブジェクトの一部としてだけではなく、さまざまな方法を通してテキスト オブジェクトで音楽オブジェクトを置き換えることにも使われます。

\header { title = \markup "Header" }

dyn =
#(make-dynamic-script #{ \markup \text "DynamicText" #})

\markup \box "Top-level markup"

\score {
  <<
    \new ChordNames
    \with {
      majorSevenSymbol = \markup "majorSevenSymbol"
    }
    \chordmode { c1:maj7 }
    \new Staff {
      \tempo \markup "MetronomeMark"
      \mark \markup \smaller "RehearsalMark"
      \once \override TupletNumber.text =
        \markup "TupletNumber"
      \tuplet 3/2 {
        \once \override NoteHead.stencil =
          #ly:text-interface::print
        \once \override NoteHead.text =
          \markup \lower #0.5 "NoteHead"
        c''8^\markup \italic "TextScript"
        a'\finger \markup \text "Fingering"
        \once \override Rest.stencil =
          #(lambda (grob)
             (grob-interpret-markup grob #{
               \markup  "Rest"
               #}))
        r
      }
    }
    \new Lyrics \lyricmode {
      \markup \smallCaps "LyricText" 1
    }
    \new Dynamics { s1\dyn }
  >>
}

[image of music]

参照

記譜法リファレンス: テキストをフォーマットする, テキスト スクリプト, テキスト スパナ, テキスト マーク, 独立したテキスト, 運指の指示, 声楽で共通の記譜法, 和音を表示する, 新たな強弱記号, 強弱記号, バルーン ヘルプ

Essay on automated music engraving: Flexible architecture

コード断片集: Text


1.8.1 テキストを記述する

このセクションでは、楽譜にテキストを付け加えるいくつかの方法を紹介します。

Note: アクセント付きのテキストや特殊なテキスト (他の言語の文字など) を記述するには、単純にその文字を直接 LilyPond ファイルに挿入します。ファイルは UTF-8 で保存しなければなりません。更なる情報は テキスト エンコーディング を参照してください。


テキスト スクリプト

以下の例で示すように、シンプルな “引用符で囲まれたテキスト” 指示を楽譜に付け加えることができます。そのような指示は、向きと配置 で説明する構文を用いて、手動で譜の上または下に配置することができます。

\relative { a'8^"pizz." g f e a4-"scherz." f }

[image of music]

この構文は実際には短縮記法です。テキストをフォーマットする で記述されているように、\markup ブロックを用いて明示的に、より複雑なテキスト フォーマットを音符に付け加えることができます。

\relative {
  a'8^\markup { \italic pizz. } g f e
  a4_\markup { \tiny scherz. \bold molto } f }

[image of music]

デフォルトでは、テキスト指示は音符の間隔に影響を与えません。しかしながら、テキスト指示の幅を考慮に入れることもできます: 以下の例では、最初のテキスト文字列は音符の間隔に影響を与えていませんが、2 番目のテキスト文字列は影響を与えています。

\relative {
  a'8^"pizz." g f e
  \textLengthOn
  a4_"scherzando" f
}

[image of music]

テキスト スクリプトだけでなく、アーティキュレーションを音符に付けることもできます。更なる情報は アーティキュレーションと装飾 を参照してください。

テキスト スクリプトとアーティキュレーションの順序についての更なる情報は オブジェクトの配置 を参照してください。

定義済みコマンド

\textLengthOn, \textLengthOff

参照

学習マニュアル: オブジェクトの配置

記譜法リファレンス: テキストをフォーマットする, 向きと配置, アーティキュレーションと装飾

コード断片集: Text

内部リファレンス: TextScript

既知の問題と警告

テキスト スクリプトと歌詞がマージンに収まることを保証するためのチェックは計算量を増やします。処理速度を上げる必要がある場合は、以下を用います:

\override Score.PaperColumn.keep-inside-line = ##f

テキスト スパナ

いくつかの演奏指示 – 例えば rallentandoaccelerando – は、テキストとして記述され、点線で複数の音符の上に伸ばされます。そのようなオブジェクト – “スパナ” と呼ばれます – は、以下の構文を用いることで、ある音符から他の音符までの範囲に作成することができます:

\relative {
  \override TextSpanner.bound-details.left.text = "rit."
  b'1\startTextSpan
  e,\stopTextSpan
}

[image of music]

譜刻される文字列はオブジェクト プロパティを通じてセットされます。デフォルトでは文字列はイタリック体で譜刻されます。しかしながら、テキストをフォーマットする で記述されているように、\markup ブロックを用いることで他の書体にすることができます。

\relative {
  \override TextSpanner.bound-details.left.text =
    \markup { \upright "rit." }
  b'1\startTextSpan c
  e,\stopTextSpan
}

[image of music]

テキスト文字列と同様に、線のスタイルもオブジェクト プロパティとして定義することができます。線スタイルの構文は ライン スタイル で記述されています。

定義済みコマンド

\textSpannerUp, \textSpannerDown, \textSpannerNeutral

既知の問題と警告

LilyPond が処理できるテキスト スパナは 1 ボイスにつき、1 つだけです。

Selected Snippets

強弱記号のテキスト スパナ音楽関数

カスタム テキスト スパナを定義することができ、ヘアピンやテキスト クレッシェンドと同時に用いることができます。\<\> はデフォルトでヘアピンを作り出し、\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\!
}

[image of music]

強弱記号のカスタム テキスト スパナ後置関数

これは、クレッシェンドのテキスト スパナをカスタマイズする後置関数です。スパナは小節の最初の音符から始めるべきです。-\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
}

[image of music]

参照

記譜法リファレンス: ライン スタイル, 強弱記号, テキストをフォーマットする

コード断片集: Text, Expressive marks

内部リファレンス: TextSpanner


テキスト マーク

リハーサル記号 で記述されている構文を用いて、さまざまなテキスト要素を楽譜に付け加えることができます:

\relative {
  \mark "Verse"
  c'2 g'
  \bar "||"
  \mark "Chorus"
  g2 c,
  \bar "|."
}

[image of music]

この構文を用いることで、任意のテキストを小節線上に配置することが可能です。テキストをフォーマットする で記述されているように、\markup ブロックを用いてより複雑なテキスト フォーマットを付け加えることもできます:

\relative {
  <c' e>1
  \mark \markup { \italic { colla parte } }
  <d f>2 <e g>
  <c f aes>1
}

[image of music]

さらに、マークアップ内部での音楽記譜法 で説明されているように、この構文で適切なシンボル名を指定することによって、特殊な記号 – コーダ、セーニョ、フェルマータなど – を譜刻することが可能です:

\relative {
  <bes' f>2 <aes d>
  \mark \markup { \musicglyph "scripts.ufermata" }
  <e g>1
}

[image of music]

このようなオブジェクトを配置できる位置は、楽譜の最上段の譜の上だけです。オブジェクトを小節の終わりで指定するか、途中で指定するか次第で、小節線の上に配置されたり、音符の間に配置されたりします。改行位置で指定した場合、そのリハーサル記号は次の行の先頭に譜刻されます。

\relative c'' {
  \mark "Allegro"
  c1 c
  \mark "assai" \break
  c  c
}

[image of music]

定義済みコマンド

\markLengthOn, \markLengthOff

Selected Snippets

リハーサル記号を行末に表示する

リハーサル記号は、次の行の行頭ではなく、現在の行の行末に表示することができます。この場合、記号を小節線に右揃えした方が良いでしょう。

\relative c'' {
  g2 c
  d,2 a'
  \once \override Score.RehearsalMark.break-visibility =
    #end-of-line-visible
  \once \override Score.RehearsalMark.self-alignment-X =
    #RIGHT
  \mark "D.C. al Fine"
  \break
  g2 b,
  c1 \bar "||"
}

[image of music]

リハーサル記号を全ての譜の上に表示する

リハーサル記号は通常、一番上にある譜の上に表示されますが、全ての譜の上に表示することもできます。

\score {
  <<
    \new Staff { c''1 \mark "molto" c'' }
    \new Staff { c'1 \mark "molto" c' }
  >>
  \layout {
    \context {
      \Score
      \remove "Mark_engraver"
      \remove "Staff_collecting_engraver"
    }
    \context {
      \Staff
      \consists "Mark_engraver"
      \consists "Staff_collecting_engraver"
    }
  }
}

[image of music]

参照

記譜法リファレンス: リハーサル記号, テキストをフォーマットする, マークアップ内部での音楽記譜法, Emmentaler フォント.

コード断片集: Text

内部リファレンス: MarkEvent, Mark_engraver, RehearsalMark


独立したテキスト

\markup ブロックはそれ自体で、すべての \score ブロックの外側に、“最上位レベルの表記” として存在することができます。この構文は ファイル構造 で記述されています。

\markup {
  Tomorrow, and tomorrow, and tomorrow...
}

[image of music]

これによりテキストを音楽から分離して譜刻することが可能になります。これは、ブックの中にある複数のスコア で記述されているように、入力ファイルが複数の楽曲を保持している場合に特に有用です。

\score {
  c'1
}
\markup {
  Tomorrow, and tomorrow, and tomorrow...
}
\score {
  c'1
}

[image of music]

独立したテキスト ブロックは複数のページに広がることができます。これにより、テキスト ドキュメントやブック全体を LilyPond の中に譜刻することが可能になります。この機能と、この機能の構文は 複数ページにわたるマークアップ で記述されています。

定義済みコマンド

\markup, \markuplist

Selected Snippets

独立したテキストの 2 段組み

\markup コマンドを用いて、独立したテキストを複数段組みにすることができます:

\markup {
  \fill-line {
    \hspace #1
    \column {
      \line { O sacrum convivium }
      \line { in quo Christus sumitur, }
      \line { recolitur memoria passionis ejus, }
      \line { mens impletur gratia, }
      \line { futurae gloriae nobis pignus datur. }
      \line { Amen. }
    }
    \hspace #2
    \column \italic {
      \line { O sacred feast }
      \line { in which Christ is received, }
      \line { the memory of His Passion is renewed, }
      \line { the mind is filled with grace, }
      \line { and a pledge of future glory is given to us. }
      \line { Amen. }
    }
    \hspace #1
  }
}

[image of music]

参照

記譜法リファレンス: テキストをフォーマットする, ファイル構造, ブックの中にある複数のスコア, 複数ページにわたるマークアップ

コード断片集: Text

内部リファレンス: TextScript


1.8.2 テキストをフォーマットする

このセクションでは、\markup モード特有の構文を用いた基本的かつ高度なテキスト フォーマットについて説明します。


テキスト マークアップの導入部

\markup ブロックは “マークアップ モード” と呼ばれる拡張可能な構文でテキストを譜刻するために用いられます。このようなブロックは、テキスト オブジェクトの概要 で説明されているように、どこにでも用いることができます。

マークアップ構文は LilyPond の通常の構文と同様です: \markup 表記は波括弧 { … } で囲まれます。単語 1 つが最小の表記と見なされ、その場合は波括弧で囲む必要はありません。

シンプルな “引用符で囲まれたテキスト” 指示とは異なり、\markup ブロックは、バックスラッシュ \ を用いて挿入されるネストされた表記やマークアップ コマンドを保持することができます。そのようなコマンドは直後の表記にのみ影響を与えます。

\relative {
  a'1-\markup intenso
  a2^\markup { poco \italic più forte  }
  c e1
  d2_\markup { \italic "string. assai" }
  e
  b1^\markup { \bold { molto \italic  agitato } }
  c
}

[image of music]

また、\markup ブロックは引用符で囲まれたテキスト文字列を保持することがあります。そのような文字列は最小のテキスト表記として扱われます。そのため、引用符で囲まれたマークアップ コマンドや特殊文字 (\# など) はテキストのフォーマットに影響を与えず、そのまま (逐語的に) 譜刻されます。ダブル クォーテーション自体は、それ自体の前にバックスラッシュを置くことによって譜刻されます。

\relative {
  a'1^"\italic markup..."
  a_\markup { \italic "... prints \"italic\" letters!" }
  a a
}

[image of music]

表記をばらばらなものとして扱うには、単語のリストをダブル クォーテーションで囲むか、前にコマンドを置く必要があります。マークアップ表記の定義の仕方は、表記の配置のされ方 – 垂直に中央揃えして積み重ねられる、水平に並べられる – に影響を与えます。以下の例では、2 番目の \markup 表記は 1 番目の表記と同じように扱われています:

\relative c'' {
  c1^\markup { \center-column { a bbb c } }
  c1^\markup { \center-column { a { bbb c } } }
  c1^\markup { \center-column { a \line { bbb c } } }
  c1^\markup { \center-column { a "bbb c" } }
}

[image of music]

マークアップを変数に格納することができます。そのような変数は直接音符にくっつけることができます:

allegro = \markup { \bold \large Allegro }

{
  d''8.^\allegro
  d'16 d'4 r2
}

[image of music]

\markup コマンドの一覧\markup 特有のコマンドの徹底したリストがあります。これらのコマンドの内部動作と、新たに実装する方法は、 Markup functions で説明されています。

参照

記譜法リファレンス: テキスト オブジェクトの概要, \markup コマンドの一覧

拡張: Markup functions

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

コード断片集: Text

既知の問題と警告

マークアップ モードの構文エラー メッセージは混乱しやすいです。


フォントとフォント サイズを選択する

マークアップ モードでは、基本的なフォント切り替えがサポートされています:

\relative {
  d''1^\markup {
    \bold { Più mosso }
    \italic { non troppo \underline Vivo }
  }
  r2 r4 r8
  d,_\markup { \italic quasi \smallCaps Tromba }
  f1 d2 r
}

[image of music]

フォント サイズをグローバル譜サイズとの相対値で変更する方法はいくつかあります。

フォント サイズをあらかじめ定義されているサイズに設定することができます:

\relative b' {
  b1_\markup { \huge Sinfonia }
  b1^\markup { \teeny da }
  b1-\markup { \normalsize camera }
}

[image of music]

フォント サイズを前の値との相対関係で設定することができます:

\relative b' {
  b1_\markup { \larger Sinfonia }
  b1^\markup { \smaller da }
  b1-\markup { \magnify #0.6  camera }
}

[image of music]

フォント サイズをグローバル譜サイズによって設定されている値で拡大あるいは縮小させることができます:

\relative b' {
  b1_\markup { \fontsize #-2 Sinfonia }
  b1^\markup { \fontsize #1 da }
  b1-\markup { \fontsize #3 camera }
}

[image of music]

さらに、フォント サイズをグローバル譜サイズとは無関係に、固定ポイント サイズに設定することができます:

\relative b' {
  b1_\markup { \abs-fontsize #20 Sinfonia }
  b1^\markup { \abs-fontsize #8 da }
  b1-\markup { \abs-fontsize #14 camera }
}

[image of music]

テキストにスペースが含まれる場合、各スペースのサイズが他の文字のサイズに適したものになるので、引用符の内側にすべて置くのがベストです。

\markup \fontsize #6 \bold { Sinfonia da camera }
\markup \fontsize #6 \bold { "Sinfonia da camera" }

[image of music]

テキストを下付き文字あるいは上付き文字として譜刻することができます。デフォルトでは、それらは小さなサイズで譜刻されますが、通常サイズにすることもできます:

\markup {
  \column {
    \line { 1 \super st movement }
    \line { 1 \normal-size-super st movement
      \sub { (part two) }  }
  }
}

[image of music]

マークアップ モードは代わりのフォント ファミリを選択するための簡単な方法を提供します。他を指定しないかぎり、デフォルトの Serif フォント – ローマン体 – が自動的に選択されます。以下の例の最後の行では、最初の単語と 2 番目の単語はまったく同じです。

\markup {
  \column {
    \line { Act \number 1 }
    \line { \sans { Scene I. } }
    \line { \typewriter { Verona. An open place. } }
    \line { Enter \roman Valentine and Proteus. }
  }
}

[image of music]

新たな強弱記号手動の繰り返し記号 で言及されているように、番号や強弱記号など特定の項目に用いられるフォント ファミリの中にはすべての文字を提供しないものもあります。

フォント切り替えやフォーマット コマンドの中には、単語の中で使用されると望まない空白を作り出すものがあります。これはテキスト要素をつなげることによって容易に解決できます:

\markup {
  \column {
    \line {
      \concat { 1 \super st }
      movement
    }
    \line {
      \concat { \dynamic p , }
      \italic { con dolce espressione }
    }
  }
}

[image of music]

フォント に フォント切り換えとフォントのカスタム コマンドの徹底したリストがあります。

フォント で説明されているように、カスタム フォント セットを定義することも可能です。

定義済みコマンド

\teeny, \tiny, \small, \normalsize, \large, \huge, \smaller, \larger

参照

記譜法リファレンス: フォント, 新たな強弱記号, 手動の繰り返し記号, フォント

インストールされているファイル: ‘scm/define-markup-commands.scm

コード断片集: Text

内部リファレンス: TextScript

既知の問題と警告

フォントのサイズ コマンド \teeny, \tiny, \small, \normalsize, \large それに \huge を用いると、\fontsize を用いた場合と比較して、つじつまの合わない行間になります。


テキスト揃え

このサブセクションでは、マークアップ モードのテキストを配置する方法について説明します。 オブジェクトを移動させる で記述されている構文を用いて、マークアップ オブジェクト全体を移動させることも可能です。

マークアップ オブジェクトの揃え方はいくつかあります。デフォルトでは、テキスト指示はそのテキストの左端で揃えられます: 以下の例では、最初のマークアップと 2 番目のマークアップの揃えられ方はまったく同じです。

\relative {
  d''1-\markup { poco }
  f
  d-\markup { \left-align poco }
  f
  d-\markup { \center-align { poco } }
  f
  d-\markup { \right-align poco }
}

[image of music]

水平方向の揃え方は、数値を使って、微調整することができます:

\relative {
  a'1-\markup { \halign #-1 poco }
  e'
  a,-\markup { \halign #0 poco }
  e'
  a,-\markup { \halign #0.5 poco }
  e'
  a,-\markup { \halign #2 poco }
}

[image of music]

オブジェクトの中には揃えるための機能をそれ自身で持っているものがあり、それらは上記のコマンドでは影響を受けません。テキスト マーク の中の例で示されているように、そのようなマークアップ オブジェクト全体を移動させることが可能です。

垂直方向に揃える方法はもう少し複雑です。上で述べたようにマークアップ オブジェクト全体を移動させることが可能ですが、マークアップ ブロックの中にある特定の要素を移動させることも可能です。 特定要素だけをを移動させるには、移動させる要素の前に アンカ ポイント – もう 1 つのオブジェクト要素、あるいは不可視のオブジェクト要素 – を置く必要があります。以下の例では 2 つのケースを示しています。最後のマークアップはアンカ ポイントを持たず、それゆえ移動されません。

\relative {
  d'2^\markup {
    Acte I
    \raise #2 { Scène 1 }
  }
  a'
  g_\markup {
    \null
    \lower #4 \bold { Très modéré }
  }
  a
  d,^\markup {
    \raise #4 \italic { Une forêt. }
  }
  a'4 a g2 a
}

[image of music]

コマンドの中にはマークアップ モードの中にあるテキスト オブジェクトの水平方向と垂直方向の両方の揃え方に影響を与えることができるものもあります。そのようなコマンドで移動させるオブジェクトの前にはアンカ ポイントを置く必要があります:

\relative {
  d'2^\markup {
    Acte I
    \translate #'(-1 . 2) "Scène 1"
  }
  a'
  g_\markup {
    \null
    \general-align #Y #3.2 \bold "Très modéré"
  }
  a
  d,^\markup {
    \null
    \translate-scaled #'(-1 . 2) \teeny "Une forêt."
  }
  a'4 a g2 a
}

[image of music]

マークアップ オブジェクトに何行かのテキストが含まれる場合もあります。以下の例では、それぞれの要素あるいは表記はそれ自体の行に配置され、左揃えあるいは中央揃えされています:

\markup {
  \column {
    a
    "b c"
    \line { d e f }
  }
  \hspace #10
  \center-column {
    a
    "b c"
    \line { d e f }
  }
}

[image of music]

同様に、要素あるいは表記のリストの広がりが水平の行幅いっぱいを占めることがあります (要素が 1 つだけの場合、その要素はページの中央に揃えられます)。さらに、そのような表記は複数行にわたるテキストや他の任意の表記を含むことができます:

\markup {
  \fill-line {
    \line { William S. Gilbert }
    \center-column {
      \huge \smallCaps "The Mikado"
      or
      \smallCaps "The Town of Titipu"
    }
    \line { Sir Arthur Sullivan }
  }
}
\markup {
  \fill-line { 1885 }
}

[image of music]

要素は line-width プロパティを上書きすることにより、指定された幅を満たすように広げることができます。デフォルトではこれは行全体を示す #f にセットされています。

\markup {
  \column {
    \fill-line { left center right }
    \null
    \override #'(line-width . 30)
    \fill-line { left center right }
  }
}

[image of music]

さらに、長いテキスト指示を自動的に行幅に合わせて折り返すことができます。そのようなテキスト指示は、以下の例で示すように、左揃えされるか両端揃えされます。

\markup {
  \column {
    \line  \smallCaps { La vida breve }
    \line \bold { Acto I }
    \wordwrap \italic {
      (La escena representa el corral de una casa de
      gitanos en el Albaicín de Granada.  Al fondo una
      puerta por la que se ve el negro interior de
      una Fragua, iluminado por los rojos resplandores
      del fuego.)
    }
    \hspace #0

    \line \bold { Acto II }
    \override #'(line-width . 50)
    \justify \italic {
      (Calle de Granada.  Fachada de la casa de Carmela
      y su hermano Manuel con grandes ventanas abiertas
      a través de las que se ve el patio
      donde se celebra una alegre fiesta)
    }
  }
}

[image of music]

Align にテキスト揃えコマンドの徹底したリストがあります。

参照

学習マニュアル: オブジェクトを移動させる

記譜法リファレンス: Align, テキスト マーク

インストールされているファイル: ‘scm/define-markup-commands.scm’.

コード断片集: Text

内部リファレンス: TextScript


マークアップ内部でのグラフィック記譜法

マークアップ コマンドを用いて、さまざまなグラフィック オブジェクトを楽譜に付け加えることができます。

以下の例で示すように、マークアップ コマンドの中にはテキスト要素をグラフィックスで飾り付けることができるものがあります。

\markup \fill-line {
  \center-column {
    \circle Jack
    \box "in the box"
    \null
    \line {
      Erik Satie
      \hspace #3
      \bracket "1866 - 1925"
    }
    \null
    \rounded-box \bold Prelude
  }
}

[image of music]

コマンドの中にはテキストの周りのパディングを増やすことを必要とするものもあります。パティングの増加は Align で徹底的に記述されているマークアップ コマンドを用いて達成できます。

\markup \fill-line {
  \center-column {
    \box "Charles Ives (1874 - 1954)"
    \null
    \box \pad-markup #2 "THE UNANSWERED QUESTION"
    \box \pad-x #8 "A Cosmic Landscape"
    \null
  }
}
\markup \column {
  \line {
    \hspace #10
    \box \pad-to-box #'(-5 . 20) #'(0 . 5)
      \bold "Largo to Presto"
  }
  \pad-around #3
      "String quartet keeps very even time,
Flute quartet keeps very uneven time."
}

[image of music]

テキストを持たないグラフィック要素やシンボルを譜刻することもできます。他のマークアップ表記と同様に、そのようなオブジェクトも組み合わせることができます。

\markup {
  \combine
    \draw-circle #4 #0.4 ##f
    \filled-box #'(-4 . 4) #'(-0.5 . 0.5) #1
  \hspace #5

  \center-column {
    \triangle ##t
    \combine
      \draw-line #'(0 . 4)
      \arrow-head #Y #DOWN ##f
  }
}

[image of music]

高度なグラフィック機能として、外部画像ファイルを Encapsulated PostScript フォーマット (eps) に変換してインクルードする機能や、ネイティブの PostScript コードを用いてグラフィックを直接に入力ファイルへ埋め込む機能があります。このような機能を使う場合、以下で示すように、描画サイズを明示的に指定することを推奨します:

c'1^\markup {
  \combine
    \epsfile #X #10 "./context-example.eps"
    \with-dimensions #'(0 . 6) #'(0 . 10)
    \postscript "
      -2 3 translate
      2.7 2 scale
      newpath
      2 -1 moveto
      4 -2 4 1 1 arct
      4 2 3 3 1 arct
      0 4 0 3 1 arct
      0 0 1 -1 1 arct
      closepath
      stroke"
  }
c'

[image of music]

Graphic にグラフィック特有のコマンドの徹底したリストがあります。

参照

記譜法リファレンス: Align, 寸法, 編集者の注釈, Graphic

インストールされているファイル: ‘scm/define-markup-commands.scm’, ‘scm/stencil.scm

コード断片集: Text

内部リファレンス: TextScript


マークアップ内部での音楽記譜法

マークアップ オブジェクトの内部で、さまざまな音楽記譜要素を楽譜に付け加えることができます。

音符と臨時記号はマークアップ コマンドを用いて入力することができます:

a'2 a'^\markup {
  \note {4} #1
  =
  \note-by-number #1 #1 #1.5
}
b'1_\markup {
  \natural \semiflat \flat
  \sesquiflat \doubleflat
}
\glissando
a'1_\markup {
  \natural \semisharp \sharp
  \sesquisharp \doublesharp
}
\glissando b'

[image of music]

他の記譜オブジェクトもマークアップ モードの中で譜刻することができます:

\relative {
  g1 bes
  ees\finger \markup \tied-lyric "4~1"
  fis_\markup { \dynamic rf }
  bes^\markup {
    \beam #8 #0.1 #0.5
  }
  cis
  d-\markup {
    \markalphabet #8
    \markletter #8
  }
}

[image of music]

より一般的には、以下で示すように、使用可能な音楽シンボルはすべてマークアップ オブジェクトに含めることができます。Emmentaler フォント に、音楽シンボルと音楽シンボル名の徹底したリストがあります。

\relative {
  c''2
  c'^\markup { \musicglyph "eight" }
  c,4
  c,8._\markup { \musicglyph "clefs.G_change" }
  c16
  c2^\markup { \musicglyph "timesig.neomensural94" }
}

[image of music]

テキストではない図柄を譜刻するもう 1 つの方法が フォントの説明 で記述されています。この方法はさまざまなサイズの波括弧を譜刻する場合に有用です。

さらに、マークアップ モードは特定の楽器のためのダイアグラムをサポートします:

\relative {
  c''1^\markup {
    \fret-diagram-terse "x;x;o;2;3;2;"
  }
  c^\markup {
    \harp-pedal "^-v|--ov^"
  }
  c
  c^\markup {
    \combine
      \musicglyph "accordion.discant"
      \combine
	\raise #0.5 \musicglyph "accordion.dot"
	\raise #1.5 \musicglyph "accordion.dot"
  }
}

[image of music]

そのようなダイアグラムは Instrument Specific Markup でドキュメント化されています。

楽譜全体でさえもマークアップ オブジェクト内部にネストさせることができます:

\relative {
  c'4 d^\markup {
    \score {
      \relative { c'4 d e f }
    }
  }
  e f |
  c d e f
}

[image of music]

Music に、音楽記譜法関連のコマンドの徹底したリストがあります。

参照

記譜法リファレンス: Music, Emmentaler フォント, フォントの説明

インストールされているファイル: ‘scm/define-markup-commands.scm’, ‘scm/fret-diagrams.scm’, ‘scm/harp-pedals.scm

コード断片集: Text

内部リファレンス: TextScript

既知の問題と警告

マークアップ オブジェクト内に出現する \score の縦方向のスペーシングは baseline-skip によって調整されます。\paper による設定は全て無視されます。


複数ページにわたるマークアップ

標準のマークアップ オブジェクトは分割することができません。しかしながら、 ある特定の構文は複数ページにわたるテキストを入力することを可能にします:

\markuplist {
  \justified-lines {
    両端揃えされた非常に長いテキスト。
    ...
  }
  \wordwrap-lines {
    もう 1 つの非常に長いテキスト。
    ...
  }
  ...
}

[image of music]

この構文はマークアップのリストを受け付けます。受け付けるものは以下の通りです:

\markuplist コマンドの一覧 に、マークアップ リスト コマンドの徹底したリストがあります。

参照

記譜法リファレンス: \markuplist コマンドの一覧

拡張: New markup list command definition

コード断片集: Text

インストールされているファイル: ‘scm/define-markup-commands.scm

内部リファレンス: TextScript

定義済みコマンド

\markuplist


1.8.3 フォント

このセクションでは、フォントを扱う方法と、楽譜の中でフォントを変更する方法について説明します。


フォントの説明

フォントはいくつかのライブラリを通じて扱われます。FontConfig は利用可能なフォントを検出するために使用されます。選択されたフォントは Pango を用いて描かれます。

オペレーティング システムに既にインストールされているフォントに加えて、次のコマンドを使用して、FontConfig によって検出された (したがって LilyPond スコアで利用できる) セットに追加のフォントを追加できます:

#(ly:font-config-add-font "path/to/font-file.otf")

#(ly:font-config-add-directory "path/to/directory/")

これらのコマンドはどちらも、絶対パスまたは相対パスのいずれかを受け入れます。これにより、関連するフォントファイルをソースコードとともにコピーするだけで、任意のシステムで楽譜をコンパイルできます。

検出されたフォントは、個々に登録するフォント および ドキュメント全体のフォント で説明されている方法を使用して選択する必要があります。使用可能なフォントの完全なリストをコンソールログに出力するときに、 #(ly:font-config-display-fonts) コマンドを使用して、実際に検出されたフォントとその名前を確認することができます (これらはファイル名自体とは異なる場合があるため)。

音楽記譜フォントはいくつかのファミリに分類された特殊な図柄のセットと言うことができます。以下の構文により、LilyPond のさまざまな Feta グリフをマークアップ モードの中で直接使用することが可能になります:

a'1^\markup {
  \vcenter {
    \override #'(font-encoding . fetaBraces)
    \lookup "brace120"
    \override #'(font-encoding . fetaText)
    \column { 1 3 sf }
    \override #'(font-encoding . fetaMusic)
    \lookup "noteheads.s0petrucci"
  }
}

[image of music]

しかしながら、これらの図柄はすべて – fetaBraces で保持されているさまざまサイズの波括弧を除いて – は、マークアップ内部での音楽記譜法 で記述されている、もっと簡単な構文を用いて利用することができます。

fetaBraces に保持されている図柄を使う場合、波括弧のサイズは図柄名の一部となっている任意の数値によって指定されます。0 から 575 までの整数すべてを指定でき、0 は最小の波括弧を提供します。最適な値はトライ&エラーで決定する必要があります。これらの図柄はすべて左波括弧です。右波括弧は回転によって得ることができます – オブジェクトを回転させる を参照してください。

3 ファミリのテキスト フォントが利用可能になっています:

roman (serif) フォント、 sans フォント、typewriter フォントです。

svg バックエンドでは:

ファミリデフォルト フォント
romanserif
sanssans-serif
typewritermonospace

serif, sans-serif, and monospace は、SVG や CSS の仕様における generic-family です。

他のバックエンドでは:

ファミリデフォルト フォント (エイリアス)エイリアス定義のリスト
romanLilyPond SerifTeX Gyre Schola, C059, Century SchoolBook URW, Century Schoolbook L, DejaVu Serif, ..., serif
sansLilyPond Sans SerifTeX Gyre Heros, Nimbus Sans, Nimbus Sans L, DejaVu Sans, ..., sans-serif
typewriterLilyPond MonospaceTeX Gyre Cursor, Nimbus Mono PS, Nimbus Mono, Nimbus Mono L, DejaVu Sans Mono, ..., monospace

LilyPond Serif, LilyPond Sans Serif, LilyPond Monospace は、LilyPond 専用の FontConfig 設定ファイル 00-lilypond-fonts.conf に定義されたフォント エイリアスです。ある文字がリストの最初にあるフォントに存在しない場合、その文字を持つリストの次のフォントが代わりに使用されます。エイリアス定義の詳細については、インストール ディレクトリ中の 00-lilypond-fonts.conf を参照してください。

それぞれのファミリには異なる形状とセットのフォントが保持されています。以下の例は、ファミリ、形状、セットそれにサイズを変更する様子を示しています。デフォルト サイズから変更する場合、font-size に提供する値が必要となります。

\override Score.RehearsalMark.font-family = #'typewriter
\mark \markup "Ouverture"
\override Voice.TextScript.font-shape = #'italic
\override Voice.TextScript.font-series = #'bold
d''2.^\markup "Allegro"
\override Voice.TextScript.font-size = #-3
c''4^smaller

[image of music]

同様の構文をマークアップ モードの中で使用することができます。しかしながら、マークアップ モードの中では、フォントとフォント サイズを選択する で説明されている、もっと簡単な構文を使用するほうが良いでしょう:

\markup {
  \column {
    \line {
      \override #'((font-shape . italic) (font-size . 4))
      Idomeneo,
    }
    \line {
      \override #'(font-family . typewriter)
      {
        \override #'(font-series . bold)
        re
        di
      }
      \override #'(font-family . sans)
      Creta
    }
  }
}

[image of music]

OpenType フォントを使用している場合、フォント機能を使用することができます。OpenType フォントの script と language は指定できません。注: 全ての OpenType フォントが機能をサポートしているとは限りません。使用するフォントに無い機能を使用しようとした場合、機能は単純に無視されます。

% 真のスモール キャピタル
\markup { Normal Style: Hello HELLO }
\markup { \caps { Small Caps: Hello } }
\markup { \override #'(font-features . ("smcp"))
          { True Small Caps: Hello } }

% 数字スタイル
\markup { Normal Number Style: 0123456789 }
\markup { \override #'(font-features . ("onum"))
          { Old Number Style: 0123456789 } }

% 代替スタイル
\markup { \override #'(font-features . ("salt 0"))
          { Stylistic Alternates 0: εφπρθ } }
\markup { \override #'(font-features . ("salt 1"))
          { Stylistic Alternates 1: εφπρθ } }

% 機能の組み合わせ
\markup { \override #'(font-features . ("onum" "smcp" "salt 1"))
          { Multiple features: Hello 0123456789 εφπρθ } }

[image of music]

OpenType 機能の完全な一覧は以下を参照してください: https://www.microsoft.com/typography/otspec/featurelist.htm

OpenType フォントの機能を識別するには以下を参照してください: http://lists.gnu.org/archive/html/lilypond-devel/2017-08/msg00004.html

あらかじめ構成されているフォント間で切り替えを行う方が簡単ですが、他のフォントを使用することも可能です。他のフォントを使用する方法は以下のセクションで説明されています: 個々に登録するフォントドキュメント全体のフォント

参照

記譜法リファレンス: Emmentaler フォント, マークアップ内部での音楽記譜法, オブジェクトを回転させる, フォントとフォント サイズを選択する, フォント


個々に登録するフォント

以下の構文を用いることで、オペレーティング システムにインストールされていて、FontConfig に認識されている任意のフォントを楽譜の中で使用することができます:

\override Staff.TimeSignature.font-name = "Bitstream Charter"
\override Staff.TimeSignature.font-size = #2
\time 3/4

a'1_\markup {
  \override #'(font-name . "Bitstream Vera Sans,sans-serif, Oblique Bold")
    { Vera Oblique Bold }
}

[image of music]

font-name はカンマ区切りの ‘フォント’ のリストと、スペース区切りの ‘スタイル’ のリストを記述できます。リスト中の ‘フォント’ がインストールされていて、要求されたグリフを含んでいれば、それが使われます。そうでないなら代わりにリストの のフォントが使われます。

lilypond を以下のオプションを付けて実行するとオペレーティング システムで利用可能なすべてのフォントのリストを表示します:

lilypond -dshow-available-fonts

参照

記譜法リファレンス: フォントの説明, ドキュメント全体のフォント

コード断片集: Text


ドキュメント全体のフォント

以下の例で示す方法に従ってフォント ファミリを指定することにより、roman, sans それに typewriter フォント ファミリとして使用されるデフォルト フォントを変更することができます。この例ではグローバル譜サイズにセットされた値で自動的にフォントのサイズを伸縮しています。個々に登録するフォント のように、カンマ区切りの ‘フォント’ のリストを記述できます。しかし、フォント ‘スタイル’ は記述できません。フォントについての説明は、フォントの説明 を参照してください。

\paper  {
  #(define fonts
    (make-pango-font-tree "Linux Libertine O"
                          "Nimbus Sans, Nimbus Sans L"
                          "DejaVu Sans Mono"
                          (/ staff-height pt 20)))
}

\relative c'{
  c1-\markup {
    roman,
    \sans sans,
    \typewriter typewriter. }
}

[image of music]

注: make-pango-font-tree は記譜フォントをデフォルトの Emmentaler にリセットします。

次の構文を使用することで、他をデフォルトの値のままにしつつ、特定のフォントを変更することができます。次の例は、上の make-pango-font-tree の例と同じ結果になります。make-pango-font-tree と同様に、roman, sans, typewriter カテゴリに対してコンマ区切りの‘フォント’のリストを指定します。譜のサイズをデフォルトの 20 pt から変更する必要がない場合、#:factor (/ staff-height pt 20) は不要です。

\paper {
  #(define fonts
    (set-global-fonts
     #:roman "Linux Libertine O"
     #:sans "Nimbus Sans, Nimbus Sans L"
     #:typewriter "DejaVu Sans Mono"
     #:factor (/ staff-height pt 20) ; 譜サイズを変更しない場合は不要
    ))
}

記譜フォントを指定することもできます。次の例は、記譜フォントをデフォルトと同様に設定しているため、上の例と同じ結果になります。 詳しい情報は、記譜フォントを置換する を参照してください。

\paper {
  #(define fonts
    (set-global-fonts
     #:music "emmentaler"            ; デフォルト
     #:brace "emmentaler"            ; デフォルト
     #:roman "Linux Libertine O"
     #:sans "Nimbus Sans, Nimbus Sans L"
     #:typewriter "DejaVu Sans Mono"
     #:factor (/ staff-height pt 20) ; 譜サイズを変更しない場合は不要
    ))
}

注: set-global-fonts を呼び出すたびに、記譜フォントとテキスト フォントの両方を完全にリセットします。あるカテゴリが未指定であった場合、そのカテゴリのデフォルト値が使用されます。また、set-global-fonts は、その後の全ての \book ブロックに影響します。\book ブロックが複数あり、ブック毎に異なるフォントを使用したい場合、set-global-fonts を以下のように複数回呼び出します:

\paper {
  #(define fonts
    (set-global-fonts
     …
    ))
}
\book {
  …
}

\paper {
  #(define fonts
    (set-global-fonts
     …
    ))
}
\book {
  …
}

参照

記譜法リファレンス: フォントの説明, 個々に登録するフォント, フォントとフォント サイズを選択する, フォント, 記譜フォントを置換する


2. 専門的な記譜法

この章では、特定のタイプの楽器やスタイル向けの音楽記譜を作成するための方法について説明します。


2.1 声楽

[image of music]

このセクションでは声楽を譜刻し、歌詞を旋律の音符に揃える方法について説明します。


2.1.1 声楽で共通の記譜法

このセクションでは声楽の譜刻に共通する問題について説明します。


声楽のためのリファレンス

このセクションでは声楽を譜刻する際に発生する記譜法の問題についての詳細について記述している場所を示します。

参照

音楽用語集: ambitus

学習マニュアル: Setting simple songs

記譜法リファレンス: テキスト マークアップの導入部, 音域, 合唱のための楽譜レイアウト

コード断片集: Vocal music


歌詞を入力する

歌詞は \lyricmode で始めるか \addlyrics または \lyricsto を用いる特殊な入力モードで入力されます。この特殊な入力モードでは、入力 d はピッチ D とは解釈されず、テキストの 1 文字の歌詞と解釈されます。言い換えると、歌詞を音符のように入力して、ピッチではなくテキストとして譜刻します。

例:

\lyricmode { Three4 blind mice,2 three4 blind mice2 }

歌詞の水平方向の配置を指定するための手法は主に 2 つあります – 上記の例のように歌詞の各音節の演奏時間を指定するか、\addlyrics または \lyricsto を用いて歌詞を自動的に旋律や他のボイスに揃えさせるかのどちらかです。前者は 歌詞音節の手動演奏時間 で説明します。後者は 歌詞音節の自動演奏時間 で説明します。

歌詞の単語または音節はアルファベット (さらに他のいくつかの文字 – 以下を読んでください) で始まり、空白か数字で終わります。歌詞の音節の頭文字以後の文字は、数字や空白を除く、任意の文字になります。

数字や空白ではない文字は歌詞の一部と見なされるため、} で終わる単語であっても有効です – このことが以下のミスを引き起こします:

\lyricmode { lah lah lah}

上記の例で、} は歌詞の最後の音節に含まれるため、波括弧 { は閉じられず、入力ファイルはおそらくコンパイルされません。これを避けるため、波括弧の前後に常に空白を記述すべきです:

\lyricmode { lah lah lah }

句読点、アクセントが付いた文字を持つ歌詞、英語以外の言語の文字、あるいは特殊文字 (ハート記号や引用符等) は、UTF-8 エンコードで保存することで、直接入力することができます。さらなる情報は、特殊文字 を参照してください。

\relative { d''8 c16 a bes8 f ees' d c4 }
\addlyrics { „Schad’ um das schö -- ne grü -- ne Band, }

[image of music]

歌詞モードで通常の引用符を使うことができますが、引用符の前にバックスラッシュを配置し、歌詞の音節全体を追加の引用符で囲む必要があります。例を挙げます:

\relative { \time 3/4 e'4 e4. e8 d4 e d c2. }
\addlyrics { "\"I" am so lone -- "ly,\"" said she }

[image of music]

歌詞モードでの単語の開始の完全な定義は複雑です。歌詞モードで、単語は以下の文字で始まります: アルファベット, _, ?, !, :, ', 制御文字 ^A から ^F, ^Q から ^W, ^Y, ^^, 128 以上の ASCII コードの 8 ビット文字, バックスラッシュとの組み合わせ \`, \', \", または \^

歌詞の中で \markup を用いることで、歌詞の体裁を様々に制御することができます。多くのオプションの説明は、テキストをフォーマットする を参照してください。

Selected Snippets

歌詞音節をフォーマットする

単一の歌詞音節にマークアップ モードを使用することができます。

mel = \relative c'' { c4 c c c }
lyr = \lyricmode {
  Lyrics \markup { \italic can } \markup { \with-color #red contain }
  \markup { \fontsize #8 \bold Markup! }
}

<<
  \new Voice = melody \mel
  \new Lyrics \lyricsto melody \lyr
>>

[image of music]

参照

学習マニュアル: Songs

記譜法リファレンス: 歌詞音節の自動演奏時間, フォント, テキストをフォーマットする, 入力モード, 歌詞音節の手動演奏時間, 特殊文字

内部リファレンス: LyricText

コード断片集: Text


歌詞を旋律に揃える

歌詞は \lyricmode 内で解釈され、Lyrics コンテキスト内で譜刻されます。 コンテキストの説明 を参照してください。

\new Lyrics \lyricmode { … }

\lyricmode の異なる形が 2 種類あり、それらは歌詞を音楽に揃えるために、コンテキストを関連付けする機能を持ちます。\addlyrics はより便利で、Voice コンテキストの音楽のすぐ後に記述することで、自身で暗黙的に Lyrics コンテキストを作成し歌詞が音楽に揃えられます。\lyricsto はより多機能で、関連付ける Voice コンテキストを名前で指定します。また、Lyrics コンテキストは明示的に作成する必要があります。詳しくは、歌詞音節の自動演奏時間 を参照してください。

歌詞は主に 2 つの方法で歌詞に揃えることができます:

参照

学習マニュアル: Aligning lyrics to a melody

記譜法リファレンス: コンテキストの説明, 歌詞音節の自動演奏時間, 歌詞の節, 歌詞音節の手動演奏時間, 音楽の中での会話, 歌詞音節の手動演奏時間

内部リファレンス: Lyrics


歌詞音節の自動演奏時間

以下の 3 つの方法で歌詞を旋律の音符に揃えることができます:

3 つの方法のいずれでも、単語の音節の間にハイフンを描き、単語の後ろに延長線を描くことができます。詳細は 延長線とハイフン を参照してください。

歌詞を揃える Voice コンテキストが “消滅” してはいけません。さもないと、その後の歌詞は失われてしまいます。ボイスは何もすることが無くなると消滅する可能性があります – コンテキストを残しておく を参照してください。

\lyricsto を用いる

旋律を保持している名前の付いたボイス コンテキストを \lyricsto で指定することにより、歌詞を旋律の下に揃えることができます:

<<
  \new Voice = "melody" \relative {
    a'1 a4. a8 a2
  }
  \new Lyrics \lyricsto "melody" {
    These are the words
  }
>>

[image of music]

これは歌詞を名前の付いた Voice コンテキストに揃えます – Voice コンテキストは既に存在している必要があります。このため、普通は Voice コンテキストを先に記述して、その後に Lyrics コンテキストを記述します。歌詞自体は \lyricsto コマンドの後に記述します。\lyricsto コマンドは自動的に歌詞モードを呼び出します。デフォルトでは、歌詞は音符の下に配置されます。配置場所を変更する方法は 歌詞の垂直方向の配置 を参照してください。

\addlyrics を用いる

\addlyrics コマンドは便利なショートカットで、もっと複雑な LilyPond 構造を使う歌詞のセットアップの代わりとして用いることができます。

{ MUSIC }
\addlyrics { LYRICS }

上記は下記と同等です:

\new Voice = "blah" { MUSIC }
\new Lyrics \lyricsto "blah" { LYRICS }

ここで例を挙げます:

{
  \time 3/4
  \relative { c'2 e4 g2. }
  \addlyrics { play the game }
}

[image of music]

\addlyrics セクションを追加することで、歌詞の 2 番、3 番を追加することができます:

{
  \time 3/4
  \relative { c'2 e4 g2. }
  \addlyrics { play the game }
  \addlyrics { speel het spel }
  \addlyrics { joue le jeu }
}

[image of music]

コマンド \addlyrics は多声を扱うことはできません。また、このコマンドは TabVoice に歌詞を関連付けることもできません。そのような場合は \lyricsto を使うべきです。

associatedVoice を用いる

associatedVoice プロパティを設定することで、歌詞を揃える旋律を変更することができます:

\set associatedVoice = "lala"

プロパティの値 (ここでは "lala" です) は Voice コンテキストの名前になります。技術的な理由により、変更を適用する歌詞の音節の前にこの set コマンドを配置する必要があります。

ここで、使用例を挙げます:

<<
  \new Staff <<
    \time 2/4
    \new Voice = "one" \relative {
      \voiceOne
      c''4 b8. a16 g4. r8 a4 ( b ) c2
    }
    \new Voice = "two" \relative {
      \voiceTwo
       s2 s4. f'8 e8 d4. c2
    }
  >>
% 最初は "one" の音符に揃えます
% それから "two" に切り替えます
  \new Lyrics \lyricsto "one" {
    No more let
    \set associatedVoice = "two"  % 切り替える音節の前にセットする必要があります
    sins and sor -- rows grow.
  }
>>

[image of music]

参照

記譜法リファレンス: 延長線とハイフン, コンテキストを残しておく, 歌詞の垂直方向の配置


歌詞音節の手動演奏時間

複雑な声楽では、歌詞を音符とは完全に独立させて配置する方が望ましい場合があります。そのような場合、\lyricsto\addlyrics を用いたり、associatedVoice プロパティを設定したりはしません。歌詞の音節を音符のように – しかしながら、ピッチをテキストに置き換えて – 入力し、歌詞の各音節の後には演奏時間を明示的に記述します。

音節の間にハイフンを描くことは普通にできますが、延長線を描くには関連付されたボイスが存在する必要があります。

ここで、2 つの例を挙げます:

<<
  \new Voice = "melody" \relative {
    c''2 a f f e e
  }
  \new Lyrics \lyricmode {
    c4. -- a -- f -- f -- e2. -- e
  }
>>

[image of music]

<<
  \new Staff {
    \relative {
      c''2 c2
      d1
    }
  }
  \new Lyrics {
    \lyricmode {
      I2 like4. my8 cat!1
    }
  }
  \new Staff {
    \relative {
      c'8 c c c c c c c
      c8 c c c c c c c
    }
  }
>>

[image of music]

このテクニックは、譜の上に会話を書く場合に有用です – 音楽の中での会話 を参照してください。

歌詞の水平位置を変更するには、self-alignment-X プロパティをオーバライドします:

<<
  \new Voice = "melody" \relative {
    \time 3/4
    c'2 e4 g2 f
  }
  \new Lyrics \lyricmode {
    \override LyricText.self-alignment-X = #LEFT
    play1 a4 game4
  }
>>

[image of music]

参照

記譜法リファレンス: 音楽の中での会話

内部リファレンス: Lyrics, Voice


複数の歌詞音節を 1 つの音符に割り当てる

1 つの音符にスペースで区切られた複数の音節を割り当てるには、そのフレーズを引用符で囲むか、_ 文字を用います。代替手段として、チルド記号 (~) を用いて音節をタイで結ぶこともできます。

{
  \relative {
    \autoBeamOff
    r8 b' c fis, fis c' b e,
  }
  \addlyrics
  {
    \override LyricHyphen.minimum-distance = #1.0 % Ensure hyphens are visible
    Che_in ques -- ta_e_in quel -- l'al -- tr'on -- da
  }
  \addlyrics { "Che in" ques -- "ta e in" quel -- l'al -- tr'on -- da }
  \addlyrics { Che~in ques -- ta~e~in quel -- l'al -- tr'on -- da }
}

[image of music]

参照

内部リファレンス: LyricCombineMusic


複数の音符を 1 つの歌詞音節に割り当てる

しばしば、特に中世やバロックの音楽では、1 つの音節を複数の音符で歌います。これをメリスマと呼びます。 melisma を参照してください。通常、メリスマの音節はメリスマの最初の音符に左揃えされます。

メリスマが単語の最後ではない音節で発生する場合、その音節と次の音節をハイフンで結びます。これは音節の直後に 2 重ハイフン -- を配置することで示します。

メリスマが単語の最後の音節または音節が 1 つしかない単語で発生する場合、最後の音節からメリスマの最後の音符まで延長線を描きます。これは単語の直後に 2 重アンダースコア __ を配置することで示します。

メリスマを示す方法は 5 つあります:

旋律の中のタイ、スラー、それに手動連桁をメリスマにしないことも可能です。メリスマにしないためには、melismaBusyProperties を設定します:

<<
  \new Voice = "melody" \relative {
    \time 3/4
    \set melismaBusyProperties = #'()
    c'4 d ( e )
    g8 [ f ] f4 ~ 4
  }
  \new Lyrics \lyricsto "melody" {
    Ky -- ri -- e e -- le -- i -- son
  }
>>

[image of music]

melismaBusyProperties に対する設定を変えることで、メリスマの自動検出にタイ、スラー、それに連桁を含める / 除外することができます。 Tunable context propertiesmelismaBusyProperties を参照してください。

代替手段として、ignoreMelismata に真をセットすることですべてのメリスマを無視することができます。リズムが異なる歌詞の節 を参照してください。

melismaBusyProperties がアクティブになっているパッセージの中でメリスマを使う必要がある場合、メリスマに含める各音符に対して歌詞の中にアンダースコアを記述します:

<<
  \new Voice = "melody" \relative {
    \time 3/4
    \set melismaBusyProperties = #'()
    c'4 d ( e )
    g8 [ f ] ~ 4 ~ f
  }
  \new Lyrics \lyricsto "melody" {
    Ky -- ri -- _ e __ _ _ _
  }
>>

[image of music]

定義済みコマンド

\autoBeamOff, \autoBeamOn, \melisma, \melismaEnd

参照

音楽用語集: melisma

学習マニュアル: Aligning lyrics to a melody

記譜法リファレンス: 歌詞を旋律に揃える, 歌詞音節の自動演奏時間, 自動連桁の振る舞いを設定する, リズムが異なる歌詞の節

内部リファレンス: Tunable context properties

既知の問題と警告

メリスマの延長線は自動的には作成されません。手動で 2 重アンダースコアを記述する必要があります。


延長線とハイフン

しばしば単語の最後の音節で、その音節から次の音節まで長い水平の線を描いてメリスマを示すことがあります。そのような線のことを延長線と呼び、‘ __ ’ で記述します (2 重アンダースコアの前後にスペースがあることに注意してください)。

Note: 楽譜の中でメリスマは延長線で示され、延長線は 2 重のアンダースコアとして入力します。しかしながら、個々の音符をスキップすることで短いメリスマを作ることも可能です。音符のスキップには単一のアンダースコアを記述します – デフォルトでは、音符のスキップは延長線を作り出しません。

同じ単語の音節間の中央にハイフンを記譜するには、‘ -- ’ を記述します (2 重ハイフンの前後にスペースがあることに注意してください)。ハイフンは音節の間の中央に配置され、長さは音節の間のスペースによって調節されます。

密に譜刻された楽譜では、ハイフンが削除されることもあります。ハイフンが削除されるかどうかを LyricHyphen のプロパティ minimum-distance (2 つの音節の間の最小間隔) と minimum-length (ハイフンを削除するかどうかの閾値) で制御することができます。

参照

内部リファレンス: LyricExtender, LyricHyphen


母音の段階的な変化

音節間の矢印で示される可能性のある母音の遷移 (母音または持続する子音の段階的な変化) は、 \vowelTransition コマンドで入力します (Gould pp. 452–453 を参照してください)。矢印は遷移の長さを示し、デフォルトでは常に描画されます (ぎっしりと譜刻された音楽では、必要に応じてスペースが追加されます)。ピッチが変化しない音符間のタイやスラーは、母音の変化にもかかわらず、新しいアーティキュレーションがないことを示しています。矢印の最小の長さは、 VowelTransitionminimum-length プロパティで調整できます。

{
  c'2 c'
  \set melismaBusyProperties = #'()
  c'2 ~ c'
  \time 3/2
  d'4( e' f' e' f'2
  e'2.)
}
\addlyrics
{
  Ah \vowelTransition oh,
  ah \vowelTransition oh,
  ah \vowelTransition _ _ _ _
  oh.
}

[image of music]