LilyPond — 記譜法リファレンス

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

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

マニュアルのいずれかを見失ってしまった場合、https://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 オクターブ移動しています。

\layout {
  \context {
    \Staff
    \remove Ottava_spanner_engraver
  }
  \context {
    \Voice
    \consists Ottava_spanner_engraver
  }
}

{
  \clef bass
  << { <g d'>1~ q2 <c' e'> }
  \\
    {
      r2.
      \ottava -1
      <b,,, b,,>4 ~ |
      q2
      \ottava 0
      <c e>2
    }
  >>
}

[image of music]

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

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

\relative c'' {
  \override Staff.OttavaBracket.stencil = #ly:line-spanner::print
  \override Staff.OttavaBracket.bound-details =
    #`((left . ((Y . 0)
                (attach-dir . ,LEFT)
                (padding . 0)
                (stencil-align-dir-y . ,CENTER)))
       (right . ((Y . 5.0) ; Change the number here
                 (padding . 0)
                 (attach-dir . ,RIGHT)
                 (text . ,(make-draw-dashed-line-markup
                           (cons 0 -1.2))))))
  \override Staff.OttavaBracket.left-bound-info =
     #ly:horizontal-line-spanner::calc-left-bound-info-and-text
  \override Staff.OttavaBracket.right-bound-info =
     #ly:horizontal-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
  }
}

[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' {
    \override Score.TextMark.non-musical = ##f
    \textMark "default" \music
    \override TupletBracket.bracket-visibility = #'if-no-beam
    \textMark \markup \typewriter "'if-no-beam" \music
    \override TupletBracket.bracket-visibility = ##t
    \textMark \markup \typewriter "#t" \music
    \override TupletBracket.bracket-visibility = ##f
    \textMark \markup \typewriter "#f" \music
    \omit TupletBracket
    \textMark \markup \typewriter "omit" \music
  }
}

[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
    }
    \context {
      \Staff
      \consists Timing_translator
    }
  }
}

[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 3 { c8[ c c] }
      \repeat unfold 3 { c4 c8 }
    }
  }
  \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
  }
  \context {
    \Staff
    \consists Timing_translator
  }
}

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

\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, 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 にして、手動で連桁を示すべきです。\partCombine\autoBeamOff と一緒に用いると予期しない結果になる可能性があります。詳細はコード断片集を参照してください。

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

定義済みコマンド

\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 2/1
  { c16[ c c c c c c c] }
  \override Beam.grow-direction = #RIGHT
  \featherDurations 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 タイプの小節線があり、改行での振る舞いがそれぞれ異なります:

\fixed c' {
  c4 4 4 4
  \bar "S"
  d4 4 4 4 \break
  \bar "S"
  e4 4 4 4
  \bar "S-|"
  f4 4 4 4 \break
  \bar "S-|"
  g4 4 4 4
  \bar "S-||"
  a4 4 4 4 \break
  \bar "S-||"
  b4 4 4 4
  \bar "S-S"
  c'4 4 4 4 \break
  \bar "S-S"
  d'1
}

[image of music]

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

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

\fixed c' {
  c4 4 4 4
  \bar ".|:"
  d4 4 4 4 \break
  \bar ".|:"
  e4 4 4 4
  \bar ".|:-|"
  f4 4 4 4 \break
  \bar ".|:-|"
  g4 4 4 4
  \bar ".|:-||"
  a4 4 4 4 \break
  \bar ".|:-||"
  b4 4 4 4
  \bar ".|:-|."
  c'4 4 4 4 \break
  \bar ".|:-|."
  d'4 4 4 4
}

[image of music]

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

\fixed c' {
  g,4 4 4 4
  \bar ":|.S"
  a,4 4 4 4 \break
  \bar ":|.S"
  b,4 4 4 4
  \bar ":|.S-S"
  c4 4 4 4 \break
  \bar ":|.S-S"
  d4 4 4 4
  \bar "S.|:-S"
  e4 4 4 4 \break
  \bar "S.|:-S"
  f4 4 4 4
  \bar "S.|:"
  g4 4 4 4 \break
  \bar "S.|:"
  a4 4 4 4
  \bar "S.|:-|"
  b4 4 4 4 \break
  \bar "S.|:-|"
  c'4 4 4 4
  \bar "S.|:-||"
  d'4 4 4 4 \break
  \bar "S.|:-||"
  e'4 4 4 4
  \bar ":|.S.|:"
  f'4 4 4 4 \break
  \bar ":|.S.|:"
  g'4 4 4 4
  \bar ":|.S.|:-S"
  a'4 4 4 4 \break
  \bar ":|.S.|:-S"
  b'1
}

[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.measureBarType = 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
  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
  % 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.rehearsalMarkFormatter = #format-mark-alphabet
\set Score.rehearsalMarkFormatter = #format-mark-box-alphabet
\set Score.rehearsalMarkFormatter = #format-mark-circle-alphabet
\relative c'' {
  \set Score.rehearsalMarkFormatter = #format-mark-box-alphabet
  c1 \mark \default
  c1 \mark \default
  c1 \mark #8
  c1 \mark \default
  c1 \mark \default
}

[image of music]

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

\relative c'' {
  \set Score.rehearsalMarkFormatter = #format-mark-numbers
  c1 \mark \default
  c1 \mark \default
  \set Score.rehearsalMarkFormatter = #format-mark-box-numbers
  c1 \mark \default
  \set Score.rehearsalMarkFormatter = #format-mark-circle-numbers
  c1 \mark \default
  \set Score.rehearsalMarkFormatter = #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.rehearsalMarkFormatter はこの方法で指定された記号に影響を与えません。しかしながら、文字列として \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 \section \grace c16 d2. }
  \new Staff \relative { c''4 \section d2. }
>>

[image of music]

これは、他の譜にある装飾小音符の演奏時間に対応した空白の装飾小音符を挿入することによって修正することができます。上の例を以下のように修正します:

<<
  \new Staff \relative { e''4 \section \grace c16 d2. }
  \new Staff \relative { c''4 \section \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'' {
  \after 2*2/3 \turn c2( d4) r |
  \after 4 \turn c4.( d8)
  \after 4
  {
    \once \set suggestAccidentals = ##t
    \once \override AccidentalSuggestion.outside-staff-priority = ##f
    \once \override AccidentalSuggestion.avoid-slur = #'inside
    \once \override AccidentalSuggestion.font-size = -3
    \once \override AccidentalSuggestion.script-priority = -1
    \once \hideNotes
    cis8\turn \noBeam
  }
  d4.( e8)
}

[image of music]

参照

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

学習マニュアル: Placement of objects

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

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

コード断片集: 発想記号

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


強弱記号

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

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

[image of music]

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

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

[image of music]

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

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

[image of music]

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

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

[image of music]

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

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

[image of music]

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

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

[image of music]

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

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

[image of music]

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

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

[image of music]

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

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

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

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

[image of music]

定義済みコマンド

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

Selected Snippets

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

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

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

[image of music]

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

ヘアピンが短すぎる場合、Hairpin オブジェクトの minimum-length プロパティを変更することで長くすることができます。

<<
  {
    \after 4 \< \after 2 \> \after 2. \! f'1
    \override Hairpin.minimum-length = #8
    \after 4 \< \after 2 \> \after 2. \! f'1
  }
  {
    \repeat unfold 8 c'4
  }
>>

[image of music]

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

ヘアピンの端点は Hairpin オブジェクトの shorten-pair をセットすることで移動できます。正の値は端点を右に移動し、負の値は左に移動します。minimum-length プロパティとは異なり、このプロパティはヘアピンのみの見た目に影響します。水平方向のスペーシングには影響しません (始点や終点にある強弱記号もです)。そのため、この方法はヘアピンを割り当てられた領域の中で微調整するのに適しています。

{
  c'1~\<
  c'2~ c'\!
  \once \override Hairpin.shorten-pair = #'(2 . 2)
  c'1~\<
  c'2~ c'\!
  \once \override Hairpin.shorten-pair = #'(-2 . -2)
  c'1~\<
  c'2~ c'\!
  c'1~\p-\tweak shorten-pair #'(2 . 0)\<
  c'2~ c'\ffff
}

[image of music]

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

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

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

[image of music]

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

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

\relative c'' {
  \override Hairpin.stencil = #flared-hairpin
  a4\< a a a\f
  a4\p\< a a a\ff
  a4\sfz\< a a a\!
  \override Hairpin.stencil = #constante-hairpin
  a4\< a a a\f
  a4\p\< a a a\ff
  a4\sfz\< a a a\!
  \override Hairpin.stencil = #flared-hairpin
  a4\> a a a\f
  a4\p\> a a a\ff
  a4\sfz\> a a a\!
  \override Hairpin.stencil = #constante-hairpin
  a4\> a a a\f
  a4\p\> a a a\ff
  a4\sfz\> a a a\!
}

[image of music]

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

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

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

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

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

[image of music]

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

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

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

[image of music]

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

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

スパナの線は、DynamicTextSpannerstyle プロパティをセットすることでスタイルを変更できます。デフォルトの値は 'dashed-line であり、他に 'line, 'dotted-line, 'none が設定できます。

\relative c'' {
  \set crescendoText = \markup { \italic { cresc. poco } }
  \set crescendoSpanner = #'text
  \override DynamicTextSpanner.style = #'dotted-line
  a2\< a
  a2 a
  a2 a
  a2 a\mf
}

[image of music]

参照

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

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

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

コード断片集: 発想記号

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


新たな強弱記号

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

moltoF = \markup { molto \dynamic f }

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

[image of music]

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

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

[image of music]

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

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

[image of music]

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

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

[image of music]

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

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

[image of music]

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

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

[image of music]

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

参照

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

拡張: Markup construction in Scheme

コード断片集: 発想記号


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