LilyPond — 記譜法リファレンス

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

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

マニュアルのいずれかを見失ってしまった場合、http://www.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 c'' e' g
  d''4 d' d c
  \clef bass
  c,4 c,, e, g
  d,,4 d, d c
}

[image of music]

参照

音楽用語集: Pitch names

コード断片集: ピッチ


相対オクターブ入力

オクターブが絶対モードで指定されている場合、ピッチを間違ったオクターブに置くことは容易に起こりえます。相対オクターブ モードはそのようなエラーを減らします。なぜなら、相対オクターブ モードでは、たいていの場合、オクターブを指定する必要が無いからです。さらに、絶対モードでは 1 つのミスを見つけることが困難であるかもしれないのに対し、相対モードでは 1 つのミスが楽曲の残りの部分を 1 オクターブずらします。

\relative startpitch musicexpr

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

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

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

[image of music]

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

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

[image of music]

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

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

[image of music]

\relative ブロックがネストされている場合、最も内側の \relative ブロックが適用されます。

\relative c' {
  c d e f
  \relative c'' {
    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 c' {
  d e
  \transpose f g {
    d e
    \relative c' {
      d e
    }
  }
}

[image of music]

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

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

[image of music]

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

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

[image of music]

参照

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

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

コード断片集: ピッチ

内部リファレンス: RelativeOctaveMusic

\relative に対して startpitch が指定されていない場合、c' であると見なされます。しかしながら、これは使用を推奨されなくなったオプションであり、将来のバージョンでは無くなるかもしれないので、startpitch を指定しないことはお勧めできません。


臨時記号

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

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

ais1 aes aisis aeses

[image of music]

ナチュラルは臨時記号や調号の効果をキャンセルします。しかしながら、ナチュラルは接尾辞として音符名構文にエンコードされてはいません。そのため、ナチュラルのピッチは単に音符名で入力されます:

a4 aes a2

[image of music]

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

ceseh1 ces ceh c cih cis cisih

[image of music]

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

cis cis cis! cis? c c c! c?

[image of music]

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

cis1 ~ cis ~
\break
cis

[image of music]

Selected Snippets

Hiding accidentals on tied notes at the beginning of a new system

This shows how to hide accidentals on tied notes at the beginning of a new system.

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

[image of music]

Preventing extra naturals from being automatically added

In accordance with standard typesetting rules, a natural sign is printed before a sharp or flat if a previous accidental on the same note needs to be canceled. To change this behavior, set the extraNatural property to f in the Staff context.

\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

学習マニュアル: 臨時記号と調号

記譜法リファレンス: 自動臨時記号, Annotational accidentals (musica ficta), 他の言語での音符名

コード断片集: ピッチ.

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

既知の問題と警告

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


他の言語での音符名

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

\language "italiano"

\relative do' {
  do re mi sib
}

[image of music]

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

言語

音符名

nederlands

c d e f g a bes b

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

espanol

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

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

catalan

-d/-s

-b

-dd/-ss

-bb

deutsch

-is

-es

-isis

-eses

english

-s/-sharp

-f/-flat

-ss/-x/-sharpsharp

-ff/-flatflat

espanol

-s

-b

-ss/-x

-bb

italiano

-d

-b

-dd

-bb

norsk

-iss/-is

-ess/-es

-ississ/-isis

-essess/-eses

portugues

-s

-b

-ss

-bb

suomi

-is

-es

-isis

-eses

svenska

-iss

-ess

-ississ

-essess

vlaams

-k

-b

-kk

-bb

オランダ語では、aes は縮めて as となりますが、LilyPond ではどちらの形式も認められます。同様に、esees の両方が認められます。これはさらに、aeses / aseseeses / eses にも適用されます。他の言語ファイルでは短縮名だけが定義されている場合があります。

a2 as e es a ases e eses

[image of music]

音楽の中には ‘通常の’ シャープやフラットの音の変化をさらに細かく分けた微分音を使用するものがあります。さまざまな言語 (ファイル) での 4 分音 (訳者: シャープやフラットの半分の音の変化。4 分音符ではありません) の音符名を以下の表で挙げます。接頭辞 半-1.5- はそれぞれ ‘半分’ と ‘1 つ半’ を意味します。表に無い言語では、まだ微分音の名前は定義されていません。

元号

半-シャープ

半-フラット

1.5-シャープ

1.5-フラット

nederlands

-ih

-eh

-isih

-eseh

deutsch

-ih

-eh

-isih

-eseh

english

-qs

-qf

-tqs

-tqf

espanol

-cs

-cb

-tcs

-tcb

italiano

-sd

-sb

-dsd

-bsb

portugues

-sqt

-bqt

-stqt

-btqt

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

参照

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

記譜法リファレンス: Common notation for non-Western music

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

コード断片集: ピッチ


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

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


オクターブ チェック

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

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

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

[image of music]

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

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

[image of music]

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

\relative c'' {
  c4 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 c' {
    \key d \major
    d4 fis a d
  }
}

[image of music]

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

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

[image of music]

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

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

music = \relative c' { 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

Transposing pitches with minimum accidentals ("Smart" transpose)

This example uses some Scheme code to enforce enharmonic modifications for notes in order to have the minimum number of accidentals. In this case, the following rules apply:

Double accidentals should be removed

B sharp -> C

E sharp -> F

C flat -> B

F flat -> E

In this manner, the most natural enharmonic notes are chosen.

#(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 (eq? n 6) (eq? n 2)))
       (set! a (- a 2))
       (set! n (+ n 1)))
      ((and (< a -1) (or (eq? n 0) (eq? 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 (lambda (x) (naturalize x)) 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 (parser location 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, \transpose の引数である音楽表記の中にある \relative セクションには影響を及ぼしません。移調された音楽の中で相対モードを使用するには、\transpose の中に \relative を置く必要があります。


転回

以下で音楽表記を転回することができます:

\inversion from-pitch to-pitch musicexpr

musicexpr の音程は倒置され、それから from-pitchto-pitch になるよう移調されます。

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

[image of music]

参照

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


逆行

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

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

\new Staff {
  \music
  \retrograde \music
}

[image of music]

既知の問題と警告

\retrograde の中にある手動のタイは壊れて警告を発します。自動音符分割 を有効にすることによって自動的に生成させられるタイもあります。

参照

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


様式的な移調

In a musical composition that is based on a scale, a motif is frequently transformed in various ways. It may be transposed to start at different places in the scale or it may be inverted around a pivot point in the scale. It may also be reversed to produce its retrograde, see 逆行.

Note: Any note that does not lie within the given scale will be left untransformed.

Modal transposition

A motif can be transposed within a given scale with:

\modalTranspose from-pitch to-pitch scale motif

The notes of motif are shifted within the scale by the number of scale degrees given by the interval between to-pitch and from-pitch:

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

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

[image of music]

An ascending scale of any length and with any intervals may be specified:

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

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

[image of music]

When used with a chromatic scale \modalTranspose has a similar effect to \transpose, but with the ability to specify the names of the notes to be used:

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

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

[image of music]

Modal inversion

A motif can be inverted within a given scale around a given pivot note and transposed in a single operation with:

\modalInversion around-pitch to-pitch scale motif

The notes of motif are placed the same number of scale degrees from the around-pitch note within the scale, but in the opposite direction, and the result is then shifted within the scale by the number of scale degrees given by the interval between to-pitch and around-pitch.

So to simply invert around a note in the scale use the same value for around-pitch and to-pitch:

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

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

[image of music]

To invert around a pivot between two notes in the scale, invert around one of the notes and then transpose by one scale degree. The two notes specified can be interpreted as bracketing the pivot point:

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

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

[image of music]

The combined operation of inversion and retrograde produce the retrograde-inversion:

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

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

[image of music]

参照

Notation Reference: 転回, 逆行, 移調.


1.1.3 ピッチを表示する

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


音部記号

音部記号を変えることができます。以下のそれぞれの例の中にある音符はすべてミドル C です。例の中にある音部名をダブル クォートで囲むことができます (必須ではありません)。

\clef treble
c2 c
\clef alto
c2 c
\clef tenor
c2 c
\clef bass
c2 c

[image of music]

他の音部記号もあります:

\clef french
c2 c
\clef soprano
c2 c
\clef mezzosoprano
c2 c
\clef baritone
c2 c

\break

\clef varbaritone
c2 c
\clef subbass
c2 c
\clef percussion
c2 c

\break

\clef G   % treble と同義です
c2 c
\clef F   % bass と同義です
c2 c
\clef C   % alto と同義です
c2 c

[image of music]

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

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

[image of music]

特殊な音部記号については Mensural clefs, Gregorian clefs, Default tablatures, それに Custom tablatures で説明します。

Selected Snippets

Tweaking clef properties

The command \clef "treble_8" is equivalent to setting clefGlyph, clefPosition (which controls the vertical position of the clef), middleCPosition and clefOctavation. A clef is printed when any of the properties except middleCPosition are changed.

Note that changing the glyph, the position of the clef, or the octavation does not in itself change the position of subsequent notes on the staff: the position of middle C must also be specified to do this. The positional parameters are relative to the staff center line, positive numbers displacing upwards, counting one for each line and space. The clefOctavation value would normally be set to 7, -7, 15 or -15, but other values are valid.

When a clef change takes place at a line break the new clef symbol is printed at both the end of the previous line and the beginning of the new line by default. If the warning clef at the end of the previous line is not required it can be suppressed by setting the Staff property explicitClefVisibility to the value end-of-line-invisible. The default behavior can be recovered with \unset Staff.explicitClefVisibility.

The following examples show the possibilities when setting these properties manually. On the first line, the manual changes preserve the standard relative positioning of clefs and notes, whereas on the second line, they do not.

\layout { ragged-right = ##t }

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

  % The following clef changes do not preserve
  % the normal relationship between notes 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.clefOctavation = #7
  c'1
  \set Staff.clefOctavation = #0
  \set Staff.clefPosition = #0
  c'1

  % Return to the normal clef:

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

[image of music]

参照

記譜法リファレンス: Mensural clefs, Gregorian clefs, Default tablatures, Custom tablatures

コード断片集: ピッチ

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


調号

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

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

\key pitch mode

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

\key g \major
fis1
f
fis

[image of music]

Selected Snippets

Preventing natural signs from being printed when the key signature changes

When the key signature changes, natural signs are automatically printed to cancel any accidentals from previous key signatures. This may be prevented by setting to f the printKeyCancellation property in the Staff context.

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

Non-traditional key signatures

The commonly used \key command sets the keySignature property, in the Staff context.

To create non-standard key signatures, set this property directly. The format of this command is a list:

\set Staff.keySignature = #`(((octave . step) . alter) ((octave . step) . alter) ...) where, for each element in the list, octave specifies the octave (0 being the octave from middle C to the B above), step specifies the note within the octave (0 means C and 6 means B), and alter is ,SHARP ,FLAT ,DOUBLE-SHARP etc. (Note the leading comma.)

Alternatively, for each item in the list, using the more concise format (step . alter) specifies that the same alteration should hold in all octaves.

Here is an example of a possible key signature for generating a whole-tone scale:

\relative c' {
  \set Staff.keySignature = #`(((0 . 6) . ,FLAT)
                               ((0 . 5) . ,FLAT)
                               ((0 . 3) . ,SHARP))
  c4 d e fis
  aes4 bes c2
}

[image of music]

参照

音楽用語集: church mode, scordatura

学習マニュアル: 臨時記号と調号

コード断片集: ピッチ

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


オッターバ囲み

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

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

Ottava text

Internally, \ottava sets the properties ottavation (for example, to 8va or 8vb) and middleCPosition. To override the text of the bracket, set ottavation after invoking \ottava.

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

[image of music]

Selected Snippets

Ottava text

Internally, \ottava sets the properties ottavation (for example, to 8va or 8vb) and middleCPosition. To override the text of the bracket, set ottavation after invoking \ottava.

{
  \ottava #1
  \set Staff.ottavation = #"8"
  c''1
  \ottava #0
  c'1
  \ottava #1
  \set Staff.ottavation = #"Text"
  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" {
    \relative c'' {
      \set Staff.instrumentName = #"Vln"
      \set Staff.midiInstrument = #"violin"
      % not strictly necessary, but a good reminder
      \transposition c'

      \key c \major
      g4( c8) r c r c4
    }
  }
  \new Staff = "clarinet" {
    \relative c'' {
      \set Staff.instrumentName = \markup { Cl (B\flat) }
      \set Staff.midiInstrument = #"clarinet"
      \transposition bes

      \key d \major
      a4( d8) r d r d4
    }
  }
>>

[image of music]

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

\set Staff.instrumentName = #"Cl (A)"
\key a \major
\transposition a
c d e f
\textLengthOn
s1*0^\markup { Switch to B\flat clarinet }
R1

\key bes \major
\transposition bes
c2 g

[image of music]

参照

音楽用語集: concert pitch, transposing instrument

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

コード断片集: ピッチ


自動臨時記号

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

\new Staff <<
  #(set-accidental-style 'voice)
  { … }
>>

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

#(set-accidental-style 'voice 'StaffGroup)

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

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

musicB = {
  \clef bass
  \new Voice {
    \voiceTwo \relative c' {
      <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" {
      #(set-accidental-style 'default)
      \musicA
    }
    \context Staff = "down" {
      #(set-accidental-style 'default)
      \musicB
    }
  >>
}

[image of music]

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

\new PianoStaff {
  <<
    \context Staff = "up" {
      %%% 次の行を変更したいスタイルに合わせて変更してください:
      #(set-accidental-style 'default 'Score)
      \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 世紀の一般的な臨時記号の付け方と一致します: この規則の臨時記号の付け方は、あいまいさを避けるための 2 つの例外 – 一時的な臨時記号が使われると、その後の小節で (同じオクターブにある音符に対して) キャンセル記号が譜刻され、臨時記号が使われたのと同じ小節では他のオクターブにある音符にもキャンセル記号が譜刻されます – を除いて、default と同じです。そのため、上部譜の第 2 小節の中にある bc の前にはナチュラルが付けられています:

[image of music]

modern-cautionary

この規則は modern と似ていますが、忠告的臨時記号として ‘追加の’ 臨時記号が譜刻されます (これは default では譜刻されません)。デフォルトでは、この臨時記号は括弧で囲まれて譜刻されますが、AccidentalSuggestioncautionary-style プロパティを定義することによって小さなサイズで譜刻されることもあり得ます。

[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]

neo-modern

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

[image of music]

neo-modern-cautionary

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

[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]

teaching

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

[image of music]

no-reset

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

[image of music]

forget

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

[image of music]

Selected Snippets

Dodecaphonic-style accidentals for each note including naturals

In early 20th century works, starting with Schoenberg, Berg and Webern (the “Second” Viennese school), every pitch in the twelve-tone scale has to be regarded as equal, without any hierarchy such as the classical (tonal) degrees. Therefore, these composers print one accidental for each note, even at natural pitches, to emphasize their new approach to music theory and language.

This snippet shows how to achieve such notation rules.

\markup {
  This snippet is deprecated as of version 2.12 and
  will be removed from the documentation in 2.14.
}

[image of music]

参照

コード断片集: ピッチ

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

既知の問題と警告

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

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

[image of music]

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

forget = #(define-music-function (parser location music) (ly:music?) #{
  #(set-accidental-style 'forget)
  $music
  #(set-accidental-style 'modern)
#})
{
  #(set-accidental-style '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 c'' {
  aes c e2
  cis,1
}

[image of music]

Selected Snippets

Adding ambitus per voice

Ambitus can be added per voice. In this case, the ambitus must be moved manually to prevent collisions.

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

Ambitus with multiple voices

Adding the Ambitus_engraver to the Staff context creates a single ambitus per staff, even in the case of staves with multiple voices.

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

Changing the ambitus gap

It is possible to change the default gap setting for ambitus.

\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 符頭

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


特殊な符頭

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

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]

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

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

c4 b
\xNotesOn
 a b c4 b
\xNotesOff
c4 d

[image of music]

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

c4 b
\xNote { e f }
c b < g \xNote c f > b

[image of music]

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

また、和音の中でのみ使用できるダイアモンド形のための短縮記法があります:

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

[image of music]

定義済みコマンド

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

参照

コード断片集: ピッチ

記譜法リファレンス: Note head styles, 和音の音符, Indicating harmonics and dampened notes

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


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

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

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

[image of music]

定義済みコマンド

\easyHeadsOn, \easyHeadsOff

Selected Snippets

Numbers as easy note heads

Easy notation note heads use the note-names property of the NoteHead object to determine what appears inside the note head. By overriding this property, it is possible to print numbers representing the scale-degree.

A simple engraver can be created to do this for every note head object it sees.

#(define Ez_numbers_engraver
   (list
    (cons 'acknowledgers
          (list
           (cons 'note-head-interface
                 (lambda (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]

参照

記譜法リファレンス: Setting the staff size

コード断片集: ピッチ

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


シェイプ符頭

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

\aikenHeads
c, 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 コマンドによって決まります。マイナーで記述している場合、符頭の形状を決定する音階ステップはメジャーの場合との相対関係になります:

\key a \minor
\aikenHeads
a b c d e2 f g1 a \break
\aikenHeadsMinor
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, \funkHeads, \funkHeadsMinor, \sacredHarpHeads, \sacredHarpHeadsMinor, \southernHarmonyHeads, \southernHarmonyHeadsMinor, \walkerHeads, \walkerHeadsMinor

Selected Snippets

Applying note head styles depending on the step of the scale

The shapeNoteStyles property can be used to define various note head styles for each step of the scale (as set by the key signature or the tonic property). This property requires a set of symbols, which can be purely arbitrary (geometrical expressions such as triangle, cross, and xcircle are allowed) or based on old American engraving tradition (some latin note names are also allowed).

That said, to imitate old American song books, there are several predefined note head styles available through shortcut commands such as \aikenHeads or \sacredHarpHeads.

This example shows different ways to obtain shape note heads, and demonstrates the ability to transpose a melody without losing the correspondence between harmonic functions and note head styles.

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 head styles を参照してください。

参照

コード断片集: ピッチ

記譜法リファレンス: Note head styles

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


即興

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

\new Voice \with {
  \consists "Pitch_squash_engraver"
} {
  e8 e g a a16( bes) a8 g
  \improvisationOn
  e8 ~
  e2 ~ e8 f4 f8 ~
  f2
  \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 分音符のような短い音符を指定することもできます。それよりも短い音価を指定することも可能ですが、必ず連桁付きの音符となります。

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

[image of music]

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

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

[image of music]

全音符の 8 倍の演奏時間を持つ音符は \maxima を使って入力することができます。しかしながら、これは古代音楽表記でのみサポートされます。詳細は Ancient notation を参照してください。

演奏時間を省略した場合、前に入力された演奏時間にセットされます。最初の音符のデフォルト値は 4 分音符です。

a a a2 a a4 a a1 a

[image of music]

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

a4 b c4. b8 a4. b4.. c8.

[image of music]

演奏時間の中には 2の倍数の演奏時間とドットだけでは表せないものもあります。それらを表すには 2 つかそれ以上の音符をタイでつなげるしかありません。詳細は タイ を参照してください。

歌詞の音節に対して演奏時間を指定する方法、歌詞を音符に揃える方法については Vocal music を参照してください。

オプションとして、音符を音符の演奏時間に厳密に比例させた間隔で配置することができます。このオプションとプロポーショナル表記を制御するその他の設定についての詳細は Proportional notation を参照してください。

通常、多声でない限り、ドットは譜線を避けるために上に移動させられます。ある特定のドットの移動方向を手動で指定するための定義済みコマンドがあります – 詳細は Direction and placement を参照してください。

定義済みコマンド

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

Selected Snippets

Changing the number of augmentation dots per note

This code demonstrates how to change the number of augmentation dots on a single note.

\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

記譜法リファレンス: 自動連桁, タイ, リズムを記述する, 休符を記述する, Vocal music, Ancient notation, Proportional notation

コード断片集: リズム

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

既知の問題と警告

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


連符

連符はその連符内のすべての音符の演奏時間に分数を掛け合わせる音楽表記によって作られます:

\times fraction { music }

music の演奏時間には分数 fraction が掛け合わされます。分数の分母が音符の上または下に譜刻され、オプションで囲みが付きます。最も一般的な連符は 3 連符であり、3 連符では 3 つの音符が音符 2 つ分の演奏時間を持ちます。そのため、3 連符で指定する分数は 2/3 です。

a2 \times 2/3 { b4 b b }
c4 c \times 2/3 { b4 a g }

[image of music]

連符囲みは手動で譜の上または下に配置することができます – Direction and placement を参照してください。

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

\autoBeamOff
c4 \times 4/5 { f8 e f \times 2/3 { e[ f g] } } f4

[image of music]

ネストされた連符の演奏開始点が同時である場合に、それらの連符を変更するには \tweak を使う必要があります。

連符囲みを譜刻せずに音符の演奏時間を変更する方法は 演奏時間を変更する を参照してください。

定義済みコマンド

\tupletUp, \tupletDown, \tupletNeutral.

Selected Snippets

Entering several tuplets using only one \times command

The property tupletSpannerDuration sets how long each of the tuplets contained within the brackets after \times should last. Many consecutive tuplets can then be placed within a single \times expression, thus saving typing.

In the example, two triplets are shown, while \times was entered only once.

Read the relevant sections of the Notation Reference for more information about ly:make-moment.

\relative c' {
  \time 2/4
  \set tupletSpannerDuration = #(ly:make-moment 1 4)
  \times 2/3 { c8 c c c c c }
}

[image of music]

Changing the tuplet number

By default, only the numerator of the tuplet number is printed over the tuplet bracket, i.e., the denominator of the argument to the \times command. Alternatively, num:den of the tuplet number may be printed, or the tuplet number may be suppressed altogether.

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

[image of music]

Non-default tuplet numbers

LilyPond also provides formatting functions to print tuplet numbers different than the actual fraction, as well as to append a note value to the tuplet number or tuplet fraction.

\relative c'' {
  \once \override TupletNumber #'text =
    #(tuplet-number::non-default-tuplet-denominator-text 7)
  \times 2/3  { c4. c4. c4. c4. }
  \once \override TupletNumber #'text =
    #(tuplet-number::non-default-tuplet-fraction-text 12 7)
  \times 2/3  { c4. c4. c4. c4. }
  \once \override TupletNumber #'text =
    #(tuplet-number::append-note-wrapper
      (tuplet-number::non-default-tuplet-fraction-text 12 7) "8")
  \times 2/3  { c4. c4. c4. c4. }

  \once \override TupletNumber #'text =
    #(tuplet-number::append-note-wrapper
      tuplet-number::calc-denominator-text "4")
  \times 2/3  { c8 c8 c8 c8 c8 c8 }
  \once \override TupletNumber #'text =
    #(tuplet-number::append-note-wrapper
      tuplet-number::calc-fraction-text "4")
  \times 2/3  { c8 c8 c8 c8 c8 c8 }

  \once \override TupletNumber #'text =
    #(tuplet-number::fraction-with-notes "4." "8")
  \times 2/3  { c4. c4. c4. c4. }
  \once \override TupletNumber #'text =
    #(tuplet-number::non-default-fraction-with-notes 12 "8" 4 "4")
  \times 2/3  { c4. c4. c4. c4. }
}

[image of music]

Controlling tuplet bracket visibility

The default behavior of tuplet-bracket visibility is to print a bracket unless there is a beam of the same length as the tuplet. To control the visibility of tuplet brackets, set the property 'bracket-visibility to either #t (always print a bracket), #f (never print a bracket) or #'if-no-beam (only print a bracket if there is no beam).

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

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


[image of music]

Permitting line breaks within beamed tuplets

This artificial example shows how both manual and automatic line breaks may be permitted to within a beamed tuplet. Note that such off-beat tuplets have to be beamed manually.

\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 { \times 2/3 { c[ b a] } }
  % Insert a manual line break within a tuplet
  \times 2/3 { c[ b \bar "" \break a] }
  \repeat unfold 5 { \times 2/3 { c[ b a] } }
  c8
}

[image of music]

参照

音楽用語集: triplet, tuplet, polymetric

学習マニュアル: 調整手段

記譜法リファレンス: 時間管理, 演奏時間を変更する, The \tweak command, 複合拍子記譜法

コード断片集: リズム

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

既知の問題と警告

譜の先頭に装飾小音符とそれに続く連符を配置する場合でない限り、装飾を連符囲みの中に配置することができます。この特殊な場合では、エラーを避けるためにその装飾小音符を \times コマンドの前に置かなければなりません。

\tempo コマンドを持つ楽曲の先頭で連符を使う場合、 音楽を保持するボイス で説明されているようにその音楽を明示的に \new Voice ブロックの中に入れる必要があります。


演奏時間を変更する

*N/M (または、M が 1 の場合は *N) を演奏時間の後に付け加えることによって、単一の音符、休符、和音の演奏時間を分数 N/M 倍 に変更することができます。これは作り出される音符や休符の見た目には影響を与えませんが、変更された演奏時間は小節の中での位置を算出するためと、MIDI 出力での演奏時間を決定するために使用されます。掛け合わせる要素は *L*M/N などのように組み合わせることができます。

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

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

[image of music]

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

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

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

[image of music]

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

参照

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

コード断片集: リズム


タイ

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

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

タイはチルド記号 ~ を使って入力します:

a2 ~ a

[image of music]

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

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

[image of music]

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

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

<c e g> ~ <c e g>
<c~ e g~ b> <c e g b>

[image of music]

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

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

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

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

\tieDotted
c2 ~ c
\tieDashed
c2 ~ c
\tieHalfDashed
c2 ~ c
\tieHalfSolid
c2 ~ c
\tieSolid
c2 ~ c

[image of music]

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

\tieDashPattern #0.3 #0.75
c2 ~ c
\tieDashPattern #0.7 #1.5
c2 ~ c
\tieSolid
c2 ~ c

[image of music]

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

定義済みコマンド

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

Selected Snippets

Using ties with arpeggios

Ties are sometimes used to write out arpeggios. In this case, two tied notes need not be consecutive. This can be achieved by setting the tieWaitForNote property to #t. The same feature is also useful, for example, to tie a tremolo to a chord, but in principle, it can also be used for ordinary consecutive notes.

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

Engraving ties manually

Ties may be engraved manually by changing the tie-configuration property of the TieColumn object. The first number indicates the distance from the center of the staff in staff-spaces, and the second number indicates the direction (1 = up, -1 = down).

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

[image of music]

参照

音楽用語集: tie, laissez vibrer

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

コード断片集: リズム

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

既知の問題と警告

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

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


1.2.2 休符を記述する

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


休符

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

\new Staff {
  % この 2 本線には意味はありません
  \time 16/1
  \override Staff.TimeSignature #'stencil = ##f
  % 八全休符を譜刻します。二全休符 4 つと等価です
  r\maxima
  % 四全休符を譜刻します。二全休符 2 つと等価です
  r\longa
  % 二全休符を譜刻します。
  r\breve
  r1 r2 r4 r8 r16 r32 r64 r128
}

[image of music]

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

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

a4\rest d4\rest

[image of music]

Selected Snippets

Rest styles

Rests may be used in various styles.

\layout {
  indent = 0
  \context {
    \Staff
    \remove "Time_signature_engraver"
  }
}

\new Staff \relative c {
  \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 ""

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

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

  \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

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

コード断片集: リズム

内部リファレンス: Rest

既知の問題と警告

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


不可視の休符

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

c4 c s c
s2 c

[image of music]

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

<<
  {
    a2 \skip2 a2 a2
  }
  \new Lyrics {
    \lyricmode {
      foo2 \skip 1 bla2
    }
  }
>>

[image of music]

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

<<
  {
    \repeat unfold 8 { a4 }
  }
  {
    a4 \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 of objects

コード断片集: リズム

内部リファレンス: SkipMusic


小節単位の休符

1 つまたは複数の小節に対する休符は音符名として大文字の R を持つ音符として入力します:

% 休みの小節は 1 つの小節にまとめられます
\compressFullBarRests
R1*4
R1*24
R1*4
b2^"Tutti" b4 a4

[image of music]

小節単位の休符の演奏時間は、音符に対する演奏時間と同じ表記を使います。複数小節にまたがる休符の演奏時間は常に小節の長さの整数倍になります。そのため、しばしばドットや分数を使う必要があります:

\compressFullBarRests
\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]

デフォルトでは、複数小節にまたがる休符は休みの小節すべてを明示的に示すように譜刻される楽譜に展開されます。そうする代わりに、複数小節にまたがる休符を複数小節の休符記号を持つ単一の小節として譜刻することもできます – 休みの小節数がその小節の上に譜刻されます。

% デフォルトの振る舞い
\time 3/4 r2. | R2.*2 |
\time 2/4 R2 |
\time 4/4
% 休みの小節を 1 つの小節にまとめます
\compressFullBarRests
r1 | R1*17 | R1*4 |
% 休みの小節を展開します
\expandFullBarRests
\time 3/4
R2.*2 |

[image of music]

マークアップを複数小節にまたがる休符に付け加えることができます。フェルマータを付け加えるための定義済みコマンドとして \fermataMarkup が提供されています。

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

[image of music]

Note: 複数小節にまたがる休符に付け加えられるマークアップはタイプ MultiMeasureRestText のオブジェクトであり、TextScript ではありません。オーバライドは正しいオブジェクトに対して行わなければなりません。さもないと無視されます。以下の例を見てください。

% この例は誤ったオブジェクト名を指定しているため失敗します
\override TextScript #'padding = #5
R1^"wrong"
% この例は正しいオブジェクト名が指定されています
\override MultiMeasureRestText #'padding = #5
R1^"right"

[image of music]

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

定義済みコマンド

\textLengthOn, \textLengthOff, \fermataMarkup, \compressFullBarRests, \expandFullBarRests

Selected Snippets

Changing form of multi-measure rests

If there are ten or fewer measures of rests, a series of longa and breve rests (called in German “Kirchenpausen” - church rests) is printed within the staff; otherwise a simple line is shown. This default number of ten may be changed by overriding the expand-limit property.

\relative c'' {
  \compressFullBarRests
  R1*2 | R1*5 | R1*9
  \override MultiMeasureRest #'expand-limit = #3
  R1*2 | R1*5 | R1*9
}

[image of music]

Positioning multi-measure rests

Unlike ordinary rests, there is no predefined command to change the staff position of a multi-measure rest symbol of either form by attaching it to a note. However, in polyphonic music multi-measure rests in odd-numbered and even-numbered voices are vertically separated. The positioning of multi-measure rests can be controlled as follows:

\relative c'' {
  % MMR - Multi-Measure Rest
  % MMRs by default are set under the fourth line
  R1
  % They can be moved with an override
  \override MultiMeasureRest #'staff-position = #-2
  R1
  % A value of 0 is the default position;
  % the following trick moves the rest to the center line
  \override MultiMeasureRest #'staff-position = #-0.01
  R1
  % MMRs in odd-numbered voices are under the top line
  << { R1 } \\ { a1 } >>
  % MMRs in even-numbered voices are under the bottom line
  << { c1 } \\ { R1 } >>
  % They remain separated even in empty measures
  << { R1 } \\ { R1 } >>
  % This brings them together even though there are two voices
  \compressFullBarRests
  <<
    \revert MultiMeasureRest #'staff-position
    { R1*3 }
    \\
    \revert MultiMeasureRest #'staff-position
    { R1*3 }
  >>
}

[image of music]

Multi-measure rest markup

Markups attached to a multi-measure rest will be centered above or below it. Long markups attached to multi-measure rests do not cause the measure to expand. To expand a multi-measure rest to fit the markup, use a spacer rest with an attached markup before the multi-measure rest.

Note that the spacer rest causes a bar line to be inserted. Text attached to a spacer rest in this way is left-aligned to the position where the note would be placed in the measure, but if the measure length is determined by the length of the text, the text will appear to be centered.

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

[image of music]

参照

音楽用語集: multi-measure rest

記譜法リファレンス: 演奏時間, テキスト, テキストをフォーマットする, テキスト スクリプト

コード断片集: リズム

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

既知の問題と警告

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

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

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


1.2.3 リズムを表示する


拍子

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

\time 2/4 c2
\time 3/4 c2.

[image of music]

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

\time 2/4
c2 c
\break
c c
\break
\time 4/4
c c c c

[image of music]

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

% デフォルトのスタイル
\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]

定量拍子については Mensural time signatures でカバーされています。

定義済みコマンド

\numericTimeSignature, \defaultTimeSignature

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

\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, 拍子を示す Scheme ペア。
  2. baseMomentFraction, 拍子の基本タイミングの単位となる分子と分母を保持する Scheme ペア。
  3. beatStructure, 小節の拍構造を示す Scheme リスト。基本タイミングを単位とします。
  4. beamExceptions, 指定された拍子でそれぞれの拍で終了しない連桁のルールを保持する配列リスト。自動連桁の振る舞いを設定する に説明があります。

\overrideTimeSignatureSettings を保持するコンテキストは、その \overrideTimeSignatureSettings 呼び出しが実行される前にインスタンス化されている必要があります。このことは、そのようなコンテキストは明示的にインスタンス化するか、そのコンテキスト内で \overrideTimeSignatureSettings の前に音楽を置いておく必要があるということを意味します:

\score {
  \relative c' {
    % コンテキストがまだインスタンス化されていないため、この呼び出しは失敗します
    \overrideTimeSignatureSettings
      #'(4 . 4)  % timeSignatureFraction
      #'(1 . 4)  % baseMomentFraction
      #'(3 1)    % beatStructure
      #'()       % beamExceptions
    \time 4/4
    c8^\markup {"Beamed (2 2)"}
    \repeat unfold 7 { c8 } |
    % この呼び出しは成功します
    \overrideTimeSignatureSettings
      #'(4 . 4)  % timeSignatureFraction
      #'(1 . 4)  % baseMomentFraction
      #'(3 1)    % beatStructure
      #'()       % beamExceptions
    \time 4/4
    c8^\markup {"Beamed (3 1)"}
    \repeat unfold 7 { c8 } |
  }
}

[image of music]

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

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

[image of music]

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

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

[image of music]

定義済みコマンド

\numericTimeSignature, \defaultTimeSignature

Selected Snippets

Changing the time signature without affecting the beaming

The \time command sets the properties timeSignatureFraction, beatLength, beatGrouping and measureLength in the Timing context, which is normally aliased to Score. Changing the value of timeSignatureFraction causes the new time signature symbol to be printed without changing any of the other properties:

\markup {
  This snippet is deprecated as of 2.13.5 and will be removed in 2.14
}

[image of music]

Compound time signatures

Odd 20th century time signatures (such as "5/8") can often be played as compound time signatures (e.g. "3/8 + 2/8"), which combine two or more inequal metrics. LilyPond can make such music quite easy to read and play, by explicitly printing the compound time signatures and adapting the automatic beaming behavior. (Graphic measure grouping indications can also be added; see the appropriate snippet in this database.)

#(define ((compound-time one two num) grob)
   (grob-interpret-markup grob
                          (markup #:override '(baseline-skip . 0) #:number
                                  (#:line ((#:column (one num))
                                           #:vcenter "+"
                                           (#:column (two num)))))))

\relative c' {
  \override Staff.TimeSignature #'stencil = #(compound-time "2" "3" "8")
  \time 5/8
  \set Staff.beatStructure = #'(2 3)
  c8 d e fis gis
  c8 fis, gis e d
  c8 d e4 gis8
}

[image of music]

Time signature printing only the numerator as a number (instead of the fraction)

Sometimes, a time signature should not print the whole fraction (e.g. 7/4), but only the numerator (7 in this case). This can be easily done by using \override Staff.TimeSignature #'style = #'single-digit to change the style permanently. By using \revert Staff.TimeSignature #'style, this setting can be reversed. To apply the single-digit style to only one time signature, use the \override command and prefix it with a \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

記譜法リファレンス: Mensural time signatures, 時間管理

コード断片集: リズム

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


メトロノーム記号

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

\tempo 4 = 120
c2 d
e4. d8 c2

[image of music]

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

\tempo 4 = 40 ~ 46
c4. e8 a4 g
b,2 d4 r

[image of music]

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

\tempo "Allegretto"
c4 e d c
b4. a16 b c4 r4

[image of music]

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

\tempo "Allegro" 4 = 160
g4 c d e
d4 b g2

[image of music]

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

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

[image of music]

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

\tempo "" 8 = 96
d4 g e c

[image of music]

Selected Snippets

Printing metronome and rehearsal marks below the staff

By default, metronome and rehearsal marks are printed above the staff. To place them below the staff simply set the direction property of MetronomeMark or RehearsalMark appropriately.

\layout { 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]

Changing the tempo without a metronome mark

To change the tempo in MIDI output without printing anything, make the metronome mark invisible.

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

Creating metronome marks in markup mode

New metronome marks can be created in markup mode, but they will not change the tempo in MIDI output.

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

コード断片集: Staff notation

内部リファレンス: MetronomeMark


上拍

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

\partial duration

duration は、最初の完全な長さを持つ小節の前に置かれる小節の長さです:

\partial 4 e4 |
a2. c,4 |

[image of music]

部分小節は、完全な長さを持つ小節よりも短い演奏時間なら、どのような長さでも持つことができます:

\partial 4 e4 |
a2. c,4 |

[image of music]

部分小節は 1 小節よりも短い任意の演奏時間にすることができます:

\partial 8*3 c8 d e |
a2. c,4 |

[image of music]

内部的には、\partial duration は以下のように翻訳されます:

\set Timing.measurePosition -duration

例えば、\partial 8*3 は以下のようになります:

\set Timing.measurePosition = #(ly:make-moment -3 8)

プロパティ measurePosition は、ある時点でその小節はどれくらい演奏済みになっているかを示す有理数を保持します。このプロパティは \partial によって負の数にセットされるということに注意してください: すなわち、\partial 4 は内部的に -4 に翻訳され、“その小節には 4 分音符が残っている” という意味になります。

参照

音楽用語集: anacrusis

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

コード断片集: リズム

内部リファレンス: Timing_translator

既知の問題と警告

\partial コマンドは楽曲の開始時で使用されることだけを意図したものです。楽曲の途中でこのコマンドを使用した場合、奇妙な警告がいくつか発生するかもしれません。曲の途中では \set Timing.measurePosition を使用してください。


無韻律の音楽

小節線と小節番号は自動的に算出されます。無韻律の音楽 (例えば、カデンツァの一部) では、この機能は望ましくありません。小節線と小節番号の自動算出を off にするにはコマンド \cadenzaOn を使用し、再び on にするには \cadenzaOff を使用します。

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

[image of music]

小節の付番は、カデンツァが存在しないかのように、カデンツァの終了点で再開されます:

% すべての小節番号を表示します
\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]

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

\repeat unfold 8 { c8 }
\cadenzaOn
\repeat unfold 5 { c8 }
\bar"|"
\cadenzaOff
\repeat unfold 8 { c8 }

[image of music]

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

定義済みコマンド

\cadenzaOn, \cadenzaOff

参照

音楽用語集: cadenza

記譜法リファレンス: Visibility of objects

コード断片集: リズム

既知の問題と警告

LilyPond は改行と改ページを小節線の箇所にのみ挿入します。無韻律の音楽が譜の行の終わりまでに終了しないのならば、以下のように不可視の小節線を挿入して、改行または改ページを起こすことができる場所であることを示す必要があります:

\bar ""

\cadenzaOn で楽曲を始める場合、Voice コンテキストを明示的に作成すべきです。さもないと、奇妙なエラーが発生する可能性があります。

\new Voice {
  \relative c' {
    \cadenzaOn
    c16[^"Solo Free Time" d e f] g2.
    \bar "||"
    \cadenzaOff
  }
}

複合拍子記譜法

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

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

この記譜を作成するには、各譜に共通の拍子をセットし、timeSignatureFraction に望みの分数をセットすることによって記号を手動で置き換え、各譜の演奏時間を伸縮させて共通の拍子に合わせます – 拍子 を参照してください。演奏時間の伸縮は \scaleDurations で行います。このコマンドの使用方法は \times と同じですが、連符囲みを作成しません – 演奏時間を変更する を参照してください。

この例では、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 c' <<
  \new Staff {
    \time 3/4
    c4 c c |
    c c c |
  }
  \new Staff {
    \time 3/4
    \set Staff.timeSignatureFraction = #'(9 . 8)
    \scaleDurations #'(2 . 3)
    \repeat unfold 6 { c8[ c c] }
  }
  \new Staff {
    \time 3/4
    \set Staff.timeSignatureFraction = #'(10 . 8)
    \scaleDurations #'(3 . 5) {
      \repeat unfold 2 { c8[ c c] }
      \repeat unfold 2 { c8[ c] } |
      c4. c4. \times 2/3 { c8[ c c] } c4
    }
  }
>>

[image of music]

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

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

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

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

\relative c' <<
  \new Staff {
    \time 3/4
    c4 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]

Selected Snippets

Compound time signatures

Odd 20th century time signatures (such as "5/8") can often be played as compound time signatures (e.g. "3/8 + 2/8"), which combine two or more inequal metrics. LilyPond can make such music quite easy to read and play, by explicitly printing the compound time signatures and adapting the automatic beaming behavior. (Graphic measure grouping indications can also be added; see the appropriate snippet in this database.)

#(define ((compound-time one two num) grob)
   (grob-interpret-markup grob
                          (markup #:override '(baseline-skip . 0) #:number
                                  (#:line ((#:column (one num))
                                           #:vcenter "+"
                                           (#:column (two num)))))))

\relative c' {
  \override Staff.TimeSignature #'stencil = #(compound-time "2" "3" "8")
  \time 5/8
  \set Staff.beatStructure = #'(2 3)
  c8 d e fis gis
  c8 fis, gis e d
  c8 d e4 gis8
}

[image of music]

参照

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

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

コード断片集: リズム

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

既知の問題と警告

異なる拍子を持つ譜が並列に並べられている場合、同時に起こる音符の水平方向の位置は同じになります。しかしながら、それぞれの譜の小節線により、音符の間隔は通常の異なる拍子が無い場合よりも不規則になります。


自動音符分割

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

\new Voice \with {
  \remove "Note_heads_engraver"
  \consists "Completion_heads_engraver"
}

{ c2. c8 d4 e f g a b c8 c2 b4 a g16 f4 e d c8. c2 }

[image of music]

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

参照

音楽用語集: tie

学習マニュアル: エングラーバの説明, エングラーバを追加 / 削除する

コード断片集: リズム

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

既知の問題と警告

すべての演奏時間を通常の音符と付点で正確に表すことはできません (特に、連符を含んでいる場合) が、Completion_heads_engraver が連符を挿入することはありません。

Completion_heads_engraver は音符にだけ作用します。休符を分割することはありません。


旋律のリズムを示す

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

<<
  \new RhythmicStaff {
    \new Voice = "myRhythm" {
      \time 4/4
      c4 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]

定義済みコマンド

\improvisationOn, \improvisationOff

Selected Snippets

Guitar strum rhythms

For guitar music, it is possible to show strum rhythms, along with melody notes, chord names and fret diagrams.

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

参照

コード断片集: リズム

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


1.2.4 連桁


自動連桁

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

\time 2/4 c8 c c c
\time 6/8 c8 c c c8. c16 c8

[image of music]

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

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

c4 c8 c8. c16 c8. c16 c8
\autoBeamOff
c4 c8 c8. c16 c8.
\autoBeamOn
c16 c8

[image of music]

Note: 歌曲の中でメリスマを表すために連桁を使用する場合、 autoBeamOff で自動連桁を off にして、手動で連桁を示すべきです。

Note: \partcombine\autoBeamOff と一緒に用いると予期しない結果になる可能性があります。詳細は以下のコード断片を参照してください。

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

定義済みコマンド

\autoBeamOff, \autoBeamOn

Selected Snippets

Beams across line breaks

Line breaks are normally forbidden when beams cross bar lines. This behavior can be changed as shown:

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

Changing beam knee gap

Kneed beams are inserted automatically when a large gap is detected between the note heads. This behavior can be tuned through the auto-knee-gap property. A kneed beam is drawn if the gap is larger than the value of auto-knee-gap plus the width of the beam object (which depends on the duration of the notes and the slope of the beam). By default auto-knee-gap is set to 5.5 staff spaces.

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

[image of music]

Partcombine and autoBeamOff

The function of \autoBeamOff when used with \partcombine can be difficult to understand.

It may be preferable to use

\set Staff.autoBeaming = ##f

instead, to ensure that autobeaming will be turned off for the entire staff.

\partcombine apparently works with 3 voices – stem up single, stem down single, stem up combined.

An \autoBeamOff call in the first argument to partcombine will apply to the voice that is active at the time the call is processed, either stem up single or stem up combined. An \autoBeamOff call in the second argument will apply to the voice that is stem down single.

In order to use \autoBeamOff to stop all autobeaming when used with \partcombine, it will be necessary to use three calls to \autoBeamOff.

{
  %\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

コード断片集: リズム

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

既知の問題と警告

連桁は他のボイスの中にある符頭や臨時記号と衝突する可能性があります。


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

たいていの場合、自動連桁は拍の終わりで終了します。拍の終了点はコンテキスト プロパティ baseMomentbeatStructure によって決定されます。beatStructurebaseMoment を単位とする小節の各拍の長さを定義する Scheme リストです。デフォルトでは、baseMoment は「1/拍子の分母」です。デフォルトでは、各拍の長さは baseMoment です。

\time 5/16
c16^"default" c c c c |
\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]

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

\new Staff {
  \time 7/8
  \set Staff.beatStructure = #'(2 3 2)
  <<
    \new Voice = one {
      \relative c'' {
        a8 a a a a a a
      }
    }
    \new Voice = two {
      \relative c' {
        \voiceTwo
        \set Voice.beatStructure = #'(1 3 3)
        f8 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)
<< {a8 a a a16 a a a a8 a} \\ {f4. f8 f f f} >>

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

[image of music]

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

\time 5/8
\set Timing.baseMoment = #(ly:make-moment 1 16)
\set Timing.beatStructure = #'(7 3)
\repeat unfold 10 { a16 }

[image of music]

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

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

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

\time 3/16
\set Timing.beatStructure = #'(2 1)
\set Timing.beamExceptions =
  #'(                         ;start of alist
     (end .                   ;entry for end of beams
      (                       ;start of alist of end points
       ((1 . 32) . (2 2 2))   ;rule for 1/32 beams -- end each 1/16
      )))                     %close all entries
c16 c c |
\repeat unfold 6 { c32 } |

[image of music]

beamExceptions は規則タイプのキーと連桁規則の値を持つ配列リストです。

現時点で、利用可能な唯一の規則タイプの値は、連桁の終わりのための #'end です。

連桁規則は、連桁タイプとその連桁タイプの最短演奏時間の音符を保持する連桁に適用されるグループ化の仕方を示す Scheme 配列リスト (あるいはペアのリスト) です。

#'((beam-type1 . grouping-1)
   (beam-type2 . grouping-2)
   (beam-type3 . grouping-3))

連桁タイプは、その連桁の演奏時間を示す Scheme ペアであり、例えば (1 . 16) です。

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

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

\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 {c8} |
% 以下は beamExceptions をクリアするため、(3 3 2) の連桁になります
\set Timing.beamExceptions = #'()
\repeat unfold 8 {c8}

[image of music]

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

\time 3/4
% デフォルトでは beamExceptions のため、(3) の連桁になります
\repeat unfold 6 {a8} |
% 以下は beatLength のため、(1 1 1) の連桁になります
\set Timing.beamExceptions = #'()
\repeat unfold 6 {a8}

[image of music]

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

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

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

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

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

Selected Snippets

Subdividing beams

The beams of consecutive 16th (or shorter) notes are, by default, not subdivided. That is, the three (or more) beams stretch unbroken over entire groups of notes. This behavior can be modified to subdivide the beams into sub-groups by setting the property subdivideBeams. When set, multiple beams will be subdivided at intervals defined by the current value of baseMoment by reducing the multiple beams to just one beam between the sub-groups. Note that baseMoment defaults to one over the denominator of the current time signature if not set explicitly. It must be set to a fraction giving the duration of the beam sub-group using the ly:make-moment function, as shown in this snippet. Also, when baseMoment is changed, beatStructure should also be changed to match the new 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]
}

[image of music]

Conducting signs measure grouping signs

Beat grouping within a measure is controlled by the context property beatStructure. Values of beatStructure are established for many time signatures in ‘scm/time-signature-settings.scm’. Values of beatStructure can be changed or set with \set. Alternatively, the Scheme function set-time-signature can be used to both set the time signature and establish the beat structure. set-time-signature, takes three arguments: the number of beats, the beat length, and the internal grouping of beats in the measure. \time and set-time-signature both apply to the Timing context, so they will not reset values of beatStructure or baseMoment that are set in other lower-level contexts, such as Voice.

If the Measure_grouping_engraver is included in one of the display contexts, measure grouping signs will be created. Such signs ease reading rhythmically complex modern music. In the example, the 9/8 measure is grouped in two different patterns using the two different methods, while the 5/8 measure is grouped according to the default setting in ‘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) |
    #(set-time-signature 9 8 '(4 5))
    g8 g d d g g a( bes g) |
    \time 5/8
    a4. g4 |
  }
  \layout {
    \context {
      \Staff
      \consists "Measure_grouping_engraver"
    }
  }
}

[image of music]

Beam endings in Score context

Beat structure rules specified in the Score context apply to all staves, but can be modified at both Staff and Voice levels:

\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/beam-settings.scm

コード断片集: Rhythms

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

既知の問題と警告

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


手動連桁

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

r4 r8[ g' a r] r g[ | a] r

[image of music]

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

c8^[ d e] c,_[ d e f g]

[image of music]

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

\time 2/4
c8 c\noBeam c c

[image of music]

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

c4 d8[
\grace { e32[ d c d] }
e8] e[ e
\grace { f16 }
e8 e]

[image of music]

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

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

Flat flags and beam nibs

Flat flags on lone notes and beam nibs at the ends of beamed figures are both possible with a combination of stemLeftBeamCount, stemRightBeamCount and paired [] beam indicators.

For right-pointing flat flags on lone notes, use paired [] beam indicators and set stemLeftBeamCount to zero (see Example 1).

For left-pointing flat flags, set stemRightBeamCount instead (Example 2).

For right-pointing nibs at the end of a run of beamed notes, set stemRightBeamCount to a positive value. And for left-pointing nibs at the start of a run of beamed notes, set stemLeftBeamCount instead (Example 3).

Sometimes it may make sense for a lone note surrounded by rests to carry both a left- and right-pointing flat flag. Do this with paired [] beam indicators alone (Example 4).

(Note that \set stemLeftBeamCount is always equivalent to \once \set. In other words, the beam count settings are not “sticky”, so the pair of flat flags attached to the lone c'16[] in the last example have nothing to do with the \set two notes prior.)

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

[image of music]

参照

記譜法リファレンス: Direction and placement, 装飾小音符

コード断片集: 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 分音符は一定のテンポです。

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

[image of music]

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

定義済みコマンド

\featherDurations

参照

コード断片集: Rhythms

既知の問題と警告

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

参照

コード断片集: リズム


1.2.5 小節


小節線

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

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

e4 d c2 \bar "|."

[image of music]

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

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

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

\bar ""

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

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

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

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

f1 \bar "|"
f1 \bar "."
g1 \bar "||"
a1 \bar ".|"
b1 \bar ".|."
c1 \bar "|.|"
d1 \bar "|."
e1

[image of music]

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

f1 \bar ":"
g1 \bar "dashed"
a1

[image of music]

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

f1 \bar "|:"
g1 \bar ":|:"
a1 \bar ":|.|:"
b1 \bar ":|.:"
c1 \bar ":|"
e1

[image of music]

Additionally, a bar line can be printed as a simple tick:

f1 \bar "'"

[image of music]

However, as such ticks are typically used in Gregorian chant, it is preferable to use \divisioMinima there instead, described in the section Divisiones in Gregorian chant.

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

c4 c c c
\bar "S"
c4 c c c \break
\bar "S"
c4 c c c
\bar "|S"
c4 c c c \break
\bar "|S"
c4 c c c
\bar "S|"
c4 c c c \break
\bar "S|"
c1

[image of music]

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

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

c4 c c c
\bar "||:"
c4 c c c \break
\bar "||:"
c4 c c c

[image of music]

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

c4 c c c
\bar ":|S"
c4 c c c \break
\bar ":|S"
c4 c c c
\bar ":|S."
c4 c c c \break
\bar ":|S."
c4 c c c
\bar "S|:"
c4 c c c \break
\bar "S|:"
c4 c c c
\bar ".S|:"
c4 c c c \break
\bar ".S|:"
c4 c c c
\bar ":|S|:"
c4 c c c \break
\bar ":|S|:"
c4 c c c
\bar ":|S.|:"
c4 c c c \break
\bar ":|S.|:"
c1

[image of music]

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

<<
  \new StaffGroup <<
    \new Staff {
      e4 d
      \bar "||"
      f4 e
    }
    \new Staff { \clef bass c4 g e g }
  >>
  \new Staff { \clef bass c2 c2 }
>>

[image of music]

Selected Snippets

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

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

参照

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

コード断片集: リズム

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


小節番号

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

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 (行の終了点での可視性、行の途中での可視性、行の開始点での可視性) です。以下の例では、譜刻可能な場所すべてに小節番号を譜刻しています:

\override Score.BarNumber #'break-visibility = #'#(#t #t #t)
\set Score.currentBarNumber = #11
% Permit first bar number to be printed
\bar ""
c1 | c | c | c
\break
c1 | c | c | c

[image of music]

Selected Snippets

Printing the bar number for the first measure

By default, the first bar number in a score is suppressed if it is less than or equal to ‘1’. By setting barNumberVisibility to all-bar-numbers-visible, any bar number can be printed for the first measure and all subsequent measures. Note that an empty bar line must be inserted before the first note for this to work.

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

[image of music]

Printing bar numbers at regular intervals

Bar numbers can be printed at regular intervals by setting the property barNumberVisibility. Here the bar numbers are printed every two measures except at the end of the line.

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

[image of music]

Printing bar numbers inside boxes or circles

Bar numbers can also be printed inside boxes or circles.

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

Aligning bar numbers

Bar numbers by default are right-aligned to their parent object. This is usually the left edge of a line or, if numbers are printed within a line, the left hand side of a bar line. The numbers may also be positioned directly over the bar line or left-aligned to the bar line.

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

Removing bar numbers from a score

Bar numbers can be removed entirely by removing the Bar_number_engraver from the Score context.

\layout {
  \context {
    \Score
    \remove "Bar_number_engraver"
  }
}

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

[image of music]

参照

コード断片集: リズム

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

既知の問題と警告

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


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

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

\time 3/4 c2 e4 | g2 |

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

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

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

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

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

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

[image of music]

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

\barNumberCheck #123

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

参照

コード断片集: リズム


リハーサル記号

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

c1 \mark \default
c1 \mark \default
c1 \mark \default
c1 \mark \default

[image of music]

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

c1 \mark \default
c1 \mark \default
c1 \mark #8
c1 \mark \default
c1 \mark \default

[image of music]

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

\set Score.markFormatter = #format-mark-alphabet
\set Score.markFormatter = #format-mark-box-alphabet
\set Score.markFormatter = #format-mark-circle-alphabet
\set Score.markFormatter = #format-mark-box-alphabet
c1 \mark \default
c1 \mark \default
c1 \mark #8
c1 \mark \default
c1 \mark \default

[image of music]

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

\set Score.markFormatter = #format-mark-numbers
c1 \mark \default
c1 \mark \default
\set Score.markFormatter = #format-mark-box-numbers
c1 \mark \default
\set Score.markFormatter = #format-mark-circle-numbers
c1 \mark \default
\set Score.markFormatter = #format-mark-circle-letters
c1

[image of music]

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

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

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

\mark "A1"

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

\mark \markup{ \box A1 }

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

c1 \mark \markup { \musicglyph #"scripts.segno" }
c1 \mark \markup { \musicglyph #"scripts.coda" }
c1 \mark \markup { \musicglyph #"scripts.ufermata" }
c1

[image of music]

\musicglyph を使用して譜刻できる記号のリストは、The Feta font を参照してください。

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

参照

記譜法リファレンス: The Feta font, テキストをフォーマットする, Aligning objects

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

コード断片集: リズム

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


1.2.6 特殊なリズム関連事項


装飾小音符

装飾小音符は楽譜に書き出される装飾音です。装飾小音符は小さなフォントで譜刻され、小節の中では論理的な時間を持ちません。

c4 \grace c16 c4
\grace { c16[ d16] } c2

[image of music]

Lilypond はさらに 2 つ特殊なタイプの装飾小音符をサポートします: acciaccatura (長さを持たない装飾小音符で、スラッシュ付きの符幹を持つスラーでつなげられる小さな音符) と appoggiatura (一定の比率で主音符から演奏時間をとり、スラッシュを持たない小さな音符で譜刻されます) です。

\grace c8 b4
\acciaccatura d8 c4
\appoggiatura e8 d4
\acciaccatura { g16[ f] } e4

[image of music]

装飾小音符の配置は他の譜と同期されます。以下の例では、8 分の装飾小音符 1 つに対して 2 つの 16 分装飾小音符が割り当てられています:

<<
  \new Staff { e2 \grace { c16[ d e f] } e2 }
  \new Staff { c2 \grace { g8[ b] } c2 }
>>

[image of music]

装飾小音符で記譜を終えたいのならば、\afterGrace コマンドを使用します。このコマンドは 2 つの引数をとります: 主音符と主音符の後に続く装飾小音符です。

c1 \afterGrace d1 { c16[ d] } c1

[image of music]

これは主音符の長さの 3/4 のスペースをとった後に装飾小音符を配置しています。デフォルトの分数 3/4 は afterGraceFraction を設定することにより変更することができます。以下の例では、スペースをデフォルト、主音符の 15/16、最後は 1/2 に設定した結果を示しています。

<<
  \new Staff {
    c1 \afterGrace d1 { c16[ d] } c1
  }
  \new Staff {
    #(define afterGraceFraction (cons 15 16))
    c1 \afterGrace d1 { c16[ d] } c1
  }
  \new Staff {
    #(define afterGraceFraction (cons 1 2))
    c1 \afterGrace d1 { c16[ d] } c1
  }
>>

[image of music]

主音符と装飾小音符の間のスペースは空白音符を使って指定することもできます。以下の例では、主音符の長さの 7/8 のスペースをとった後に装飾小音符を配置しています。

\new Voice {
  <<
    { d1^\trill_( }
    { s2 s4. \grace { c16[ d] } }
  >>
  c1)
}

[image of music]

\grace 音楽表記は特殊な譜刻設定を導入します – 例えば、小さなフォントを作り出し、向きを設定するためです。それゆえ、装飾小音符の特殊な設定をオーバライドするためにレイアウトの調整を行う場合、調整は装飾小音符の表記の中に置くべきです。さらに、そのオーバライドは装飾小音符の表記の中で元に戻しておくべきです。以下の例では、装飾小音符の符幹のデフォルトの向きがオーバライドされ、それから元に戻されています。

\new Voice {
  \acciaccatura {
    \stemDown
    f16->
    \stemNeutral
  }
  g4 e c2
}

[image of music]

Selected Snippets

Using grace note slashes with normal heads

The slash through the stem found in acciaccaturas can be applied in other situations.

\relative c'' {
  \override Stem #'stroke-style = #"grace"
  c8( d2) e8( f4)
}

[image of music]

Tweaking grace layout within music

The layout of grace expressions can be changed throughout the music using the functions add-grace-property and remove-grace-property. The following example undefines the Stem direction for this grace, so that stems do not always point up, and changes the default note heads to crosses.

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

Redefining grace note global defaults

The global defaults for grace notes are stored in the identifiers startGraceMusic, stopGraceMusic, startAcciaccaturaMusic, stopAcciaccaturaMusic, startAppoggiaturaMusic and stopAppoggiaturaMusic, which are defined in the file ly/grace-init.ly. By redefining them other effects may be obtained.

startAcciaccaturaMusic = {
  s1*0(
  \override Stem #'stroke-style = #"grace"
  \slurDashed
}

stopAcciaccaturaMusic = {
  \revert Stem #'stroke-style
  \slurSolid
  s1*0)
}

\relative c'' {
  \acciaccatura d8 c1
}

[image of music]

Positioning grace notes with floating space

Setting the property 'strict-grace-spacing makes the musical columns for grace notes ’floating’, i.e., decoupled from the non-grace notes: first the normal notes are spaced, then the (musical columns of the) graces are put left of the musical columns for the main notes.

\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

コード断片集: リズム

内部リファレンス: GraceMusic, Grace_beam_engraver, Grace_engraver, Grace_spacing_engraver

既知の問題と警告

複数の音符を連桁でつないだ アッチャカトゥーラ にはスラッシュは付けられず、複数の音符を連桁でつないだ アッポジャトゥーラ とまったく同じに見えます。

装飾小音符の同期は予期しない結果を引き起こす可能性があります。譜の記譜要素 – 拍子、小節線など – も同期をとられます。装飾小音符を持つ譜と持たない譜を混在させる場合は気をつけて下さい。例えば:

<<
  \new Staff { e4 \bar "|:" \grace c16 d2. }
  \new Staff { c4 \bar "|:" d2. }
>>

[image of music]

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

<<
  \new Staff { e4 \bar "|:" \grace c16 d2. }
  \new Staff { c4 \bar "|:" \grace s16 d2. }
>>

[image of music]

装飾小音符セクションはシーケンシャルな音楽表記の中でのみ使用すべきです。装飾小音符セクションのネスト、並置はサポートされておらず、クラッシュや他のエラーを引き起こすかもしれません。


カデンツァに揃える

オーケストラのコンテキストにおいて、カデンツァは特殊な問題を提起します: 楽譜の構成に演奏時間を持つカデンツァや他のソロ パッセージが含まれる場合、他のすべての楽器は、そのカデンツァの演奏時間の分だけスキップする必要があります。さもなければ、他の楽器はカデンツァの終わりよりも早すぎる (あるいは遅すぎる) タイミングで始まってしまいます。

この問題の解決方法の一つは、関数 mmrest-of-lengthskip-of-length を使用することです。これらの Scheme 関数は、引数として定義済みの音楽表記をとり、その音楽表記と同じ長さの複数小節休符または \skip を生成します。

MyCadenza = \relative c' {
  c4 d8 e f g g4
  f2 g4 g
}

\new GrandStaff <<
  \new Staff {
    \MyCadenza c'1
    \MyCadenza c'1
  }
  \new Staff {
    #(ly:export (mmrest-of-length MyCadenza))
    c'1
    #(ly:export (skip-of-length MyCadenza))
    c'1
  }
>>

[image of music]

参照

音楽用語集: cadenza

コード断片集: リズム


時間管理

時間は 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 c' {
  \set Timing.measureLength = #(ly:make-moment 5 4)
  c1 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 分音符の演奏時間です。

参照

記譜法リファレンス: 小節番号, 無韻律の音楽

コード断片集: リズム

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


1.3 発想記号

[image of music]

このセクションでは楽譜の中で作成可能なさまざまな発想記号をリストアップします。


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

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


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

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

note\name

name に対してとり得る値は List of articulations でリストアップしています。例えば:

c4\staccato c\mordent b2\turn
c1\fermata

[image of music]

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

c4-^  c-+  c--  c-|
c4->  c-.  c2-_

[image of music]

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

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

アーティキュレーションは音符と同様に休符に付けることもできますが、複数小節の休符に付けることはできません。特殊な定義済みコマンド \fermataMarkup は複数小節の休符に付けることができます (複数小節の休符にだけ付けることができます)。このコマンドは MultiMeasureRestText オブジェクトを作成します。

\override Script #'color = #red
\override MultiMeasureRestText #'color = #blue
a2\fermata r\fermata
R1\fermataMarkup

[image of music]

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

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

Selected Snippets

Modifying default values for articulation shorthand notation

The shorthands are defined in ‘ly/script-init.ly’, where the variables dashHat, dashPlus, dashDash, dashBar, dashLarger, dashDot, and dashUnderscore are assigned default values. The default values for the shorthands can be modified. For example, to associate the -+ (dashPlus) shorthand with the trill symbol instead of the default + symbol, assign the value trill to the variable dashPlus:

\relative c'' { c1-+ }

dashPlus = "trill"

\relative c'' { c1-+ }

[image of music]

Controlling the vertical ordering of scripts

The vertical ordering of scripts is controlled with the 'script-priority property. The lower this number, the closer it will be put to the note. In this example, the TextScript (the sharp symbol) first has the lowest priority, so it is put lowest in the first example. In the second, the prall trill (the Script) has the lowest, so it is on the inside. When two objects have the same priority, the order in which they are entered determines which one comes first.

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

Creating a delayed turn

Creating a delayed turn, where the lower note of the turn uses the accidental, requires several overrides. The outside-staff-priority property must be set to #f, as otherwise this would take precedence over the avoid-slur property. The value of halign is used to position the turn horizontally.

\relative c'' {
  \once \override TextScript #'avoid-slur = #'inside
  \once \override TextScript #'outside-staff-priority = ##f
  c2(^\markup \tiny \override #'(baseline-skip . 1) {
    \halign #-4
    \center-column {
      \sharp
      \musicglyph #"scripts.turn"
    }
  }
  d4.) c8
}

[image of music]

参照

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

記譜法リファレンス: Direction and placement, List of articulations, トリル

インストールされているファイル: ‘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 です。 強弱記号を手動で譜の上または下に配置することもできます – Direction and placement を参照してください。

c2\ppp c\mp
c2\rfz c^\mf
c2_\spp c^\ff

[image of music]

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

c2\< c\!
d2\< d\f
e2\< e\>
f2\> f\!
e2\> e\mp
d2\> d\>
c1\!

[image of music]

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

c1\< | c4 a c\< a | c4 a c\! a\< | c4 a c a\!

[image of music]

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

c1\< | c4 a c\mf a | c1\< | c4 a c\ffff a

[image of music]

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

c4\< c\! d\> e\!
<< f1 { s4 s4\< s4\> s4\! } >>

[image of music]

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

c2 b4 a
g1\espressivo

[image of music]

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

g8\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]

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

\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' {
    c2 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

Setting hairpin behavior at bar lines

If the note which ends a hairpin falls on a downbeat, the hairpin stops at the bar line immediately preceding. This behavior can be controlled by overriding the 'to-barline property.

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

[image of music]

Setting the minimum length of hairpins

If hairpins are too short, they can be lengthened by modifying the minimum-length property of the Hairpin object.

\relative c'' {
  c4\< c\! d\> e\!
  \override Hairpin #'minimum-length = #5
  << f1 { s4 s\< s\> s\! } >>
}

[image of music]

Printing hairpins using al niente notation

Hairpin dynamics may be printed with a circled tip (“al niente” notation) by setting the circled-tip property of the Hairpin object to #t.

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

[image of music]

Vertically aligned dynamics and textscripts

By setting the 'Y-extent property to a suitable value, all DynamicLineSpanner objects (hairpins and dynamic texts) can be aligned to a common reference point, regardless of their actual extent. This way, every element will be vertically aligned, thus producing a more pleasing output.

The same idea is used to align the text scripts along their baseline.

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 = #2.0
  \override DynamicLineSpanner #'Y-extent = #'(-1.5 . 1.5)
  \override TextScript #'Y-extent = #'(-1.5 . 1.5)
  \music
}


[image of music]

Hiding the extender line for text dynamics

Text style dynamic changes (such as cresc. and dim.) are printed with a dashed line showing their extent. This line can be suppressed in the following way:

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

[image of music]

Changing text and spanner styles for text dynamics

The text used for crescendos and decrescendos can be changed by modifying the context properties crescendoText and decrescendoText. The style of the spanner line can be changed by modifying the 'style property of DynamicTextSpanner. The default value is 'hairpin, and other possible values include 'line, 'dashed-line and 'dotted-line.

\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

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

記譜法リファレンス: Direction and placement, 新たな強弱記号, What goes into the MIDI output?, Controlling MIDI dynamics

コード断片集: 発想記号

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


新たな強弱記号

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

moltoF = \markup { molto \dynamic f }

\relative c' {
  <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' {
  c1_\roundF
  c1_\boxF
}

[image of music]

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

sfzp = #(make-dynamic-script "sfzp")
\relative c' {
  c4 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' {
  c4_\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 c' {
  <d e>16 <d e>
  <d e>2..\moltoF
}

[image of music]

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

参照

記譜法リファレンス: テキストをフォーマットする, フォントとフォント サイズを選択する, What goes into the MIDI output?, Controlling MIDI dynamics

コード断片集: 発想記号


1.3.2 曲線の発想記号

このセクションでは曲線を持つさまざまな発想記号 – 通常のスラー、フレージング スラー、ブレス記号、Fall それに Doit – を作成する方法について説明します。


スラー

スラー は括弧を用いて入力します:

Note: 多声音楽では、スラーが始まったボイスでそのスラーを終わらせる必要があります。

f4( g a) a8 b(
a4 g2 f4)
<c e>2( <b d>2)

[image of music]

スラーを手動で音符の上または下に配置することができます。Direction and placement を参照してください。

同時進行または重なり合うスラーは許可されません。しかしながら、フレージング スラーはスラーと重なり合うことができます。これにより、2 つのスラーを同時に譜刻することができます。詳細は フレージング スラー を参照してください。

スラーは実線、点線あるいは破線のどれかになります。実線がスラーのデフォルト スタイルです:

c4( e g2)
\slurDashed
g4( e c2)
\slurDotted
c4( e g2)
\slurSolid
g4( e c2)

[image of music]

スラーの半分を破線 (前半を破線、後半を実線) にする、あるいは、半分を実線 (前半を実線、後半を破線) にすることもできます:

c4( e g2)
\slurHalfDashed
g4( e c2)
\slurHalfSolid
c4( e g2)
\slurSolid
g4( e c2)

[image of music]

スラーの破線パターンを定義することができます:

c4( 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

Using double slurs for legato chords

Some composers write two slurs when they want legato chords. This can be achieved by setting doubleSlurs.

\relative c' {
  \set doubleSlurs = ##t
  <c e>4( <d f> <c e> <d f>)
}

[image of music]

Positioning text markups inside slurs

Text markups need to have the outside-staff-priority property set to false in order to be printed inside slurs.

\relative c'' {
  \override TextScript #'avoid-slur = #'inside
  \override TextScript #'outside-staff-priority = ##f
  c2(^\markup { \halign #-10 \natural } d4.) c8
}


[image of music]

Making slurs with complex dash structure

Slurs can be made with complex dash patterns by defining the dash-definition property. dash-definition is a list of dash-elements. A dash-element is a list of parameters defining the dash behavior for a segment of the slur.

The slur is defined in terms of the bezier parameter t which ranges from 0 at the left end of the slur to 1 at the right end of the slur. dash-element is a list (start-t stop-t dash-fraction dash-period). The region of the slur from start-t to stop-t will have a fraction dash-fraction of each dash-period black. dash-period is defined in terms of staff spaces. dash-fraction is set to 1 for a solid slur.

\relative c' {
  \once \override
    Slur #'dash-definition = #'((0 0.3 0.1 0.75)
                                (0.3 0.6 1 1)
                                (0.65 1.0 0.4 0.75))
  c4( d e f)
  \once \override
    Slur #'dash-definition = #'((0 0.25 1 1)
                                (0.3 0.7 0.4 0.75)
                                (0.75 1.0 1 1))
  c4( d e f)
}

[image of music]

参照

音楽用語集: slur

学習マニュアル: ネストされない括弧とタイ

記譜法リファレンス: Direction and placement, フレージング スラー

コード断片集: 発想記号

内部リファレンス: Slur


フレージング スラー

音楽センテンスを示す フレージング スラー (またはフレーズ記号) はコマンド \(\) を用いて記述します:

c4\( d( e) f(
e2) d\)

[image of music]

印刷の上では、フレージング スラーは通常のスラーとほとんど同じです。しかしながら、それぞれ異なるオブジェクトとして取り扱われます。\slurUp はフレージング スラーには影響を与えません。フレージング スラーを手動で音符の上または下に配置することができます。Direction and placement を参照してください。

同時進行あるいは重なり合うフレージング スラーは許可されません。

フレージング スラーを実線、点線あるいは破線にすることができます。実線がフレージング スラーのデフォルト スタイルです:

c4\( e g2\)
\phrasingSlurDashed
g4\( e c2\)
\phrasingSlurDotted
c4\( e g2\)
\phrasingSlurSolid
g4\( e c2\)

[image of music]

フレージング スラーの半分を破線 (前半を破線、後半を実線) にする、あるいは、半分を実線 (前半を実線、後半を破線) にすることもできます:

c4\( e g2\)
\phrasingSlurHalfDashed
g4\( e c2\)
\phrasingSlurHalfSolid
c4\( e g2\)
\phrasingSlurSolid
g4\( e c2\)

[image of music]

フレージング スラーの破線パターンを定義することができます:

c4\( e g2\)
\phrasingSlurDashPattern #0.7 #0.75
g4\( e c2\)
\phrasingSlurDashPattern #0.5 #2.0
c4\( e g2\)
\phrasingSlurSolid
g4\( e c2\)

[image of music]

フレージング スラーに対する破線パターンの定義は、スラーに対する破線パターンの定義と同じ構造をとります。複雑な破線パターンについての更なる情報は、スラー のコード断片集を参照してください。

定義済みコマンド

\phrasingSlurUp, \phrasingSlurDown, \phrasingSlurNeutral, \phrasingSlurDashed, \phrasingSlurDotted, \phrasingSlurHalfDashed, \phrasingSlurHalfSolid, \phrasingSlurDashPattern, \phrasingSlurSolid

参照

学習マニュアル: ネストされない括弧とタイ

記譜法リファレンス: Direction and placement, スラー

コード断片集: 発想記号

内部リファレンス: PhrasingSlur


ブレス記号

ブレス記号は \breathe を用いて入力します:

c2. \breathe d4

[image of music]

ブレス記号は自動連桁を終わらせます。この振る舞いをオーバライドする方法は、手動連桁 を参照してください。

c8 \breathe d e f g2

[image of music]

古代記譜法でのブレス記号の音楽指示子 – divisiones (ディビジョン: 区切り) がサポートされています。詳細は Divisiones を参照してください。

Selected Snippets

Changing the breath mark symbol

The glyph of the breath mark can be tuned by overriding the text property of the BreathingSign layout object with any markup text.

\relative c'' {
  c2
  \override BreathingSign #'text = \markup { \musicglyph #"scripts.rvarcomma" }
  \breathe
  d2
}

[image of music]

Inserting a caesura

Caesura marks can be created by overriding the 'text property of the BreathingSign object. A curved caesura mark is also available.

\relative c'' {
  \override BreathingSign #'text = \markup {
    \musicglyph #"scripts.caesura.straight"
  }
  c8 e4. \breathe g8. e16 c4

  \override BreathingSign #'text = \markup {
    \musicglyph #"scripts.caesura.curved"
  }
  g8 e'4. \breathe g8. e16 c4
}

[image of music]

参照

音楽用語集: caesura

記譜法リファレンス: Divisiones

コード断片集: 発想記号

内部リファレンス: BreathingEvent, BreathingSign, Breathing_sign_engraver


Fall と Doit

\bendAfter コマンドを用いて、FallDoit 音符にを付け加えることができます。Fall あるいは Doit の向きはプラスあるいはマイナス (上あるいは下) で示します。指示の数は Fall あるいは Doit の主音符を展開させるピッチの幅を示します。

c2-\bendAfter #+4
c2-\bendAfter #-4
c2-\bendAfter #+8
c2-\bendAfter #-8

[image of music]

Fall と Doit を記述する際、\bendAfter コマンドの直前にダッシュ - を置く必要があります。

Selected Snippets

Adjusting the shape of falls and doits

The shortest-duration-space property may have to be tweaked to adjust the shape of falls and doits.

\relative c'' {
  \override Score.SpacingSpanner #'shortest-duration-space = #4.0
  c2-\bendAfter #5
  c2-\bendAfter #-4.75
  c2-\bendAfter #8.5
  c2-\bendAfter #-6
}

[image of music]

参照

音楽用語集: fall, doit

コード断片集: 発想記号


1.3.3 直線の発想記号

このセクションでは直線的な軌道をとるさまざまな発想記号 – グリッサンド、アルペジオそれにトリル – を作成する方法について説明します。


グリッサンド

グリッサンド は音符に \glissando を付けることによって作成されます:

g2\glissando g'
c2\glissando c,

[image of music]

異なるスタイルのグリッサンドを作成することもできます。詳細は Line styles を参照してください。

Selected Snippets

Contemporary glissando

A contemporary glissando without a final note can be typeset using a hidden note and cadenza timing.

\relative c'' {
  \time 3/4
  \override Glissando #'style = #'zigzag
  c4 c
  \cadenzaOn
  c4\glissando
  \hideNotes
  c,,4
  \unHideNotes
  \cadenzaOff
  \bar "|"
}

[image of music]

参照

音楽用語集: glissando

記譜法リファレンス: Line styles

コード断片集: 発想記号

内部リファレンス: Glissando

既知の問題と警告

線の上にテキストを譜刻する (グリッサンド など) ことはサポートされていません。


アルペジオ

和音の アルペジオ (変則和音とも呼ばれます) は和音構造の後に \arpeggio を付けることによって記述されます:

<c e g c>1\arpeggio

[image of music]

異なるタイプのアルペジオを描くこともできます。\arpeggioNormal は通常のアルペジオに戻します:

<c e g c>2\arpeggio

\arpeggioArrowUp
<c e g c>2\arpeggio

\arpeggioArrowDown
<c e g c>2\arpeggio

\arpeggioNormal
<c e g c>2\arpeggio

[image of music]

特殊な 括弧スタイル のアルペジオ シンボルを作成することができます:

<c e g c>2

\arpeggioBracket
<c e g c>2\arpeggio

\arpeggioParenthesis
<c e g c>2\arpeggio

\arpeggioParenthesisDashed
<c e g c>2\arpeggio

\arpeggioNormal
<c e g c>2\arpeggio

[image of music]

括弧スタイルのアルペジオの破線プロパティは 'dash-details プロパティで制御します。'dash-details プロパティについては スラー で説明しています。

アルペジオをタイを用いて明示的に描き出すことができます。詳細は タイ を参照してください。

定義済みコマンド

\arpeggio, \arpeggioArrowUp, \arpeggioArrowDown, \arpeggioNormal, \arpeggioBracket, \arpeggioParenthesis \arpeggioParenthesisDashed

Selected Snippets

Creating cross-staff arpeggios in a piano staff

In a PianoStaff, it is possible to let an arpeggio cross between the staves by setting the property PianoStaff.connectArpeggios.

\new PianoStaff \relative c'' <<
  \set PianoStaff.connectArpeggios = ##t
  \new Staff {
    <c e g c>4\arpeggio
    <g c e g>4\arpeggio
    <e g c e>4\arpeggio
    <c e g c>4\arpeggio
  }
  \new Staff {
    \clef bass
    \repeat unfold 4 {
      <c,, e g c>4\arpeggio
    }
  }
>>

[image of music]

Creating cross-staff arpeggios in other contexts

Cross-staff arpeggios can be created in contexts other than GrandStaff, PianoStaff and StaffGroup if the Span_arpeggio_engraver is included in the Score context.

\score {
  \new ChoirStaff {
    \set Score.connectArpeggios = ##t
    <<
      \new Voice \relative c' {
        <c e>2\arpeggio
        <d f>2\arpeggio
        <c e>1\arpeggio
      }
      \new Voice \relative c {
        \clef bass
        <c g'>2\arpeggio
        <b g'>2\arpeggio
        <c g'>1\arpeggio
      }
    >>
  }
  \layout {
    \context {
      \Score
      \consists "Span_arpeggio_engraver"
    }
  }
}

[image of music]

Creating arpeggios across notes in different voices

An arpeggio can be drawn across notes in different voices on the same staff if the Span_arpeggio_engraver is added to the Staff context:

\new Staff \with {
  \consists "Span_arpeggio_engraver"
}
\relative c' {
  \set Staff.connectArpeggios = ##t
  <<
    { <e' g>4\arpeggio <d f> <d f>2 }
    \\
    { <d, f>2\arpeggio <g b>2 }
  >>
}

[image of music]

参照

音楽用語集: arpeggio

記譜法リファレンス: スラー, タイ

コード断片集: 発想記号

内部リファレンス: Arpeggio, Slur, PianoStaff

既知の問題と警告

ある PianoStaff の中の同時点で譜を跨ぐアルペジオと跨がないアルペジオを混在させることはできません。

譜を跨ぐアルペジオに括弧スタイルのアルペジオを適用することはできません。


トリル

延長線を持たない短い トリル\trill で譜刻されます。アーティキュレーションと装飾 を参照してください。

延長線を持つ長いトリルは \startTrillSpan\stopTrillSpan で作成されます:

d1\startTrillSpan
d1
c2\stopTrillSpan
r2

[image of music]

改行を跨ぐトリルは、次行の最初の音符の上から再開されます。

d1\startTrillSpan
\break
d1
c2\stopTrillSpan
r2

[image of music]

連続したトリルには、明示的な \stopTrillSpan コマンドは必要ありません。なぜなら、自動的に次のトリルが前のトリルの右端となるからです。

d1\startTrillSpan
d1
b1\startTrillSpan
d2\stopTrillSpan
r2

[image of music]

トリルを装飾小音符と組み合わせることもできます。この組み合わせの構文と装飾小音符を正確に配置する方法については、装飾小音符 で説明しています。

d1~\afterGrace
d1\startTrillSpan { c32[ d]\stopTrillSpan }
c2 r2

[image of music]

明示的なピッチを持つ予備の音符を必要とするトリルは \pitchedTrill コマンドを用いて譜刻することができます。最初の引数は主音符です。2 番目の引数は トリル の音符であり、括弧で囲まれた符幹を持たない符頭として譜刻されます。

\pitchedTrill
d2\startTrillSpan fis
d2
c2\stopTrillSpan
r2

[image of music]

同じ小節内で、同一音符のためデフォルトでは譜刻されない臨時記号を譜刻するには手動で譜刻を指定する必要があります。最初の小節では、最初のピッチを持つトリルだけに臨時記号が譜刻されています。

\pitchedTrill
eis4\startTrillSpan fis
eis4\stopTrillSpan

\pitchedTrill
eis4\startTrillSpan fis
eis4\stopTrillSpan

\pitchedTrill
eis4\startTrillSpan fis
eis4\stopTrillSpan

\pitchedTrill
eis4\startTrillSpan fis!
eis4\stopTrillSpan

[image of music]

定義済みコマンド

\startTrillSpan, \stopTrillSpan

参照

音楽用語集: trill

記譜法リファレンス: アーティキュレーションと装飾, 装飾小音符

コード断片集: 発想記号

内部リファレンス: TrillSpanner


1.4 繰り返し

[image of music]

繰り返しは音楽の主要なコンセプトであり、繰り返しのために複数の記譜法が存在します。LilyPond は以下の種類の繰り返しをサポートします:

volta

繰り返される音楽は描き出されませんが、繰り返しの小節線で囲まれます。繰り返しが楽曲の先頭にある場合、繰り返しの小節線は繰り返しの終端にのみ譜刻されます。繰り返し時に入れ替えて演奏される部分 (volte) は囲みの右側に譜刻されます。これは入れ替えがある繰り返しの標準的な記譜法です。

unfold

繰り返される音楽は、repeatcount によって指定された回数だけ、描き出されます。これは反復の多い音楽を入力するときに有用です。

percent

これには拍の繰り返しや小節の繰り返しがあります。スラッシュまたはパーセント記号のような外見をしています。

tremolo

これはトレモロの連桁を描くために使用されます。


1.4.1 長い繰り返し

このセクションでは長い (通常は複数の小節) 繰り返しを入力する方法について議論します。繰り返しには 2 つの形式があります: 繰り返し記号によって囲まれる繰り返しと、描き出される繰り返し – これは反復の多い音楽を入力するために使用されます – です。繰り返し記号を手動で制御することもできます。


通常の繰り返し

通常の繰り返しの構文は以下の通りです。

\repeat volta repeatcount musicexpr

ここで、musicexpr は音楽表記です。

入れ替えを持たない 1 回の繰り返しは以下のようになります:

\repeat volta 2 { c4 d e f }
c2 d
\repeat volta 2 { d4 e f g }

[image of music]

繰り返し時に入れ替えて演奏する部分は \alternative を用いて作り出すことができます。入れ替えの各グループを波括弧で囲んで、このブロックの中に配置します。

\repeat volta repeatcount musicexpr
\alternative {
  { musicexpr }
}

ここで、musicexpr は音楽表記です。

繰り返し回数が入れ替え部分の数よりも多い場合、始めの方の繰り返しには最初の入れ替え部分が使用されます。

繰り返しが 1 回で、入れ替えも 1 つの場合は以下のようになります:

\repeat volta 2 { c4 d e f | }
\alternative {
  { c2 e | }
  { f2 g | }
}
c1

[image of music]

複数の入れ替え部分を 1 回ずつ演奏する繰り返しは以下のようになります:

\repeat volta 4 { c4 d e f | }
\alternative {
  { c2 e | }
  { f2 g | }
}
c1

[image of music]

繰り返し部分を複数回繰り返す場合は以下のようになります:

\repeat volta 3 { c4 d e f | }
\alternative {
  { c2 e | }
  { f2 g | }
  { a2 g | }
}
c1

[image of music]

Note: 入れ替えが複数ある場合、入れ替えの閉じ波括弧と次の入れ替えの開始の波括弧の間に何かを置くべきではありません。さもないと、予期せぬ数の入れ替えが発生します。

Note: Voice コンテキストを明示的にインスタンス化せずに\relative\repeat の中に配置すると、余計な譜が表示されます。 余計な譜が表示される を参照してください。

繰り返しが小節の途中から始まり、入れ替え部分が無い場合、風通は繰り返しの終わりも小節の途中になります。そのため、1 つ小節に 2 つの終わりが加えられます。そのような場合、繰り返し記号は本来の小節線とは異なります。繰り返し記号を譜刻する場所で \partila コマンドや小節チェックを使わないで下さい:

% ここで \partial を使わないで下さい
c4 e g  % ここで小節チェックを行わないで下さい
% ここで \partial を使わないで下さい
\repeat volta 4 {
  e4 |
  c2 e |
  % ここで \partial を使わないで下さい
  g4 g g  % ここで小節チェックを行わないで下さい
}
% ここで \partial を使わないで下さい
g4 |
a2 a |
g1 |

[image of music]

同様に、繰り返しが楽譜の先頭の部分小節から始まり、入れ替え部分を持たない場合、楽譜の先頭で \partial コマンドを配置する必要があることを除いて、上の例と同じ条件が適用されます:

\partial 4  % \partial が必要です
\repeat volta 4 {
  e4 |
  c2 e |
  % ここで \partial を使わないで下さい
  g4 g g  % ここで小節チェックを行わないで下さい
}
% ここで \partial を使わないで下さい
g4 |
a2 a |
g1 |

[image of music]

完全な長さを持たない小節で始まる小節に入れ替え部分を付け加える場合、以下の場所で Timing.measureLength コンテキスト プロパティを手動で設定する必要があります:

\partial 4
\repeat volta 2 { e4 | c2 e | }
\alternative {
  {
    f2 d |
    \set Timing.measureLength = #(ly:make-moment 3 4)
    g4 g g  % optional bar check is allowed here
  }
  {
    \set Timing.measureLength = #(ly:make-moment 4 4)
    a2 a |
  }
}
g1 |

[image of music]

measureLength プロパティについての説明は 時間管理 にあります。

繰り返しの 2 回目の部分にタイを付け加えることもできます:

c1
\repeat volta 2 { c4 d e f~ }
\alternative {
  { f2 d }
  { f2\repeatTie f, }
}

[image of music]

Selected Snippets

Shortening volta brackets

By default, the volta brackets will be drawn over all of the alternative music, but it is possible to shorten them by setting voltaSpannerDuration. In the next example, the bracket only lasts one measure, which is a duration of 3/4.

\relative c'' {
  \time 3/4
  c4 c c
  \set Score.voltaSpannerDuration = #(ly:make-moment 3 4)
  \repeat volta 5 { d4 d d }
  \alternative {
    {
      e4 e e
      f4 f f
    }
    { g4 g g }
  }
}

[image of music]

Adding volta brackets to additional staves

The Volta_engraver by default resides in the Score context, and brackets for the repeat are thus normally only printed over the topmost staff. This can be adjusted by adding the Volta_engraver to the Staff context where the brackets should appear; see also the “Volta multi staff” snippet.

<<
  \new Staff { \repeat volta 2 { c'1 } \alternative { c' } }
  \new Staff { \repeat volta 2 { c'1 } \alternative { c' } }
  \new Staff \with { \consists "Volta_engraver" } { c'2 g' e' a' }
  \new Staff { \repeat volta 2 { c'1 } \alternative { c' } }
>>

[image of music]

Setting the double repeat default for volte

There are three different styles of double repeats for volte, that can be set using doubleRepeatType.

\relative c'' {
  \repeat volta 1 { c1 }
  \set Score.doubleRepeatType = #":|:"
  \repeat volta 1 { c1 }
  \set Score.doubleRepeatType = #":|.|:"
  \repeat volta 1 { c1 }
  \set Score.doubleRepeatType = #":|.:"
  \repeat volta 1 { c1 }
}

[image of music]

参照

音楽用語集: repeat, volta

記譜法リファレンス: 小節線, Modifying context plug-ins, 時間管理

コード断片集: Repeats

内部リファレンス: VoltaBracket, RepeatedMusic, VoltaRepeatedMusic, UnfoldedRepeatedMusic

既知の問題と警告

\repeat ブロックから \alternative ブロックまで続くスラーは、最初の入れ替え部分に対してのみ機能します。さらに、スラーは入れ替え部分の終わりから繰り返しの先頭までをカバーすることはできません。

不完全な小節で始まる繰り返しが measureLength プロパティの変更を行う\alternative ブロックを持つ場合、\unfoldRepeats を使用するとおかしな場所に小節線が引かれ、小節チェック警告が発生します。

以下のようにネストされた繰り返し

\repeat …
\repeat …
\alternative

はあいまいです。なぜなら、\alternative がどちらの \repeat に属するのかはっきりしないからです。このあいまいさは、常に \alternative を内側の \repeat に属させることによって解決されます。はっきりとさせるために、そのような状況では波括弧を使用すると賢明です。


手動の繰り返し記号

Note: 以下の手法は特殊な繰り返し構造を表示するためだけに使用され、予期しない振る舞いをする可能性があります。たいていのケースでは、繰り返しは標準の \repeat コマンドを用いるか、適切な小節線を譜刻することによって作成すべきです。更なる情報は、小節線 を参照してください。

プロパティ repeatCommands を用いて繰り返しのレイアウトを制御することができます。このプロパティの値は繰り返しコマンドの Scheme リストです。

start-repeat

|: 小節線を譜刻します。

c1
\set Score.repeatCommands = #'(start-repeat)
d4 e f g
c1

[image of music]

標準の譜刻習慣に従い、楽曲の先頭では繰り返し記号は譜刻されません。

end-repeat

:| 小節線を譜刻します。

c1
d4 e f g
\set Score.repeatCommands = #'(end-repeat)
c1

[image of music]

(volta number) ... (volta #f)

指定された番号を持つ新しい volta を作成します。Volta 囲みは明示的に終了させる必要があります。さもなければ、譜刻されません。

f4 g a b
\set Score.repeatCommands = #'((volta "2"))
g4 a g a
\set Score.repeatCommands = #'((volta #f))
c1

[image of music]

複数の繰り返しコマンドが同時に発生することもあります:

f4 g a b
\set Score.repeatCommands = #'((volta "2, 5") end-repeat)
g4 a g a
c1
\set Score.repeatCommands = #'((volta #f) (volta "95") end-repeat)
b1
\set Score.repeatCommands = #'((volta #f))

[image of music]

テキストを volta 囲みに含めることができます。テキストに使用できるのは数字やマークアップ テキストです。テキストをフォーマットする を参照してください。マークアップ テキストを使用するための最も簡単な方法は、最初にマークアップを定義し、それからそのマークアップを Scheme リストに含める方法です。

voltaAdLib = \markup { 1. 2. 3... \text \italic { ad lib. } }
\relative c'' {
  c1
  \set Score.repeatCommands = #(list(list 'volta voltaAdLib) 'start-repeat)
  c4 b d e
  \set Score.repeatCommands = #'((volta #f) (volta "4.") end-repeat)
  f1
  \set Score.repeatCommands = #'((volta #f))
}

[image of music]

Selected Snippets

Printing a repeat sign at the beginning of a piece

A |: bar line can be printed at the beginning of a piece, by overriding the relevant property:

\relative c'' {
  \once \override Score.BreakAlignment #'break-align-orders =
    #(make-vector 3 '(instrument-name
                      left-edge
                      ambitus
                      breathing-sign
                      clef
                      key-signature
                      time-signature
                      staff-bar
                      custos))
  \once \override Staff.TimeSignature #'space-alist =
    #'((first-note . (fixed-space . 2.0))
       (right-edge . (extra-space . 0.5))
       ;; free up some space between time signature
       ;; and repeat bar line
       (staff-bar . (extra-space . 1)))
  \bar "|:"
  c1
  d1
  d4 e f g
}

[image of music]

参照

記譜法リファレンス: 小節線, テキストをフォーマットする

コード断片集: Repeats

内部リファレンス: VoltaBracket, RepeatedMusic, VoltaRepeatedMusic


繰り返しを描き出す

unfold コマンドを用いることにより、繰り返しを単に反復する音楽を描き出すために使用することができます。構文は以下の通りです:

\repeat unfold repeatcount musicexpr

ここで、musicexpr は音楽表記であり、repeatcountmusicexpr を繰り返す回数です。

\repeat unfold 2 { c4 d e f }
c1

[image of music]

入れ替え部分がある繰り返しを展開することもできます。

\repeat unfold 2 { c4 d e f }
\alternative {
  { c2 g' }
  { c,2 b }
}
c1

[image of music]

繰り返し回数が入れ替え部分の数よりも多い場合、最初の入れ替え部分が複数回使用して、入れ替え数と繰り返し回数を合わせます。

\repeat unfold 4 { c4 d e f }
\alternative {
  { c2 g' }
  { c,2 b }
  { e2 d }
 }
c1

[image of music]

入れ替え部分の数が繰り返し回数よりも多い場合、最初の入れ替え部分が使用され、残りの繰り返し部分は無視され、譜刻されません。

\repeat unfold 2 { c4 d e f }
\alternative {
  { c2 g' }
  { c,2 b }
  { e2 d }
}
c1

[image of music]

複数の unfold 関数をネストすることも可能です。(unfold は入れ替え部分を持っていても、持っていなくても構いません。)

\repeat unfold 2 {
  \repeat unfold 2 { c4 d e f }
  \alternative {
    { c2 g' }
    { c,2 b }
  }
}
c1

[image of music]

Note: Voice コンテキストを明示的にインスタンス化せずに\relative\repeat の中に配置すると、余計な譜が表示されます。 余計な譜が表示される を参照してください。

参照

コード断片集: Repeats

内部リファレンス: RepeatedMusic, UnfoldedRepeatedMusic


1.4.2 短い繰り返し

このセクションでは、短い繰り返しを入力する方法について議論します。短い繰り返しには 2 つの形式があります: 単一の音符、単一の小節あるいは 2 小節の繰り返しを表すスラッシュまたはパーセント記号と、トレモロです。


パーセント繰り返し

繰り返される短いパターンは 1 回だけ譜刻され、繰り返しは特殊な記号で置き換えられます。

構文は以下の通りです

\repeat percent number musicexpr

ここで、musicexpr は音楽表記です。

1 小節よりも短いパターンはスラッシュで置き換えられます。

\repeat percent 4 { c8 d }
\repeat percent 4 { c4 }
\repeat percent 2 { c2 }

[image of music]

1 または 2 小節のパターンはパーセントのような記号で置き換えられます。

\repeat percent 3 { c4 d e f }
\repeat percent 4 { c2 d }

[image of music]

\repeat percent 3 { c4 d e f | c2 g' }

[image of music]

Selected Snippets

Percent repeat counter

Measure repeats of more than two repeats can get a counter when the convenient property is switched, as shown in this example:

\relative c'' {
  \set countPercentRepeats = ##t
  \repeat percent 4 { c1 }
}

[image of music]

Percent repeat count visibility

Percent repeat counters can be shown at regular intervals by setting the context property repeatCountVisibility.

\relative c'' {
  \set countPercentRepeats = ##t
  \set repeatCountVisibility = #(every-nth-repeat-count-visible 5)
  \repeat percent 10 { c1 } \break
  \set repeatCountVisibility = #(every-nth-repeat-count-visible 2)
  \repeat percent 6 { c1 d1 }
}

[image of music]

Isolated percent repeats

Isolated percents can also be printed.

makePercent =
#(define-music-function (parser location note) (ly:music?)
   "Make a percent repeat the same length as NOTE."
   (make-music 'PercentEvent
               'length (ly:music-length note)))

\relative c'' {
  \makePercent s1
}

[image of music]

参照

音楽用語集: percent repeat, simile

コード断片集: Repeats

内部リファレンス: RepeatSlash, PercentRepeat, DoublePercentRepeat, DoublePercentRepeatCounter, PercentRepeatCounter, PercentRepeatedMusic

既知の問題と警告

パーセント繰り返しは 3 種類だけサポートされます: 単一の拍を表す単線のスラッシュ (繰り返される音符の演奏時間とは関係ありません)、1 小節を表す単線の付点スラッシュ、それに 2 小節を表す 2 重線の付点スラッシュ – これは小節線の上に譜刻されます – です。16 分音符やそれよりも短い音符から成る単一拍の繰り返しを表す多重線スラッシュや、さまざまな演奏時間の音符から成る単一拍の繰り返しを表す 2 重線の付点スラッシュはサポートされません。


トレモロの繰り返し

トレモロには 2 つの形式があります: 2 つの和音あるいは 2 つの音符を交互に演奏するものと、単一の音符あるいは和音を素早く繰り返すものです。交互に演奏するトレモロは、音符あるいは和音の間に多重連桁を付け加えることによって示され、一方、単一の音符を素早く繰り返すトレモロは単一の音符に多重連桁あるいは多重スラッシュを付け加えることによって示されます。

2 つの音符の間にトレモロ記号を配置するには、トレモロ スタイルの \repeat を使用します:

\repeat tremolo 8 { c16 d }
\repeat tremolo 6 { c16 d }
\repeat tremolo 2 { c16 d }

[image of music]

\repeat tremolo の構文では、波括弧の中にある音符の数がちょうど 2 つであること、それに、繰り返しの回数が普通の音符あるいは付点音符として表すことができる音価に相当することが必須です。それゆえ、\repeat tremolo 7 は有効であり、2 重付点音符を作り出します。しかしながら、\repeat tremolo 9 は無効です。

トレモロの演奏時間は、波括弧で囲まれた音楽表記の演奏時間に繰り返し回数を掛けたものに等しいです: \repeat tremolo 8 { c16 d16 } は全音符のトレモロであり、トレモロの連桁でつながれた 2 つの全音符として譜刻されます。

単一の音符上にトレモロ記号を配置する方法は 2 つあります。\repeat tremolo 構文をここでも使用します – この場合、音符を波括弧で囲むべきではありません:

\repeat tremolo 4 c'16

[image of music]

音符の後に :N を付け加えることによって同じ出力を得ることができます。N は細部の演奏時間を表し、8 以上である必要があります。N が 8 である場合、音符の符幹に 1 本の連桁が付け加えられます。N が省略された場合、 最後の値 (tremoloFlags に保存されています) が使用されます:

c2:8 c:32
c: c:

[image of music]

Selected Snippets

Cross-staff tremolos

Since \repeat tremolo expects exactly two musical arguments for chord tremolos, the note or chord which changes staff within a cross-staff tremolo should be placed inside curly braces together with its \change Staff command.

\new PianoStaff <<
  \new Staff = "up" \relative c'' {
    \key a \major
    \time 3/8
    s4.
  }
  \new Staff = "down" \relative c'' {
    \key a \major
    \time 3/8
    \voiceOne
    \repeat tremolo 6 {
      <a e'>32
      {
        \change Staff = "up"
        \voiceTwo
        <cis a' dis>32
      }
    }
  }
>>

[image of music]

参照

コード断片集: Repeats


1.5 同時進行する音符

[image of music]

楽譜の中で多声部は楽曲の 1 節の中にある複数のボイスを参照します。LilyPond の中で多声部は同じ譜にある複数のボイスを参照します。


1.5.1 単一のボイス

このセクションでは同じボイスの中にある同時進行する音符について議論します。


和音の音符

和音は <> で 1 組のピッチを囲むことによって形成されます。和音の後には – 普通の音符と同様に – 演奏時間が続くかもしれません:

<a c e>1 <a c e>2 <f a c e>4 <a c>8. <g c e>16

[image of music]

さらに、和音の後には – 普通の音符と同様に – アーティキュレーションが続くかもしれません:

<a c e>1\fermata <a c e>2-> <f a c e>4\prall <a c>8.^| <g c e>16-.

[image of music]

和音の中にある音符自体にもアーティキュレーションや装飾を付けることができます。

<a c\prall e>1 <a-> c-^ e>2 <f-. a c-. e-.>4 <a-+ c-->8. <g\fermata c e\turn>16

[image of music]

しかしながら、いくつかの記譜要素 – 強弱記号、ヘアピン、それにスラーなど – は和音の中の音符ではなく、和音に付ける必要があります。そうしなければ、譜刻されません。

<a\f c( e>1 <a c) e>\f <a\< c e>( <a\! c e>) <a c e>\< <a c e> <a c e>\!

[image of music]

和音の中のピッチに対して相対モードを使うことができます。各和音の最初の音符は常に、前の和音の最初の音符との相対関係で決まります。前が和音でない場合は、その和音の前にある最後のピッチとの相対関係になります。和音の中にある残りの音符はすべて 同じ和音の中にある 前の音符との相対関係になります。

<a c e>1 <f a c> <a c e> <f' a c> <b, e b,>

[image of music]

和音についての更なる情報は、Chord notation を参照してください。

参照

音楽用語集: chord

学習マニュアル: 音符を組み合わせて和音にする

記譜法リファレンス: Chord notation, アーティキュレーションと装飾, 相対オクターブ入力, 複数のボイス

コード断片集: Simultaneous notes

既知の問題と警告

1 譜スペース内に 3 つ以上のピッチを保持している和音 – ‘<e f! fis!>’ など – では、符頭が重なります。状況に応じて、適切な表記を用います


和音の繰り返し

入力の手間を省くために、前の和音を繰り返すための短縮記法があります。和音を繰り返すためのシンボルは q です:

<a c e>1 q <f a c>2 q

[image of music]

前の和音のピッチが複製されているだけなので、 通常の和音と同様に、和音の繰り返しのシンボルにも演奏時間、アーティキュレーション、マークアップ、スラー、連桁などを使うことができます。

<a c e>1\p^"text" q2\<( q8)[-| q8.]\! q16-1-2-3 q8\prall

[image of music]

和音繰り返しのシンボルは常に最後の和音を覚えているため、最後の和音の後に和音ではない音符や休符があったとしても、和音を繰り返すことができます。

<a c e>1 c4 q2 r8 q8

[image of music]

しかしながら、和音繰り返しのシンボルは前の和音の強弱記号、アーティキュレーション、あるいは装飾を持ち越しません。

<a-. c\prall e>1\sfz c4 q2 r8 q8

[image of music]

参照

記譜法リファレンス: Chord notation, アーティキュレーションと装飾

インストールされているファイル: ‘ly/chord-repetition-init.ly


同時進行表記

2 重山括弧で囲まれた 1 つあるいは複数の音楽表記は同時進行します。最初の表記が単一の音符で始まる場合、あるいは同時進行する表記全体が明らかに単一のボイスの中にある場合、その表記全体は単一の譜の上に配置されます。そうでない場合、同時進行する表記の要素は別々の譜の上に配置されます。

以下の例は 1 つの譜の上にある同時進行表記を示しています:

\new Voice {  % 明らかに単一のボイスです
  << { a4 b g2 } { d4 g c,2 } >>
}

[image of music]

% 単一の音符で始まります
a << {a4 b g}  {d4 g c,} >>

[image of music]

これは同時進行するセクションが同一のリズムを持つ場合に役に立ちます。しかしながら、異なる演奏時間を持つ音符を同じ符幹に取り付けようとするとエラーとなります。

以下の例は、同時進行する表記が暗黙的に複数の譜を生成する様子を示しています:

% 単一の音符で始まりません
<< {a4 b g2}  {d4 g2 c,4} >>

[image of music]

ここでは、リズムが異なっていても問題ありません。


クラスタ

クラスタは演奏すべき連続したピッチの範囲を示します。クラスタは 1 組の音符の範囲 (envelope) として表されます。クラスタはひと続きの和音に関数 \makeClusters を適用することによって入力されます。例えば以下のように:

\makeClusters { <g b>2 <c g'> }

[image of music]

通常の音符とクラスタを同じ譜に一緒にして配置することができます – たとえ、それらが同時進行であってもです。そのようなケースでは、通常の音符とクラスタの衝突を自動的に回避しようとする試みは行われません。

参照

音楽用語集: cluster

コード断片集: Simultaneous notes

内部リファレンス: ClusterSpanner, ClusterSpannerBeacon, Cluster_spanner_engraver

既知の問題と警告

クラスタは少なくとも 2 つの和音を持つ場合にのみうまく譜刻されます。さもなければ、あまりにも狭く譜刻されます。

クラスタは符幹を持たず、それ自体で演奏時間を示すことはできません。しかしながら、譜刻されるクラスタの長さはクラスタを定義する和音の演奏時間によって決定されます。クラスタを分割するには、クラスタとクラスタの間に分割するための休符が必要です。

クラスタは MIDI 出力を作り出しません。


1.5.2 複数のボイス

このセクションでは複数のボイスあるいは複数の譜の中にある同時進行する音符について議論します。


単一譜の多声

明示的にボイスをインスタンス化する

単一の譜の中に複数の独立したボイスを配置するのに必要とされる基本的な構造が以下の例で示されています:

\new Staff <<
  \new Voice = "first"
    { \voiceOne r8 r16 g e8. f16 g8[ c,] f e16 d }
  \new Voice= "second"
    { \voiceTwo d16 c d8~ d16 b c8~ c16 b c8~ c16 b8. }
>>

[image of music]

ここでは、ボイスは明示的にインスタンス化されていて、名前を与えられています。\voiceOne ... \voiceFour コマンドはボイスをセット アップし、それにより、1 番目と 3 番目のボイスは上向きの符幹を持ち、2 番目と 4 番目のボイスは下向きの符幹を持ち、3 番目と 4 番目のボイスの符頭は水平方向にずれて、それぞれのボイスの中の休符は衝突を避けるために自動的に移動させられます。\oneVoice コマンドはすべてのボイス設定をニュートラルなデフォルトの向きに戻します。

一時的に多声となる楽節 (passage)

一時的に多声となる楽節は以下のような構成で作成することができます:

<< { \voiceOne ... }
  \new Voice { \voiceTwo ... }
>> \oneVoice

ここで、一時多声楽節の中の最初の表記は直前に使われていた Voice コンテキストに配置され、その Voice コンテキストは一時セクションの後も続いていきます。山括弧の中の他の表記は別の一時ボイスに代入されます。これと同様に、歌詞は多声セクションの前、最中、後に続いているボイスに代入されます:

<<
  \new Voice = "melody" {
    a4
    <<
      {
        \voiceOne
        g f
      }
      \new Voice {
        \voiceTwo
        d2
      }
    >>
    \oneVoice
    e4
  }
  \new Lyrics \lyricsto "melody" {
  This is my song.
  }
>>

[image of music]

ここで、\voiceOne\voiceTwo コマンドはそれぞれのボイスの設定を定義するために必要とされています。

2 重バックスラッシュ構造

<< {...} \\ {...} >> 構造 – この中では 2 つ (あるいはそれ以上) の表記が 2 重バックスラッシュで区切られています – は、同じような構造だが 2 重バックスラッシュを持たない構造とはまったく異なる振る舞いをします: この構造の中にある すべての 表記は新たな Voice コンテキストに代入されます。それらの新しい Voice コンテキストは暗黙的に作成され、あらかじめ決められた名前 "1", "2" などを与えられます。

最初の例は以下のように書き換えることができます:

<<
  { r8 r16 g e8. f16 g8[ c,] f e16 d }
  \\
  { d16 c d8~ d16 b c8~ c16 b c8~ c16 b8. }
>>

[image of music]

一時ボイスが作成され、それから消去されることが問題にならない場合に、この構文を使用することができます。暗黙的に作成されるボイスには、それらがコードの中で現れる順番に従って、\voiceOne ... \voiceFour コマンドと同じ設定が与えられます。

以下の例では、真ん中のボイスは上向きの符幹を持ちます。そのため、それを 3 番目に置いて、望みどおりに上向きの符幹を持つボイス 3 にしています。休符が 2 重に譜刻されることを避けるために、空白休符を使用しています。

<<
  { r8 g g  g g f16 ees f8 d }
  \\
  { ees,8 r ees r d r d r }
  \\
  { d'8 s c s bes s a s }
>>

[image of music]

簡単なことですが、 コンテキストとエングラーバ ボイスを明示的にインスタンス化する で説明されているように、明示的に Voice コンテキストを作成しておくと賢明です。

ボイスの順序

入力ファイルの中にある複数のボイスを譜刻する時、以下の順序で譜刻されます:

ボイス 1: 最上段
ボイス 2: 最下段
ボイス 3: 上から 2 番目
ボイス 4: 下から 2 番目
ボイス 5: 上から 3 番目
ボイス 6: 下から 3 番目
etc.

これは直感に反するように見えるかもしれませんが、自動レイアウト処理をシンプルにできます。奇数番号のボイスには上向きの符幹が与えられ、偶数番号のボイスには下向きの符幹が与えられるということに注意してください:

\new Staff <<
  \time 2/4
  { f''2 }  % 1: 最上段
  \\
  { c'2  }  % 2: 最下段
  \\
  { d''2 }  % 3: 上から 2 番
  \\
  { e'2  }  % 4: 下から 2 番
  \\
  { b'2  }  % 5: 上から 2 番
  \\
  { g'2  }  % 6: 下から 3 番
>>

[image of music]

同一のリズム

同じリズムを持ち、並行して進行する音楽を譜刻するという特殊なケースでは、並行する音楽を単一の Voice の中に組み込み、それにより和音を形成することができます。これを実現するには、並行する音楽を明示的にインスタンス化されたボイス内の同時進行音楽構造の中に置きます:

\new Voice <<
  { e4 f8 d e16 f g8 d4 }
  { c4 d8 b c16 d e8 b4 }
>>

[image of music]

この手法では、音楽が同じリズムを持たない場合に、おかしな連桁と警告を生じます。

定義済みコマンド

\voiceOne, \voiceTwo, \voiceThree, \voiceFour, \oneVoice

参照

学習マニュアル: 音楽を保持するボイス, ボイスを明示的にインスタンス化する

記譜法リファレンス: Percussion staves, 不可視の休符, 符幹

コード断片集: Simultaneous notes


ボイス スタイル

ボイス毎に異なる色と形を与えて、容易に見分けられるようにすることができます:

<<
  { \voiceOneStyle d4 c2 b4 }
  \\
  { \voiceTwoStyle e,2 e }
  \\
  { \voiceThreeStyle b2. c4 }
  \\
  { \voiceFourStyle g'2 g }
>>

[image of music]

\voiceNeutralstyle コマンドは標準の体裁に戻すために使用されます。

定義済みコマンド

\voiceOneStyle, \voiceTwoStyle, \voiceThreeStyle, \voiceFourStyle, \voiceNeutralStyle

参照

学習マニュアル: 私はボイスを聴いている, その他の情報源

コード断片集: Simultaneous notes


衝突の解決

同じピッチ、同じ符頭を持ち、符幹の方向が逆で異なるボイスの中にある符頭は自動的に 1 つの符頭にまとめられます – マージされます。しかしながら、音符の符頭が異なっていたり、符幹の方向が同じである場合はマージされません。異なるボイスの中にあり、符幹の方向が逆の休符は垂直方向にずらされます。以下の例は 3 つの異なる状態を示しています – 第 1 小節の 1, 3 拍目、それに第 2 小節の 1 拍目で自動マージが失敗しています。

<<
  {
    c8 d e d c d c4
    g'2 fis
  } \\ {
    c2 c8. b16 c4
    e,2 r
  } \\ {
    \oneVoice
    s1
    e8 a b c d2
  }
>>

[image of music]

以下に示すように、異なる符頭を持つ音符をマージすることができます – 例外として、半音符と 4 分音符のマージはできません。第 1 小節の 1 拍目の符頭がマージされました:

<<
  {
    \mergeDifferentlyHeadedOn
    c8 d e d c d c4
    g'2 fis
  } \\ {
    c2 c8. b16 c4
    e,2 r
  } \\ {
    \oneVoice
    s1
    e8 a b c d2
  }
>>

[image of music]

第 1 小節の 3 拍目のように異なる付点を持つ符頭もマージすることができます:

<<
  {
    \mergeDifferentlyHeadedOn
    \mergeDifferentlyDottedOn
    c8 d e d c d c4
    g'2 fis
  } \\ {
    c2 c8. b16 c4
    e,2 r
  } \\ {
    \oneVoice
    s1
    e8 a b c d2
  }
>>

[image of music]

第 2 小節の最初の版音符と 8 分音符は正しくマージされていません。なぜなら 3 つ以上の音符が同じ列に並ぶ場合、自動マージは正しく機能できないからです。今回のケースでは、マージされた符頭が間違っています。マージが正しい符頭を選択できるようにするため、マージすべきでない符頭に \shift を適用する必要があります。ここでは、\shiftOn を適用することで、最上段にある g を列から外し、\mergeDifferentlyHeadedOn を正しく機能させています。

<<
  {
    \mergeDifferentlyHeadedOn
    \mergeDifferentlyDottedOn
    c8 d e d c d c4
    \shiftOn
    g'2 fis
  } \\ {
    c2 c8. b16 c4
    e,2 r
  } \\ {
    \oneVoice
    s1
    e8 a b c d2
  }
>>

[image of music]

\shiftOn コマンドは、ボイスの中にある音符がずれることを許可します (強制はしません)。\shiftOn がボイスに適用されると、そのボイスの中にある音符あるいは和音は、同じ向きの符幹を持つ他のボイスと符幹が衝突する場合にのみ、ずらされます。\shiftOff コマンドは、適用された時点から、このタイプの音符の移動を禁止します。

デフォルトでは、外側のボイス (通常はボイス 1 と 2) には \shiftOff が指定されていて、内側のボイス (ボイス 3 以上) には \shiftOn が指定されています。音符をずらす場合、上向きの符幹を持つボイス (奇数番号のボイス) は右側にずらされ、下向きの符幹を持つボイス (偶数番号のボイス) は左側にずらされます。

簡略化された多声表記が内部的にどのように展開されるかをお見せするための例を挙げます。

Note: 3 つ以上のボイスがある場合、入力ファイルでのボイスの垂直方向の順序は、譜上でのボイスの垂直方向の順序と同じにすべきではありません!

\new Staff \relative c'' {
  %% 簡略化された入力
  <<
    { f2  }  % 1: 最上段
    \\
    { g,2 }  % 2: 最下段
    \\
    { d'2 }  % 3: 真ん中の上側
    \\
    { b2  }  % 4: 真ん中の下側
  >>
  %% 上記の内部的な展開
  <<
    \new Voice = "1" { \voiceOne   \shiftOff f'2 }
    \new Voice = "2" { \voiceTwo   \shiftOff g,2 }
    \new Voice = "3" { \voiceThree \shiftOn  d'2 } % shifts right
    \new Voice = "4" { \voiceFour  \shiftOn  b2  } % shifts left
  >>
}

[image of music]

さらに 2 つのコマンド – \shiftOnn\shiftOnnn – は、複雑な状況で衝突を解決するために一時的に指定されるさらに大きなずれを提供します。 実際の音楽からの例 を参照してください。

音符は符幹の向きが反対である場合 (例えば、デフォルトのボイス 1 と 2 である場合や、明示的に符幹の向きが反対になるよう指定されている場合) にのみマージされます。

定義済みコマンド

\mergeDifferentlyDottedOn, \mergeDifferentlyDottedOff, \mergeDifferentlyHeadedOn, \mergeDifferentlyHeadedOff

\shiftOn, \shiftOnn, \shiftOnnn, \shiftOff

Selected Snippets

Additional voices to avoid collisions

In some instances of complex polyphonic music, additional voices are necessary to prevent collisions between notes. If more than four parallel voices are needed, additional voices can be added by defining a variable using the Scheme function context-spec-music.

voiceFive = #(context-spec-music (make-voice-props-set 4) 'Voice)

\relative c'' {
  \time 3/4
  \key d \minor
  \partial 2
  <<
    {
      \voiceOne
      a4. a8
      e'4 e4. e8
      f4 d4. c8
    }
    \\
    {
      \voiceThree
      f,2
      bes4 a2
      a4 s2
    }
    \\
    {
      \voiceFive
      s2
      g4 g2
      f4 f2
    }
    \\
    \bar "||"{
      \voiceTwo
      d2
      d4 cis2
      d4 bes2
    }
  >>
}

[image of music]

Forcing horizontal shift of notes

When the typesetting engine cannot cope, the following syntax can be used to override typesetting decisions. The units of measure used here are staff spaces.

\relative c' <<
  {
    <d g>2 <d g>
  }
  \\
  {
    <b f'>2
    \once \override NoteColumn #'force-hshift = #1.7
    <b f'>2
  }
>>

[image of music]

参照

音楽用語集: polyphony

学習マニュアル: 同時に演奏する複数の音符, 音楽を保持するボイス, オブジェクトの衝突

コード断片集: Simultaneous notes

内部リファレンス: NoteColumn, NoteCollision, RestCollision


自動パート結合

自動パート結合は 1 つの譜上にある 2 つのパートを 1 つに結合するために使用されます。これはオーケストラ譜を譜刻することを目的としています。ある範囲で 2 つのパートが同一である場合、1 つだけが譜刻されます。2 つのパートが異なる箇所では別々のボイスとして譜刻され、符幹の向きは自動的にセットされます。さらに、デフォルトで、ソロ パートと 二重奏 (due) パートが識別され、デフォルトでマークを付けられます。

パート結合の構文は以下の通りです:

\partcombine musicexpr1 musicexpr2

以下の例はパート結合の基本的な機能を示しています: パートを 1 つの譜に配置し、符幹の向きと多声をセットします。個々のパートと結合譜で同じ変数が使用されています。

instrumentOne = \relative c' {
  c4 d e f
  R1
  d'4 c b a
  b4 g2 f4
  e1
}

instrumentTwo = \relative g' {
  R1
  g4 a b c
  d c b a
  g f( e) d
  e1
}

<<
  \new Staff \instrumentOne
  \new Staff \instrumentTwo
  \new Staff \partcombine \instrumentOne \instrumentTwo
>>

[image of music]

第 3 小節の音符は、両方のパートで指定されているにもかかわらず、1 パート分だけ譜刻されています。符幹、スラーそれにタイの向きは、ソロなのかあるいは斉奏なのかによって、自動的に設定されます。多声が必要になる場合、第 1 パート (one と呼ばれるコンテキストを持ちます) は常に上向きの符幹を持ち、一方、第 2 パート (two と呼ばれるコンテキストを持ちます) は常に下向きの符幹を持ちます。ソロの場合、第 1 パートと第 2 パートにはそれぞれ ‘Solo’ と ‘Solo II’ というマークが付けられます。斉奏 (二重奏) パートには、デフォルトで、テキスト “a2” というマークが付けられます。

\partcombine の引数は 2 つとも Voice コンテキストとして解釈されます。相対オクターブを用いる場合、\relative を両方の音楽表記に対して指定すべきです。すなわち、

\partcombine
  \relative … musicexpr1
  \relative … musicexpr2

\partcombine の外側にある \relative セクションは musicexpr1musicexpr2 のピッチには影響を与えません。

プロの楽譜では、1, 2 の音符が同時進行していて容易にユニゾンとして譜刻できる場合であっても、 長い間ボイスが分かれていることがしばしばあります。Combining notes into a chord, or showing one voice as solo is therefore not ideal as the \partcombine function considers each note separately. そのため、以下のコマンドで \partcombine 関数をオーバライドすることができます:

終わりが ...Once のコマンドはすべて、その後の音符にのみ適用されます。

instrumentOne = \relative c' {
  \partcombineApart c2^"apart" e |
  \partcombineAutomatic e^"auto" e |
  \partcombineChords e'^"chord" e |
  \partcombineAutomatic c^"auto" c |
  \partcombineApart c^"apart" \partcombineChordsOnce e^"chord once" |
  c c |
}
instrumentTwo = \relative c' {
  c2 c |
  e2 e |
  a,2 c |
  c2 c' |
  c2 c |
  c2 c |
}

<<
  \new Staff { \instrumentOne }
  \new Staff { \instrumentTwo }
  \new Staff { \partcombine \instrumentOne \instrumentTwo }
>>

[image of music]

Selected Snippets

Combining two parts on the same staff

The part combiner tool ( \partcombine command ) allows the combination of several different parts on the same staff. Text directions such as “solo” or “a2” are added by default; to remove them, simply set the property printPartCombineTexts to f. For vocal scores (hymns), there is no need to add “solo/a2” texts, so they should be switched off. However, it might be better not to use it if there are any solos, as they won’t be indicated. In such cases, standard polyphonic notation may be preferable.

This snippet presents the three ways two parts can be printed on a same staff: standard polyphony, \partcombine without texts, and \partcombine with texts.

musicUp = \relative c'' {
  \time 4/4
  a4 c4.( g8) a4 |
  g4 e' g,( a8 b) |
  c b a2.
}

musicDown = \relative c'' {
  g4 e4.( d8) c4 |
  r2 g'4( f8 e) |
  d2 \stemDown a
}

\score {
  <<
    <<
    \new Staff {
      \set Staff.instrumentName = #"Standard polyphony"
      << \musicUp \\ \musicDown >>
    }
    \new Staff \with { printPartCombineTexts = ##f } {
      \set Staff.instrumentName = #"PartCombine without texts"
      \partcombine \musicUp \musicDown
    }
    \new Staff {
      \set Staff.instrumentName = #"PartCombine with texts"
      \partcombine \musicUp \musicDown
    }
    >>
  >>
  \layout {
    indent = 6.0\cm
    \context {
      \Score
      \override SystemStartBar #'collapse-height = #30
    }
  }
}

[image of music]

Changing partcombine texts

When using the automatic part combining feature, the printed text for the solo and unison sections may be changed:

\new Staff <<
  \set Staff.soloText = #"girl"
  \set Staff.soloIIText = #"boy"
  \set Staff.aDueText = #"together"
  \partcombine
    \relative c'' {
      g4 g r r
      a2 g
    }
    \relative c'' {
      r4 r a( b)
      a2 g
    }
>>

[image of music]

参照

音楽用語集: a due, part

記譜法リファレンス: パートを記述する

コード断片集: Simultaneous notes

内部リファレンス: PartCombineMusic, Voice

既知の問題と警告

\partcombine が受け取れるボイスは 2 つだけです。

When printPartCombineTexts is set, if the two voices play the same notes on and off, the part combiner may typeset a2 more than once in a measure.

\partcombine\times の中に置くことはできません。

\partcombine\relative の中に置くことはできません。

内部的には、\partcombine は 2 つの引数を Voice として解釈し、2 つのパートを結合することができるかどうかを決定します。2 つのパートが異なる演奏時間を持つ場合、それらを結合させることはできず、それぞれに one, two という名前が与えられます。Consequently, if the arguments switch to differently named Voice contexts, the events in those will be ignored. 同様に、パート結合は歌詞に対して機能するようには設計されていません。ボイスの 1 つが、歌詞を持つために明示的に名前を付けられた場合、パート結合は機能しなくなります。

\partcombine\partcombine の開始後の音符だけを観察します。その前に開始した音符が演奏中であるかどうかを検出することはできません。これはさまざまな問題を引き起こします。


音楽を並列に記述する

複数のパートを持つ音楽を入力コードの途中に挿入することができます。関数 \parallelMusic は、作成する変数名をいくつか持つリストと音楽表記を受け付けます。各小節ごとの音楽表記は各変数の値となり、後で音楽を譜刻するために使用することができます。

Note: 小節チェック | を使用する必要があり、各小節は同じ長さでなければなりません。

\parallelMusic #'(voiceA voiceB voiceC) {
  % Bar 1
  r8 g'16 c'' e'' g' c'' e'' r8 g'16 c'' e'' g' c'' e'' |
  r16 e'8.~   e'4            r16 e'8.~   e'4            |
  c'2                        c'2                        |

  % Bar 2
  r8 a'16 d'' f'' a' d'' f'' r8 a'16 d'' f'' a' d'' f'' |
  r16 d'8.~   d'4            r16 d'8.~   d'4            |
  c'2                        c'2                        |

}
\new StaffGroup <<
  \new Staff << \voiceA \\ \voiceB >>
  \new Staff { \clef bass \voiceC }
>>

[image of music]

相対モードを使用することができます。\relative コマンドを \parallelMusic 自体の中では使用しないということに注意してください。音符が前の音符と相対関係になるのはボイスの中であり、入力の中ではありません – 言い換えると、voiceA の相対音符は voiceB の音符を無視します。

\parallelMusic #'(voiceA voiceB voiceC) {
  % Bar 1
  r8 g16 c e g, c e r8 g,16 c e g, c e  |
  r16 e8.~ e4       r16 e8.~  e4        |
  c2                c                   |

  % Bar 2
  r8 a,16 d f a, d f r8 a,16 d f a, d f |
  r16 d8.~  d4       r16 d8.~  d4       |
  c2                 c                  |

 }
\new StaffGroup <<
  \new Staff << \relative c'' \voiceA \\ \relative c' \voiceB >>
  \new Staff \relative c' { \clef bass \voiceC }
>>

[image of music]

これはピアノ譜で非常に良く機能します。以下の例は、4 つの連続する小節を 4 つの変数に割り当てています:

global = {
  \key g \major
  \time 2/4
}

\parallelMusic #'(voiceA voiceB voiceC voiceD) {
  % Bar 1
  a8    b     c   d     |
  d4          e         |
  c16 d e fis d e fis g |
  a4          a         |

  % Bar 2
  e8      fis  g     a   |
  fis4         g         |
  e16 fis g  a fis g a b |
  a4           a         |

  % Bar 3 ...
}

\score {
  \new PianoStaff <<
     \new Staff {
       \global
       <<
         \relative c'' \voiceA
         \\
         \relative c'  \voiceB
       >>
     }
     \new Staff {
       \global \clef bass
       <<
         \relative c \voiceC
         \\
         \relative c \voiceD
       >>
     }
  >>
}

[image of music]

参照

学習マニュアル: 変数を用いて楽曲を編成する

コード断片集: Simultaneous notes


1.6 譜の記譜法

[image of music]

このセクションでは、譜の見た目を変える方法、複数の譜を持つ楽譜を譜刻する方法、それに、テンポ指示と演奏指示楽節の音符を譜に付け加える方法について説明します。


1.6.1 譜を表示する

このセクションでは、譜を作成する方法と、譜をグループ化する方法をいくつか説明します。


新たに譜をインスタンス化する

stave: 譜 (staff: 譜 (表) の単称) は \new コマンドや \context コマンドで作成されます。詳細は Creating contexts を参照してください。

基本的な譜コンテキストは Staff です:

\new Staff { c4 d e f }

[image of music]

DrumStaff コンテキストは、一般的なドラム セットのための 5 線譜を作成します。各楽器は異なるシンボルで示されます。\drummode コマンドの後に続けて、楽器をドラム モードで入力します。各楽器は名前によって指定されます。詳細は Percussion staves を参照してください。

\new DrumStaff {
  \drummode { cymc hh ss tomh }
}

[image of music]

RhythmicStaff は、入力のリズム価だけを表示する単線譜を作成します。(ピッチは無視されますが) 演奏時間が保持されます。詳細は 旋律のリズムを示す を参照してください。

\new RhythmicStaff { c4 d e f }

[image of music]

TabStaff は、標準のギター チューニングの 6 弦のタブ譜を作成します。詳細は Default tablatures を参照してください。

\new TabStaff { c4 d e f }

[image of music]

古代音楽の記譜法のために 2 つの譜コンテキストが用意されています: MensuralStaffVaticanaStaff です。これらのことは Pre-defined contexts で説明されています。

GregorianTranscriptionStaff コンテキストは、現代グレゴリア聖歌を記譜するための譜を作成します。これは小節線を譜刻しません。

\new GregorianTranscriptionStaff { c4 d e f e d }

[image of music]

新たに単一譜コンテキストを定義する場合があります。詳細は Defining new contexts を参照してください。

参照

音楽用語集: staff, staves

記譜法リファレンス: Creating contexts, Percussion staves, 旋律のリズムを示す, Default tablatures, Pre-defined contexts, 譜シンボル, Gregorian chant contexts, Mensural contexts, Defining new contexts

コード断片集: Staff notation

内部リファレンス: Staff, DrumStaff, GregorianTranscriptionStaff, RhythmicStaff, TabStaff, MensuralStaff, VaticanaStaff, StaffSymbol


譜をグループ化する

複数の譜からなるシステムを形成するために譜をグループ化するさまざまなコンテキストが存在します。グループ化を行うコンテキストはそれぞれにシステム開始境界線のスタイルと小節線の振る舞いを設定します。

コンテキストが指定されていない場合、デフォルトのプロパティが使用されます: グループは垂直の線で始まり、小節線はつながりません。

<<
  \new Staff { c1 c }
  \new Staff { c1 c }
>>

[image of music]

StaffGroup コンテキストでは、グループは角括弧で始まり、小節線はすべての譜を貫いて刻譜されます。

\new StaffGroup <<
  \new Staff { c1 c }
  \new Staff { c1 c }
>>

[image of music]

ChoirStaff では、グループは角括弧で始まりますが、小節線はつながりません。

\new ChoirStaff <<
  \new Staff { c1 c }
  \new Staff { c1 c }
>>

[image of music]

GrandStaff では、グループは波括弧で始まり、小節線はすべての譜を貫きます。

\new GrandStaff <<
  \new Staff { c1 c }
  \new Staff { c1 c }
>>

[image of music]

PianoStaffGrandStaff と同一ですが、例外として楽器名を刻譜することができます。詳細は 楽器名 を参照してください。

\new PianoStaff <<
  \set PianoStaff.instrumentName = #"Piano"
  \new Staff { c1 c }
  \new Staff { c1 c }
>>

[image of music]

各譜グループ化コンテキストはプロパティ systemStartDelimiter を以下の値の 1 つにセットします: SystemStartBar, SystemStartBrace あるいは SystemStartBracket。4 つ目の境界線 – SystemStartSquare も利用可能ですが、これは明示的に指定する必要があります。

新たな譜グループ化コンテキストを定義することもできます。詳細は Defining new contexts を参照してください。

Selected Snippets

Use square bracket at the start of a staff group

The system start delimiter SystemStartSquare can be used by setting it explicitly in a StaffGroup or ChoirStaffGroup context.

\score {
  \new StaffGroup { <<
  \set StaffGroup.systemStartDelimiter = #'SystemStartSquare
    \new Staff { c'4 d' e' f' }
    \new Staff { c'4 d' e' f' }
  >> }
}

[image of music]

Display bracket with only one staff in a system

If there is only one staff in one of the staff types ChoirStaff or StaffGroup, the bracket and the starting bar line will not be displayed as standard behavior. This can be changed by overriding the relevant properties.

Note that in contexts such as PianoStaff and GrandStaff where the systems begin with a brace instead of a bracket, another property has to be set, as shown on the second system in the example.

\markup \left-column {
  \score {
    \new StaffGroup <<
      % Must be lower than the actual number of staff lines
      \override StaffGroup.SystemStartBracket #'collapse-height = #1
      \override Score.SystemStartBar #'collapse-height = #1
      \new Staff {
        c'1
      }
    >>
    \layout { }
  }
  \null
  \score {
    \new PianoStaff <<
      \override PianoStaff.SystemStartBrace #'collapse-height = #1
      \override Score.SystemStartBar #'collapse-height = #1
      \new Staff {
        c'1
      }
    >>
    \layout { }
  }
}

[image of music]

Mensurstriche layout (bar lines between the staves)

The mensurstriche-layout where the bar lines do not show on the staves but between staves can be achieved with a StaffGroup instead of a ChoirStaff. The bar line on staves is blanked out by setting the transparent property.

global = {
  \override Staff.BarLine #'transparent = ##t
  s1 s
  % the final bar line is not interrupted
  \revert Staff.BarLine #'transparent
  \bar "|."
}
\new StaffGroup \relative c'' {
  <<
    \new Staff { << \global { c1 c } >> }
    \new Staff { << \global { c c } >> }
  >>
}

[image of music]

参照

音楽用語集: brace, bracket, grand staff

記譜法リファレンス: 楽器名, Defining new contexts

コード断片集: Staff notation

内部リファレンス: Staff, StaffGroup, ChoirStaff, GrandStaff, PianoStaff, SystemStartBar, SystemStartBrace, SystemStartBracket, SystemStartSquare

既知の問題と警告

デフォルトでは PianoStaffChordNames を受け付けません。


ネストされた譜グループ

譜グループ化コンテキストは任意の深さにネストすることができます。そうした場合、それぞれの子コンテキストは、親グループの角括弧に隣接して新しい角括弧を作成します。

\new StaffGroup <<
  \new Staff { c2 c | c2 c }
  \new StaffGroup <<
    \new Staff { g2 g | g2 g }
    \new StaffGroup \with {
      systemStartDelimiter = #'SystemStartSquare
    }
    <<
      \new Staff { e2 e | e2 e }
      \new Staff { c2 c | c2 c }
    >>
  >>
>>

[image of music]

新たにネストされた譜グループ化コンテキストを定義することができます。詳細は Defining new contexts を参照してください。

Selected Snippets

Nesting staves

The property systemStartDelimiterHierarchy can be used to make more complex nested staff groups. The command \set StaffGroup.systemStartDelimiterHierarchy takes an alphabetical list of the number of staves produced. Before each staff a system start delimiter can be given. It has to be enclosed in brackets and takes as much staves as the brackets enclose. Elements in the list can be omitted, but the first bracket takes always the complete number of staves. The possibilities are SystemStartBar, SystemStartBracket, SystemStartBrace, and SystemStartSquare.

\new StaffGroup
\relative c'' <<
  \set StaffGroup.systemStartDelimiterHierarchy
    = #'(SystemStartSquare (SystemStartBrace (SystemStartBracket a
                             (SystemStartSquare b)  ) c ) d)
  \new Staff { c1 }
  \new Staff { c1 }
  \new Staff { c1 }
  \new Staff { c1 }
  \new Staff { c1 }
>>

[image of music]

参照

記譜法リファレンス: 譜をグループ化する, 楽器名, Defining new contexts

コード断片集: Staff notation

内部リファレンス: StaffGroup, ChoirStaff, SystemStartBar, SystemStartBrace, SystemStartBracket, SystemStartSquare


Separating systems

If the number of systems per page changes from page to page it is customary to separate the systems by placing a system separator mark between them. By default the system separator is blank, but can be turned on with a \paper option.

\book {
  \score {
    \new StaffGroup <<
      \new Staff {
        \relative c'' {
          c4 c c c
          \break
          c4 c c c
        }
      }
      \new Staff {
        \relative c'' {
          c4 c c c
          \break
          c4 c c c
        }
      }
    >>
  }
  \paper {
    system-separator-markup = \slashSeparator
    % following commands are needed only to format this documentation
    paper-width = 100\mm
    paper-height = 100\mm
    tagline = ##f
  }
}

[image of music]

参照

Notation Reference: Page layout.

Snippets: Staff notation.


1.6.2 個々の譜を変更する

このセクションでは、譜の属性を変更する方法について説明します: 例えば、譜線の本数や譜サイズを変更します。譜を開始/終了する方法とオッシア セクションをセットする方法についても記述します。


譜シンボル

譜の線は StaffSymbol グラフィカル オブジェクトに属します。StaffSymbol プロパティを変更して、譜の見た目を変えることができます。しかしながら、変更は譜を作成する前に行う必要があります。

譜線の本数を変えることもできます。音部記号の位置とミドル C の位置を、新しい譜にフィットさせるために、変更する必要があるかもしれません。具体例は、音部記号 にあるコード断片集セクションを参照してください。

\new Staff \with {
  \override StaffSymbol #'line-count = #3
}
{ d4 d d d }

[image of music]

譜線の太さを変えることができます。加線 (訳者注: ledger line, 譜の上下に突き出た符頭と符幹に付けられる短い譜線) と符幹の太さも影響を受けます。なぜなら、それらの太さは譜線の太さに基づいているからです。

\new Staff \with {
  \override StaffSymbol #'thickness = #3
}
{ e4 d c b }

[image of music]

加線の太さを譜線の太さから独立して設定することができます。以下の例では、2 つの数は譜線の太さと譜線の間隔に掛けられる因子です。2 つを足し合わせて加線の太さになります。

\new Staff \with {
  \override StaffSymbol #'ledger-line-thickness = #'(1 . 0.2)
}
{ e4 d c b }

[image of music]

譜線の間隔を変えることができます。この設定は加線の間隔にも影響を与えます。

\new Staff \with {
  \override StaffSymbol #'staff-space = #1.5
}
{ a4 b c d }

[image of music]

StaffSymbol のプロパティについて更に詳細な説明が staff-symbol-interface に記述されています。

楽譜の途中で譜プロパティに変更を加えるには、\stopStaff\startStaff の間で行います。

c2 c
\stopStaff
\override Staff.StaffSymbol #'line-count = #2
\startStaff
b2 b
\stopStaff
\revert Staff.StaffSymbol #'line-count
\startStaff
a2 a

[image of music]

一般的に言うと、\stopStaff\startStaff を用いることで、楽譜の途中で譜を停止あるいは再開することができます。

c4 b a2
\stopStaff
b4 c d2
\startStaff
e4 d c2

[image of music]

定義済みコマンド

\startStaff, \stopStaff

Selected Snippets

Making some staff lines thicker than the others

For pedagogical purposes, a staff line can be thickened (e.g., the middle line, or to emphasize the line of the G clef). This can be achieved by adding extra lines very close to the line that should be emphasized, using the line-positions property of the StaffSymbol object.

{
  \override Staff.StaffSymbol #'line-positions = #'(-4 -2 -0.2 0 0.2 2 4)
  d'4 e' f' g'
}

[image of music]

参照

音楽用語集: line, ledger line, staff

記譜法リファレンス: 音部記号

コード断片集: Staff notation

内部リファレンス: StaffSymbol, staff-symbol-interface


オッシア譜

適切な位置で新しく同時進行の譜を作成することによって、オッシア 譜をセットすることができます:

\new Staff \relative c'' {
  c4 b d c
  <<
    { c4 b d c }
    \new Staff { e4 d f e }
  >>
  c4 b c2
}

[image of music]

しかしながら、上の例は通常は望ましいものではありません。オリジナルの譜の上にあり、拍子記号や音部記号を持たず、小さなサイズのフォントを使用するオッシア譜を作成するには調整が必要です。学習マニュアルの 音楽表記をネストする に望ましいオッシア譜を作成するための方法が記述されています。

以下の例は、オッシア譜をオリジナルの譜の上に配置するために alignAboveContext プロパティを用いています。この手法は、2, 3 のオッシア譜が必要とされているだけである場合であれば、最も適切な方法です。

\new Staff = main \relative c'' {
  c4 b d c
  <<
    { c4 b d c }

    \new Staff \with {
      \remove "Time_signature_engraver"
      alignAboveContext = #"main"
      fontSize = #-3
      \override StaffSymbol #'staff-space = #(magstep -3)
      \override StaffSymbol #'thickness = #(magstep -3)
      firstClef = ##f
    }
    { e4 d f e }
  >>
  c4 b c2
}

[image of music]

多くの別個のオッシア譜が必要である場合、ある特有の コンテキスト ID を持つ空の Staff コンテキストを作成する方が適切かもしれません: このコンテキストを 呼び出し、オッシア譜が必要とされる場所で \startStaff\stopStaff を用いることでオッシア譜が作成されます。この手法の利点は、以下の例よりも長い楽曲であれば、明らかです。

<<
  \new Staff = ossia \with {
    \remove "Time_signature_engraver"
    \override Clef #'transparent = ##t
    fontSize = #-3
    \override StaffSymbol #'staff-space = #(magstep -3)
    \override StaffSymbol #'thickness = #(magstep -3)
  }
  { \stopStaff s1*6 }

  \new Staff \relative c' {
    c4 b c2
    <<
      { e4 f e2 }
      \context Staff = ossia {
        \startStaff e4 g8 f e2 \stopStaff
      }
    >>
    g4 a g2 \break
    c4 b c2
    <<
      { g4 a g2 }
      \context Staff = ossia {
        \startStaff g4 e8 f g2 \stopStaff
      }
    >>
    e4 d c2
  }
>>

[image of music]

オッシア譜を作成するための代替手段として、\RemoveEmptyStaffContext コマンドが用いられるかもしれません。この手法は、オッシア譜が改行の直後に発生する場合、最も便利な手法です。\RemoveEmptyStaffContext についての更なる情報は、譜を隠す を参照してください。

<<
  \new Staff = ossia \with {
    \remove "Time_signature_engraver"
    \override Clef #'transparent = ##t
    fontSize = #-3
    \override StaffSymbol #'staff-space = #(magstep -3)
    \override StaffSymbol #'thickness = #(magstep -3)
  } \relative c'' {
    R1*3
    c4 e8 d c2
  }
  \new Staff \relative c' {
    c4 b c2
    e4 f e2
    g4 a g2 \break
    c4 b c2
    g4 a g2
    e4 d c2
  }
>>

\layout {
  \context {
    \Staff \RemoveEmptyStaves
    \override VerticalAxisGroup #'remove-first = ##t
  }
}

[image of music]

Selected Snippets

Vertically aligning ossias and lyrics

This snippet demonstrates the use of the context properties alignBelowContext and alignAboveContext to control the positioning of lyrics and ossias.

\paper {
  ragged-right = ##t
}

\relative c' <<
  \new Staff = "1" { c4 c s2 }
  \new Staff = "2" { c4 c s2 }
  \new Staff = "3" { c4 c s2 }
  { \skip 2
    <<
      \lyrics {
        \set alignBelowContext = #"1"
        lyrics4 below
      }
      \new Staff \with {
        alignAboveContext = #"3"
        fontSize = #-2
        \override StaffSymbol #'staff-space = #(magstep -2)
        \remove "Time_signature_engraver"
      } {
        \times 4/6 {
          \override TextScript #'padding = #3
          c8[^"ossia above" d e d e f]
        }
      }
    >>
  }
>>

[image of music]

参照

音楽用語集: ossia, staff, Frenched staff

学習マニュアル: 音楽表記をネストする, オブジェクトのサイズ, オブジェクトの長さと太さ

記譜法リファレンス: 譜を隠す

コード断片集: Staff notation

内部リファレンス: StaffSymbol


譜を隠す

Staff コンテキストから Staff_symbol_engraver を削除することによって、譜線を隠すことができます。そうする代わりに、\stopStaff を用いることもできます。

\new Staff \with {
  \remove "Staff_symbol_engraver"
}
\relative c''' { a8 f e16 d c b a2 }

[image of music]

\layout ブロックの中で \RemoveEmptyStaffContext コマンドをセットすることによって、空の譜を隠すことができます。オーケストラ譜では、このようなスタイルの譜は ‘Frenched Score’ として知られています。デフォルトでは、このコマンドは最初のシステム以外のところにあるすべての空の譜を隠して、削除します。

Note: 譜が空であると見なされるのは、それが複数小節にわたる休符、休符、スキップ、空白休符、あるいはそれらの要素の組み合わせだけで構成されている場合です。

\layout {
  \context {
    \Staff \RemoveEmptyStaves
  }
}

\relative c' <<
  \new Staff {
    e4 f g a \break
    b1 \break
    a4 b c2
  }
  \new Staff {
    c,4 d e f \break
    R1 \break
    f4 g c,2
  }
>>

[image of music]

譜に対してオッシア セクションを作成するために、\RemoveEmptyStaffContext を用いることもできます。詳細は オッシア譜 を参照してください。

古代音楽コンテキストの中にある空の譜を隠すために、\VaticanaStaff \RemoveEmptyStaves コマンドが用いられることがあります。同様に、空の RhythmicStaff コンテキストを隠すために、\RhythmicStaff \RemoveEmptyStaves が用いられることがあります。

定義済みコマンド

\Staff \RemoveEmptyStaves, \VaticanaStaff \RemoveEmptyStaves, \RhythmicStaff \RemoveEmptyStaves

Selected Snippets

Removing the first empty line

The first empty staff can also be removed from the score by setting the VerticalAxisGroup property remove-first. This can be done globally inside the \layout block, or locally inside the specific staff that should be removed. In the latter case, you have to specify the context (Staff applies only to the current staff) in front of the property.

The lower staff of the second staff group is not removed, because the setting applies only to the specific staff inside of which it is written.

\layout {
  \context {
    \Staff \RemoveEmptyStaves
    % To use the setting globally, uncomment the following line:
    % \override VerticalAxisGroup #'remove-first = ##t
  }
}
\new StaffGroup <<
  \new Staff \relative c' {
    e4 f g a \break
    c1
  }
  \new Staff {
    % To use the setting globally, comment this line,
    % uncomment the line in the \layout block above
    \override Staff.VerticalAxisGroup #'remove-first = ##t
    R1 \break
    R
  }
>>
\new StaffGroup <<
  \new Staff \relative c' {
    e4 f g a \break
    c1
  }
  \new Staff {
    R1 \break
    R
  }
>>

[image of music]

参照

音楽用語集: Frenched staff

学習マニュアル: オブジェクトの可視性と色

記譜法リファレンス: Changing context default settings, 譜シンボル, オッシア譜 隠された音符, 不可視の休符, Visibility of objects

コード断片集: Staff notation

内部リファレンス: ChordNames, FiguredBass, Lyrics, Staff, VerticalAxisGroup, Staff_symbol_engraver

既知の問題と警告

Staff_symbol_engraver を削除すると、小節線も隠されます。小節線が強制的に可視になるよう設定されている場合、フォーマット エラーが発生するかもしれません。そのような場合は、エングラーバを削除する代わりに、以下のオーバライドを使用してください:

\override StaffSymbol #'stencil = ##f
\override NoteHead #'no-ledgers = ##t

\Staff \RemoveEmptyStaves に関連する既知の問題と警告は Changing context default settings を参照してください。


1.6.3 パートを記述する

このセクションでは、テンポ指示と楽器名を楽譜に挿入する方法について説明します。他のボイスを引用する方法と、演奏指示音符を譜刻する方法についても記述します。


楽器名

Staff, PianoStaff, StaffGroup, GrandStaff それに ChoirStaff コンテキストの中にある譜の左側に、楽器名を譜刻することができます。instrumentName の値が最初の行の譜に対して使用され、shortInstrumentName の値がそれに続くすべての行の譜に対して使用されます。

\set Staff.instrumentName = #"Violin "
\set Staff.shortInstrumentName = #"Vln "
c4.. g'16 c4.. g'16
\break
c1

[image of music]

マークアップ モードを用いて、より複雑な楽器名を作成することができます:

\set Staff.instrumentName = \markup {
  \column { "Clarinetti"
            \line { "in B" \smaller \flat } } }
c4 c,16 d e f g2

[image of music]

2 つ以上の譜コンテキストが一緒になってグループ化されている場合、デフォルトでは楽器名と短縮楽器名は中央揃えされます。複数行にわたる楽器名を中央揃えするには、\center-column を用いる必要があります:

<<
  \new Staff {
    \set Staff.instrumentName = #"Flute"
    f2 g4 f
  }
  \new Staff {
    \set Staff.instrumentName = \markup \center-column {
      Clarinet
      \line { "in B" \smaller \flat }
    }
    c4 b c2
  }
>>

[image of music]

しかしながら、楽器名が長い場合、indent 設定と short-indent 設定の値を増やさない限り、譜グループの中にある楽器名は中央揃えされません。これらの設定についての詳細は \paper variables for shifts and indents を参照してください。

\layout {
  indent = 3.0\cm
  short-indent = 1.5\cm
}

\relative c'' <<
  \new Staff {
    \set Staff.instrumentName = #"Alto Flute in G"
    \set Staff.shortInstrumentName = #"Fl."
    f2 g4 f \break
    g4 f g2
  }
  \new Staff {
    \set Staff.instrumentName = #"Clarinet"
    \set Staff.shortInstrumentName = #"Clar."
    c,4 b c2 \break
    c2 b4 c
  }
>>

[image of music]

楽器名を他のコンテキスト (ChordNamesFiguredBass など) に付け加えるには、 そのコンテキストに Instrument_name_engraver を追加する必要があります。詳細は Modifying context plug-ins を参照してください。

楽曲の途中で楽器名を変更することもできます。しかしながら、instrumentName は最初の行の譜にしか表示されないため、楽曲の途中では表示されないことを思い出してください:

\set Staff.instrumentName = #"First"
\set Staff.shortInstrumentName = #"one"
c1 c c c \break
c1 c c c \break
\set Staff.instrumentName = #"Second"
\set Staff.shortInstrumentName = #"two"
c1 c c c \break
c1 c c c \break

[image of music]

楽器の 切り替え が必要な場合、切り替えのために必要とされる変更の詳細なリストを作成するために、\addInstrumentDefinition\instrumentSwitch と組み合わせて使用することがあります。\addInstrumentDefinition コマンドは 2 つの引数をとります: 識別文字列と、楽器で使用されるコンテキスト プロパティと値の連想リストです。このコマンドは最上位のスコープに配置する必要があります。\instrumentSwitch は音楽表記の中で使用され、楽器の切り替えを宣言します:

\addInstrumentDefinition #"contrabassoon"
  #`((instrumentTransposition . ,(ly:make-pitch -1 0 0))
     (shortInstrumentName . "Cbsn.")
     (clefGlyph . "clefs.F")
     (middleCPosition . 6)
     (clefPosition . 2)
     (instrumentCueName . ,(make-bold-markup "cbsn."))
     (midiInstrument . "bassoon"))

\new Staff \with {
  instrumentName = #"Bassoon"
}
\relative c' {
  \clef tenor
  \compressFullBarRests
  c2 g'
  R1*16
  \instrumentSwitch "contrabassoon"
  c,,2 g \break
  c,1 ~ | c1
}

[image of music]

参照

記譜法リファレンス: \paper variables for shifts and indents, Modifying context plug-ins

コード断片集: Staff notation

内部リファレンス: InstrumentName, PianoStaff, Staff


他のボイスを引用する

あるボイスが他のボイスの音楽の一部を兼ねることはごく一般的なことです。例えば、第 1 バイオリンと第2バイオリンは、音楽のあるパッセージの間、同じ音符を演奏することがあるかもしれません。LilyPond では、あるボイスに他のボイスを 引用 させることによって実現されます。再入力する必要はありません。

パートを引用するには、\addQuote コマンドを用いて引用する部分を初期化する必要があります。このコマンドは最上位のスコープで使用しなければなりません。1 番目の引数は識別文字列であり、2 番目の引数は音楽表記です:

flute = \relative c'' {
  a4 gis g gis
}
\addQuote "flute" { \flute }

\quoteDuring コマンドを用いて、引用を開始する位置を示します。このコマンドは 2 つの引数をとります: \addQuote で定義した引用するボイスの名前と、引用部分の演奏時間を示す音楽表記 – 通常、これは空白休符か複数小節にわたる休符 – です。引用されるボイスの音楽から該当部分の音楽 (アーティキュレーション、強弱記号、マークアップ等を含みます) が音楽表記に挿入されます:

flute = \relative c'' {
  a4 gis g->\f gis^\markup{quoted}
}
\addQuote "flute" { \flute }

\relative c' {
  c4 cis \quoteDuring #"flute" { s2 }
}

[image of music]

\quoteDuring で使用される音楽表記に空白休符や複数小節休符以外のものが含まれている場合、多声部になります。これは望まない結果であることがしばしばあります:

flute = \relative c'' {
  a4 gis g->\f gis^\markup{quoted}
}
\addQuote "flute" { \flute }

\relative c' {
  c4 cis \quoteDuring #"flute" { s2 }
}

[image of music]

\transposition が使用される場合、引用機能はソースとターゲット両方の楽器の楽器移調設定を考慮します。\transposition についての詳細は 楽器の移調 を参照してください。

clarinet = \relative c'' {
  \transposition bes
  a4 gis g gis
}
\addQuote "clarinet" { \clarinet }

\relative c' {
  c4 cis \quoteDuring #"clarinet" { s2 }
}

[image of music]

引用部分に固有名のタグを付けて、引用部分をさまざまな形で処理することができます。この手法についての詳細は Using tags を参照してください。

quotedEventTypes プロパティを変更することで、オリジナル ボイスからどのオブジェクトを引用するか調節することもできます。デフォルトで、このプロパティの値は #'(StreamEvent) であり、すべてを引用します。例えば、この値を #'(note-event rest-event tie-event) に変更すると、LilyPond は音符、休符それにタイを引用し、アーティキュレーション、マーックアップあるいは強弱記号は引用しません。

clarinet = \relative c'' {
  a4 gis g->\f gis^\markup{quoted}
}
\addQuote "clarinet" { \clarinet }

\relative c' {
  \set Score.quotedEventTypes = #'(note-event rest-event tie-event)
  c4 cis \quoteDuring #"clarinet" { s2 }
}

[image of music]

Selected Snippets

Quoting another voice with transposition

Quotations take into account the transposition of both source and target. In this example, all instruments play sounding middle C; the target is an instrument in F. The target part may be transposed using \transpose. In this case, all the pitches (including the quoted ones) are transposed.

\addQuote clarinet {
  \transposition bes
  \repeat unfold 8 { d'16 d' d'8 }
}

\addQuote sax {
  \transposition es'
  \repeat unfold 16 { a8 }
}

quoteTest = {
  % french horn
  \transposition f
  g'4
  << \quoteDuring #"clarinet" { \skip 4 } s4^"clar." >>
  << \quoteDuring #"sax" { \skip 4 } s4^"sax." >>
  g'4
}

{
  \set Staff.instrumentName =
    \markup {
      \center-column { Horn \line { in F } }
    }
  \quoteTest
  \transpose c' d' << \quoteTest s4_"up a tone" >>
}

[image of music]

Quoting another voice

The quotedEventTypes property determines the music event types which should be quoted. The default value is (note-event rest-event tie-event beam-event tuplet-span-event), which means that only the notes, rests, ties, beams and tuplets of the quoted voice will appear in the \quoteDuring expression. In the following example, a 16th rest is not quoted since rest-event is not in quotedEventTypes.

For a list of event types, consult the “Music classes” section of the Internals Reference.

quoteMe = \relative c' {
  fis4 r16 a8.-> b4\ff c
}
\addQuote quoteMe \quoteMe

original = \relative c'' {
  c8 d s2
  \once \override NoteColumn #'ignore-collision = ##t
  es8 gis8
}

<<
  \new Staff {
    \set Staff.instrumentName = #"quoteMe"
    \quoteMe
  }
  \new Staff {
    \set Staff.instrumentName = #"orig"
    \original
  }
  \new Staff \relative c'' <<
    \set Staff.instrumentName = #"orig+quote"
    \set Staff.quotedEventTypes =
      #'(note-event articulation-event)
    \original
    \new Voice {
      s4
      \set fontSize = #-4
      \override Stem #'length-fraction = #(magstep -4)
      \quoteDuring #"quoteMe" { \skip 2. }
    }
  >>
>>

[image of music]

参照

記譜法リファレンス: 楽器の移調, Using tags

コード断片集: Staff notation

内部リファレンス: QuoteMusic, Voice

既知の問題と警告

\addQuote 中にある最初の Voice の内容だけが引用されます。そのため、music には他の Voice に切り替わる \new\context Voice を含めることはできません。

装飾小音符を引用しようとしてもうまくいかず、LilyPond がクラッシュする可能性さえあります。

ネストされた連符を引用しようとしてもうまくいきません。

以前のバージョンの LilyPond (2.11 よりも前) では、addQuote はすべて小文字 – addquote – で記述されていました。


合図音符をフォーマットする

前のセクションでは、引用を作成する方法について説明しました。\cueDuring コマンドは \quoteDuring コマンドのより特殊な形であり、あるパートに合図音符を挿入する場合に有用です。構文は以下の通りです:

\cueDuring #partname #voice music

このコマンドは partname の該当する小節から音符と休符だけを CueVoice にコピーします。CueVoice は暗黙的に作成されて music と同時進行し、結果として多声になります。引数 voice は合図音符を第 1 ボイスとして記譜すべきか、第 2 ボイスとして記譜すべきかを決定します。UP は第 1 ボイスに相当し、DOWN は第 2 ボイスに相当します。

oboe = \relative c'' {
  r2 r8 d16(\f f e g f a)
  g8 g16 g g2.
}
\addQuote "oboe" { \oboe }

\new Voice \relative c'' {
  \cueDuring #"oboe" #UP { R1 }
  g2 c,
}

[image of music]

上の例で、Voice コンテキストは明示的に宣言されている必要があります。さもなければ、音楽表記全体が CueVoice コンテキストに属してしまいます。

instrumentCueName プロパティを設定することによって、\cueDuring で音楽のどの側面を引用するか調節することができます。このプロパティのデフォルト値は #'(note-event rest-event tie-event beam-event tuplet-span-event) であり、音符、休符、タイ、連桁それに連符だけが引用され、アーティキュレーション、強弱記号、マークアップ等は引用されません。

oboe = \relative c'' {
  r2 r8 d16(\f f e g f a)
  g8 g16 g g2.
}
\addQuote "oboe" { \oboe }

\new Voice \relative c'' {
  \set Score.quotedCueEventTypes = #'(note-event rest-event tie-event
                                      beam-event tuplet-span-event
                                      dynamic-event slur-event)
  \cueDuring #"oboe" #UP { R1 }
  g2 c,
}

[image of music]

マークアップを使用して引用される楽器の名前を表示することができます。また、合図音符が音部変更を必要とする場合、合図音符の終わりで元の音部に戻す必要があります。

flute = \relative c'' {
  r2. c4 d8 c d e fis2 g2 d2
}
bassoon = \relative c {
  \clef bass
  R1
  \clef treble
  s1*0^\markup { \tiny "flute" }
  \cueDuring #"flute" #UP { R1 }
  \clef bass
  g4. b8 d2
}
\addQuote "flute" { \flute }
\new Staff {
  \bassoon
}

[image of music]

\killCues コマンドは音楽表記から合図音符を削除します。これにより、同じ音楽表記を使って合図を持つ楽器パートと総譜を作り出すことが可能です。\killCues コマンドは \cueDuring によって引用された音符とイベントだけを削除します。合図に関連する他のマークアップ – 音部変更と引用元の楽器を識別するラベルなど – にはタグを付けて総譜に含めるかどうかを選択することができます。Using tags を参照してください。

flute = \relative c'' {
  r2. c4 d8 c d e fis2 g2 d2
}
bassoon = \relative c {
  \clef bass
  R1
  \tag #'part {
    \clef treble
    s1*0^\markup { \tiny "flute" }
  }
  \cueDuring #"flute" #UP { R1 }
  \tag #'part \clef bass
  g4. b8 d2
}
\addQuote "flute" { \flute }

\new Staff {
  \bassoon
}
\new StaffGroup <<
  \new Staff {
    \flute
  }
  \new Staff {
    \removeWithTag #'part { \killCues { \bassoon } }
  }
>>

[image of music]

あるいはまた、音部変更や楽器ラベルを再利用するために、\addInstrumentDefinition を用いて楽器の定義に含めることができます。\addInstrumentDefinition についての説明は 楽器名 を参照してください。

\quoteDuring と同様に、\cueDuring は楽器の移調を考慮します。合図音符は、合図を受け取る楽器のピッチで作り出されます。

合図音符を移調させるには \transposedCueDuring を使用します。このコマンドはコンサート ミドル C の音を表すピッチを (絶対モードで) 指定する追加の引数を取ります。

piccolo = \relative c''' {
  \clef "treble^8"
  R1
  c8 c c e g2
  c4 g g2
}
bassClarinet = \relative c' {
  \key d \major
  \transposition bes,
  d4 r a r
  \transposedCueDuring #"piccolo" #UP d { R1 }
  d4 r a r
}

\addQuote "piccolo" { \piccolo }

<<
  \new Staff \piccolo
  \new Staff \bassClarinet
>>

[image of music]

小さなサイズの音符が必要な場合、CueVoice コンテキストを明示的に作成することがあります。例えば、本来の演奏とは異なる音符列をオリジナル ボイスの上または下にセットする場合に適しています。

\time 12/8
\key ees \major
g4 ees8 f4 g8
\stemDown
<<
  { d4. bes4 c8 }
  \new CueVoice
  { g'4. f4 ees8 }
>>
\stemUp
d2. d2.

[image of music]

参照

記譜法リファレンス: 楽器の移調, 楽器名, Musical cues, Using tags

コード断片集: Staff notation

内部リファレンス: CueVoice, Voice

既知の問題と警告

\cueDuring を使用した場合、Voice コンテキストと CueVoice コンテキストの間で休符の衝突が発生する可能性があります。


1.7 編集者の注釈

[image of music]

このセクションでは、音符の見た目を変える方法と、分析や教育的な強調を付け加える方法について議論します。


1.7.1 譜の内部

このセクションでは、譜の内部にある要素に強調を付け加える方法について説明します。


記譜フォント サイズを選択する

記譜要素のフォント サイズを変更することができます。これは連桁やスラーなどの可変シンボルのサイズは変更しません。

Note: テキストのフォント サイズを変更する方法については フォントとフォント サイズを選択する を参照してください。

\huge
c4.-> d8---3
\large
c4.-> d8---3
\normalsize
c4.-> d8---3
\small
c4.-> d8---3
\tiny
c4.-> d8---3
\teeny
c4.-> d8---3

[image of music]

内部的には、これは fontSize プロパティを設定します。この設定により font-size プロパティがすべてのレイアウト オブジェクトにセットされます。font-size の値は、カレントの譜の高さでの標準フォント サイズからの相対値を表している数字です。1 段階上がる毎にフォント サイズは約 12% 増加します。6 段階でちょうど 2 倍になります。Scheme 関数 magstepfont-size 数をスケーリング ファクタに変換します。font-size プロパティを直接設定することも可能です。そうした場合、特定のレイアウト オブジェクトだけが影響を受けます。

\set fontSize = #3
c4.-> d8---3
\override NoteHead #'font-size = #-4
c4.-> d8---3
\override Script #'font-size = #2
c4.-> d8---3
\override Stem #'font-size = #-5
c4.-> d8---3

[image of music]

フォント サイズの変更は、ひな形のサイズが望みのサイズに最も近くなるよう (一定の割合で) 増減することによって、達成されます標準フォント サイズ (font-size = #0 のフォント サイズ) は標準の譜の高さに基づきます。20pt の譜では、10pt のフォントが選択されます。

font-size プロパティはフォントを使用するレイアウト オブジェクトだけにセットすることができますそのようなオブジェクトは font-interface レイアウト インタフェイスをサポートします。

定義済みコマンド

\teeny, \tiny, \small, \normalsize, \large, \huge

参照

コード断片集: Editorial annotations

内部リファレンス: font-interface


運指の指示

運指の指示は 音符-数字 を用いることで挿入することができます:

c4-1 d-2 f-4 e-3

[image of music]

指の変更のためにマークアップ テキストが使用されることもあります。

c4-1 d-2 f-4 e-3

[image of music]

指の入れ替えのためにマークアップ テキストを使うこともできます。

c4-1 d-2 f-4 c^\markup { \finger "2 - 3" }

[image of music]

ある音符を親指で演奏するよう指示するために、サム-スクリプト (thumb-script) を付け加えることができます (例えば、チェロ音楽で)。

<a_\thumb a'-3>2 <b_\thumb b'-3>

[image of music]

和音の個々の音符の後に運指を付け加えることによって、和音に対する運指法を付け加えることができます。

<c-1 e-2 g-3 b-5>2 <d-1 f-2 a-3 c-5>

[image of music]

運指指示の配置を手動で譜の上または下にすることができます。Direction and placement を参照してください。

Selected Snippets

Controlling the placement of chord fingerings

The placement of fingering numbers can be controlled precisely. For fingering orientation to apply, you must use a chord construct <> even if it is a single note.

\relative c' {
  \set fingeringOrientations = #'(left)
  <c-1 e-3 a-5>4
  \set fingeringOrientations = #'(down)
  <c-1 e-3 a-5>4
  \set fingeringOrientations = #'(down right up)
  <c-1 e-3 a-5>4
  \set fingeringOrientations = #'(up)
  <c-1 e-3 a-5>4
  \set fingeringOrientations = #'(left)
  <c-1>2
  \set fingeringOrientations = #'(down)
  <e-3>2
}


[image of music]

Allowing fingerings to be printed inside the staff

By default, vertically oriented fingerings are positioned outside the staff. However, this behavior can be canceled. Note: you must use a chord construct <>, even if it is only a single note.

\relative c' {
  <c-1 e-2 g-3 b-5>2
  \override Fingering #'staff-padding = #'()
  <c-1 e-2 g-3 b-5>4 <g'-0>
}

[image of music]

Avoiding collisions with chord fingerings

Fingerings and string numbers applied to individual notes will automatically avoid beams and stems, but this is not true by default for fingerings and string numbers applied to the individual notes of chords. The following example shows how this default behavior can be overridden.

\relative c' {
  \set fingeringOrientations = #'(up)
  \set stringNumberOrientations = #'(up)
  \set strokeFingerOrientations = #'(up)

  % Default behavior
  r8
  <f c'-5>8
  <f c'\5>8
  <f c'-\rightHandFinger #2 >8

  % Corrected to avoid collisions
  r8
  \override Fingering #'add-stem-support = ##t
  <f c'-5>8
  \override StringNumber #'add-stem-support = ##t
  <f c'\5>8
  \override StrokeFinger #'add-stem-support = ##t
  <f c'-\rightHandFinger #2 >8
}

[image of music]

参照

記譜法リファレンス: Direction and placement

コード断片集: Editorial annotations

内部リファレンス: FingeringEvent, fingering-event, Fingering_engraver, New_fingering_engraver, Fingering

既知の問題と警告

デフォルトでは、‘note-digit’ は 9 よりも大きな数はサポートしません。


隠された音符

隠された (または不可視、透明の) 音符は、preparing theory や作曲の演習の際に有用です。

c4 d
\hideNotes
e4 f
\unHideNotes
g a
\hideNotes
b
\unHideNotes
c

[image of music]

不可視の音符に取り付けられた記譜オブジェクトは可視のままです。

c4( d)
\hideNotes
e4(\p f)--

[image of music]

定義済みコマンド

\hideNotes, \unHideNotes

参照

学習マニュアル: オブジェクトの可視性と色

Notation Reference: 不可視の休符, Visibility of objects, 譜を隠す

コード断片集: Editorial annotations

内部リファレンス: Note_spacing_engraver, NoteSpacing


オブジェクトに色を付ける

個々のオブジェクトに色を割り振ることができます。有効なカラー名は List of colors でリストアップされています。

\override NoteHead #'color = #red
c4 c
\override NoteHead #'color = #(x11-color 'LimeGreen)
d
\override Stem #'color = #blue
e

[image of music]

Scheme 関数 x11-color を用いることによって、X11 のために定義された色の全範囲にアクセスすることができます。この関数は引数を 1 つとります。この引数は 'FooBar という形式のシンボルであったり、"FooBar" という形式の文字列であったりします。最初の形式はより素早く記述できて、より効率的です。しかしながら、2 番目の形式を使うと複数単語形式の X11 カラーにアクセスすることができます。

x11-color がパラメータとして意味をなさない場合、その色はデフォルトの黒になります。

\override Staff.StaffSymbol #'color = #(x11-color 'SlateBlue2)
\set Staff.instrumentName = \markup {
  \with-color #(x11-color 'navy) "Clarinet"
}

gis8 a
\override Beam #'color = #(x11-color "medium turquoise")
gis a
\override Accidental #'color = #(x11-color 'DarkRed)
gis a
\override NoteHead #'color = #(x11-color "LimeGreen")
gis a
% 以下は意図的に意味をなさない色を指定しています。符幹が黒のままであることに注意してください
\override Stem #'color = #(x11-color 'Boggle)
b2 cis

[image of music]

Scheme 関数 rgb-color を用いることによって、厳密な RGB カラーを指定することができます。

\override Staff.StaffSymbol #'color = #(x11-color 'SlateBlue2)
\set Staff.instrumentName = \markup {
  \with-color #(x11-color 'navy) "Clarinet"
}

\override Stem #'color = #(rgb-color 0 0 0)
gis8 a
\override Stem #'color = #(rgb-color 1 1 1)
gis8 a
\override Stem #'color = #(rgb-color 0 0 0.5)
gis4 a

[image of music]

参照

記譜法リファレンス: List of colors, The \tweak command

コード断片集: Editorial annotations

既知の問題と警告

X11 カラーは必ずしも同様の名前を持つノーマル カラーとまったく同じとなるわけではありません。

すべての X11 カラーが Web ブラウザで見分けられるわけではありません。つまり、ある Web ブラウザは 'LineGreen'ForestGreen を同じ色で表示するかもしれません。Web 向けでは、ノーマル カラーを使用することを推奨します (つまり、#blue, #green, #red)。

和音の中にある音符には \override で色を付けることはできません。\override の代わりに \tweak を使用してください – The \tweak command を参照してください。


括弧

音楽イベントの前に \parenthesize を置くことによって、そのオブジェクトに括弧を付けることができます。和音の前に \parenthesize を置くと、和音の音符それぞれに括弧が付けられます。和音内部の音符に個別に括弧を付けることもできます。

c2 \parenthesize d
c2 \parenthesize <c e g>
c2 <c \parenthesize e g>

[image of music]

音符ではないオブジェクトにも括弧を付けることができます。アーティキュレーションに対して括弧をつける場合、\parenthesize コマンドの前にハイフンが必要です。

c2-\parenthesize -. d
c2 \parenthesize r

[image of music]

参照

コード断片集: Editorial annotations

内部リファレンス: Parenthesis_engraver, ParenthesesItem, parentheses-interface

既知の問題と警告

和音に括弧を付けると、和音全体に単一の大きな括弧が付くのではなく、それぞれの音符に個別に括弧が付きます。


符幹

音符が見つかった場合はいつでも Stem オブジェクトが自動的に作成されます。全音符や休符の場合でも Stem オブジェクトが作成されますが、不可視になります。

符幹の向きを手動で上または下にすることができます – Direction and placement を参照してください。

定義済みコマンド

\stemUp, \stemDown, \stemNeutral

Selected Snippets

Default direction of stems on the center line of the staff

The default direction of stems on the center line of the staff is set by the Stem property neutral-direction.

\relative c'' {
  a4 b c b
  \override Stem #'neutral-direction = #up
  a4 b c b
  \override Stem #'neutral-direction = #down
  a4 b c b
}

[image of music]

参照

記譜法リファレンス: Direction and placement

コード断片集: Editorial annotations

内部リファレンス: Stem_engraver, Stem, stem-interface


1.7.2 譜の外部

このセクションでは、譜の外側から譜の中にある要素を強調するための方法について説明します。


バルーン ヘルプ

記譜要素に四角いバルーンで印を付けて、テキストを付け加えることができます。この機能の主目的は記譜法を説明することです。

\new Voice \with { \consists "Balloon_engraver" }
{
  \balloonGrobText #'Stem #'(3 . 4) \markup { "I'm a Stem" }
  a8
  \balloonGrobText #'Rest #'(-4 . -4) \markup { "I'm a rest" }
  r
  <c, g'-\balloonText #'(-2 . -2) \markup { "I'm a note head" } c>2.
}

[image of music]

上の例には 2 つの音楽関数が使われています – balloonGrobTextballoonText です。前者は \once \override のように使用され、任意のグラフィカル オブジェクトにテキストを付加します。後者はたいてい和音の中で \tweak のように使用され、個々の音符にテキストを付加します。

通常、バルーン ヘルプのテキストは音符の間隔に影響を与えますが、影響を与えないよう変更することもできます:

Balloon text normally influences note spacing, but this can be altered:

\new Voice \with { \consists "Balloon_engraver" }
{
  \balloonLengthOff
  \balloonGrobText #'Stem #'(3 . 4) \markup { "I'm a Stem" }
  a8
  \balloonGrobText #'Rest #'(-4 . -4) \markup { "I'm a rest" }
  r
  \balloonLengthOn
  <c, g'-\balloonText #'(-2 . -2) \markup { "I'm a note head" } c>2.
}

[image of music]

定義済みコマンド

\balloonLengthOn, \balloonLengthOff

参照

コード断片集: Editorial annotations

内部リファレンス: Balloon_engraver, BalloonTextItem, balloon-interface


グリッド ライン

音符に同期して、譜の間に垂直な線を描くことができます。

線の終点を作成するために Grid_point_engraver を用いる必要があります。一方、実際に線を描くために Grid_line_span_engraver を用いる必要があります。デフォルトでは、グリッド ラインは各符頭の左端に揃えられます。グリッド ラインは上の譜の中央線から下の譜の中央線まで引かれます。gridInterval でグリッド ライン間の演奏時間を指定する必要があります。

\layout {
  \context {
    \Staff
    \consists "Grid_point_engraver"
    gridInterval = #(ly:make-moment 1 4)
  }
  \context {
    \Score
    \consists "Grid_line_span_engraver"
  }
}

\score {
  \new ChoirStaff <<
    \new Staff \relative c'' {
      \stemUp
      c4. d8 e8 f g4
    }
    \new Staff \relative c {
      \clef bass
      \stemDown
      c4 g' f e
    }
  >>
}

[image of music]

Selected Snippets

Grid lines: changing their appearance

The appearance of grid lines can be changed by overriding some of their properties.

\score {
  \new ChoirStaff <<
    \new Staff {
      \relative c'' {
        \stemUp
        c'4. d8 e8 f g4
      }
    }
    \new Staff {
      \relative c {
        % this moves them up one staff space from the default position
        \override Score.GridLine #'extra-offset = #'(0.0 . 1.0)
        \stemDown
        \clef bass
        \once \override Score.GridLine #'thickness = #5.0
        c4
        \once \override Score.GridLine #'thickness = #1.0
        g'4
        \once \override Score.GridLine #'thickness = #3.0
        f4
        \once \override Score.GridLine #'thickness = #5.0
        e4
      }
    }
  >>
  \layout {
    \context {
      \Staff
      % set up grids
      \consists "Grid_point_engraver"
      % set the grid interval to one quarter note
      gridInterval = #(ly:make-moment 1 4)
    }
    \context {
      \Score
      \consists "Grid_line_span_engraver"
      % this moves them to the right half a staff space
      \override NoteColumn #'X-offset = #-0.5
    }
  }
}

[image of music]

参照

コード断片集: Editorial annotations

内部リファレンス: Grid_line_span_engraver, Grid_point_engraver, GridLine, GridPoint, grid-line-interface, grid-point-interface.


分析の囲み

音楽分析では、囲みを使って楽曲の構造を示します。シンプルな水平な囲みがサポートされています。

\layout {
  \context {
    \Voice
    \consists "Horizontal_bracket_engraver"
  }
}
\relative c'' {
  c2\startGroup
  d\stopGroup
}

[image of music]

Analysis brackets may be nested.

\layout {
  \context {
    \Voice
    \consists "Horizontal_bracket_engraver"
  }
}
\relative c'' {
  c4\startGroup\startGroup
  d4\stopGroup
  e4\startGroup
  d4\stopGroup\stopGroup
}

[image of music]

参照

コード断片集: Editorial annotations

内部リファレンス: Horizontal_bracket_engraver, HorizontalBracket, horizontal-bracket-interface, Staff


1.8 テキスト

[image of music]

このセクションでは、楽譜に (さまざまなフォーマットの) テキストを含める方法について説明します。

ここでは扱わないいくつかのテキスト要素については他のセクションで説明します: Vocal music, Titles and headers


1.8.1 テキストを記述する

このセクションでは、楽譜にテキストを付け加えるいくつかの方法を紹介します。

Note: アクセント付きのテキストや特殊なテキスト (他の言語の文字など) を記述するには、単純にその文字を直接 LilyPond ファイルに挿入します。ファイルは UTF-8 で保存しなければなりません。更なる情報は Text encoding を参照してください。


テキスト スクリプト

以下の例で示すように、シンプルな “引用符で囲まれたテキスト” 指示を楽譜に付け加えることができます。そのような指示は、Direction and placement で説明する構文を用いて、手動で譜の上または下に配置することができます。

a8^"pizz." g f e a4-"scherz." f

[image of music]

この構文は実際には短縮記法です。テキストをフォーマットする で記述されているように、\markup ブロックを用いて明示的に、より複雑なテキスト フォーマットを音符に付け加えることができます。

a8^\markup { \italic pizz. } g f e
a4_\markup { \tiny scherz. \bold molto } f

[image of music]

デフォルトでは、テキスト指示は音符の間隔に影響を与えません。しかしながら、テキスト指示の幅を考慮に入れることもできます: 以下の例では、最初のテキスト文字列は音符の間隔に影響を与えていませんが、2 番目のテキスト文字列は影響を与えています。

a8^"pizz." g f e
\textLengthOn
a4_"scherzando" f

[image of music]

テキスト スクリプトだけでなく、アーティキュレーションを音符に付けることもできます。更なる情報は アーティキュレーションと装飾 を参照してください。

テキスト スクリプトとアーティキュレーションの順序についての更なる情報は オブジェクトの配置 を参照してください。

定義済みコマンド

\textLengthOn, \textLengthOff

参照

学習マニュアル: オブジェクトの配置

記譜法リファレンス: テキストをフォーマットする, Direction and placement, アーティキュレーションと装飾

コード断片集: Text

内部リファレンス: TextScript

既知の問題と警告

テキスト スクリプトと歌詞がマージンに収まることを保証するためのチェックは計算量を増やします。処理速度を上げる必要がある場合は、以下を用います:

\override Score.PaperColumn #'keep-inside-line = ##f

テキスト スパナ

いくつかの演奏指示 – 例えば rallentandoaccelerando – は、テキストとして記述され、点線で複数の音符の上に伸ばされます。そのようなオブジェクト – “スパナ” と呼ばれます – は、以下の構文を用いることで、ある音符から他の音符までの範囲に作成することができます:

\override TextSpanner #'(bound-details left text) = "rit."
b1\startTextSpan
e,\stopTextSpan

[image of music]

譜刻される文字列はオブジェクト プロパティを通じてセットされます。デフォルトでは文字列はイタリック体で譜刻されます。しかしながら、テキストをフォーマットする で記述されているように、\markup ブロックを用いることで他の書体にすることができます。

\override TextSpanner #'(bound-details left text) =
  \markup { \upright "rit." }
b1\startTextSpan c
e,\stopTextSpan

[image of music]

テキスト文字列と同様に、線のスタイルもオブジェクト プロパティとして定義することができます。線スタイルの構文は Line styles で記述されています。

定義済みコマンド

\textSpannerUp, \textSpannerDown, \textSpannerNeutral.

既知の問題と警告

LilyPond が処理できるテキスト スパナは 1 ボイスにつき、1 つだけです。

Selected Snippets

Dynamics text spanner postfix

Custom text spanners can be defined and used with hairpin and text crescendos. \< and \> produce hairpins by default, \cresc etc. produce text spanners by default.

% Some sample text dynamic spanners, to be used as postfix operators
crpoco =
#(make-music 'CrescendoEvent
             'span-direction START
             'span-type 'text
             'span-text "cresc. poco a poco")

\relative c' {
  c4\cresc d4 e4 f4 |
  g4 a4\! b4\crpoco c4 |
  c4 d4 e4 f4 |
  g4 a4\! b4\< c4 |
  g4\dim a4 b4\decresc c4\!
}

[image of music]

Dynamics custom text spanner postfix

Postfix functions for custom crescendo text spanners. The spanners should start on the first note of the measure. One has to use -\mycresc, otherwise the spanner start will rather be assigned to the next note.

% Two functions for (de)crescendo spanners where you can explicitly give the
% spanner text.
mycresc =
#(define-music-function (parser location mymarkup) (markup?)
   (make-music 'CrescendoEvent
               'span-direction START
               'span-type 'text
               'span-text mymarkup))
mydecresc =
#(define-music-function (parser location mymarkup) (markup?)
   (make-music 'DecrescendoEvent
               'span-direction START
               'span-type 'text
               'span-text mymarkup))

\relative c' {
  c4-\mycresc "custom cresc" c4 c4 c4 |
  c4 c4 c4 c4 |
  c4-\mydecresc "custom decresc" c4 c4 c4 |
  c4 c4\! c4 c4
}



[image of music]

参照

記譜法リファレンス: Line styles, 強弱記号, テキストをフォーマットする

コード断片集: Text, Expressive marks

内部リファレンス: TextSpanner


テキスト マーク

リハーサル記号 で記述されている構文を用いて、さまざまなテキスト要素を楽譜に付け加えることができます:

c4
\mark "Allegro"
c c c

[image of music]

この構文を用いることで、任意のテキストを小節線上に配置することが可能です。テキストをフォーマットする で記述されているように、\markup ブロックを用いてより複雑なテキスト フォーマットを付け加えることもできます:

<c e>1
\mark \markup { \italic { colla parte } }
<d f>2 <e g>
<c f aes>1

[image of music]

さらに、マークアップ内部での音楽記譜法 で説明されているように、この構文で適切なシンボル名を指定することによって、特殊な記号 – コーダ、セーニョ、フェルマータなど – を譜刻することが可能です:

<bes f>2 <aes d>
\mark \markup { \musicglyph #"scripts.ufermata" }
<e g>1

[image of music]

このようなオブジェクトを配置できる位置は、楽譜の最上段の譜の上だけです。オブジェクトを小節の終わりで指定するか、途中で指定するか次第で、小節線の上に配置されたり、音符の間に配置されたりします。改行位置で指定した場合、そのマークは次の行の先頭に譜刻されます。

\mark "Allegro"
c1 c
\mark "assai" \break
c  c

[image of music]

Selected Snippets

Printing marks at the end of a line

Marks can be printed at the end of the current line, instead of the beginning of the following line. In such cases, it might be preferable to align the right end of the mark with the bar line.

\relative c'' {
  g2 c
  d,2 a'
  \once \override Score.RehearsalMark #'break-visibility = #end-of-line-visible
  \once \override Score.RehearsalMark #'self-alignment-X = #RIGHT
  \mark "D.C. al Fine"
  \break
  g2 b,
  c1 \bar "||"
}

[image of music]

Aligning marks with various notation objects

If specified, text marks may be aligned with notation objects other than bar lines. These objects include ambitus, breathing-sign, clef, custos, staff-bar, left-edge, key-cancellation, key-signature, and time-signature.

In such cases, text marks will be horizontally centered above the object. However this can be changed, as demonstrated on the second line of this example (in a score with multiple staves, this setting should be done for all the staves).

\relative c' {
  e1

  % the RehearsalMark will be centered above the Clef
  \override Score.RehearsalMark #'break-align-symbols = #'(clef)
  \key a \major
  \clef treble
  \mark "↓"
  e1

  % the RehearsalMark will be centered above the TimeSignature
  \override Score.RehearsalMark #'break-align-symbols = #'(time-signature)
  \key a \major
  \clef treble
  \time 3/4
  \mark \markup { \char ##x2193 }
  e2.

  % the RehearsalMark will be centered above the KeySignature
  \override Score.RehearsalMark #'break-align-symbols = #'(key-signature)
  \key a \major
  \clef treble
  \time 4/4
  \mark \markup { \char ##x2193 }
  e1

  \break
  e1

  % the RehearsalMark will be aligned with the left edge of the KeySignature
  \once \override Score.KeySignature #'break-align-anchor-alignment = #LEFT
  \mark \markup { \char ##x2193 }
  \key a \major
  e1

  % the RehearsalMark will be aligned with the right edge of the KeySignature
  \once \override Score.KeySignature #'break-align-anchor-alignment = #RIGHT
  \key a \major
  \mark \markup { \char ##x2193 }
  e1

  % the RehearsalMark will be aligned with the left edge of the KeySignature
  % and then shifted right by one unit.
  \once \override Score.KeySignature #'break-align-anchor = #1
  \key a \major
  \mark \markup { \char ##x2193 }
  e1
}

[image of music]

Printing marks on every staff

Although text marks are normally only printed above the topmost staff, they may also be printed on every staff.

\score {
  <<
    \new Staff { c''1 \mark "molto" c'' }
    \new Staff { c'1 \mark "molto" c' }
  >>
  \layout {
    \context {
      \Score
      \remove "Mark_engraver"
      \remove "Staff_collecting_engraver"
    }
    \context {
      \Staff
      \consists "Mark_engraver"
      \consists "Staff_collecting_engraver"
    }
  }
}

[image of music]

参照

記譜法リファレンス: リハーサル記号, テキストをフォーマットする, マークアップ内部での音楽記譜法, The Feta font

コード断片集: Text

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


独立したテキスト

\markup ブロックはそれ自体で、すべての \score ブロックの外側に、“最上位レベルの表記” として存在することができます。この構文は File structure で記述されています。

\markup {
  Tomorrow, and tomorrow, and tomorrow...
}

[image of music]

これによりテキストを音楽から分離して譜刻することが可能になります。これは、Multiple scores in a book で記述されているように、入力ファイルが複数の楽曲を保持している場合に特に有用です。

\score {
  c'1
}
\markup {
  Tomorrow, and tomorrow, and tomorrow...
}
\score {
  c'1
}

[image of music]

独立したテキスト ブロックは複数のページに広がることができます。これにより、テキスト ドキュメントやブック全体を LilyPond の中に譜刻することが可能になります。この機能と、この機能の構文は 複数ページにわたるマークアップ で記述されています。

定義済みコマンド

\markup, \markuplines

Selected Snippets

Stand-alone two-column markup

Stand-alone text may be arranged in several columns using \markup commands:

\markup {
  \fill-line {
    \hspace #1
    \column {
      \line { O sacrum convivium }
      \line { in quo Christus sumitur, }
      \line { recolitur memoria passionis ejus, }
      \line { mens impletur gratia, }
      \line { futurae gloriae nobis pignus datur. }
      \line { Amen. }
    }
    \hspace #2
    \column {
      \line { \italic { O sacred feast } }
      \line { \italic { in which Christ is received, } }
      \line { \italic { the memory of His Passion is renewed, } }
      \line { \italic { the mind is filled with grace, } }
      \line { \italic { and a pledge of future glory is given to us. } }
      \line { \italic { Amen. } }
    }
    \hspace #1
  }
}

[image of music]

参照

記譜法リファレンス: テキストをフォーマットする, File structure, Multiple scores in a book, 複数ページにわたるマークアップ

コード断片集: Text

内部リファレンス: TextScript


1.8.2 テキストをフォーマットする

このセクションでは、\markup モード特有の構文を用いた基本的かつ高度なテキスト フォーマットについて説明します。


テキスト マークアップの導入部

\markup ブロックは “マークアップ モード” と呼ばれる拡張可能な構文でテキストを譜刻するために用いられます。

マークアップ構文は LilyPond の通常の構文と同様です: \markup 表記は波括弧 { … } で囲まれます。単語 1 つが最小の表記と見なされ、その場合は波括弧で囲む必要はありません。

シンプルな “引用符で囲まれたテキスト” 指示とは異なり、\markup ブロックは、バックスラッシュ \ を用いて挿入されるネストされた表記やマークアップ コマンドを保持することができます。そのようなコマンドは直後の表記にのみ影響を与えます。

a1-\markup intenso
a2^\markup { poco \italic più forte  }
c e1
d2_\markup { \italic "string. assai" }
e
b1^\markup { \bold { molto \italic  agitato } }
c

[image of music]

また、\markup ブロックは引用符で囲まれたテキスト文字列を保持することがあります。そのような文字列は最小のテキスト表記として扱われます。そのため、引用符で囲まれたマークアップ コマンドや特殊文字 (\# など) はテキストのフォーマットに影響を与えず、そのまま (逐語的に) 譜刻されます。ダブル クォーテーション自体は、それ自体の前にバックスラッシュを置くことによって譜刻されます。

a1^"\italic markup..."
a_\markup { \italic "... prints \"italic\" letters!" }
a a

[image of music]

表記をばらばらなものとして扱うには、単語のリストをダブル クォーテーションで囲むか、前にコマンドを置く必要があります。マークアップ表記の定義の仕方は、表記の配置のされ方 – 垂直に中央揃えして積み重ねられる、水平に並べられる – に影響を与えます。以下の例では、2 番目の \markup 表記は 1 番目の表記と同じように扱われています:

c1^\markup { \center-column { a bbb c } }
c1^\markup { \center-column { a { bbb c } } }
c1^\markup { \center-column { a \line { bbb c } } }
c1^\markup { \center-column { a "bbb c" } }

[image of music]

マークアップを変数に格納することができます。そのような変数は直接音符にくっつけることができます:

allegro = \markup { \bold \large Allegro }

{
  d''8.^\allegro
  d'16 d'4 r2
}

[image of music]

Text markup commands\markup 特有のコマンドの徹底したリストがあります。

参照

記譜法リファレンス: Text markup commands

コード断片集: Text

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

既知の問題と警告

マークアップ モードの構文エラーは混乱しやすいです。


フォントとフォント サイズを選択する

マークアップ モードでは、基本的なフォント切り替えがサポートされています:

d1^\markup {
  \bold { Più mosso }
  \italic { non troppo \underline Vivo }
}
r2 r4 r8
d,_\markup { \italic quasi \smallCaps Tromba }
f1 d2 r

[image of music]

文字のサイズもいくつかの方法で変更することができます:

以下の例は、これら 3 つの方法の使用例です:

f1_\markup {
  \tiny espressivo
  \large e
  \normalsize intenso
}
a^\markup {
  \fontsize #5 Sinfonia
  \fontsize #2 da
  \fontsize #3 camera
}
bes^\markup { (con
  \larger grande
  \smaller emozione
  \magnify #0.6 { e sentimento } )
}
d c2 r8 c bes a g1

[image of music]

テキストを下付き文字あるいは上付き文字として譜刻することができます。デフォルトでは、それらは小さなサイズで譜刻されますが、通常サイズにすることもできます:

\markup {
  \column {
    \line { 1 \super st movement }
    \line { 1 \normal-size-super st movement
      \sub { (part two) }  }
  }
}

[image of music]

マークアップ モードは代わりのフォント ファミリを選択するための簡単な方法を提供します。他を指定しないかぎり、デフォルトの Serif フォント – ローマン体 – が自動的に選択されます。以下の例の最後の行では、最初の単語と 2 番目の単語はまったく同じです。

\markup {
  \column {
    \line { Act \number 1 }
    \line { \sans { Scene I. } }
    \line { \typewriter { Verona. An open place. } }
    \line { Enter \roman Valentine and Proteus. }
  }
}

[image of music]

新たな強弱記号手動の繰り返し記号 で言及されているように、番号や強弱記号など特定の項目に用いられるフォント ファミリの中にはすべての文字を提供しないものもあります。

フォント切り替えやフォーマット コマンドの中には、単語の中で使用されると望まない空白を作り出すものがあります。これはテキスト要素をつなげることによって容易に解決できます:

\markup {
  \column {
    \line {
      \concat { 1 \super st }
      movement
    }
    \line {
      \concat { \dynamic p , }
      \italic { con dolce espressione }
    }
  }
}

[image of music]

フォント に フォント切り換えとフォントのカスタム コマンドの徹底したリストがあります。

フォント で説明されているように、カスタム フォント セットを定義することも可能です。

定義済みコマンド

\teeny, \tiny, \small, \normalsize, \large, \huge, \smaller, \larger

参照

記譜法リファレンス: フォント, 新たな強弱記号, 手動の繰り返し記号, フォント

コード断片集: Text

内部リファレンス: TextScript

インストールされているファイル: ‘scm/define-markup-commands.scm

既知の問題と警告

フォントのサイズ コマンド \teeny, \tiny, \small, \normalsize, \large それに \huge を用いると、\fontsize を用いた場合と比較して、つじつまの合わない行間になります。


テキスト揃え

このサブセクションでは、マークアップ モードのテキストを配置する方法について説明します。 オブジェクトを移動させる で記述されている構文を用いて、マークアップ オブジェクト全体を移動させることも可能です。

マークアップ オブジェクトの揃え方はいくつかあります。デフォルトでは、テキスト指示はそのテキストの左端で揃えられます: 以下の例では、最初のマークアップと 2 番目のマークアップの揃えられ方はまったく同じです。

d1-\markup { poco }
f
d-\markup { \left-align poco }
f
d-\markup { \center-align { poco } }
f
d-\markup { \right-align poco }

[image of music]

水平方向の揃え方は、数値を使って、微調整することができます:

a1-\markup { \halign #-1 poco }
e'
a,-\markup { \halign #0 poco }
e'
a,-\markup { \halign #0.5 poco }
e'
a,-\markup { \halign #2 poco }

[image of music]

オブジェクトの中には揃えるためのプロシージャをそれ自身で持っているものがあり、それらは上記のコマンドでは影響を受けません。テキスト マーク の中の例で示されているように、そのようなマークアップ オブジェクト全体を移動させることが可能です。

垂直方向に揃える方法はもう少し複雑です。上で述べたようにマークアップ オブジェクト全体を移動させることが可能ですが、マークアップ ブロックの中にある特定の要素を移動させることも可能です。 特定要素だけをを移動させるには、移動させる要素の前に アンカ ポイント – もう 1 つのオブジェクト要素、あるいは不可視のオブジェクト要素 – を置く必要があります。以下の例では 2 つのケースを示しています。最後のマークアップはアンカ ポイントを持たず、それゆえ移動されません。

d2^\markup {
  Acte I
  \raise #2 { Scène 1 }
}
a'
g_\markup {
  \null
  \lower #4 \bold { Très modéré }
}
a
d,^\markup {
  \raise #4 \italic { Une forêt. }
}
a'4 a g2 a

[image of music]

コマンドの中にはマークアップ モードの中にあるテキスト オブジェクトの水平方向と垂直方向の両方の揃え方に影響を与えることができるものもあります。そのようなコマンドで移動させるオブジェクトの前にはアンカ ポイントを置く必要があります:

d2^\markup {
  Acte I
  \translate #'(-1 . 2) "Scène 1"
}
a'
g_\markup {
  \null
  \general-align #Y #3.2 \bold "Très modéré"
}
a
d,^\markup {
  \null
  \translate-scaled #'(-1 . 2) \teeny "Une forêt."
}
a'4 a g2 a

[image of music]

マークアップ オブジェクトに何行かのテキストが含まれる場合もあります。以下の例では、それぞれの要素あるいは表記はそれ自体の行に配置され、左揃えあるいは中央揃えされています:

\markup {
  \column {
    a
    "b c"
    \line { d e f }
  }
  \hspace #10
  \center-column {
    a
    "b c"
    \line { d e f }
  }
}

[image of music]

同様に、要素あるいは表記のリストの広がりが水平の行幅いっぱいを占めることがあります (要素が 1 つだけの場合、その要素はページの中央に揃えられます)。さらに、そのような表記は複数行にわたるテキストや他の任意の表記を含むことができます:

\markup {
  \fill-line {
    \line { William S. Gilbert }
    \center-column {
      \huge \smallCaps "The Mikado"
      or
      \smallCaps "The Town of Titipu"
    }
    \line { Sir Arthur Sullivan }
  }
}
\markup {
  \fill-line { 1885 }
}

[image of music]

さらに、長いテキスト指示を自動的に行幅に合わせて折り返すことができます。そのようなテキスト指示は、以下の例で示すように、左揃えされるか両端揃えされます。

\markup {
  \column {
    \line  \smallCaps { La vida breve }
    \line \bold { Acto I }
    \wordwrap \italic {
      (La escena representa el corral de una casa de
      gitanos en el Albaicín de Granada.  Al fondo una
      puerta por la que se ve el negro interior de
      una Fragua, iluminado por los rojos resplandores
      del fuego.)
    }
    \hspace #0

    \line \bold { Acto II }
    \override #'(line-width . 50)
    \justify \italic {
      (Calle de Granada.  Fachada de la casa de Carmela
      y su hermano Manuel con grandes ventanas abiertas
      a través de las que se ve el patio
      donde se celebra una alegre fiesta)
    }
  }
}

[image of music]

Align にテキスト揃えコマンドの徹底したリストがあります。

参照

学習マニュアル: オブジェクトを移動させる

記譜法リファレンス: Align, テキスト マーク

コード断片集: Text

内部リファレンス: TextScript

インストールされているファイル: ‘scm/define-markup-commands.scm’.


マークアップ内部でのグラフィック記譜法

マークアップ コマンドを用いて、さまざまなグラフィック オブジェクトを楽譜に付け加えることができます。

以下の例で示すように、マークアップ コマンドの中にはテキスト要素をグラフィックスで飾り付けることができるものがあります。

\markup \fill-line {
  \center-column {
    \circle Jack
    \box "in the box"
    \null
    \line {
      Erik Satie
      \hspace #3
      \bracket "1866 - 1925"
    }
    \null
    \rounded-box \bold Prelude
  }
}

[image of music]

コマンドの中にはテキストの周りのパディングを増やすことを必要とするものもあります。パティングの増加は Align で徹底的に記述されているマークアップ コマンドを用いて達成できます。

\markup \fill-line {
  \center-column {
    \box "Charles Ives (1874 - 1954)"
    \null
    \box \pad-markup #2 "THE UNANSWERED QUESTION"
    \box \pad-x #8 "A Cosmic Landscape"
    \null
  }
}
\markup \column {
  \line {
    \hspace #10
    \box \pad-to-box #'(-5 . 20) #'(0 . 5)
      \bold "Largo to Presto"
  }
  \pad-around #3
      "String quartet keeps very even time,
Flute quartet keeps very uneven time."
}

[image of music]

テキストを持たないグラフィック要素やシンボルを譜刻することもできます。他のマークアップ表記と同様に、そのようなオブジェクトも組み合わせることができます。

\markup {
  \combine
    \draw-circle #4 #0.4 ##f
    \filled-box #'(-4 . 4) #'(-0.5 . 0.5) #1
  \hspace #5

  \center-column {
    \triangle ##t
    \combine
      \draw-line #'(0 . 4)
      \arrow-head #Y #DOWN ##f
  }
}

[image of music]

高度なグラフィック機能として、外部画像ファイルを Encapsulated PostScript フォーマット (eps) に変換してインクルードする機能や、ネイティブの PostScript コードを用いてグラフィックを直接に入力ファイルへ埋め込む機能があります。このような機能を使う場合、以下で示すように、描画サイズを明示的に指定することを推奨します:

c1^\markup {
  \combine
    \epsfile #X #10 #"./context-example.eps"
    \with-dimensions #'(0 . 6) #'(0 . 10)
    \postscript #"
      -2 3 translate
      2.7 2 scale
      newpath
      2 -1 moveto
      4 -2 4 1 1 arct
      4 2 3 3 1 arct
      0 4 0 3 1 arct
      0 0 1 -1 1 arct
      closepath
      stroke"
  }
c

[image of music]

Graphic にグラフィック特有のコマンドの徹底したリストがあります。

参照

記譜法リファレンス: Graphic, 編集者の注釈, Align

コード断片集: Text

内部リファレンス: TextScript

インストールされているファイル: ‘scm/define-markup-commands.scm’, ‘scm/stencil.scm


マークアップ内部での音楽記譜法

マークアップ オブジェクトの内部で、さまざまな音楽記譜要素を楽譜に付け加えることができます。

音符と臨時記号はマークアップ コマンドを用いて入力することができます:

a2 a^\markup {
  \note #"4" #1
  =
  \note-by-number #1 #1 #1.5
}
b1_\markup {
  \natural \semiflat \flat
  \sesquiflat \doubleflat
}
\glissando
a1_\markup {
  \natural \semisharp \sharp
  \sesquisharp \doublesharp
}
\glissando b

[image of music]

他の記譜オブジェクトもマークアップ モードの中で譜刻することができます:

g1 bes
ees-\markup {
  \finger 4
  \tied-lyric #"~"
  \finger 1
}
fis_\markup { \dynamic rf }
bes^\markup {
  \beam #8 #0.1 #0.5
}
cis
d-\markup {
  \markalphabet #8
  \markletter #8
}

[image of music]

より一般的には、以下で示すように、使用可能な音楽シンボルはすべてマークアップ オブジェクトに含めることができます。The Feta font に、音楽シンボルと音楽シンボル名の徹底したリストがあります。

c2
c'^\markup { \musicglyph #"eight" }
c,4
c,8._\markup { \musicglyph #"clefs.G_change" }
c16
c2^\markup { \musicglyph #"timesig.neomensural94" }

[image of music]

テキストではない図柄を譜刻するもう 1 つの方法が フォントの説明 で記述されています。この方法はさまざまなサイズの波括弧を譜刻する場合に有用です。

さらに、マークアップ モードは特定の楽器のためのダイアグラムをサポートします:

c1^\markup {
  \fret-diagram-terse #"x;x;o;2;3;2;"
}
c^\markup {
  \harp-pedal #"^-v|--ov^"
}
c
c^\markup {
  \combine
    \musicglyph #"accordion.discant"
    \combine
      \raise #0.5 \musicglyph #"accordion.dot"
      \raise #1.5 \musicglyph #"accordion.dot"
}

[image of music]

そのようなダイアグラムは Instrument Specific Markup でドキュメント化されています。

楽譜全体でさえもマークアップ オブジェクト内部にネストさせることができます。そのような場合、以下で示すように、ネストされる \score ブロックには \layout ブロックを含める必要があります:

c4 d^\markup {
  \score {
    \relative c' { c4 d e f }
    \layout { }
  }
}
e f |
c d e f

[image of music]

Music に、音楽記譜法関連のコマンドの徹底したリストがあります。

参照

記譜法リファレンス: Music, The Feta font, フォントの説明

コード断片集: Text

内部リファレンス: TextScript

インストールされているファイル: ‘scm/define-markup-commands.scm’, ‘scm/fret-diagrams.scm’, ‘scm/harp-pedals.scm’.


複数ページにわたるマークアップ

標準のマークアップ オブジェクトは分割することができません。しかしながら、 ある特定の構文は複数ページにわたるテキストを入力することを可能にします:

\markuplines {
  \justified-lines {
    両端揃えされた非常に長いテキスト。
    ...
  }
  \wordwrap-lines {
    もう 1 つの非常に長いテキスト。
    ...
  }
  ...
}

[image of music]

この構文はマークアップのリストを受け付けます。受け付けるものは以下の通りです:

Text markup list commands に、マークアップ リスト コマンドの徹底したリストがあります。

参照

記譜法リファレンス: Text markup list commands,

コード断片集: Text

拡張: New markup list command definition

内部リファレンス: TextScript

インストールされているファイル: ‘scm/define-markup-commands.scm’.

定義済みコマンド

\markuplines


1.8.3 フォント

このセクションでは、フォントを扱う方法と、楽譜の中でフォントを変更する方法について説明します。


フォントの説明

フォントはいくつかのライブラリを通じて扱われます。FontConfig はシステムで利用可能なフォントを検出するために使用されます。選択されたフォントは Pango を用いて描かれます。

音楽記譜フォントはいくつかのファミリに分類された特殊な図柄のセットと言うことができます。以下の構文により、さまざまな LilyPond feta 非テキスト フォントをマークアップ モードの中で直接使用することが可能になります:

a1^\markup {
  \vcenter {
    \override #'(font-encoding . fetaBraces)
    \lookup #"brace120"
    \override #'(font-encoding . fetaText)
    \column { 1 3 sf }
    \override #'(font-encoding . fetaMusic)
    \lookup #"noteheads.s0petrucci"
  }
}

[image of music]

しかしながら、これらの図柄はすべて – fetaBraces で保持されているさまざまサイズの波括弧を除いて – は、マークアップ内部での音楽記譜法 で記述されている、もっと簡単な構文を用いて利用することができます。

fetaBraces に保持されている図柄を使う場合、波括弧のサイズは図柄名の一部となっている任意の数値によって指定されます。0 から 575 までの整数すべてを指定でき、0 は最小の波括弧を提供します。最適な値はトライ&エラーで決定する必要があります。これらの図柄はすべて左波括弧です。右波括弧は回転によって得ることができます – Rotating objects を参照してください。

3 ファミリのテキスト フォントが利用可能になっています: roman (serif) フォント – これはデフォルトでは New Century Schoolbook です – と、sans フォントと単一幅の typewriter フォント – これら 2 つのファミリは Pango のインストール時に決定されます – です。

それぞれのファミリには異なる形状とセットのフォントが保持されています。以下の例は、ファミリ、形状、セットそれにサイズを変更する様子を示しています。デフォルト サイズから変更する場合、font-size に提供する値が必要となります。

\override Score.RehearsalMark #'font-family = #'typewriter
\mark \markup "Ouverture"
\override Voice.TextScript #'font-shape = #'italic
\override Voice.TextScript #'font-series = #'bold
d2.^\markup "Allegro"
\override Voice.TextScript #'font-size = #-3
c4^smaller

[image of music]

同様の構文をマークアップ モードの中で使用することができます。しかしながら、マークアップ モードの中では、フォントとフォント サイズを選択する で説明されている、もっと簡単な構文を使用するほうが良いでしょう:

\markup {
  \column {
    \line {
      \override #'(font-shape . italic)
      \override #'(font-size . 4)
      Idomeneo,
    }
    \line {
      \override #'(font-family . typewriter)
      {
        \override #'(font-series . bold)
        re
        di
      }
      \override #'(font-family . sans)
      Creta
    }
  }
}

[image of music]

あらかじめ構成されているフォント間で切り替えを行う方が簡単ですが、他のフォントを使用することも可能です。他のフォントを使用する方法は以下のセクションで説明されています: 個々に登録するフォントドキュメント全体のフォント

参照

記譜法リファレンス: The Feta font, マークアップ内部での音楽記譜法, Rotating objects, フォントとフォント サイズを選択する, フォント


個々に登録するフォント

以下の構文を用いることで、オペレーティング システムにインストールされていて、FontConfig に認識されている任意のフォントを楽譜の中で使用することができます:

\override Staff.TimeSignature #'font-name = #"Bitstream Charter"
\override Staff.TimeSignature #'font-size = #2
\time 3/4

a1_\markup {
  \override #'(font-name . "Vera Bold")
    { Vera Bold }
}

[image of music]

以下のコマンドはオペレーティング システムで利用可能なすべてのフォントのリストを表示します:

lilypond -dshow-available-fonts x

参照

記譜法リファレンス: フォントの説明, ドキュメント全体のフォント

コード断片集: Text


ドキュメント全体のフォント

以下の例で示す方法に従ってフォント ファミリを指定することにより、roman, sans それに typewriter フォント ファミリとして使用されるデフォルト フォントを変更することができます。フォントについての説明は、フォントの説明 を参照してください。

\paper  {
  myStaffSize = #20
  #(define fonts
    (make-pango-font-tree "Times New Roman"
                          "Nimbus Sans"
                          "Luxi Mono"
                           (/ myStaffSize 20)))
}

\relative c'{
  c1-\markup {
    roman,
    \sans sans,
    \typewriter typewriter. }
}

[image of music]

参照

記譜法リファレンス: フォントの説明, 個々に登録するフォント, フォントとフォント サイズを選択する, フォント


2. Specialist notation

This chapter explains how to create musical notation for specific types of instrument or in specific styles.


2.1 Vocal music

[image of music]

This section explains how to typeset vocal music, and make sure that the lyrics will be aligned with the notes of their melody.


2.1.1 Common notation for vocal music

This section discusses issues common to most types of vocal music.


References for vocal music

This section indicates where to find details of notation issues that may arise in any type of vocal music.

参照

Music Glossary: ambitus.

Learning Manual: Setting simple songs.

Notation Reference: テキスト マークアップの導入部, 音域, Score layouts for choral.

Snippets: Vocal music.


Entering lyrics

Lyrics are entered in a special input mode, which can be introduced by the keyword \lyricmode, or by using \addlyrics or \lyricsto. In this special input mode, the input d is not parsed as the pitch D, but rather as a one-letter syllable of text. In other words, syllables are entered like notes but with pitches replaced by text.

For example:

\lyricmode { Three4 blind mice,2 three4 blind mice2 }

There are two main methods for specifying the horizontal placement of the syllables, either by specifying the duration of each syllable explicitly, as in the example above, or by leaving the lyrics to be aligned automatically to a melody or other voice of music, using \addlyrics or \lyricsto. The former method is described below in Manual syllable durations. The latter method is described in Automatic syllable durations.

A word or syllable of lyrics begins with an alphabetic character (plus some other characters, see below) and is terminated by any white space or a digit. Later characters in the syllable can be any character that is not a digit or white space.

Because any character that is not a digit or white space is regarded as part of the syllable, a word is valid even if it ends with }, which often leads to the following mistake:

\lyricmode { lah lah lah}

In this example, the } is included in the final syllable, so the opening brace is not balanced and the input file will probably not compile. Instead, braces should always be surrounded with white space:

\lyricmode { lah lah lah }

Similarly, in lyric mode, a period will be included in the alphabetic sequence that it follows. As a consequence, spaces must be inserted around the period in \override commands. Do not write

\override Score.LyricText #'font-shape = #'italic

but instead use

\override Score . LyricText #'font-shape = #'italic

Punctuation, lyrics with accented characters, characters from non-English languages, or special characters (such as the heart symbol or slanted quotes), may simply be inserted directly into the input file, providing it is saved with UTF-8 encoding. For more information, see Text encoding.

\relative c'' { d8 c16 a bes8 f e' d c4 }
\addlyrics { „Schad’ um das schö -- ne grü -- ne Band, }

[image of music]

Normal quotes may be used in lyrics, but they have to be preceded with a backslash character and the whole syllable has to be enclosed between additional quotes. For example,

\relative c' { \time 3/4 e4 e4. e8 d4 e d c2. }
\addlyrics { "\"I" am so lone -- "ly,\"" said she }

[image of music]

The full definition of a word start in lyrics mode is somewhat more complex. A word in lyrics mode is one that begins with an alphabetic character, _, ?, !, :, ', the control characters ^A through ^F, ^Q through ^W, ^Y, ^^, any 8-bit character with an ASCII code over 127, or a two-character combination of a backslash followed by one of `, ', ", or ^.

Great control over the appearance of lyrics comes from using \markup inside the lyrics themselves. For explanation of many options, see テキストをフォーマットする.

Selected Snippets

Formatting lyrics syllables

Markup mode may be used to format individual syllables in lyrics.

mel = \relative c'' { c4 c c c }
lyr = \lyricmode {
  Lyrics \markup { \italic can } \markup { \with-color #red contain }
  \markup { \fontsize #8 \bold Markup! }
}

<<
  \new Voice = melody \mel
  \new Lyrics \lyricsto melody \lyr
>>

[image of music]

参照

Learning Manual: Songs.

Notation Reference: Automatic syllable durations, フォント, テキストをフォーマットする, Input modes, Manual syllable durations, Text encoding.

Internals Reference: LyricText.

Snippets: Text


Aligning lyrics to a melody

Lyrics are printed by interpreting them in the context called Lyrics, see Contexts explained.

\new Lyrics \lyricmode { … }

Lyrics can be aligned with melodies in two main ways:

参照

Learning Manual: Aligning lyrics to a melody.

Notation Reference: Contexts explained, Automatic syllable durations. Stanzas, Manual syllable durations, Dialogue over music, Manual syllable durations.

Internals Reference: Lyrics.


Automatic syllable durations

Lyrics can be automatically aligned to the notes of a melody in three ways:

In all three methods hyphens can be drawn between the syllables of a word and extender lines can be drawn beyond the end of a word. For details, see Extenders and hyphens.

The Voice context containing the melody to which the lyrics are being aligned must not have “died”, or the lyrics after that point will be lost. This can happen if there are periods when that voice has nothing to do. For methods of keeping contexts alive, see Keeping contexts alive.

Using \lyricsto

Lyrics can be aligned under a melody automatically by specifying the named Voice context containing the melody with \lyricsto:

<<
  \new Voice = "melody" {
    a4 a a a
  }
  \new Lyrics \lyricsto "melody" {
    These are the words
  }
>>

[image of music]

This aligns the lyrics to the notes of the named Voice context, which must already exist. Therefore normally the Voice context is specified first, followed by the Lyrics context. The lyrics themselves follow the \lyricsto command. The \lyricsto command invokes lyric mode automatically, so the \lyricmode keyword may be omitted. By default, the lyrics are placed underneath the notes. For other placements, see Placing lyrics vertically.

Using \addlyrics

The \addlyrics command is just a convenient shortcut that can sometimes be used instead of having to set up the lyrics through a more complicated LilyPond structure.

{ MUSIC }
\addlyrics { LYRICS }

is the same as

\new Voice = "blah" { MUSIC }
\new Lyrics \lyricsto "blah" { LYRICS }

Here is an example,

{
  \time 3/4
  \relative c' { c2 e4 g2. }
  \addlyrics { play the game }
}

[image of music]

More stanzas can be added by adding more \addlyrics sections:

{
  \time 3/4
  \relative c' { c2 e4 g2. }
  \addlyrics { play the game }
  \addlyrics { speel het spel }
  \addlyrics { joue le jeu }
}

[image of music]

The command \addlyrics cannot handle polyphonic settings. For these cases one should use \lyricsto.

Using associatedVoice

The melody to which the lyrics are being aligned can be changed by setting the associatedVoice property,

\set associatedVoice = #"lala"

The value of the property (here: "lala") should be the name of a Voice context. For technical reasons, the \set command must be placed one syllable before the one to which the change in voice is to apply.

Here is an example demonstrating its use:

<<
  \new Staff <<
    \time 2/4
    \new Voice = "one" \relative c'' {
      \voiceOne
      c4 b8. a16 g4. r8 a4 ( b ) c2
    }
    \new Voice = "two" \relative c' {
      \voiceTwo
       s2 s4. f8 e8 d4. c2
    }
  >>
% takes durations and alignment from notes in "one" initially
% then switches to "two"
  \new Lyrics \lyricsto "one" {
    No more let
    \set associatedVoice = "two"  % must be set one syllable early
    sins and sor -- rows grow.
  }
>>

[image of music]

参照

Notation Reference: Extenders and hyphens, Keeping contexts alive, Placing lyrics vertically.


Manual syllable durations

In some complex vocal music, it may be desirable to place lyrics completely independently of notes. In this case do not use \lyricsto or \addlyrics and do not set associatedVoice. Syllables are entered like notes – but with pitches replaced by text – and the duration of each syllable is entered explicitly after the syllable.

By default, syllables will be left-aligned to the corresponding musical moment. Hyphenated lines may be drawn between syllables as usual, but extender lines cannot be drawn when there is no associated voice.

Here are two examples:

<<
  \new Voice = "melody" {
    \time 3/4
    c2 e4 g2 f
  }
  \new Lyrics \lyricmode {
    play1 the4 game4
  }
>>

[image of music]

<<
  \new Staff {
    \relative c'' {
      c2 c2
      d1
    }
  }
  \new Lyrics {
    \lyricmode {
      I2 like4. my8 cat!1
    }
  }
  \new Staff {
    \relative c' {
      c8 c c c c c c c
      c8 c c c c c c c
    }
  }
>>

[image of music]

This technique is useful when writing dialogue over music, see Dialogue over music.

To center-align syllables on the notes at the corresponding musical moments, set associatedVoice to the name of the Voice context containing those notes. When associatedVoice is set, both double hyphens and double underscores can be used to draw hyphenated lines and extenders under melismata correctly.

<<
  \new Voice = "melody" {
    \time 3/4
    c2 e4 g f g
  }
  \new Lyrics \lyricmode {
    \set associatedVoice = #"melody"
    play2 the4 game2. __
  }
>>

[image of music]

参照

Notation Reference: Dialogue over music.

Internals Reference: Lyrics, Voice.


Multiple syllables to one note

In order to assign more than one syllable to a single note with spaces between the syllables, you can surround the phrase with quotes or use a _ character. Alternatively, you can use code the tilde symbol (~) to get a lyric tie. The lyric tie is implemented with the Unicode character U+203F, so be sure to use a font for this glyph which actually contains it. Freely available fonts with a lyric tie are, for example, ‘FreeSerif’ (a Times clone), ‘DejaVuSans’ (but not ‘DejaVuSerif’), or ‘TeXGyreSchola’ (a Century Schoolbook clone).

{
  \time 3/4
  \relative c' { c2 e4 g2 e4 }
  \addlyrics { gran- de_a- mi- go }
  \addlyrics { pu- "ro y ho-" nes- to }
  \addlyrics { pu- ro~y~ho- nes- to }
}

[image of music]

参照

Internals Reference: LyricCombineMusic.


Multiple notes to one syllable

Sometimes, particularly in Medieval music, several notes are to be sung on one syllable; such vocalises are called melismata, or melismas. The syllable to a melisma is usually left-aligned with the first note of the melisma.

When a melisma occurs on a syllable other that the last one in a word, that syllable is usually joined to the following one with a hyphenated line. This is indicated by placing a double hyphen, --, immediately after the syllable.

Alternatively, when a melisma occurs on the last or only syllable in a word an extender line is usually drawn from the end of the syllable to the last note of the melisma. This is indicated by placing a double underscore, __, immediately after the word.

There are five ways in which melismata can be indicated:

It is possible to have ties, slurs and manual beams in the melody without their indicating melismata. To do this, set melismaBusyProperties:

<<
  \new Voice = "melody" {
    \time 3/4
    \set melismaBusyProperties = #'()
    c4 d ( e )
    g8 [ f ] f4 ~ f
  }
  \new Lyrics \lyricsto "melody" {
    Ky -- ri -- e e -- le -- i -- son
  }
>>

[image of music]

Other settings for melismaBusyProperties can be used to selectively include or exclude ties, slurs, and beams from the automatic detection of melismata; see melismaBusyProperties in Tunable context properties.

Alternatively, if all melismata indications are to be ignored, ignoreMelismata may be set true; see Stanzas with different rhythms.

If a melisma is required during a passage in which melismaBusyProperties is active, it may be indicated by placing a single underscore in the lyrics for each note which should be included in the melisma:

<<
  \new Voice = "melody" {
    \time 3/4
    \set melismaBusyProperties = #'()
    c4 d ( e )
    g8 [ f ] ~ f4 ~ f
  }
  \new Lyrics \lyricsto "melody" {
    Ky -- ri -- _ e __ _ _ _
  }
>>

[image of music]

定義済みコマンド

\autoBeamOff, \autoBeamOn, \melisma, \melismaEnd.

参照

Musical Glossary: melisma.

Learning Manual: Aligning lyrics to a melody.

Notation Reference: Aligning lyrics to a melody, Automatic syllable durations, 自動連桁の振る舞いを設定する, Stanzas with different rhythms.

Internals Reference: Tunable context properties.

既知の問題と警告

Extender lines under melismata are not created automatically; they must be inserted manually with a double underscore.


Extenders and hyphens

In the last syllable of a word, melismata are sometimes indicated with a long horizontal line starting in the melisma syllable, and ending in the next one. Such a line is called an extender line, and it is entered as ‘ __ ’ (note the spaces before and after the two underscore characters).

Note: Melismata are indicated in the score with extender lines, which are entered as one double underscore; but short melismata can also be entered by skipping individual notes, which are entered as single underscore characters; these do not make an extender line to be typeset by default.

Centered hyphens are entered as ‘ -- ’ between syllables of a same word (note the spaces before and after the two hyphen characters). The hyphen will be centered between the syllables, and its length will be adjusted depending on the space between the syllables.

In tightly engraved music, hyphens can be removed. Whether this happens can be controlled with the minimum-distance (minimum distance between two syllables) and the minimum-length (threshold below which hyphens are removed) properties of LyricHyphen.

参照

Internals Reference: LyricExtender, LyricHyphen.


2.1.2 Techniques specific to lyrics


Working with lyrics and variables

Variables containing lyrics can be created, but the lyrics must be entered in lyric mode:

musicOne = \relative c'' {
  c4 b8. a16 g4. f8 e4 d c2
}
verseOne = \lyricmode {
  Joy to the world, the Lord is come.
}
\score {
  <<
    \new Voice = "one" {
      \time 2/4
      \musicOne
    }
    \new Lyrics \lyricsto "one" {
      \verseOne
    }
  >>
}

[image of music]

Durations do not need to be added if the variable is to be invoked with \addlyrics or \lyricsto.

For different or more complex orderings, the best way is to define the music and lyric variables first, then set up the hierarchy of staves and lyrics, omitting the lyrics themselves, and then add the lyrics using \context underneath. This ensures that the voices referenced by \lyricsto have always been defined earlier. For example:

sopranoMusic = \relative c'' { c4 c c c }
contraltoMusic = \relative c'' { a4 a a a }
sopranoWords = \lyricmode { Sop -- ra -- no words }
contraltoWords = \lyricmode { Con -- tral -- to words }

\score {
  \new ChoirStaff <<
    \new Staff {
      \new Voice = "sopranos" {
        \sopranoMusic
      }
    }
    \new Lyrics = "sopranos"
    \new Lyrics = "contraltos"
    \new Staff {
      \new Voice = "contraltos" {
        \contraltoMusic
      }
    }
    \context Lyrics = "sopranos" {
      \lyricsto "sopranos" {
        \sopranoWords
      }
    }
    \context Lyrics = "contraltos" {
      \lyricsto "contraltos" {
        \contraltoWords
      }
    }
  >>
}

[image of music]

参照

Notation Reference: Placing lyrics vertically.

Internals Reference: LyricCombineMusic, Lyrics.


Placing lyrics vertically

Depending on the type of music, lyrics may be positioned above the staff, below the staff, or between staves. Placing lyrics below the associated staff is the easiest, and can be achieved by simply defining the Lyrics context below the Staff context:

\score {
  <<
    \new Staff {
      \new Voice = "melody" {
        \relative c'' { c4 c c c }
      }
    }
    \new Lyrics {
      \lyricsto "melody" {
        Here are the words
      }
    }
  >>
}

[image of music]

Lyrics may be positioned above the staff using one of two methods. The simplest (and preferred) method is to use the same syntax as above and explicitly specify the position of the lyrics:

\score {
  <<
    \new Staff = "staff" {
      \new Voice = "melody" {
        \relative c'' { c4 c c c }
      }
    }
    \new Lyrics \with { alignAboveContext = "staff" } {
      \lyricsto "melody" {
        Here are the words
      }
    }
  >>
}

[image of music]

Alternatively, a two-step process may be used. First the Lyrics context is declared (without any content) before the Staff and Voice contexts, then the \lyricsto command is placed after the Voice declaration it references by using \context, as follows:

\score {
  <<
    \new Lyrics = "lyrics" \with {
      % lyrics above a staff should have this override
      \override VerticalAxisGroup #'staff-affinity = #DOWN
    }
    \new Staff {
      \new Voice = "melody" {
        \relative c'' { c4 c c c }
      }
    }
    \context Lyrics = "lyrics" {
      \lyricsto "melody" {
        Here are the words
      }
    }
  >>
}

[image of music]

When there are two voices on separate staves the lyrics may be placed between the staves using either of these methods. Here is an example of the second method:

\score {
  \new ChoirStaff <<
    \new Staff {
      \new Voice = "sopranos" {
        \relative c'' { c4 c c c }
      }
    }
    \new Lyrics = "sopranos"
    \new Lyrics = "contraltos" \with {
      % lyrics above a staff should have this override
      \override VerticalAxisGroup #'staff-affinity = #DOWN
    }
    \new Staff {
      \new Voice = "contraltos" {
        \relative c'' { a4 a a a }
      }
    }
    \context Lyrics = "sopranos" {
      \lyricsto "sopranos" {
        Sop -- ra -- no words
      }
    }
    \context Lyrics = "contraltos" {
      \lyricsto "contraltos" {
        Con -- tral -- to words
      }
    }
  >>
}

[image of music]

Other combinations of lyrics and staves may be generated by elaborating these examples, or by examining the Vocal ensembles templates in the Learning Manual.

Selected Snippets

Obtaining 2.12 lyrics spacing in newer versions

The vertical spacing engine changed for version 2.14. This can cause lyrics to be spaced differently. It is possible to set properties for Lyric and Staff contexts to get the spacing engine to behave as it did in version 2.12.

global = {
  \key d \major
  \time 3/4
}

sopMusic = \relative c' {
  % VERSE ONE
  fis4 fis fis | \break
  fis4. e8 e4
}

altoMusic = \relative c' {
  % VERSE ONE
  d4 d d |
  d4. b8 b4 |
}

tenorMusic = \relative c' {
  a4 a a |
  b4. g8 g4 |
}

bassMusic = \relative c {
  d4 d d |
  g,4. g8 g4 |
}

words = \lyricmode {
  Great is Thy faith- ful- ness,
}

\score {
  \new ChoirStaff <<
    \new Lyrics = sopranos
    \new Staff = women <<
      \new Voice = "sopranos" {
        \voiceOne
        \global \sopMusic
      }
      \new Voice = "altos" {
        \voiceTwo
        \global \altoMusic
      }
    >>
    \new Lyrics = "altos"
    \new Lyrics = "tenors"
    \new Staff = men <<
      \clef bass
      \new Voice = "tenors" {
        \voiceOne
        \global \tenorMusic
      }
      \new Voice = "basses" {
        \voiceTwo  \global \bassMusic
      }
    >>
    \new Lyrics = basses
    \context Lyrics = sopranos \lyricsto sopranos \words
    \context Lyrics = altos \lyricsto altos \words
    \context Lyrics = tenors \lyricsto tenors \words
    \context Lyrics = basses \lyricsto basses \words
  >>
  \layout {
    \context {
      \Lyrics
      \override VerticalAxisGroup #'staff-affinity = ##f
      \override VerticalAxisGroup #'staff-staff-spacing =
        #'((basic-distance . 0)
	   (minimum-distance . 2)
	   (padding . 2))
    }
    \context {
      \Staff
      \override VerticalAxisGroup #'staff-staff-spacing =
        #'((basic-distance . 0)
	   (minimum-distance . 2)
	   (padding . 2))
    }
  }
}

[image of music]

参照

Learning Manual: Vocal ensembles.

Notation Reference: Aligning contexts, Creating contexts.


Placing syllables horizontally

To increase the spacing between lyrics, set the minimum-distance property of LyricSpace.

{
  c c c c
  \override Lyrics.LyricSpace #'minimum-distance = #1.0
  c c c c
}
\addlyrics {
  longtext longtext longtext longtext
  longtext longtext longtext longtext
}

[image of music]

To make this change for all lyrics in the score, set the property in the \layout block.

\score {
  \relative c' {
  c c c c
  c c c c
  }
  \addlyrics {
  longtext longtext longtext longtext
  longtext longtext longtext longtext
  }
  \layout {
    \context {
      \Lyrics
      \override LyricSpace #'minimum-distance = #1.0
    }
  }
}

[image of music]

Selected Snippets

Lyrics alignment

Horizontal alignment for lyrics cam be set by overriding the self-alignment-X property of the LyricText object. #-1 is left, #0 is center and #1 is right; however, you can use #LEFT, #CENTER and #RIGHT as well.

\layout { ragged-right = ##f }
\relative c'' {
  c1
  c1
  c1
}
\addlyrics {
  \once \override LyricText #'self-alignment-X = #LEFT
  "This is left-aligned"
  \once \override LyricText #'self-alignment-X = #CENTER
  "This is centered"
  \once \override LyricText #'self-alignment-X = #1
  "This is right-aligned"
}

[image of music]

Checking to make sure that text scripts and lyrics are within the margins requires additional calculations. To speed up processing slightly, this feature can be disabled:

\override Score.PaperColumn #'keep-inside-line = ##f

To make lyrics avoid bar lines as well, use

\layout {
  \context {
    \Lyrics
      \consists "Bar_engraver"
      \consists "Separating_line_group_engraver"
      \override BarLine #'transparent = ##t
  }
}

Lyrics and repeats

Simple repeats

Repeats in music are fully described elsewhere; see 繰り返し. This section explains how to add lyrics to repeated sections of music.

Lyrics to a section of music that is repeated should be surrounded by exactly the same repeat construct as the music, if the words are unchanged.

\score {
  <<
    \new Staff {
      \new Voice = "melody" {
        \relative c'' {
          a4 a a a
          \repeat volta 2 { b4 b b b }
        }
      }
    }
    \new Lyrics {
      \lyricsto "melody" {
        Not re -- peat -- ed.
        \repeat volta 2 { Re -- peat -- ed twice. }
      }
    }
  >>
}

[image of music]

The words will then be correctly expanded if the repeats are unfolded.

\score {
  \unfoldRepeats {
    <<
      \new Staff {
        \new Voice = "melody" {
          \relative c'' {
            a4 a a a
            \repeat volta 2 { b4 b b b }
          }
        }
      }
      \new Lyrics {
        \lyricsto "melody" {
          Not re -- peat -- ed.
          \repeat volta 2 { Re -- peat -- ed twice. }
        }
      }
    >>
  }
}

[image of music]

If the repeated section is to be unfolded and has different words, simply enter all the words:

\score {
  <<
    \new Staff {
      \new Voice = "melody" {
        \relative c'' {
          a4 a a a
          \repeat unfold 2 { b4 b b b }
        }
      }
    }
    \new Lyrics {
      \lyricsto "melody" {
        Not re -- peat -- ed.
        The first time words.
        Sec -- ond time words.
      }
    }
  >>
}

[image of music]

When the words to a repeated volta section are different, the words to each repeat must be entered in separate Lyrics contexts, correctly nested in parallel sections:

\score {
  <<
    \new Staff {
      \new Voice = "melody" {
        \relative c'' {
          a4 a a a
          \repeat volta 2 { b4 b b b }
        }
      }
    }
    \new Lyrics \lyricsto "melody" {
      Not re -- peat -- ed.
      <<
	{ The first time words. }
	\new Lyrics {
	  \set associatedVoice = "melody"
	  Sec -- ond time words.
	}
      >>
    }
  >>
}

[image of music]

More verses may be added in a similar way:

\score {
  <<
    \new Staff {
      \new Voice = "singleVoice" {
        \relative c'' {
	  a4 a a a
	  \repeat volta 3 { b4 b b b }
          c4 c c c
	}
      }
    }
    \new Lyrics \lyricsto "singleVoice" {
      Not re -- peat -- ed.
      <<
        { The first time words.	}
	\new Lyrics {
	  \set associatedVoice = "singleVoice"
	  Sec -- ond time words.
	}
	\new Lyrics {
	  \set associatedVoice = "singleVoice"
	  The third time words.
	}
      >>
      The end sec -- tion.
    }
  >>
}

[image of music]

Repeats with alternative endings

If the words of the repeated section are the same, exactly the same structure can be used for both the lyrics and music.

\score {
  <<
    \new Staff {
      \time 2/4
      \new Voice = "melody" {
        \relative c'' {
          a4 a a a
          \repeat volta 2 { b4 b }
          \alternative { { b b } { b c } }
        }
      }
    }
    \new Lyrics {
      \lyricsto "melody" {
        Not re -- peat -- ed.
        \repeat volta 2 { Re -- peat -- }
        \alternative { { ed twice. } { ed twice. } }
      }
    }
  >>
}

[image of music]

But when the repeated section has different words, a repeat construct cannot be used around the words and \skip commands have to be inserted manually to skip over the notes in the alternative sections which do not apply.

Note: do not use an underscore, _, to skip notes – an underscore indicates a melisma, causing the preceding syllable to be left-aligned.

Note: The \skip command must be followed by a number, but this number is ignored in lyrics which derive their durations from the notes in an associated melody through addlyrics or lyricsto. Each \skip skips a single note of any value, irrespective of the value of the following number.

\score {
  <<
    \new Staff {
      \time 2/4
      \new Voice = "melody" {
        \relative c'' {
          \repeat volta 2 { b4 b }
          \alternative { { b b } { b c } }
          c4 c
        }
      }
    }
    \new Lyrics {
      \lyricsto "melody" {
        The first time words.
        \repeat unfold 2 { \skip 1 }
        End here.
      }
    }
    \new Lyrics {
      \lyricsto "melody" {
        Sec -- ond
        \repeat unfold 2 { \skip 1 }
        time words.
      }
    }
  >>
}

[image of music]

When a note is tied over into two or more alternative endings a tie is used to carry the note into the first alternative ending and a \repeatTie is used in the second and subsequent endings. This structure causes difficult alignment problems when lyrics are involved and increasing the length of the alternative sections so the tied notes are contained wholly within them may give a more acceptable result.

The tie creates a melisma into the first alternative, but not into the second and subsequent alternatives, so to align the lyrics correctly it is necessary to disable the automatic creation of melismata over the volta section and insert manual skips.

\score {
  <<
    \new Staff {
      \time 2/4
      \new Voice = "melody" {
        \relative c'' {
          \set melismaBusyProperties = #'()
          \repeat volta 2 { b4 b ~}
          \alternative { { b b } { b \repeatTie c } }
          \unset melismaBusyProperties
          c4 c
        }
      }
    }
    \new Lyrics {
      \lyricsto "melody" {
        \repeat volta 2 { Here's a __ }
        \alternative {
          { \skip 1 verse }
          { \skip 1 sec }
        }
        ond one.
      }
    }
  >>
}

[image of music]

Note that if \unfoldRepeats is used around a section containing \repeatTie, the \repeatTie should be removed to avoid both types of tie being printed.

When the repeated section has different words a \repeat cannot be used around the lyrics and \skip commands need to be inserted manually, as before.

\score {
  <<
    \new Staff {
      \time 2/4
      \new Voice = "melody" {
        \relative c'' {
          \repeat volta 2 { b4 b ~}
          \alternative { { b b } { b \repeatTie c } }
          c4 c
        }
      }
    }
    \new Lyrics {
      \lyricsto "melody" {
        Here's a __ verse.
        \repeat unfold 2 { \skip 1 }
      }
    }
    \new Lyrics {
      \lyricsto "melody" {
        Here's one
        \repeat unfold 2 { \skip 1 }
        more to sing.
      }
    }
  >>
}

[image of music]

If you wish to show extenders and hyphens into and out of alternative sections these must be inserted manually.

\score {
  <<
    \new Staff {
      \time 2/4
      \new Voice = "melody" {
        \relative c'' {
          \repeat volta 2 { b4 b ~}
          \alternative { { b b } { b \repeatTie c } }
          c4 c
        }
      }
    }
    \new Lyrics {
      \lyricsto "melody" {
        Here's a __ verse.
        \repeat unfold 2 { \skip 1 }
      }
    }
    \new Lyrics {
      \lyricsto "melody" {
        Here's "a_"
        \skip 1
        "_" sec -- ond one.
      }
    }
  >>
}

[image of music]

参照

Notation Reference: Keeping contexts alive, 繰り返し.


Divisi lyrics

When just the words and rhythms of the two parts differ with the pitches remaining the same, temporarily turning off the automatic detection of melismata and indicating the melisma in the lyrics may be the appropriate method to use:

\score {
  <<
    \new Voice = "melody" {
      \relative c' {
        \set melismaBusyProperties = #'()
        \slurDown
        \slurDashed
        e4 e8 ( e ) c4 c |
        \unset melismaBusyProperties
        c
      }
    }
    \new Lyrics \lyricsto "melody" {
      They shall not o -- ver -- come
    }
    \new Lyrics \lyricsto "melody" {
      We will _
    }
  >>
}

[image of music]

When both music and words differ it may be better to display the differing music and lyrics by naming voice contexts and attaching lyrics to those specific contexts:

\score {
  <<
    \new Voice = "melody" {
      \relative c' {
        <<
          {
            \voiceOne
            e4 e8 e
          }
          \new Voice = "splitpart" {
            \voiceTwo
            c4 c
          }
        >>
        \oneVoice
        c4 c |
        c
      }
    }
    \new Lyrics \lyricsto "melody" {
      They shall not o -- ver -- come
    }
    \new Lyrics \lyricsto "splitpart" {
      We will
    }
  >>
}

[image of music]


2.1.3 Stanzas


Adding stanza numbers

Stanza numbers can be added by setting stanza, e.g.,

\new Voice {
  \time 3/4 g2 e4 a2 f4 g2.
} \addlyrics {
  \set stanza = #"1. "
  Hi, my name is Bert.
} \addlyrics {
  \set stanza = #"2. "
  Oh, ché -- ri, je t'aime
}

[image of music]

These numbers are put just before the start of the first syllable.


Adding dynamics marks to stanzas

Stanzas differing in loudness may be indicated by putting a dynamics mark before each stanza. In LilyPond, everything coming in front of a stanza goes into the StanzaNumber object; dynamics marks are no different. For technical reasons, you have to set the stanza outside \lyricmode:

text = {
  \set stanza = \markup { \dynamic "ff" "1. " }
  \lyricmode {
    Big bang
  }
}

<<
  \new Voice = "tune" {
    \time 3/4
    g'4 c'2
  }
\new Lyrics \lyricsto "tune" \text
>>

[image of music]


Adding singers’ names to stanzas

Names of singers can also be added. They are printed at the start of the line, just like instrument names. They are created by setting vocalName. A short version may be entered as shortVocalName.

\new Voice {
  \time 3/4 g2 e4 a2 f4 g2.
} \addlyrics {
  \set vocalName = #"Bert "
  Hi, my name is Bert.
} \addlyrics {
  \set vocalName = #"Ernie "
  Oh, ché -- ri, je t'aime
}

[image of music]


Stanzas with different rhythms

Often, different stanzas of one song are put to one melody in slightly differing ways. Such variations can still be captured with \lyricsto.

Ignoring melismata

One possibility is that the text has a melisma in one stanza, but multiple syllables in another. One solution is to make the faster voice ignore the melisma. This is done by setting ignoreMelismata in the Lyrics context.

<<
  \relative c' \new Voice = "lahlah" {
    \set Staff.autoBeaming = ##f
    c4
    \slurDotted
    f8.[( g16])
    a4
  }
  \new Lyrics \lyricsto "lahlah" {
    more slow -- ly
  }
  \new Lyrics \lyricsto "lahlah" {
    go
    \set ignoreMelismata = ##t
    fas -- ter
    \unset ignoreMelismata
    still
  }
>>

[image of music]

既知の問題と警告

Unlike most \set commands, \set ignoreMelismata does not work if prefixed with \once. It is necessary to use \set and \unset to bracket the lyrics where melismata are to be ignored.

Adding syllables to grace notes

By default, grace notes (e.g. via \grace) do not get assigned syllables when using \lyricsto, but this behavior can be changed:

<<
  \new Voice = melody \relative c' {
    f4 \appoggiatura a32 b4
    \grace { f16[ a16] } b2
    \afterGrace b2 { f16[ a16] }
    \appoggiatura a32 b4
    \acciaccatura a8 b4
  }
  \new Lyrics
  \lyricsto melody {
    normal
    \set includeGraceNotes = ##t
    case,
    gra -- ce case,
    after -- grace case,
    \set ignoreMelismata = ##t
    app. case,
    acc. case.
  }
>>

[image of music]

既知の問題と警告

Like associatedVoice, includeGraceNotes needs to be set at latest one syllable before the one which is to be put under a grace note. For the case of a grace note at the very beginning of a piece of music, consider using a \with or \context block:

<<
  \new Voice = melody \relative c' {
    \grace { c16[( d e f] }
    g1) f
  }
  \new Lyrics \with { includeGraceNotes = ##t }
  \lyricsto melody {
    Ah __ fa
  }
>>

[image of music]

Switching to an alternative melody

More complex variations in setting lyrics to music are possible. The melody to which the lyrics are being set can be changed from within the lyrics by setting the associatedVoice property:

<<
  \relative c' \new Voice = "lahlah" {
    \set Staff.autoBeaming = ##f
    c4
    <<
      \new Voice = "alternative" {
        \voiceOne
        \times 2/3 {
          % show associations clearly.
          \override NoteColumn #'force-hshift = #-3
          f8 f g
        }
      }
      {
        \voiceTwo
        f8.[ g16]
        \oneVoice
      } >>
    a8( b) c
  }
  \new Lyrics \lyricsto "lahlah" {
    Ju -- ras -- sic Park
  }
  \new Lyrics \lyricsto "lahlah" {
    % Tricky: need to set associatedVoice
    % one syllable too soon!
    \set associatedVoice = "alternative" % applies to "ran"
    Ty --
    ran --
    no --
    \set associatedVoice = "lahlah" % applies to "rus"
    sau -- rus Rex
  } >>

[image of music]

The text for the first stanza is set to the melody called ‘lahlah’ in the usual way, but the second stanza is set initally to the lahlah context and is then switched to the alternative melody for the syllables ‘ran’ to ‘sau’ by the lines:

\set associatedVoice = "alternative" % applies to "ran"
Ty --
ran --
no --
\set associatedVoice = "lahlah" % applies to "rus"
sau -- rus Rex

Here, alternative is the name of the Voice context containing the triplet.

Note the placement of the \set associatedVoice command – it appears to be one syllable too early, but this is correct.

Note: The set associatedVoice command must be placed one syllable before the one at which the switch to the new voice is to occur. In other words, changing the associated Voice happens one syllable later than expected. This is for technical reasons, and it is not a bug.


Printing stanzas at the end

Sometimes it is appropriate to have one stanza set to the music, and the rest added in verse form at the end of the piece. This can be accomplished by adding the extra verses into a \markup section outside of the main score block. Notice that there are two different ways to force linebreaks when using \markup.

melody = \relative c' {
e d c d | e e e e |
d d e d | c1 |
}

text = \lyricmode {
\set stanza = #"1." Ma- ry had a lit- tle lamb,
its fleece was white as snow.
}

\score{ <<
  \new Voice = "one" { \melody }
  \new Lyrics \lyricsto "one" \text
>>
  \layout { }
}
\markup { \column{
  \line{ Verse 2. }
  \line{ All the children laughed and played }
  \line{ To see a lamb at school. }
  }
}
\markup{
  \wordwrap-string #"
  Verse 3.

  Mary took it home again,

  It was against the rule."
}

[image of music]


Printing stanzas at the end in multiple columns

When a piece of music has many verses, they are often printed in multiple columns across the page. An outdented verse number often introduces each verse. The following example shows how to produce such output in LilyPond.

melody = \relative c' {
  c c c c | d d d d
}

text = \lyricmode {
  \set stanza = #"1." This is verse one.
  It has two lines.
}

\score {
  <<
    \new Voice = "one" { \melody }
    \new Lyrics \lyricsto "one" \text
  >>
  \layout { }
}

\markup {
  \fill-line {
    \hspace #0.1 % moves the column off the left margin;
        % can be removed if space on the page is tight
     \column {
      \line { \bold "2."
        \column {
          "This is verse two."
          "It has two lines."
        }
      }
      \hspace #0.1 % adds vertical spacing between verses
      \line { \bold "3."
        \column {
          "This is verse three."
          "It has two lines."
        }
      }
    }
    \hspace #0.1  % adds horizontal spacing between columns;
        % if they are still too close, add more " " pairs
        % until the result looks good
     \column {
      \line { \bold "4."
        \column {
          "This is verse four."
          "It has two lines."
        }
      }
      \hspace #0.1 % adds vertical spacing between verses
      \line { \bold "5."
        \column {
          "This is verse five."
          "It has two lines."
        }
      }
    }
  \hspace #0.1 % gives some extra space on the right margin;
      % can be removed if page space is tight
  }
}

[image of music]

参照

Internals Reference: LyricText, StanzaNumber.


2.1.4 Songs


References for songs

Songs are usually written on three staves with the melody for the singer on the top staff and two staves of piano accompaniment at the bottom. The lyrics of the first stanza are printed immediately underneath the top staff. If there are just a small number of further stanzas these can be printed immediately under the first one, but if there are more stanzas than can be easily accommodated there the second and subsequent stanzas are printed after the music as stand-alone text.

All the notational elements needed to write songs are fully described elsewhere:

参照

Learning Manual: Songs.

Notation Reference: Common notation for vocal music, Displaying chords, 譜を表示する, Keyboard and other multi-staff instruments, Placing lyrics vertically, Stanzas.

Snippets: Vocal music.


Lead sheets

Lead sheets may be printed by combining vocal parts and ‘chord mode’; this syntax is explained in Chord notation.

Selected Snippets

Simple lead sheet

When put together, chord names, a melody, and lyrics form a lead sheet:

<<
  \chords { c2 g:sus4 f e }
  \relative c'' {
    a4 e c8 e r4
    b2 c4( d)
  }
  \addlyrics { One day this shall be free __ }
>>

[image of music]

参照

Notation Reference: Chord notation.


2.1.5 Choral

This section discusses notation issues that relate most directly to choral music. This includes anthems, part songs, oratorio, etc.


References for choral

Choral music is usually notated on two, three or four staves within a ChoirStaff group. Accompaniment, if required, is placed beneath in a PianoStaff group, which is usually reduced in size for a capella choral works. The notes for each vocal part are placed in a Voice context, with each staff being given either a single vocal part (i.e., one Voice) or a pair of vocal parts (i.e., two Voices).

Words are placed in Lyrics contexts, either underneath each corresponding music staff, or one above and one below the music staff if this contains the music for two parts.

Several common topics in choral music are described fully elsewhere:

定義済みコマンド

\oneVoice, \voiceOne, \voiceTwo.

参照

Learning Manual: Four-part SATB vocal score, Vocal ensembles.

Notation Reference: Context layout order, 譜をグループ化する, シェイプ符頭, 単一譜の多声.

Snippets: Vocal music.

Internals Reference: ChoirStaff, Lyrics, PianoStaff.


Score layouts for choral

Choral music containing four staves, with or without piano accompaniment, is usually laid out with two systems per page. Depending on the page size, achieving this may require changes to several default settings. The following settings should be considered:

Dynamic markings by default are placed below the staff, but in choral music they are usually placed above the staff in order to avoid the lyrics. The predefined command \dynamicUp does this for the dynamic markings in a single Voice context. If there are many Voice contexts this predefined command would have to be placed in every one. Alternatively its expanded form can be used to place all dynamic markings in the entire score above their respective staves, as shown here:

\score {
  \new ChoirStaff <<
    \new Staff {
      \new Voice {
        \relative c'' { g4\f g g g }
      }
    }
    \new Staff {
      \new Voice {
        \relative c' { d4 d d\p d }
      }
    }
  >>
  \layout {
    \context {
      \Score
      \override DynamicText #'direction = #UP
      \override DynamicLineSpanner #'direction = #UP
    }
  }
}

[image of music]

定義済みコマンド

\dynamicUp, \dynamicDown, \dynamicNeutral.

参照

Notation Reference: Changing spacing, Displaying spacing, Fitting music onto fewer pages, Page layout, Score layout, Separating systems, Setting the staff size, Using an extra voice for breaks, Vertical spacing.

Internals Reference: VerticalAxisGroup, StaffGrouper.


Divided voices

Using arpeggioBracket to make divisi more visible

The arpeggioBracket can be used to indicate the division of voices where there are no stems to provide the information. This is often seen in choral music.

\include "english.ly"

\score {
  \relative c'' {
    \key a \major
    \time 2/2
    <<
      \new Voice = "upper"
      <<
        { \voiceOne \arpeggioBracket
          a2( b2
          <b d>1\arpeggio)
          <cs e>\arpeggio ~
          <cs e>4
        }
        \addlyrics { \lyricmode { A -- men. } }
      >>
      \new Voice = "lower"
      { \voiceTwo
        a1 ~
        a
        a ~
        a4 \bar "|."
      }
    >>
  }
  \layout { ragged-right = ##t }
}

[image of music]

参照

Notation Reference: 直線の発想記号.


2.1.6 Opera and stage musicals

The music, lyrics and dialogue to opera and stage musicals are usually set out in one or more of the following forms:

The sections in the LilyPond documentation which cover the topics needed to create scores in the styles commonly found in opera and musicals are indicated in the References below. This is followed by sections covering those techniques which are peculiar to typesetting opera and musical scores.


References for opera and stage musicals

参照

Musical Glossary: Frenched score, Frenched staves, transposing instrument.

Notation Reference: 譜をグループ化する, 譜を隠す, 楽器の移調, ネストされた譜グループ, Page layout, Separating systems, 移調, パートを記述する, テキストを記述する.

Snippets: Vocal music.


Character names

Character names are usually shown to the left of the staff when the staff is dedicated to that character alone:

\score {
  <<
    \new Staff {
      \set Staff.vocalName = \markup \smallCaps Kaspar
      \set Staff.shortVocalName = \markup \smallCaps Kas.
      \relative c' {
        \clef "G_8"
        c4 c c c
        \break
        c4 c c c
      }
    }
    \new Staff {
      \set Staff.vocalName = \markup \smallCaps Melchior
      \set Staff.shortVocalName = \markup \smallCaps Mel
      \clef "bass"
      \relative c' {
        a4 a a a
        a4 a a a
      }
    }
  >>
}

[image of music]

When two or more characters share a staff the character’s name is usually printed above the staff at the start of every section applying to that character. This can be done with markup. Often a specific font is used for this purpose.

\clef "G_8"
c4^\markup \fontsize #1 \smallCaps Kaspar
c c c
\clef "bass"
a4^\markup \fontsize #1 \smallCaps Melchior
a a a
\clef "G_8"
c4^\markup \fontsize #1 \smallCaps Kaspar
c c c

[image of music]

Alternatively, if there are many character changes, it may be easier to set up “instrument” definitions for each character at the top level so that \instrumentSwitch can be used to indicate each change.

\addInstrumentDefinition #"kaspar"
  #`((instrumentTransposition . ,(ly:make-pitch -1 0 0))
     (shortInstrumentName . "Kas.")
     (clefGlyph . "clefs.G")
     (clefOctavation . -7)
     (middleCPosition . 1)
     (clefPosition . -2)
     (instrumentCueName . ,(markup #:fontsize 1 #:smallCaps "Kaspar"))
     (midiInstrument . "voice oohs"))

\addInstrumentDefinition #"melchior"
  #`((instrumentTransposition . ,(ly:make-pitch 0 0 0))
     (shortInstrumentName . "Mel.")
     (clefGlyph . "clefs.F")
     (clefOctavation . 0)
     (middleCPosition . 6)
     (clefPosition . 2)
     (instrumentCueName . ,(markup #:fontsize 1 #:smallCaps "Melchior"))
     (midiInstrument . "voice aahs"))

\relative c' {
  \instrumentSwitch "kaspar"
  c4 c c c
  \instrumentSwitch "melchior"
  a4 a a a
  \instrumentSwitch "kaspar"
  c4 c c c
}

[image of music]

参照

Notation Reference: 楽器名, Scheme functions, テキスト, Text markup commands.

Extending LilyPond: Markup construction in Scheme.


Musical cues

Musical cues can be inserted in Vocal Scores, Vocal Books and Orchestral Parts to indicate what music in another part immediately precedes an entry. Also, cues are often inserted in the piano reduction in Vocal Scores to indicate what each orchestral instrument is playing. This aids the conductor when a full Conductors’ Score is not available.

The basic mechanism for inserting cues is fully explained in the main text, see 他のボイスを引用する and 合図音符をフォーマットする. But when many cues have to be inserted, for example, as an aid to a conductor in a vocal score, the instrument name must be positioned carefully just before and close to the start of the cue notes. The following example shows how this is done.

flute = \relative c'' {
  s4 s4 e g
}
\addQuote "flute" { \flute }

pianoRH = \relative c'' {
  c4. g8
  % position name of cue-ing instrument just before the cue notes,
  % and above the staff
  s1*0^\markup { \right-align { \tiny "Flute" } }
  \cueDuring "flute" #UP { g4 bes4 }
}
pianoLH = \relative c { c4 <c' e> e, <g c> }

\score {
  \new PianoStaff <<
    \new Staff {
      \pianoRH
    }
    \new Staff {
      \clef "bass"
      \pianoLH
    }
  >>
}

[image of music]

If a transposing instrument is being quoted the instrument part should specify its key so the conversion of its cue notes will be done automatically. The example below shows this transposition for a B-flat clarinet. The notes in this example are low on the staff so #DOWN is specified in \cueDuring (so the stems are down) and the instrument name is positioned below the staff. Note also that the piano right-hand voice is explicitly declared. This is because the cue notes in this example begin at the start of the first bar and this would otherwise cause the entire piano right-hand notes to be placed in a CueVoice context.

clarinet = \relative c' {
  \transposition bes
  fis4 d d c
}
\addQuote "clarinet" { \clarinet }

pianoRH = \relative c'' {
  \transposition c'
  % position name of cue-ing instrument below the staff
  s1*0_\markup { \right-align { \tiny "Clar." } }
  \cueDuring "clarinet" #DOWN { c4. g8 }
  g4 bes4
}
pianoLH = \relative c { c4 <c' e> e, <g c> }

\score {
  <<
    \new PianoStaff <<
      \new Staff {
        \new Voice {
          \pianoRH
        }
      }
      \new Staff {
        \clef "bass"
        \pianoLH
      }
    >>
  >>
}

[image of music]

From these two examples it is clear that inserting many cues in a Vocal Score would be tedious, and the notes of the piano part would become obscured. However, as the following snippet shows, it is possible to define a music function to reduce the amount of typing and to make the piano notes clearer.

Selected Snippets

Adding orchestral cues to a vocal score

This shows one approach to simplify adding many orchestral cues to the piano reduction in a vocal score. The music function \cueWhile takes four arguments: the music from which the cue is to be taken, as defined by \addQuote, the name to be inserted before the cue notes, then either #UP or #DOWN to specify either \voiceOne with the name above the staff or \voiceTwo with the name below the staff, and finally the piano music in parallel with which the cue notes are to appear. The name of the cued instrument is positioned to the left of the cued notes. Many passages can be cued, but they cannot overlap each other in time.

cueWhile =
#(define-music-function
   (parser location instrument name dir music)
   (string? string? ly:dir? ly:music?)
   #{
     \cueDuring $instrument #$dir {
       \once \override TextScript #'self-alignment-X = #RIGHT
       \once \override TextScript #'direction = $dir
       s1*0-\markup { \tiny $name }
       $music
     }
   #})

flute = \relative c'' {
  \transposition c'
  s4 s4 e g
}
\addQuote "flute" { \flute }

clarinet = \relative c' {
  \transposition bes
  fis4 d d c
}
\addQuote "clarinet" { \clarinet }

singer = \relative c'' { c4. g8 g4 bes4 }
words = \lyricmode { here's the lyr -- ics }

pianoRH = \relative c'' {
  \transposition c'
  \cueWhile "clarinet" "Clar." #DOWN { c4. g8 }
  \cueWhile "flute" "Flute" #UP { g4 bes4 }
}
pianoLH = \relative c { c4 <c' e> e, <g c> }

\score {
  <<
    \new Staff {
      \new Voice = "singer" {
        \singer
      }
    }
    \new Lyrics {
      \lyricsto "singer"
      \words
    }
    \new PianoStaff <<
      \new Staff {
        \new Voice {
          \pianoRH
        }
      }
      \new Staff {
        \clef "bass"
        \pianoLH
      }
    >>
  >>
}

[image of music]

参照

Musical Glossary: cue-notes.

Notation Reference: Aligning objects, Direction and placement, 合図音符をフォーマットする, 他のボイスを引用する, Using music functions.

Snippets: Vocal music.

Internals Reference: InstrumentSwitch, CueVoice.

既知の問題と警告

\cueDuring automatically inserts a CueVoice context and all cue notes are placed in that context. This means it is not possible to have two overlapping sequences of cue notes by this technique. Overlapping sequences could be entered by explicitly declaring separate CueVoice contexts and using \quoteDuring to extract and insert the cue notes.


Spoken music

Such effects as ‘parlato’ or ‘Sprechgesang’ require performers to speak without pitch but still with rhythm; these are notated by cross note heads, as demonstrated in 特殊な符頭.


Dialogue over music

Dialogue over music is usually printed over the staves in an italic font, with the start of each phrase keyed in to a particular music moment.

For short interjections a simple markup suffices.

a4^\markup { \smallCaps { Alex - } \italic { He's gone } } a a a
a4 a a^\markup { \smallCaps { Bethan - } \italic Where? } a
a4 a a a

[image of music]

For longer phrases it may be necessary to expand the music to make the words fit neatly. There is no provision in LilyPond to do this fully automatically, and some manual intervention to layout the page will be necessary.

For long phrases or for passages with a lot of closely packed dialogue, using a Lyrics context will give better results. The Lyrics context should not be associated with a music Voice; instead each section of dialogue should be given an explicit duration. If there is a gap in the dialogue, the final word should be separated from the rest and the duration split between them so that the underlying music spaces out smoothly.

If the dialogue extends for more than one line it will be necessary to manually insert \breaks and adjust the placing of the dialogue to avoid running into the right margin. The final word of the last measure on a line should also be separated out, as above.

Here is an example illustrating how this might be done.

music = \relative c'' {
  \repeat unfold 3 { a4 a a a }
}

dialogue = \lyricmode {
  \markup {
    \fontsize #1 \upright \smallCaps Abe:
    "Say this over measures one and"
  }4*7
  "two"4 |
  \break
  "and this over measure"4*3
  "three"4 |
}

\score {
  <<
    \new Lyrics \with {
      \override LyricText #'font-shape = #'italic
      \override LyricText #'self-alignment-X = #LEFT
    }
    { \dialogue }
    \new Staff {
      \new Voice { \music }
    }
  >>
}

[image of music]

参照

Notation Reference: Manual syllable durations, テキスト.

Internal Reference: LyricText.


2.1.7 Chants psalms and hymns

The music and words for chants, psalms and hymns usually follow a well-established format in any particular church. Although the formats may differ from church to church the type-setting problems which arise are broadly similar, and are covered in this section.


References for chants and psalms

Typesetting Gregorian chant in various styles of ancient notation is described in Ancient notation.

参照

Notation reference: Ancient notation.

Snippets: Vocal music.


Setting a chant

Modern chant settings use modern notation with varying numbers of elements taken from ancient notation. Some of the elements and methods to consider are shown here.

Chants often use quarter notes without stems to indicate the pitch, with the rhythm being taken from the spoken rhythm of the words.

stemOff = { \override Staff.Stem #'transparent = ##t }

\relative c' {
  \stemOff
  a'4 b c2 |
}

[image of music]

Chants often omit the bar lines or use shortened or dotted bar lines to indicate pauses in the music. To omit all bar lines from all staves remove the bar line engraver completely:

\score {
  \new StaffGroup <<
    \new Staff {
      \relative c'' {
        a4 b c2 |
        a4 b c2 |
        a4 b c2 |
      }
    }
    \new Staff {
      \relative c'' {
        a4 b c2 |
        a4 b c2 |
        a4 b c2 |
      }
    }
  >>
  \layout {
    \context {
      \Staff
      \remove Bar_engraver
    }
  }
}

[image of music]

Bar lines can also be removed on a staff-by-staff basis:

\score {
  \new ChoirStaff <<
    \new Staff
    \with { \remove Bar_engraver } {
      \relative c'' {
        a4 b c2 |
        a4 b c2 |
        a4 b c2 |
      }
    }
    \new Staff {
      \relative c'' {
        a4 b c2 |
        a4 b c2 |
        a4 b c2 |
      }
    }
  >>
}

[image of music]

To remove bar lines from just a section of music treat it as a cadenza. If the section is long you may need to insert dummy bar lines with \bar "" to show where the line should break.

a4 b c2 |
\cadenzaOn
a4 b c2
a4 b c2
\bar ""
a4 b c2
a4 b c2
\cadenzaOff
a4 b c2 |
a4 b c2 |

[image of music]

Rests or pauses in chants can be indicated by modified bar lines.

a4
\cadenzaOn
b c2
a4 b c2
\bar "'"
a4 b c2
a4 b c2
\bar ":"
a4 b c2
\bar "dashed"
a4 b c2
\bar "||"

[image of music]

Alternatively, the notation used in Gregorian chant for pauses or rests is sometimes used even though the rest of the notation is modern. This uses a modified \breathe mark:

divisioMinima = {
  \once \override BreathingSign  #'stencil = #ly:breathing-sign::divisio-minima
  \once \override BreathingSign  #'Y-offset = #0
  \breathe
}
divisioMaior = {
  \once \override BreathingSign  #'stencil = #ly:breathing-sign::divisio-maior
  \once \override BreathingSign  #'Y-offset = #0
  \breathe
}
divisioMaxima = {
  \once \override BreathingSign  #'stencil = #ly:breathing-sign::divisio-maxima
  \once \override BreathingSign  #'Y-offset = #0
  \breathe
}
finalis = {
  \once \override BreathingSign  #'stencil = #ly:breathing-sign::finalis
  \once \override BreathingSign  #'Y-offset = #0
  \breathe
}

\score {
  \relative c'' {
    g2 a4 g
    \divisioMinima
    g2 a4 g
    \divisioMaior
    g2 a4 g
    \divisioMaxima
    g2 a4 g
    \finalis
  }
  \layout {
    \context {
      \Staff
      \remove Bar_engraver
    }
  }
}

[image of music]

Chants usually omit the time signature and often omit the clef too.

\score {
  \new Staff {
    \relative c'' {
      a4 b c2 |
      a4 b c2 |
      a4 b c2 |
    }
  }
  \layout {
    \context {
      \Staff
      \remove Bar_engraver
      \remove Time_signature_engraver
      \remove Clef_engraver
    }
  }
}

[image of music]

Chants for psalms in the Anglican tradition are usually either single, with 7 bars of music, or double, with two lots of 7 bars. Each group of 7 bars is divided into two halves, corresponding to the two halves of each verse, usually separated by a double bar line. Only whole and half notes are used. The 1st bar in each half always contains a single chord of whole notes. This is the “reciting note”. Chants are usually centered on the page.

SopranoMusic = \relative g' {
  g1 | c2 b | a1 | \bar "||"
  a1 | d2 c | c b | c1 | \bar "||"
}

AltoMusic = \relative c' {
  e1 | g2 g | f1 |
  f1 | f2 e | d d | e1 |
}

TenorMusic = \relative a {
  c1 | c2 c | c1 |
  d1 | g,2 g | g g | g1 |
}

BassMusic =  \relative c {
  c1 | e2 e | f1 |
  d1 | b2 c | g' g | c,1 |
}

global = {
  \time 2/2
}

% Use markup to center the chant on the page
\markup {
  \fill-line {
    \score {  % centered
      <<
        \new ChoirStaff <<
          \new Staff <<
            \global
            \clef "treble"
            \new Voice = "Soprano" <<
              \voiceOne
              \SopranoMusic
            >>
            \new Voice = "Alto" <<
              \voiceTwo
              \AltoMusic
            >>
          >>
          \new Staff <<
            \clef "bass"
            \global
            \new Voice = "Tenor" <<
              \voiceOne
              \TenorMusic
            >>
            \new Voice = "Bass" <<
              \voiceTwo
              \BassMusic
            >>
          >>
        >>
      >>
      \layout {
        \context {
          \Score
          \override SpacingSpanner
          #'base-shortest-duration = #(ly:make-moment 1 2)
        }
        \context {
          \Staff
          \remove "Time_signature_engraver"
        }
      }
    }  % End score
  }
}  % End markup

[image of music]

Some other approaches to setting such a chant are shown in the first of the following snippets.

Selected Snippets

Chant or psalms notation

This form of notation is used for the chant of the Psalms, where verses aren’t always the same length.

stemOn = { \revert Staff.Stem #'transparent }
stemOff = { \override Staff.Stem #'transparent = ##t }

\score {
  \new Staff \with { \remove "Time_signature_engraver" }
  {
    \key g \minor
    \cadenzaOn
    \stemOff a'\breve bes'4 g'4
    \stemOn a'2 \bar "||"
    \stemOff a'\breve g'4 a'4
    \stemOn f'2 \bar "||"
    \stemOff a'\breve^\markup { \italic flexe }
    \stemOn g'2 \bar "||"
  }
}

[image of music]

Canticles and other liturgical texts may be set more freely, and may use notational elements from ancient music. Often the words are shown underneath and aligned with the notes. If so, the notes are spaced in accordance with the syllables rather than the notes’ durations.

Ancient notation template – modern transcription of gregorian music

This example demonstrates how to do modern transcription of Gregorian music. Gregorian music has no measure, no stems; it uses only half and quarter note heads, and special marks, indicating rests of different length.

\include "gregorian.ly"

chant = \relative c' {
  \set Score.timing = ##f
  f4 a2 \divisioMinima
  g4 b a2 f2 \divisioMaior
  g4( f) f( g) a2 \finalis
}

verba = \lyricmode {
  Lo -- rem ip -- sum do -- lor sit a -- met
}

\score {
  \new Staff <<
    \new Voice = "melody" \chant
    \new Lyrics = "one" \lyricsto melody \verba
  >>
  \layout {
    \context {
      \Staff
      \remove "Time_signature_engraver"
      \remove "Bar_engraver"
      \override Stem #'transparent = ##t
    }
    \context {
      \Voice
      \override Stem #'length = #0
    }
    \context {
      \Score
      barAlways = ##t
    }
  }
}

[image of music]

参照

Learning Manual: Visibility and color of objects, Vocal ensembles.

Notation Reference: Ancient notation, 小節線, Modifying context plug-ins, Typesetting Gregorian chant, 無韻律の音楽, Visibility of objects.


Pointing a psalm

The words to an Anglican psalm are usually printed in separate verses centered underneath the chant.

Single chants (with 7 bars) are repeated for every verse. Double chants (with 14 bars) are repeated for every pair of verses. Marks are inserted in the words to show how they should be fitted to the chant. Each verse is divided into two halves. A colon is usually used to indicate this division. This corresponds to the double bar line in the music. The words before the colon are sung to the first three bars of music; the words after the colon are sung to the last four bars.

Single bar lines (or in some psalters an inverted comma or similar symbol) are inserted between words to indicate where the bar lines in the music fall. In markup mode a single bar line can be entered with the bar check symbol, |.

\markup {
  \fill-line {
    \column {
      \left-align {
        \line { O come let us sing | unto the | Lord : let }
        \line { us heartily rejoice in the | strength of | our }
        \line { sal- | -vation. }
      }
    }
  }
}

[image of music]

Other symbols may require glyphs from the fetaMusic fonts. For details, see フォント.

tick = \markup {
  \raise #1 \fontsize #-5 \musicglyph #"scripts.rvarcomma"
}
\markup {
  \fill-line {
    \column {
      \left-align {
        \line { O come let us sing \tick unto the \tick Lord : let }
        \line {
          us heartily rejoice in the \tick strength of \tick our
        }
        \line { sal \tick vation. }
      }
    }
  }
}

[image of music]

Where there is one whole note in a bar all the words corresponding to that bar are recited on that one note in speech rhythm. Where there are two notes in a bar there will usually be only one or two corresponding syllables. If there are more that two syllables a dot is usually inserted to indicate where the change in note occurs.

dot = \markup {
  \raise #0.7 \musicglyph #"dots.dot"
}
tick = \markup {
  \raise #1 \fontsize #-5 \musicglyph #"scripts.rvarcomma"
}
\markup {
  \fill-line {
    \column {
      \left-align {
        \line {
          O come let us sing \tick unto \dot the \tick Lord : let
        }
        \line {
          us heartily rejoice in the \tick strength of \tick our
        }
        \line { sal \tick vation. }
      }
    }
  }
}

[image of music]

In some psalters an asterisk is used to indicate a break in a recited section instead of a comma, and stressed or slightly lengthened syllables are indicated in bold text.

dot = \markup {
  \raise #0.7 \musicglyph #"dots.dot"
}
tick = \markup {
  \raise #1 \fontsize #-5 \musicglyph #"scripts.rvarcomma"
}
\markup {
  \fill-line {
    \column {
      \left-align {
        \line { Today if ye will hear his voice * }
        \line {
          \concat { \bold hard en }
          | not your | hearts : as in the pro-
        }
        \line { vocation * and as in the \bold day of tempt- | }
        \line { -ation | in the | wilderness. }
      }
    }
  }
}

[image of music]

In other psalters an accent is placed over the syllable to indicate stress.

tick = \markup {
  \raise #2 \fontsize #-5 \musicglyph #"scripts.rvarcomma"
}
\markup {
  \fill-line {
    \column {
      \left-align {
        \line {
          O come let us \concat {
            si \combine \tick ng
          }
          | unto the | Lord : let
        }
        \line {
          us heartily \concat {
            rejo \combine \tick ice
          }
          in the | strength of | our
        }
        \line { sal- | -vation. }
      }
    }
  }
}

[image of music]

The use of markup to center text, and arrange lines in columns is described in テキストをフォーマットする.

Most of these elements are shown in one or other of the two verses in the template, see “Psalms” in Vocal ensembles.

参照

Learning Manual: Vocal ensembles.

Notation Reference: フォント, テキストをフォーマットする.


Partial measures in hymn tunes

Hymn tunes frequently start and end every line of music with partial measures so that each line of music corresponds exactly with a line of text. This requires a \partial command at the start of the music and \bar "|" or \bar "||" commands at the end of each line.

Hymn template

This code shows one way of setting out a hymn tune when each line starts and ends with a partial measure. It also shows how to add the verses as stand-alone text under the music.

Timeline = {
  \time 4/4
  \tempo 4=96
  \partial 2
  s2 | s1 | s2 \breathe s2 | s1 | s2 \bar "||" \break
  s2 | s1 | s2 \breathe s2 | s1 | s2 \bar "||"
}

SopranoMusic = \relative g' {
  g4 g | g g g g | g g g g | g g g g | g2
  g4 g | g g g g | g g g g | g g g g | g2
}

AltoMusic = \relative c' {
  d4 d | d d d d | d d d d | d d d d | d2
  d4 d | d d d d | d d d d | d d d d | d2
}

TenorMusic = \relative a {
  b4 b | b b b b | b b b b | b b b b | b2
  b4 b | b b b b | b b b b | b b b b | b2
}

BassMusic =  \relative g {
  g4 g | g g g g | g g g g | g g g g | g2
  g4 g | g g g g | g g g g | g g g g | g2
}

global = {
 \key g \major
}

\score {  % Start score
  <<
    \new PianoStaff <<  % Start pianostaff
      \new Staff <<  % Start Staff = RH
        \global
        \clef "treble"
        \new Voice = "Soprano" <<  % Start Voice = "Soprano"
          \Timeline
          \voiceOne
          \SopranoMusic
        >>  % End Voice = "Soprano"
        \new Voice = "Alto" <<  % Start Voice = "Alto"
          \Timeline
          \voiceTwo
          \AltoMusic
        >>  % End Voice = "Alto"
      >>  % End Staff = RH
      \new Staff <<  % Start Staff = LH
        \global
        \clef "bass"
        \new Voice = "Tenor" <<  % Start Voice = "Tenor"
          \Timeline
          \voiceOne
          \TenorMusic
        >>  % End Voice = "Tenor"
        \new Voice = "Bass" <<  % Start Voice = "Bass"
          \Timeline
          \voiceTwo
          \BassMusic
        >>  % End Voice = "Bass"
      >>  % End Staff = LH
    >>  % End pianostaff
  >>
}  % End score

\markup {
  \fill-line {
    ""
    {
      \column {
        \left-align {
          "This is line one of the first verse"
          "This is line two of the same"
          "And here's line three of the first verse"
          "And the last line of the same"
        }
      }
    }
    ""
  }
}

\paper {  % Start paper block
  indent = 0     % don't indent first system
  line-width = 130   % shorten line length to suit music
}  % End paper block

[image of music]


2.1.8 Ancient vocal music

Ancient vocal music is supported, as explained in Ancient notation.

参照

Notation Reference: Ancient notation.


2.2 Keyboard and other multi-staff instruments

[image of music]

This section discusses several aspects of music notation that are unique to keyboard instruments and other instruments notated on many staves, such as harps and vibraphones. For the purposes of this section this entire group of multi-staff instruments is called “keyboards” for short, even though some of them do not have a keyboard.


2.2.1 Common notation for keyboards

This section discusses notation issues that may arise for most keyboard instruments.


References for keyboards

Keyboard instruments are usually notated with Piano staves. These are two or more normal staves coupled with a brace. The same notation is also used for other keyed instruments. Organ music is normally written with two staves inside a PianoStaff group and third, normal staff for the pedals.

The staves in keyboard music are largely independent, but sometimes voices can cross between the two staves. This section discusses notation techniques particular to keyboard music.

Several common issues in keyboard music are covered elsewhere:

参照

Learning Manual: Real music example, Other uses for tweaks.

Notation Reference: 譜をグループ化する, 楽器名, 衝突の解決, 音楽を並列に記述する, 運指の指示, List of articulations, グリッド ライン, タイ, アルペジオ, トレモロの繰り返し.

Internals Reference: PianoStaff.

Snippets: Keyboards.


Changing staff manually

Voices can be switched between staves manually, using the command

\change Staff = staffname

The string staffname is the name of the staff. It switches the current voice from its current staff to the staff called staffname. Typical values for staffname are "up" and "down", or "RH" and "LH".

The staff to which the voice is being switched must exist at the time of the switch. If necessary, staves should be “kept alive”, see Keeping contexts alive.

Cross-staff notes are beamed automatically:

\new PianoStaff <<
  \new Staff = "up" {
    <e' c'>8
    \change Staff = "down"
    g8 fis g
    \change Staff = "up"
    <g'' c''>8
    \change Staff = "down"
    e8 dis e
    \change Staff = "up"
  }
  \new Staff = "down" {
    \clef bass
    % keep staff alive
    s1
  }
>>

[image of music]

If the beaming needs to be tweaked, make any changes to the stem directions first. The beam positions are then measured from the center of the staff that is closest to the beam. For a simple example of beam tweaking, see notation Fixing overlapping notation.

Overlapping notation can result when voices cross staves:

\new PianoStaff <<
  \new Staff = "up" {
    \voiceOne
    % Make space for fingering in the cross-staff voice
    \once\override DynamicLineSpanner #'staff-padding = #3.4
    e''2\p\< d''\> s1*0\!
  }
  \new Staff = "down" <<
    {
      \clef bass
      s4. e,8\rest g,2\rest
    } \\ {
      c8\( g c'
      \change Staff = "up"
      e' g' b'-3 a' g'\)
    }
  >>
>>

[image of music]

The stem and slur overlap the intervening line of dynamics because automatic collision resolution is suspended for beams, slurs and other spanners that connect notes on different staves, as well as for stems and articulations if their placement is affected by a cross-staff spanner. The resulting collisions must be resolved manually, where necessary, using the methods in Fixing overlapping notation.

既知の問題と警告

Beam collision avoidance does not work for automatic beams that end right before a change in staff. To make the latter work, use manual beaming.

参照

Learning Manual: Fixing overlapping notation.

Notation Reference: 符幹, 自動連桁, Keeping contexts alive.

Snippets: Keyboards.

Internals Reference: Beam, ContextChange.


Changing staff automatically

Voices can be made to switch automatically between the top and the bottom staff. The syntax for this is

\autochange …music

This will create two staves inside the current staff group (usually a PianoStaff), called "up" and "down". The lower staff will be in the bass clef by default. The autochanger switches on the basis of the pitch (middle C is the turning point), and it looks ahead skipping over rests to switch in advance.

\new PianoStaff {
  \autochange {
    g4 a b c'
    d'4 r a g
  }
}

[image of music]

A \relative section that is outside of \autochange has no effect on the pitches of the music, so if necessary, put \relative inside \autochange.

If additional control is needed over the individual staves, they can be created manually with the names "up" and "down". The \autochange command will then switch its voice between the existing staves.

Note: If staves are created manually, they must be named "up" and "down".

For example, staves must be created manually in order to place a key signature in the lower staff:

\new PianoStaff <<
  \new Staff = "up" {
    \new Voice = "melOne" {
      \key g \major
      \autochange \relative c' {
        g8 b a c b d c e
        d8 r fis, g a2
      }
    }
  }
  \new Staff = "down" {
    \key g \major
    \clef bass
  }
>>

[image of music]

参照

Notation Reference: Changing staff manually.

Snippets: Keyboards.

Internals Reference: AutoChangeMusic.

既知の問題と警告

The staff switches may not end up in optimal places. For high quality output, staff switches should be specified manually.

Chords will not be split across the staves; they will be assigned to a staff based on the first note named in the chord construct.


Staff-change lines

Whenever a voice switches to another staff, a line connecting the notes can be printed automatically:

\new PianoStaff <<
  \new Staff = "one" {
    \showStaffSwitch
    c1
    \change Staff = "two"
    b2 a
  }
  \new Staff = "two" {
    \clef bass
    s1*2
  }
>>

[image of music]

定義済みコマンド

\showStaffSwitch, \hideStaffSwitch.

参照

Snippets: Keyboards.

Internals Reference: Note_head_line_engraver, VoiceFollower.


Cross-staff stems

Chords that cross staves may be produced:

\new PianoStaff <<
  \new Staff {
    \relative c' {
      f8 e4 d8 d f e4
    }
  }
  \new Staff {
    \relative c' {
      << {
        \clef bass
        % stems may overlap the other staff
        \override Stem #'cross-staff = ##t
        % extend the stems to reach the other staff
        \override Stem #'length = #12
        % do not print extra flags
        \override Stem #'flag-style = #'no-flag
        % prevent beaming as needed
        a8 g4 f8 f bes\noBeam g4
      }
      \\
      {
        f,2 bes4 c
      } >>
    }
  }
>>

[image of music]

Selected Snippets

Indicating cross-staff chords with arpeggio bracket

An arpeggio bracket can indicate that notes on two different staves are to be played with the same hand. In order to do this, the PianoStaff must be set to accept cross-staff arpeggios and the arpeggios must be set to the bracket shape in the PianoStaff context.

(Debussy, Les collines d’Anacapri, m. 65)

\new PianoStaff <<
  \set PianoStaff.connectArpeggios = ##t
  \override PianoStaff.Arpeggio #'stencil = #ly:arpeggio::brew-chord-bracket
  \new Staff {
    \relative c' {
      \key b \major
      \time 6/8
      b8-.(\arpeggio fis'-.\> cis-. e-. gis-. b-.)\!\fermata^\laissezVibrer
      \bar "||"
    }
  }
  \new Staff {
    \relative c' {
      \clef bass
      \key b \major
      <<
        {
          <a e cis>2.\arpeggio
        }
        \\
        {
          <a, e a,>2.
        }
      >>
    }
  }
>>

[image of music]

参照

Snippets: Keyboards.

Internals Reference: Stem.


2.2.2 Piano

This section discusses notation issues that relate most directly to the piano.


Piano pedals

Pianos generally have three pedals that alter the way sound is produced: sustain, sostenuto (sos.), and una corda (U.C.). Sustain pedals are also found on vibraphones and celestas.

c4\sustainOn d e g
<c, f a>1\sustainOff
c4\sostenutoOn e g c,
<bes d f>1\sostenutoOff
c4\unaCorda d e g
<d fis a>1\treCorde

[image of music]

There are three styles of pedal indications: text, bracket, and mixed. The sustain pedal and the una corda pedal use the text style by default while the sostenuto pedal uses mixed by default.

c4\sustainOn g c2\sustainOff
\set Staff.pedalSustainStyle = #'mixed
c4\sustainOn g c d
d\sustainOff\sustainOn g, c2\sustainOff
\set Staff.pedalSustainStyle = #'bracket
c4\sustainOn g c d
d\sustainOff\sustainOn g, c2
\bar "|."

[image of music]

The placement of the pedal commands matches the physical movement of the sustain pedal during piano performance. Pedalling to the final bar line is indicated by omitting the final pedal off command.

Pedal indications may be placed in a Dynamics context, which aligns them on a horizontal line.

参照

Notation Reference: タイ.

Snippets: Keyboards.

Internals Reference: SustainPedal, SustainPedalLineSpanner, SustainEvent, SostenutoPedal, SostenutoPedalLineSpanner, SostenutoEvent, UnaCordaPedal, UnaCordaPedalLineSpanner, UnaCordaEvent, PianoPedalBracket, Piano_pedal_engraver.


2.2.3 Accordion

This section discusses notation that is unique to the accordion.


Discant symbols

Accordions are often built with more than one set of reeds that may be in unison with, an octave above, or an octave below the written pitch. Each accordion maker has different names for the shifts that select the various reed combinations, such as oboe, musette, or bandonium, so a system of symbols has come into use to simplify the performance instructions.

Selected Snippets

Accordion-discant symbols

Accordion discant-specific symbols are added using \markup. The vertical placement of the symbols can be tweaked by changing the \raise arguments.

discant = \markup {
  \musicglyph #"accordion.discant"
}
dot = \markup {
  \musicglyph #"accordion.dot"
}

\layout { ragged-right = ##t }

% 16 voets register
accBasson = ^\markup {
  \combine
  \discant
  \raise #0.5 \dot
}

% een korig 8 en 16 voets register
accBandon = ^\markup {
  \combine
    \discant
    \combine
      \raise #0.5 \dot
      \raise #1.5 \dot
}

accVCello = ^\markup {
  \combine
    \discant
    \combine
      \raise #0.5 \dot
      \combine
        \raise #1.5 \dot
        \translate #'(1 . 0) \raise #1.5 \dot
}

% 4-8-16 voets register
accHarmon = ^\markup {
  \combine
    \discant
    \combine
      \raise #0.5 \dot
      \combine
        \raise #1.5 \dot
        \raise #2.5 \dot
}

accTrombon = ^\markup {
  \combine
    \discant
    \combine
      \raise #0.5 \dot
      \combine
        \raise #1.5 \dot
        \combine
          \translate #'(1 . 0) \raise #1.5 \dot
          \translate #'(-1 . 0) \raise #1.5 \dot
}

% eenkorig 4 en 16 voets register
accOrgan = ^\markup {
  \combine
    \discant
    \combine
      \raise #0.5 \dot
      \raise #2.5 \dot
}

accMaster = ^\markup {
  \combine
    \discant
    \combine
      \raise #0.5 \dot
      \combine
        \raise #1.5 \dot
        \combine
          \translate #'(1 . 0) \raise #1.5 \dot
          \combine
            \translate #'(-1 . 0) \raise #1.5 \dot
            \raise #2.5 \dot
}

accAccord = ^\markup {
  \combine
    \discant
    \combine
      \raise #1.5 \dot
      \combine
        \translate #'(1 . 0) \raise #1.5 \dot
        \combine
          \translate #'(-1 . 0) \raise #1.5 \dot
          \raise #2.5 \dot
}

accMusette = ^\markup {
  \combine
    \discant
    \combine
      \raise #1.5 \dot
      \combine
        \translate #'(1 . 0) \raise #1.5 \dot
        \translate #'(-1 . 0) \raise #1.5 \dot
}

accCeleste = ^\markup {
  \combine
    \discant
    \combine
      \raise #1.5 \dot
      \translate #'(-1 . 0) \raise #1.5 \dot
}

accOboe = ^\markup {
  \combine
    \discant
    \combine
      \raise #1.5 \dot
      \raise #2.5 \dot
}

accClarin = ^\markup {
  \combine
    \discant
    \raise #1.5 \dot
}

accPiccolo = ^\markup {
    \combine
       \discant
       \raise #2.5 \dot
}

accViolin = ^\markup {
  \combine
    \discant
    \combine
      \raise #1.5 \dot
      \combine
        \translate #'(1 . 0) \raise #1.5 \dot
        \raise #2.5 \dot
}

\relative c'' {
  c4 d\accBasson e f
  c4 d\accBandon e f
  c4 d\accVCello e f
  c4 d\accHarmon e f
  c4 d\accTrombon e f
  \break
  c4 d\accOrgan e f
  c4 d\accMaster e f
  c4 d\accAccord e f
  c4 d\accMusette e f
  c4 d\accCeleste e f
  \break
  c4 d\accOboe e f
  c4 d\accClarin e f
  c4 d\accPiccolo e f
  c4 d\accViolin e f
}

[image of music]

参照

Snippets: Keyboards.


2.2.4 Harp

This section discusses notation issues that are unique to the harp.


References for harps

Some common characteristics of harp music are covered elsewhere:

参照

Notation Reference: トレモロの繰り返し, グリッサンド, アルペジオ, Harmonics.


Harp pedals

Harps have seven strings per octave that may be sounded at the natural, flattened, or sharpened pitch. In lever harps, each string is adjusted individually, but in pedal harps every string with the same pitch name is controlled by a single pedal. From the player’s left to right, the pedals are D, C, and B on the left and E, F, G, and A on the right. The position of the pedals may be indicated with text marks:

\textLengthOn
cis1_\markup \concat \vcenter {
  [D \flat C \sharp B|E \sharp F \sharp G A \flat] }
c!1_\markup \concat \vcenter {
  [ C \natural ] }

[image of music]

or pedal diagrams:

\textLengthOn
cis1_\markup { \harp-pedal #"^v-|vv-^" }
c!1_\markup { \harp-pedal #"^o--|vv-^" }

[image of music]

The \harp-pedal command accepts a string of characters, where ^ is the highest pedal position (flattened pitch), - is the middle pedal position (natural pitch), v is the lowest pedal position (sharpened pitch), and | is the divider. A prefixed o will circle the following pedal symbol.

参照

Notation Reference: テキスト スクリプト, Instrument Specific Markup.


2.3 Unfretted string instruments

[image of music]

This section provides information and references which are helpful when writing for unfretted string instruments, principally orchestral strings.


2.3.1 Common notation for unfretted strings

There is little specialist notation for unfretted string instruments. The music is notated on a single staff, and usually only a single voice is required. Two voices might be required for some double-stopped or divisi passages.


References for unfretted strings

Most of the notation which is useful for orchestral strings and other bowed instruments is covered elsewhere:

参照

Learning Manual: String quartet.

Notation Reference: テキスト スクリプト, 運指の指示, 和音の音符, アルペジオ.

Snippets: Unfretted strings.


Bowing indications

Bowing indications are created as articulations, which are described in アーティキュレーションと装飾.

The bowing commands, \upbow and \downbow, are used with slurs as follows:

c4(\downbow d) e(\upbow f)

[image of music]

and the following example shows three ways in which an open A string on a violin might be indicated:

a4 \open
a^\markup { \teeny "II" }
a2^\markup { \small "sul A" }

[image of music]

定義済みコマンド

\downbow, \upbow, \open.

参照

Notation Reference: アーティキュレーションと装飾, スラー.


Harmonics

Natural harmonics

Natural harmonics can be notated in several ways. A diamond-shaped note head generally means to touch the string where you would stop the note if it were not a diamond.

d4 e4.
\harmonicsOn
d8 e e
d4 e4.
\harmonicsOff
d8 e e

[image of music]

Alternatively a normal note head is shown at the pitch to be sounded together with a small circle to indicate it should be played as a harmonic:

d2^\flageolet d_\flageolet

[image of music]

A smaller circle may be created, see the snippet list in References for unfretted strings.

Artificial harmonics

Artificial harmonics are notated with two notes, one with a normal note head indicating the stopped position and one with an open diamond note head to indicate the harmonic position.

Artificial harmonics indicated with \harmonic do not show the dots. The context property harmonicDots should be set if dots are required.

<e a\harmonic>2.  <c g'\harmonic>4
\set harmonicDots = ##t
<e a\harmonic>2.  <c g'\harmonic>4

[image of music]

Note: \harmonic must be placed inside a chord construct even if there is only a single note. Normally \harmonicsOn would be used in this situation.

参照

Music Glossary: harmonics.

Notation Reference: 特殊な符頭, References for unfretted strings.


Snap (Bartók) pizzicato

A snap pizzicato (also known as “Bartok pizz”) is a type of pizzicato where the string is deliberately plucked upwards (rather than sideways) such that it hits the fingerboard.

c4\snappizzicato
<c' e g>4\snappizzicato
<c' e g>4^\snappizzicato
<c, e g>4_\snappizzicato

[image of music]


2.4 Fretted string instruments

[image of music]

This section discusses several aspects of music notation that are unique to fretted string instruments.


2.4.1 Common notation for fretted strings

This section discusses common notation that is unique to fretted string instruments.


References for fretted strings

Music for fretted string instruments is normally notated on a single staff, either in traditional music notation or in tablature. Sometimes the two types are combined, and it is especially common in popular music to use chord diagrams above a staff of traditional notation. The guitar and the banjo are transposing instruments, sounding an octave lower than written. Scores for these instruments should use the "treble_8" clef (or \transposition c to get correct MIDI output). Some other elements pertinent to fretted string instruments are covered elsewhere:

参照

Notation Reference: 運指の指示, タイ, 衝突の解決, 楽器名, 音楽を並列に記述する, アルペジオ, List of articulations, 音部記号, 楽器の移調.


String number indications

The string on which a note should be played may be indicated by appending \number to a note inside a chord construct <>.

Note: String numbers must be defined inside a chord construct even if there is only a single note.

\clef "treble_8"
<c\5>4 <e\4> <g\3>2
<c,\5 e\4 g\3>1

[image of music]

When fingerings and string indications are used together, their placement is controlled by the order in which the two items appear in the code:

\clef "treble_8"
<g\3-0>2
<g-0\3>

[image of music]

Selected Snippets

Controlling the placement of chord fingerings

The placement of fingering numbers can be controlled precisely. For fingering orientation to apply, you must use a chord construct <> even if it is a single note.

\relative c' {
  \set fingeringOrientations = #'(left)
  <c-1 e-3 a-5>4
  \set fingeringOrientations = #'(down)
  <c-1 e-3 a-5>4
  \set fingeringOrientations = #'(down right up)
  <c-1 e-3 a-5>4
  \set fingeringOrientations = #'(up)
  <c-1 e-3 a-5>4
  \set fingeringOrientations = #'(left)
  <c-1>2
  \set fingeringOrientations = #'(down)
  <e-3>2
}


[image of music]

Allowing fingerings to be printed inside the staff

By default, vertically oriented fingerings are positioned outside the staff. However, this behavior can be canceled. Note: you must use a chord construct <>, even if it is only a single note.

\relative c' {
  <c-1 e-2 g-3 b-5>2
  \override Fingering #'staff-padding = #'()
  <c-1 e-2 g-3 b-5>4 <g'-0>
}

[image of music]

参照

Notation Reference: 運指の指示.

Snippets: Fretted strings.

Internals Reference: StringNumber, Fingering.


Default tablatures

Music for plucked string instruments is frequently notated using a finger/touch notation or tablature. In contrast to traditional notation pitches are not denoted with note heads, but by numbers (or letter-like symbols in historical intavolatura). The staff lines in tablature indicate the string on which the note is to be played, and a number placed on a staff line indicated the fret at which the corresponding string is to be pressed. Notes that are to be played simultaneously are vertically aligned.

By default, string 1 is the highest string, and corresponds to the top line on the TabStaff. The tuning of the TabStaff strings defaults to the standard guitar tuning (with 6 strings). The notes are printed as tablature, by using TabStaff and TabVoice contexts. A calligraphic tablature clef is added automatically.

\new TabStaff \relative c' {
  a,8 a' <c e> a
  d,8 a' <d f> a
}

[image of music]

Default tablatures do not contain any symbols for tone duration nor any other musical symbols such as e.g. expressive marks.

symbols = {
  \time 3/4
  c4-.^"Allegro" d( e)
  f4-.\f g a^\fermata
  \mark \default
  c8_.\<\( c16 c~ c2\!
  c'2.\prall\)
}

\score {
  <<
    \new Staff { \clef "G_8" \symbols }
    \new TabStaff { \symbols }
  >>
}

[image of music]

If all musical symbols used in traditional notation should also show up in tablature one has to apply the command \tabFullNotation in a TabStaff-context. Please bear in mind that half notes are double-stemmed in tablature in order to distinguish them from quarter notes.

symbols = {
  \time 3/4
  c4-.^"Allegro" d( e)
  f4-.\f g a^\fermata
  \mark \default
  c8_.\<\( c16 c~ c2\!
  c'2.\prall\)
}

\score {
  \new TabStaff {
    \tabFullNotation
    \symbols
  }
}

[image of music]

By default pitches are assigned to the lowest playing position on the fret-board (first position). Open strings are automatically preferred. If you would like a certain pitch to be played on a specific string you can add a string number indication to the pitch name. If you define pitch names and string numbers without a chord construct (<>) the string number indications do not appear in traditional notation. It is much more comfortable to define the playing position by using the value of minimumFret. The default value for minimumFret is 0.

\new StaffGroup <<
   \new Staff \relative c {
     \clef "treble_8"
     \time 2/4
     c16 d e f g4
     c,16\5 d\5 e\4 f\4 g4\4
     c,16 d e f g4
   }
   \new TabStaff \relative c {
     c16 d e f g4
     c,16\5 d\5 e\4 f\4 g4\4
     \set TabStaff.minimumFret = #5
     c,16 d e f g4
   }
>>

[image of music]

Chord constructs can be repeated by the chord repetition symbol q. To use this feature in combination with tablature, \tabChordRepetition is provided. It preserves the string information explicitly given within chord constructs so repeated chords get identical tablature representations.

\tabChordRepetition

guitar = \relative c' {
  r8 <gis\4 cis\3 b\2>~ q4 q8~ q q4
}

\new StaffGroup <<
  \new Staff {
    \clef "treble_8"
    \override Voice.StringNumber #'transparent = ##t
    \guitar
  }
  \new TabStaff {
    \guitar
  }
>>

[image of music]

Ties over a line break are parenthesized by default. The same holds for the second alternative of a repeat.

ties = \relative c' {
  \repeat volta 2 {
    e2. f4~
    f2 g2~
  }
  \alternative {
     { g4 f2. }
     { g4\repeatTie c,2. }
  }
  b1~
  \break
  b1
  \bar "|."
}

\score {
  <<
    \new StaffGroup  <<
      \context Staff {
        \clef "treble_8"
        \ties
      }
      \context TabStaff {
        \ties
      }
    >>
  >>
  \layout {
  indent = #0
  ragged-right = ##t
  }
}

[image of music]

The command \hideSplitTiedTabNotes cancels the behavior of engraving fret numbers in parentheses:

ties = \relative c' {
  \repeat volta 2 {
    e2. f4~
    f2 g2~ }
  \alternative {
    { g4 f2. }
    { g4\repeatTie c,2. }
  }
  b1~
  \break
  b1
  \bar "|."
}

\score {
  <<
    \new StaffGroup  <<
      \context Staff {
        \clef "treble_8"
        \ties
      }
      \context TabStaff {
      \hideSplitTiedTabNotes
        \ties
      }
    >>
  >>
  \layout {
  indent = #0
  ragged-right = ##t
  }
}

[image of music]

Harmonic indications can be added to tablature notation as sounding pitches:

firstHarmonic = {
  <d'\4\harmonic>4
  <g'\3\harmonic>4
  <b'\2\harmonic>2
}
\score {
  <<
    \new Staff { \firstHarmonic }
    \new TabStaff { \firstHarmonic }
  >>
}

[image of music]

Note that the command \harmonic must always be defined inside a chord construct. It only makes sense for open-string harmonics in the 12th fret. All other harmonics should be calculated by LilyPond. This can be achieved by indicating the fret where a finger of the fretting hand should touch a string.

fretHarmonics = {
  \harmonicByFret #5 d16\4
  \harmonicByFret #4 d16\4
  \harmonicByFret #3 d8\4
  \harmonicByFret #5 <g\3 b\2>2.
}
\score {
  <<
    \new Staff { \fretHarmonics }
    \new TabStaff { \fretHarmonics }
  >>
}

[image of music]

Alternatively, harmonics can be computed by defining the ratio of string lengths above and below the harmonic fingering.

ratioHarmonics = {
  \harmonicByRatio #1/2 <g\3 b\2 e'\1>4
  \harmonicByRatio #1/3 <g\3 b\2 e'\1>4
  \harmonicByRatio #1/4 { g8\3 b8\2 e'4\1 }
}
\score {
  <<
    \new Staff { \ratioHarmonics }
    \new TabStaff { \ratioHarmonics }
  >>
}

[image of music]

Selected Snippets

Stem and beam behavior in tablature

The direction of stems is controlled the same way in tablature as in traditional notation. Beams can be made horizontal, as shown in this example.

\new TabStaff {
  \relative c {
    \tabFullNotation
    g16 b d g b d g b
    \stemDown
    \override Beam #'damping = #+inf.0
    g,,16 b d g b d g b
  }
}

[image of music]

Polyphony in tablature

Polyphony is created the same way in a TabStaff as in a regular staff.

upper = \relative c' {
  \time 12/8
  \key e \minor
  \voiceOne
  r4. r8 e, fis g16 b g e e' b c b a g fis e
}

lower = \relative c {
  \key e \minor
  \voiceTwo
  r16 e d c b a g4 fis8 e fis g a b c
}

\score {
  <<
    \new StaffGroup = "tab with traditional" <<
      \new Staff = "guitar traditional" <<
        \clef "treble_8"
        \context Voice = "upper" \upper
        \context Voice = "lower" \lower
      >>
      \new TabStaff = "guitar tab" <<
        \context TabVoice = "upper" \upper
        \context TabVoice = "lower" \lower
      >>
    >>
  >>
}

[image of music]

Reference for open-string harmonics

Reference for open-string harmonics:

openStringHarmonics = {
  %first harmonic
  \harmonicByFret #12 e,2\6_\markup{"1st harm."}
  \harmonicByRatio #1/2 e,\6
  %second harmonic
  \harmonicByFret #7 e,\6_\markup{"2nd harm. - - - -"}
  \harmonicByRatio #1/3 e,\6
  \harmonicByFret #19 e,\6
  \harmonicByRatio #2/3 e,\6
  %\harmonicByFret #19 < e,\6 a,\5 d\4 >
  %\harmonicByRatio #2/3 < e,\6 a,\5 d\4 >
  %third harmonic
  \harmonicByFret #5 e,\6_\markup{"3rd harm. - - - -"}
  \harmonicByRatio #1/4 e,\6
  \harmonicByFret #24 e,\6
  \harmonicByRatio #3/4 e,\6
  \break
  %fourth harmonic
  \harmonicByFret #4 e,\6_\markup{"4th harm. - - - - - - - - - - - - -"}
  \harmonicByRatio #1/5 e,\6
  \harmonicByFret #9 e,\6
  \harmonicByRatio #2/5 e,\6
  \harmonicByFret #16 e,\6
  \harmonicByRatio #3/5 e,\6
  %fifth harmonic
  \harmonicByFret #3 e,\6_\markup{"5th harm."}
  \harmonicByRatio #1/6 e,\6
  \break
  %sixth harmonic
  \harmonicByFret #2.7 e,\6_\markup{"6th harm."}
  \harmonicByRatio #1/7 e,\6
  %seventh harmonic
  \harmonicByFret #2.3 e,\6_\markup{"7th harm."}
  \harmonicByRatio #1/8 e,\6
  %eighth harmonic
  \harmonicByFret #2 e,\6_\markup{"8th harm."}
  \harmonicByRatio #1/9 e,\6
}

\score {
  <<
    \new Staff {
      \new Voice {
        \clef "treble_8"
        \openStringHarmonics
      }
    }
    \new TabStaff {
      \new TabVoice {
        \openStringHarmonics
      }
    }
  >>
}

[image of music]

Fretted-string harmonics in tablature

Fretted-string harmonics:

pinchedHarmonics = {
   \textSpannerDown
   \override TextSpanner #'bound-details #'left #'text =
      \markup {\halign #-0.5 \teeny "PH" }
      \override TextSpanner #'style =
         #'dashed-line
   \override TextSpanner #'dash-period = #0.6
   \override TextSpanner #'bound-details #'right #'attach-dir = #1
   \override TextSpanner #'bound-details #'right #'text =
      \markup { \draw-line #'(0 . 1) }
   \override TextSpanner #'bound-details #'right #'padding = #-0.5
}

harmonics = {
  %artificial harmonics (AH)
  \textLengthOn
  <\parenthesize b b'\harmonic>4_\markup{ \teeny "AH 16" }
  <\parenthesize g g'\harmonic>4_\markup{ \teeny "AH 17" }
  <\parenthesize d' d''\harmonic>2_\markup{ \teeny "AH 19" }
  %pinched harmonics (PH)
  \pinchedHarmonics
  <a'\harmonic>2\startTextSpan
  <d''\harmonic>4
  <e'\harmonic>4\stopTextSpan
  %tapped harmonics (TH)
  <\parenthesize g\4 g'\harmonic>4_\markup{ \teeny "TH 17" }
  <\parenthesize a\4 a'\harmonic>4_\markup{ \teeny "TH 19" }
  <\parenthesize c'\3 c''\harmonic>2_\markup{ \teeny "TH 17" }
  %touch harmonics (TCH)
  a4( <e''\harmonic>2. )_\markup{ \teeny "TCH" }
}

frettedStrings = {
  %artificial harmonics (AH)
  \harmonicByFret #4 g4\3
  \harmonicByFret #5 d4\4
  \harmonicByFret #7 g2\3
  %pinched harmonics (PH)
  \harmonicByFret #7 d2\4
  \harmonicByFret #5 d4\4
  \harmonicByFret #7 a4\5
  %tapped harmonics (TH)
  \harmonicByFret #5 d4\4
  \harmonicByFret #7 d4\4
  \harmonicByFret #5 g2\3
  %touch harmonics (TCH)
  a4 \harmonicByFret #9 g2.\3
}

\score {
  <<
    \new Staff {
      \new Voice {
        \clef "treble_8"
        \harmonics
      }
    }
    \new TabStaff {
      \new TabVoice {
        \frettedStrings
      }
    }
  >>
}

[image of music]

Slides in tablature

Slides can be typeset in both Staff and TabStaff contexts:

slides = {
  c'8\3(\glissando d'8\3)
  c'8\3\glissando d'8\3
  \hideNotes
  \grace { g16\3\glissando }
  \unHideNotes
  c'4\3
  \afterGrace d'4\3\glissando {
  \stemDown \hideNotes
  g16\3 }
  \unHideNotes
}

\score {
  <<
    \new Staff { \clef "treble_8" \slides }
    \new TabStaff { \slides }
  >>
  \layout {
    \context {
      \Score
      \override Glissando #'minimum-length = #4
      \override Glissando #'springs-and-rods =
                          #ly:spanner::set-spacing-rods
      \override Glissando #'thickness = #2
    }
  }
}

[image of music]

Chord glissando in tablature

Slides for chords can be indicated in both Staff and TabStaff. String numbers are necessary for TabStaff because automatic string calculations are different for chords and for single notes, and \chordGlissando draws lines between single notes.

myMusic = \relative c' {
  \chordGlissando
  <c\3 e\2 g\1>8 <f\3 a\2 c\1>
}

\score {
  <<
    \new Staff {
      \clef "treble_8"
      \myMusic
    }
    \new TabStaff {
      \myMusic
    }
  >>
}

[image of music]

参照

Notation Reference: 符幹, Harmonics, グリッサンド.

Snippets: Fretted strings.

Internals Reference: TabNoteHead, TabStaff, TabVoice, Beam.

既知の問題と警告

Chords are not handled in a special way, and hence the automatic string selector may easily select the same string for two notes in a chord.

In order to handle \partcombine, a TabStaff must use specially-created voices:

melodia = \partcombine { e4 g g g } { e4 e e e }
<<
  \new TabStaff <<
    \new TabVoice = "one" s1
    \new TabVoice = "two" s1
    \new TabVoice = "shared" s1
    \new TabVoice = "solo" s1
    { \melodia }
  >>
>>

[image of music]

Guitar special effects are limited to harmonics and slides.


Custom tablatures

LilyPond tablature automatically calculates the fret for a note based on the string to which the note is assigned. In order to do this, the tuning of the strings must be specified. The tuning of the strings is given in the stringTunings property.

LilyPond comes with predefined string tunings for banjo, mandolin, guitar, bass guitar, ukulele, violin, viola, cello, and double bass. LilyPond automatically sets the correct transposition for predefined tunings. The following example is for bass guitar, which sounds an octave lower than written.

<<
  \new Staff {
    \clef "bass_8"
    \relative c, {
      c4 d e f
    }
  }
  \new TabStaff {
    \set TabStaff.stringTunings = #bass-tuning
    \relative c, {
      c4 d e f
    }
  }
>>

[image of music]

The default string tuning is guitar-tuning, which is the standard EADGBE tuning. Some other predefined tunings are guitar-open-g-tuning, mandolin-tuning and banjo-open-g-tuning. The predefined string tunings are found in ‘ly/string-tuning-init.ly’.

Any desired string tuning can be created. The \contextStringTuning function can be used to define a string tuning and set it as the stringTunings for the current context. \contextStringTuning takes two arguments: the symbol in which the string tuning will be stored, and a chord construct that defines the pitches of each string in the tuning. The chord construct must be in absolute octave mode, see 絶対オクターブ入力. The string with the highest number (generally the lowest string) must come first in the chord. For example, we can define a string tuning for a four-string instrument with pitches of a'', d'', g', and c':

mynotes = {
  c'4 e' g' c'' |
  e''4 g'' b'' c'''
}

<<
  \new Staff {
    \clef treble
    \mynotes
  }
  \new TabStaff {
    \contextStringTuning #'custom-tuning <c' g' d'' a''>
    \mynotes
  }
>>

[image of music]

The stringTunings property is also used by FretBoards to calculate automatic fret diagrams.

String tunings are used as part of the hash key for predefined fret diagrams (see Predefined fret diagrams). The \makeStringTuning function is used to create a string tuning without setting the stringTunings property in the current context. The arguments to \makeStringTuning are the symbol to be used for the new string tuning and a chord construct used to define the tuning. The previous example could also be written as follows:

\makeStringTuning #'custom-tuning <c' g' d'' a''>

mynotes = {
  c'4 e' g' c'' |
  e''4 g'' b'' c'''
}

<<
  \new Staff {
    \clef treble
    \mynotes
  }
  \new TabStaff {
    \set TabStaff.stringTunings = #custom-tuning
    \mynotes
  }
>>

[image of music]

Internally, a string tuning is a Scheme list of string pitches, one for each string, ordered by string number from 1 to N, where string 1 is at the top of the tablature staff and string N is at the bottom. This ordinarily results in ordering from highest pitch to lowest pitch, but some instruments (e.g. ukulele) do not have strings ordered by pitch.

A string pitch in a string tuning list is a LilyPond pitch object. Pitch objects are created with the Scheme function ly:make-pitch (see Scheme functions).

If desired, a string tuning can be created as a Scheme literal. The example below recreates the examples above, but the string tuning is not saved as a separate object:

mynotes = {
  c'4 e' g' c'' |
  e''4 g'' b'' c'''
}

<<
  \new Staff {
    \clef treble
    \mynotes
  }
  \new TabStaff {
    \set TabStaff.stringTunings = #`(,(ly:make-pitch 1 5 0)
				     ,(ly:make-pitch 1 1 0)
				     ,(ly:make-pitch 0 4 0)
				     ,(ly:make-pitch 0 0 0))
    \mynotes
  }
>>

[image of music]

LilyPond automatically calculates the number of lines in the TabStaff and the number of strings in an automatically calculated FretBoard as the number of elements in stringTunings.

A modern tab clef can also be used.

\new TabStaff {
  \clef moderntab
  <a, e a>1
  \break
  \clef tab
  <a, e a>1
}

[image of music]

The modern tab clef supports tablatures from 4 to 7 strings.

参照

Notation Reference: 絶対オクターブ入力, Predefined fret diagrams, Scheme functions.

Installed Files: ‘ly/string-tuning-init.ly’ ‘scm/tablature.scm’.

Snippets: Fretted strings.

Internals Reference: Tab_note_heads_engraver.

既知の問題と警告

Automatic tablature calculations do not work properly in most cases for instruments where string pitches do not vary monotonically with string number, such as ukuleles.


Fret diagram markups

Fret diagrams can be added to music as a markup to the desired note. The markup contains information about the desired fret diagram. There are three different fret-diagram markup interfaces: standard, terse, and verbose. The three interfaces produce equivalent markups, but have varying amounts of information in the markup string. Details about the syntax of the different markup strings used to define fret diagrams are found at Instrument Specific Markup.

The standard fret diagram markup string indicates the string number and the fret number for each dot to be placed on the string. In addition, open and unplayed (muted) strings can be indicated.

<<
  \context ChordNames {
    \chordmode {
      c1 d:m
    }
  }
  \context Staff {
    \clef "treble_8"
    <c e g c' e'>1^\markup {
      \fret-diagram #"6-x;5-3;4-2;3-o;2-1;1-o;"
    }
    <d a d' f'>1^\markup {
      \fret-diagram #"6-x;5-x;4-o;3-2;2-3;1-1;"
    }
  }
>>

[image of music]

Barre indications can be added to the diagram from the fret-diagram markup string.

<<
  \context ChordNames {
     \chordmode {
       f1 g
     }
  }
  \context Staff {
    \clef "treble_8"
    <f, c f a c' f'>1^\markup {
      \fret-diagram #"c:6-1-1;6-1;5-3;4-3;3-2;2-1;1-1;"
    }
    <g, d g b d' g'>1^\markup {
      \fret-diagram #"c:6-1-3;6-3;5-5;4-5;3-4;2-3;1-3;"
    }
  }
>>

[image of music]

The size of the fret diagram, and the number of frets in the diagram can be changed in the fret-diagram markup string.

<<
  \context ChordNames {
     \chordmode {
       f1 g
     }
  }
  \context Staff {
    \clef "treble_8"
    <f, c f a c' f'>1^\markup {
      \fret-diagram #"s:1.5;c:6-1-1;6-1;5-3;4-3;3-2;2-1;1-1;"
    }
    <g, b, d g b g'>1^\markup {
      \fret-diagram #"h:6;6-3;5-2;4-o;3-o;2-o;1-3;"
    }
  }
>>

[image of music]

The number of strings in a fret diagram can be changed to accommodate different instruments such as banjos and ukuleles with the fret-diagram markup string.

<<
  \context ChordNames {
    \chordmode {
      a1
    }
  }
  \context Staff {
    % An 'A' chord for ukulele
    a'1^\markup {
      \fret-diagram #"w:4;4-2-2;3-1-1;2-o;1-o;"
    }
  }
>>

[image of music]

Fingering indications can be added, and the location of fingering labels can be controlled by the fret-diagram markup string.

<<
  \context ChordNames {
    \chordmode {
      c1 d:m
    }
  }
  \context Staff {
    \clef "treble_8"
    <c e g c' e'>1^\markup {
      \fret-diagram #"f:1;6-x;5-3-3;4-2-2;3-o;2-1-1;1-o;"
    }
    <d a d' f'>1^\markup {
      \fret-diagram #"f:2;6-x;5-x;4-o;3-2-2;2-3-3;1-1-1;"
    }
  }
>>

[image of music]

Dot radius and dot position can be controlled with the fret-diagram markup string.

<<
  \context ChordNames {
    \chordmode {
      c1 d:m
    }
  }
  \context Staff {
    \clef "treble_8"
    <c e g c' e'>1^\markup {
      \fret-diagram #"d:0.35;6-x;5-3;4-2;3-o;2-1;1-o;"
    }
    <d a d' f'>1^\markup {
      \fret-diagram #"p:0.2;6-x;5-x;4-o;3-2;2-3;1-1;"
    }
  }
>>

[image of music]

The fret-diagram-terse markup string omits string numbers; the string number is implied by the presence of semicolons. There is one semicolon for each string in the diagram. The first semicolon corresponds to the highest string number and the last semicolon corresponds to the first string. Mute strings, open strings, and fret numbers can be indicated.

<<
  \context ChordNames {
    \chordmode {
      c1 d:m
    }
  }
  \context Staff {
    \clef "treble_8"
    <c e g c' e'>1^\markup {
      \fret-diagram-terse #"x;3;2;o;1;o;"
    }
    <d a d' f'>1^\markup {
      \fret-diagram-terse #"x;x;o;2;3;1;"
    }
  }
>>

[image of music]

Barre indicators can be included in the fret-diagram-terse markup string.

<<
  \context ChordNames {
    \chordmode {
      f1 g
    }
  }
  \context Staff {
    \clef "treble_8"
    <f, c f a c' f'>1^\markup {
      \fret-diagram-terse #"1-(;3;3;2;1;1-);"
    }
    <g, d g b d' g'>1^\markup {
      \fret-diagram-terse #"3-(;5;5;4;3;3-);"
    }
  }
>>

[image of music]

Fingering indications can be included in the fret-diagram-terse markup string.

<<
  \context ChordNames {
    \chordmode {
      c1 d:m
    }
  }
  \context Staff {
    \override Voice.TextScript
      #'(fret-diagram-details finger-code) = #'below-string
    \clef "treble_8"
    <c e g c' e'>1^\markup {
      \fret-diagram-terse #"x;3-3;2-2;o;1-1;o;"
    }
    <d a d' f'>1^\markup {
      \fret-diagram-terse #"x;x;o;2-2;3-3;1-1;"
    }
  }
>>

[image of music]

Other fret diagram properties must be adjusted using \override when using the fret-diagram-terse markup.

The fret-diagram-verbose markup string is in the format of a Scheme list. Each element of the list indicates an item to be placed on the fret diagram.

<<
    \context ChordNames {
      \chordmode {
        c1 d:m
      }
    }
  \context Staff {
    \clef "treble_8"
    <c e g c' e'>1^\markup {
      \fret-diagram-verbose #'(
        (mute 6)
        (place-fret 5 3)
        (place-fret 4 2)
        (open 3)
        (place-fret 2 1)
        (open 1)
      )
    }
    <d a d' f'>1^\markup {
      \fret-diagram-verbose #'(
        (mute 6)
        (mute 5)
        (open 4)
        (place-fret 3 2)
        (place-fret 2 3)
        (place-fret 1 1)
      )
    }
  }
>>

[image of music]

Fingering indications and barres can be included in a fret-diagram-verbose markup string. Unique to the fret-diagram-verbose interface is a capo indication that can be placed on the fret diagram. The capo indication is a thick bar that covers all strings. The fret with the capo will be the lowest fret in the fret diagram.

<<
    \context ChordNames {
      \chordmode {
        f1 g c
      }
    }
  \context Staff {
    \clef "treble_8"
    \override Voice.TextScript
      #'(fret-diagram-details finger-code) = #'below-string
    <f, c f a c' f'>1^\markup {
      \fret-diagram-verbose #'(
        (place-fret 6 1)
        (place-fret 5 3)
        (place-fret 4 3)
        (place-fret 3 2)
        (place-fret 2 1)
        (place-fret 1 1)
        (barre 6 1 1)
      )
    }
    <g, b, d g b g'>1^\markup {
      \fret-diagram-verbose #'(
        (place-fret 6 3 2)
        (place-fret 5 2 1)
        (open 4)
        (open 3)
        (open 2)
        (place-fret 1 3 3)
      )
    }
    <c e g c' e'>1^\markup {
      \fret-diagram-verbose #'(
        (capo 3)
        (mute 6)
        (place-fret 4 5 1)
        (place-fret 3 5 2)
        (place-fret 2 5 3)
      )
    }
  }
>>

[image of music]

All other fret diagram properties must be adjusted using \override when using the fret-diagram-verbose markup.

The graphical layout of a fret diagram can be customized according to user preference through the properties of the fret-diagram-interface. Details are found at fret-diagram-interface. For a fret diagram markup, the interface properties belong to Voice.TextScript.

Selected Snippets

Changing fret orientations

Fret diagrams can be oriented in three ways. By default the top string or fret in the different orientations will be aligned.

\include "predefined-guitar-fretboards.ly"

<<
  \chords {
    c1
    c1
    c1
  }
  \new FretBoards {
    \chordmode {
      c1
      \override FretBoard #'(fret-diagram-details orientation) =
        #'landscape
      c1
      \override FretBoard #'(fret-diagram-details orientation) =
        #'opposing-landscape
      c1
    }
  }
  \new Voice {
    c'1
    c'1
    c'
  }
>>

[image of music]

Customizing markup fret diagrams

Fret diagram properties can be set through 'fret-diagram-details. For markup fret diagrams, overrides can be applied to the Voice.TextScript object or directly to the markup.

<<
  \chords { c1 | c | c | d }

  \new Voice = "mel" {
    \textLengthOn
    % Set global properties of fret diagram
    \override TextScript #'size = #'1.2
    \override TextScript
      #'(fret-diagram-details finger-code) = #'in-dot
    \override TextScript
      #'(fret-diagram-details dot-color) = #'white

    %% C major for guitar, no barre, using defaults
       % terse style
    c'1^\markup { \fret-diagram-terse #"x;3-3;2-2;o;1-1;o;" }

    %% C major for guitar, barred on third fret
       % verbose style
       % size 1.0
       % roman fret label, finger labels below string, straight barre
    c'1^\markup {
      % standard size
      \override #'(size . 1.0) {
        \override #'(fret-diagram-details . (
                     (number-type . roman-lower)
                     (finger-code . in-dot)
                     (barre-type . straight))) {
          \fret-diagram-verbose #'((mute 6)
                                   (place-fret 5 3 1)
                                   (place-fret 4 5 2)
                                   (place-fret 3 5 3)
                                   (place-fret 2 5 4)
                                   (place-fret 1 3 1)
                                   (barre 5 1 3))
        }
      }
    }

    %% C major for guitar, barred on third fret
       % verbose style
       % landscape orientation, arabic numbers, M for mute string
       % no barre, fret label down or left, small mute label font
    c'1^\markup {
      \override #'(fret-diagram-details . (
                   (finger-code . below-string)
                   (number-type . arabic)
                   (label-dir . -1)
                   (mute-string . "M")
                   (orientation . landscape)
                   (barre-type . none)
                   (xo-font-magnification . 0.4)
                   (xo-padding . 0.3))) {
        \fret-diagram-verbose #'((mute 6)
                                 (place-fret 5 3 1)
                                 (place-fret 4 5 2)
                                 (place-fret 3 5 3)
                                 (place-fret 2 5 4)
                                 (place-fret 1 3 1)
                                 (barre 5 1 3))
      }
    }

    %% simple D chord
       % terse style
       % larger dots, centered dots, fewer frets
       % label below string
    d'1^\markup {
      \override #'(fret-diagram-details . (
                   (finger-code . below-string)
                   (dot-radius . 0.35)
                   (dot-position . 0.5)
                   (fret-count . 3))) {
        \fret-diagram-terse #"x;x;o;2-1;3-2;2-3;"
      }
    }
  }
>>

[image of music]

参照

Notation Reference: Instrument Specific Markup.

Snippets: Fretted strings.

Internals Reference: fret-diagram-interface.


Predefined fret diagrams

Fret diagrams can be displayed using the FretBoards context. By default, the FretBoards context will display fret diagrams that are stored in a lookup table:

\include "predefined-guitar-fretboards.ly"
\context FretBoards {
  \chordmode {
    c1 d
  }
}

[image of music]

The default predefined fret diagrams are contained in the file ‘predefined-guitar-fretboards.ly’. Fret diagrams are stored based on the pitches of a chord and the value of stringTunings that is currently in use. ‘predefined-guitar-fretboards.ly’ contains predefined fret diagrams only for guitar-tuning. Predefined fret diagrams can be added for other instruments or other tunings by following the examples found in ‘predefined-guitar-fretboards.ly’.

Fret diagrams for the ukulele are contained in the file ‘predefined-ukulele-fretboards.ly’.

\include "predefined-ukulele-fretboards.ly"

myChords = \chordmode { a1 a:m a:aug }

\new ChordNames {
  \myChords
}

\new FretBoards {
  \set stringTunings = #ukulele-tuning
  \myChords
}

[image of music]

Fret diagrams for the mandolin are contained in the file ‘predefined-mandolin-fretboards.ly’.

\include "predefined-mandolin-fretboards.ly"

myChords = \chordmode { c1 c:m7.5- c:aug }

\new ChordNames {
  \myChords
}

\new FretBoards {
  \set stringTunings = #mandolin-tuning
  \myChords
}

[image of music]

Chord pitches can be entered either as simultaneous music or using chord mode (see Chord mode overview).

\include "predefined-guitar-fretboards.ly"
\context FretBoards {
  \chordmode { c1 }
  <c' e' g'>1
}

[image of music]

It is common that both chord names and fret diagrams are displayed together. This is achieved by putting a ChordNames context in parallel with a FretBoards context and giving both contexts the same music.

\include "predefined-guitar-fretboards.ly"
mychords = \chordmode{
  c1 f g
}

<<
  \context ChordNames {
    \mychords
  }
  \context FretBoards {
    \mychords
  }
>>

[image of music]

Predefined fret diagrams are transposable, as long as a diagram for the transposed chord is stored in the fret diagram table.

\include "predefined-guitar-fretboards.ly"
mychords = \chordmode{
  c1 f g
}

mychordlist = {
  \mychords
  \transpose c e { \mychords }
}
<<
  \context ChordNames {
    \mychordlist
  }
  \context FretBoards {
    \mychordlist
  }
>>

[image of music]

The predefined fret diagram table for guitar contains eight chords (major, minor, augmented, diminished, dominant seventh, major seventh, minor seventh, dominant ninth) for each of 17 keys. The predefined fret diagram table for ukulele contains these chords plus an additional three chords (major sixth, suspended second, and suspended fourth). A complete list of the predefined fret diagrams is shown in Predefined fretboard diagrams. If there is no entry in the table for a chord, the FretBoards engraver will calculate a fret-diagram using the automatic fret diagram functionality described in Automatic fret diagrams.

\include "predefined-guitar-fretboards.ly"
mychords = \chordmode{
  c1 c:maj9
}

<<
  \context ChordNames {
    \mychords
  }
  \context FretBoards {
    \mychords
  }
>>

[image of music]

Fret diagrams can be added to the fret diagram table. To add a diagram, you must specify the hash table for the diagram, the chord for the diagram, the tuning to be used, and a definition for the diagram. Normally, the hash table will be default-fret-table. The diagram definition can be either a fret-diagram-terse definition string or a fret-diagram-verbose marking list.

\include "predefined-guitar-fretboards.ly"

\storePredefinedDiagram #default-fret-table
                        \chordmode { c:maj9 }
                        #guitar-tuning
                        #"x;3-2;o;o;o;o;"

mychords = \chordmode {
  c1 c:maj9
}

<<
  \context ChordNames {
    \mychords
  }
  \context FretBoards {
    \mychords
  }
>>

[image of music]

Different fret diagrams for the same chord name can be stored using different octaves of pitches. The different octave should be at least two octaves above or below the default octave, because the octaves above and below the default octave are used for transposing fretboards.

\include "predefined-guitar-fretboards.ly"

\storePredefinedDiagram #default-fret-table
                        \chordmode { c'' }
                        #guitar-tuning
                        #(offset-fret 2 (chord-shape 'bes guitar-tuning))

mychords = \chordmode {
  c1 c''
}

<<
  \context ChordNames {
    \mychords
  }
  \context FretBoards {
    \mychords
  }
>>

[image of music]

In addition to fret diagrams, LilyPond stores an internal list of chord shapes. The chord shapes are fret diagrams that can be shifted along the neck to different positions to provide different chords. Chord shapes can be added to the internal list and then used to define predefined fret diagrams. Because they can be moved to various positions on the neck, chord shapes will normally not contain any open strings. Like fret diagrams, chord shapes can be entered as either fret-diagram-terse strings or fret-diagram-verbose marking lists.

\include "predefined-guitar-fretboards.ly"

% Add a new chord shape

\addChordShape #'powerf #guitar-tuning #"1-1;3-3;3-4;x;x;x;"

% add some new chords based on the power chord shape

\storePredefinedDiagram #default-fret-table
                        \chordmode { f'' }
                        #guitar-tuning
                        #(chord-shape 'powerf guitar-tuning)
\storePredefinedDiagram #default-fret-table
                        \chordmode { g'' }
                        #guitar-tuning
                        #(offset-fret 2 (chord-shape 'powerf guitar-tuning))

mychords = \chordmode{
  f1 f'' g g''
}

<<
  \context ChordNames {
    \mychords
  }
  \context FretBoards {
    \mychords
  }
>>

[image of music]

The graphical layout of a fret diagram can be customized according to user preference through the properties of the fret-diagram-interface. Details are found at fret-diagram-interface. For a predefined fret diagram, the interface properties belong to FretBoards.FretBoard.

Selected Snippets

Customizing fretboard fret diagrams

Fret diagram properties can be set through 'fret-diagram-details. For FretBoard fret diagrams, overrides are applied to the FretBoards.FretBoard object. Like Voice, FretBoards is a bottom level context, therefore can be omitted in property overrides.

\include "predefined-guitar-fretboards.ly"
\storePredefinedDiagram #default-fret-table \chordmode { c' }
                        #guitar-tuning
                        #"x;1-1-(;3-2;3-3;3-4;1-1-);"
<<
  \new ChordNames {
    \chordmode { c1 | c | c | d }
  }
  \new FretBoards {
    % Set global properties of fret diagram
    \override FretBoards.FretBoard #'size = #'1.2
    \override FretBoard
      #'(fret-diagram-details finger-code) = #'in-dot
    \override FretBoard
      #'(fret-diagram-details dot-color) = #'white
    \chordmode {
      c
      \once \override FretBoard #'size = #'1.0
      \once \override FretBoard
        #'(fret-diagram-details barre-type) = #'straight
      \once \override FretBoard
        #'(fret-diagram-details dot-color) = #'black
      \once \override FretBoard
        #'(fret-diagram-details finger-code) = #'below-string
      c'
      \once \override FretBoard
        #'(fret-diagram-details barre-type) = #'none
      \once \override FretBoard
        #'(fret-diagram-details number-type) = #'arabic
      \once \override FretBoard
        #'(fret-diagram-details orientation) = #'landscape
      \once \override FretBoard
        #'(fret-diagram-details mute-string) = #"M"
      \once \override FretBoard
        #'(fret-diagram-details label-dir) = #LEFT
      \once \override FretBoard
        #'(fret-diagram-details dot-color) = #'black
      c'
      \once \override FretBoard
        #'(fret-diagram-details finger-code) = #'below-string
      \once \override FretBoard
        #'(fret-diagram-details dot-radius) = #0.35
      \once \override FretBoard
        #'(fret-diagram-details dot-position) = #0.5
      \once \override FretBoard
        #'(fret-diagram-details fret-count) = #3
      d
    }
  }
  \new Voice {
    c'1 | c' | c' | d'
  }
>>

[image of music]

Defining predefined fretboards for other instruments

Predefined fret diagrams can be added for new instruments in addition to the standards used for guitar. This file shows how this is done by defining a new string-tuning and a few predefined fretboards for the Venezuelan cuatro.

This file also shows how fingerings can be included in the chords used as reference points for the chord lookup, and displayed in the fret diagram and the TabStaff, but not the music.

These fretboards are not transposable because they contain string information. This is planned to be corrected in the future.

% add FretBoards for the Cuatro
%   Note: This section could be put into a separate file
%      predefined-cuatro-fretboards.ly
%      and \included into each of your compositions

cuatroTuning = #`(,(ly:make-pitch 0 6 0)
                  ,(ly:make-pitch 1 3 SHARP)
		  ,(ly:make-pitch 1 1 0)
		  ,(ly:make-pitch 0 5 0))

dSix = { <a\4 b\1 d\3 fis\2> }
dMajor = { <a\4 d\1 d\3 fis \2> }
aMajSeven = { <a\4 cis\1 e\3 g\2> }
dMajSeven = { <a\4 c\1 d\3 fis\2> }
gMajor = { <b\4 b\1 d\3 g\2> }

\storePredefinedDiagram #default-fret-table \dSix
                        #cuatroTuning
                        #"o;o;o;o;"
\storePredefinedDiagram #default-fret-table \dMajor
                        #cuatroTuning
                        #"o;o;o;3-3;"
\storePredefinedDiagram #default-fret-table \aMajSeven
                        #cuatroTuning
                        #"o;2-2;1-1;2-3;"
\storePredefinedDiagram #default-fret-table \dMajSeven
                        #cuatroTuning
                        #"o;o;o;1-1;"
\storePredefinedDiagram #default-fret-table \gMajor
                        #cuatroTuning
                        #"2-2;o;1-1;o;"

% end of potential include file /predefined-cuatro-fretboards.ly


#(set-global-staff-size 16)

primerosNames = \chordmode {
  d:6 d a:maj7 d:maj7
  g
}
primeros = {
  \dSix \dMajor \aMajSeven \dMajSeven
  \gMajor
}

\score {
  <<
    \new ChordNames {
      \set chordChanges = ##t
      \primerosNames
    }

    \new Staff {
      \new Voice \with {
        \remove "New_fingering_engraver"
      }
      \relative c'' {
        \primeros
      }
    }

    \new FretBoards {
      \set stringTunings = #cuatroTuning
%      \override FretBoard
%        #'(fret-diagram-details string-count) = #'4
      \override FretBoard
        #'(fret-diagram-details finger-code) = #'in-dot
      \primeros
    }

    \new TabStaff \relative c'' {
      \set TabStaff.stringTunings = #cuatroTuning
      \primeros
    }

  >>

  \layout {
    \context {
      \Score
      \override SpacingSpanner
        #'base-shortest-duration = #(ly:make-moment 1 16)
    }
  }
  \midi { }
}

[image of music]

chordChanges for FretBoards

FretBoards can be set to display only when the chord changes or at the beginning of a new line.

\include "predefined-guitar-fretboards.ly"

myChords = \chordmode {
  c1 c1 \break
  \set chordChanges = ##t
  c1 c1 \break
  c1 c1 \break
}

<<
  \new ChordNames { \myChords }
  \new FretBoards { \myChords }
  \new Staff { \myChords }
>>

[image of music]

Alternate fretboard tables

Alternate fretboard tables can be created. These would be used in order to have alternate fretboards for a given chord.

In order to use an alternate fretboard table, the table must first be created. Fretboards are then added to the table.

The created fretboard table can be blank, or it can be copied from an existing table.

The table to be used in displaying predefined fretboards is selected by the property \predefinedDiagramTable.

\include "predefined-guitar-fretboards.ly"

% Make a blank new fretboard table
#(define custom-fretboard-table-one (make-fretboard-table))

% Make a new fretboard table as a copy of default-fret-table
#(define custom-fretboard-table-two (make-fretboard-table default-fret-table))

% Add a chord to custom-fretboard-table-one
\storePredefinedDiagram #custom-fretboard-table-one
                        \chordmode{c}
                        #guitar-tuning
                        "3-(;3;5;5;5;3-);"

% Add a chord to custom-fretboard-table-two
\storePredefinedDiagram #custom-fretboard-table-two
                        \chordmode{c}
                        #guitar-tuning
                        "x;3;5;5;5;o;"

<<
  \chords {
    c1 | d1 |
    c1 | d1 |
    c1 | d1 |
  }
  \new FretBoards {
    \chordmode {
      \set predefinedDiagramTable = #default-fret-table
      c1 | d1 |
      \set predefinedDiagramTable = #custom-fretboard-table-one
      c1 | d1 |
      \set predefinedDiagramTable = #custom-fretboard-table-two
      c1 | d1 |
    }
  }
  \new Staff {
    \clef "treble_8"
    <<
      \chordmode {
        c1 | d1 |
        c1 | d1 |
        c1 | d1 |
      }
      {
        s1_\markup "Default table" | s1 |
        s1_\markup \column {"New table" "from empty"} | s1 |
        s1_\markup \column {"New table" "from default"} | s1 |
      }
    >>
  }
>>

[image of music]

参照

Notation Reference: Custom tablatures, Automatic fret diagrams, Chord mode overview, Predefined fretboard diagrams.

Installed Files: ‘ly/predefined-guitar-fretboards.ly’, ‘ly/predefined-guitar-ninth-fretboards.ly’, ‘ly/predefined-ukulele-fretboards.ly’, ‘ly/predefined-mandolin-fretboards.ly’.

Snippets: Fretted strings.

Internals Reference: fret-diagram-interface.


Automatic fret diagrams

Fret diagrams can be automatically created from entered notes using the FretBoards context. If no predefined diagram is available for the entered notes in the active stringTunings, this context calculates strings and frets that can be used to play the notes.

<<
  \context ChordNames {
    \chordmode {
      f1 g
    }
  }
  \context FretBoards {
    <f, c f a c' f'>1
    <g,\6 b, d g b g'>1
  }
  \context Staff {
    \clef "treble_8"
    <f, c f a c' f'>1
    <g, b, d g b' g'>1
  }
>>

[image of music]

As no predefined diagrams are loaded by default, automatic calculation of fret diagrams is the default behavior. Once default diagrams are loaded, automatic calculation can be enabled and disabled with predefined commands:

\storePredefinedDiagram #default-fret-table
                        <c e g c' e'>
                        #guitar-tuning
                        #"x;3-1-(;5-2;5-3;5-4;3-1-1-);"
<<
  \context ChordNames {
    \chordmode {
      c1 c c
    }
  }
  \context FretBoards {
    <c e g c' e'>1
    \predefinedFretboardsOff
    <c e g c' e'>1
    \predefinedFretboardsOn
    <c e g c' e'>1
  }
  \context Staff {
    \clef "treble_8"
    <c e g c' e'>1
    <c e g c' e'>1
    <c e g c' e'>1
  }
>>

[image of music]

Sometimes the fretboard calculator will be unable to find an acceptable diagram. This can often be remedied by manually assigning a note to a string. In many cases, only one note need be manually placed on a string; the rest of the notes will then be placed appropriately by the FretBoards context.

Fingerings can be added to FretBoard fret diagrams.

<<
  \context ChordNames {
    \chordmode {
      c1 d:m
    }
  }
  \context FretBoards {
    <c-3 e-2 g c'-1 e'>1
    <d a-2 d'-3 f'-1>1
  }
  \context Staff {
    \clef "treble_8"
    <c e g c' e'>1
    <d a d' f'>1
  }
>>

[image of music]

The minimum fret to be used in calculating strings and frets for the FretBoard context can be set with the minimumFret property.

<<
  \context ChordNames {
    \chordmode {
      d1:m d:m
    }
  }
  \context FretBoards {
    <d a d' f'>1
    \set FretBoards.minimumFret = #5
    <d a d' f'>1
  }
  \context Staff {
    \clef "treble_8"
    <d a d' f'>1
    <d a d' f'>1
  }
>>

[image of music]

The strings and frets for the FretBoards context depend on the stringTunings property, which has the same meaning as in the TabStaff context. See Custom tablatures for information on the stringTunings property.

The graphical layout of a fret diagram can be customized according to user preference through the properties of the fret-diagram-interface. Details are found at fret-diagram-interface. For a FretBoards fret diagram, the interface properties belong to FretBoards.FretBoard.

定義済みコマンド

\predefinedFretboardsOff, \predefinedFretboardsOn.

参照

Notation Reference: Custom tablatures.

Snippets: Fretted strings.

Internals Reference: fret-diagram-interface.

既知の問題と警告

Automatic fretboard calculations do not work properly for instruments with non-monotonic tunings.


Right-hand fingerings

Right-hand fingerings p-i-m-a must be entered within a chord construct <> for them to be printed in the score, even when applied to a single note.

Note: There must be a hyphen before \rightHandFinger and a space before the closing >.

\clef "treble_8"
<c-\rightHandFinger #1 >4
<e-\rightHandFinger #2 >
<g-\rightHandFinger #3 >
<c-\rightHandFinger #4 >
<c,-\rightHandFinger #1 e-\rightHandFinger #2
 g-\rightHandFinger #3 c-\rightHandFinger #4 >1

[image of music]

For convenience, you can abbreviate \rightHandFinger to something short, for example RH,

#(define RH rightHandFinger)

Selected Snippets

Placement of right-hand fingerings

It is possible to exercise greater control over the placement of right-hand fingerings by setting a specific property, as demonstrated in the following example. Note: you must use a chord construct

#(define RH rightHandFinger)

\relative c {
  \clef "treble_8"

  \set strokeFingerOrientations = #'(up down)
  <c-\RH #1 e-\RH #2 g-\RH #3 c-\RH #4 >4

  \set strokeFingerOrientations = #'(up right down)
  <c-\RH #1 e-\RH #2 g-\RH #3 c-\RH #4 >4

  \set strokeFingerOrientations = #'(left)
  <c-\RH #1 e-\RH #2 g-\RH #3 c-\RH #4 >2
}

[image of music]

Fingerings string indications and right-hand fingerings

This example combines left-hand fingering, string indications, and right-hand fingering.

#(define RH rightHandFinger)

\relative c {
  \clef "treble_8"
  <c-3\5-\RH #1 >4
  <e-2\4-\RH #2 >4
  <g-0\3-\RH #3 >4
  <c-1\2-\RH #4 >4
}

[image of music]

参照

Snippets: Fretted strings.

Internals Reference: StrokeFinger.


2.4.2 Guitar

Most of the notational issues associated with guitar music are covered sufficiently in the general fretted strings section, but there are a few more worth covering here. Occasionally users want to create songbook-type documents having only lyrics with chord indications above them. Since LilyPond is a music typesetter, it is not recommended for documents that have no music notation in them. A better alternative is a word processor, text editor, or, for experienced users, a typesetter like GuitarTeX.


Indicating position and barring

This example demonstrates how to include guitar position and barring indications.

\clef "treble_8"
b16 d g b e
\textSpannerDown
\override TextSpanner #'(bound-details left text) = #"XII "
g16\startTextSpan
b16 e g e b g\stopTextSpan
e16 b g d

[image of music]

参照

Notation Reference: テキスト スパナ.

Snippets: Fretted strings, Expressive marks.


Indicating harmonics and dampened notes

Special note heads can be used to indicate dampened notes or harmonics. Harmonics are normally further explained with a text markup.

\relative c' {
  \clef "treble_8"
  \override Staff.NoteHead #'style = #'harmonic-mixed
  d^\markup { \italic { \fontsize #-2 { "harm. 12" }}} <g b>1
}

[image of music]

Dampened notes (also called dead notes) are supported within normal and tablature staves:

music = \relative c' {
  < a\3 \deadNote c\2 a'\1 >4
  < b\3 \deadNote d\2 b'\1 >
  < c\3 \deadNote e\2 c'\1 >
  \deadNotesOn
  \times 2/3 { g8 b e }
  \deadNotesOff
  < a,\3 c\2 e\1 >1
}
\new StaffGroup <<
  \new Staff {
    \clef "treble_8"
    \music
  }
  \new TabStaff {
    \music
  }
>>

[image of music]

Another playing technique (especially used on electric guitars) is called palm mute. The string is hereby partly muted by the palm of the striking hand (hence the name). Lilypond supports the notation of palm mute-style notes by changing the note head to a triangle shape.

\new Voice { % Warning: explicit Voice instantiation is
             %    required to have palmMuteOff work properly
             %    when palmMuteOn comes at the beginning of
             %    the piece.
  \relative c, {
    \clef "G_8"
    \palmMuteOn
    e8^\markup { \musicglyph #"noteheads.u2do"  = palm mute }
    < e b' e > e
    \palmMuteOff
    e e  \palmMute e e e |
    e8 \palmMute { e e e } e e e e |
    < \palmMute e b' e >8 \palmMute { e e e } < \palmMute e b' e >2
  }
}

[image of music]

参照

Snippets: Fretted strings.

Notation Reference: 特殊な符頭, Note head styles.


Indicating power chords

Power chords and their symbols can be engraved in chord mode or as chord constructs:

ChordsAndSymbols = {
  \chordmode {
    \powerChords
    e,,1:1.5
    a,,1:1.5.8
    \set minimumFret = #8
    c,1:1.5
    f,1:1.5.8
  }
  \set minimumFret = #5
  <a, e>1
  <g d' g'>1
}
\score {
  <<
    \new ChordNames {
    \ChordsAndSymbols
    }
    \new Staff {
      \clef "treble_8"
      \ChordsAndSymbols
    }
    \new TabStaff {
      \ChordsAndSymbols
    }
  >>
}

[image of music]

Power chord symbols are automatically switched off as soon as one of the other common chord modifier is used:

mixedChords = \chordmode {
  c,1
  \powerChords
  b,,1:1.5
  fis,,1:1.5.8
  g,,1:m
}
\score {
  <<
    \new ChordNames {
      \mixedChords
    }
    \new Staff {
      \clef "treble_8"
      \mixedChords
    }
    \new TabStaff {
      \mixedChords
    }
  >>
}

[image of music]

参照

Music Glossary: power chord.

Notation Reference: Extended and altered chords, Printing chord names.

Snippets: Fretted strings.


2.4.3 Banjo


Banjo tablatures

LilyPond has basic support for the five-string banjo. When making tablatures for five-string banjo, use the banjo tablature format function to get correct fret numbers for the fifth string:

\new TabStaff <<
  \set TabStaff.tablatureFormat = #fret-number-tablature-format-banjo
  \set TabStaff.stringTunings = #banjo-open-g-tuning
  {
    \stemDown
    g8 d' g'\5 a b g e d' |
    g4 d''8\5 b' a'\2 g'\5 e'\2 d' |
    g4
  }
>>

[image of music]

A number of common tunings for banjo are predefined in LilyPond: banjo-c-tuning (gCGBD), banjo-modal-tuning (gDGCD), banjo-open-d-tuning (aDF#AD) and banjo-open-dm-tuning (aDFAD).

These tunings may be converted to four-string banjo tunings using the four-string-banjo function:

\set TabStaff.stringTunings = #(four-string-banjo banjo-c-tuning)

参照

Snippets: Fretted strings.

Installed Files: ‘scm/string-tunings-init.scm’ contains predefined banjo tunings.


2.5 Percussion


2.5.1 Common notation for percussion

Rhythmic music is primarily used for percussion and drum notation, but it can also be used to show the rhythms of melodies.


References for percussion

参照

Notation Reference: 旋律のリズムを示す, 新たに譜をインスタンス化する. Percussion in MIDI.

Snippets: Percussion.


Basic percussion notation

Percussion notes may be entered in \drummode mode, which is similar to the standard mode for entering notes. The simplest way to enter percussion notes is to use the \drums command, which creates the correct context and entry mode for percussion:

\drums {
  hihat4 hh bassdrum bd
}

[image of music]

This is shorthand for:

\new DrumStaff {
  \drummode {
    hihat4 hh bassdrum bd
  }
}

[image of music]

Each piece of percussion has a full name and an abbreviated name, and both can be used in input files. The full list of percussion note names may be found in Percussion notes.

Note that the normal notation of pitches (such as cis4) in a DrumStaff context will cause an error message. Percussion clefs are added automatically to a DrumStaff context but they can also be set explicitly. Other clefs may be used as well.

\drums {
  \clef treble
  hh4 hh hh hh
  \break
  \clef percussion
  bd4 bd bd bd
}

[image of music]

There are a few issues concerning MIDI support for percussion instruments; for details please see Percussion in MIDI.

参照

Notation Reference: Percussion in MIDI, Percussion notes.

File: ‘ly/drumpitch-init.ly

Snippets: Percussion.


Drum rolls

Drum rolls are indicated with three slashes across the stem. For quarter notes or longer the three slashes are shown explicitly, eighth notes are shown with two slashes (the beam being the third), and drum rolls shorter than eighths have one stem slash to supplement the beams. This is achieved with the tremolo notation, :32, as described in トレモロの繰り返し. Here is an example of some snare rolls:

\drums {
  \time 2/4
  sn16 sn8 sn16 sn8 sn8:32 ~
  sn8 sn8 sn4:32 ~
  sn4 sn8 sn16 sn16
  sn4 r4
}

[image of music]

Sticking can be indicated by placing ^"R" or ^"L" after the note. The staff-padding property may be overridden to achieve a pleasing baseline.

\drums {
  \repeat unfold 2 {
    sn16 ^"L" sn^"R" sn^"L" sn^"L" sn^"R" sn^"L"  sn^"R" sn^"R"
  }
}

[image of music]

参照

Snippets: Percussion.


Pitched percussion

Certain pitched percussion instruments (e.g. xylophone, vibraphone, and timpani) are written using normal staves. This is covered in other sections of the manual.

参照

Notation Reference: Percussion in MIDI.

Snippets: Percussion.


Percussion staves

A percussion part for more than one instrument typically uses a multiline staff where each position in the staff refers to one piece of percussion. To typeset the music, the notes must be interpreted in DrumStaff and DrumVoice context.

up = \drummode {
  crashcymbal4 hihat8 halfopenhihat hh hh hh openhihat
}
down = \drummode {
  bassdrum4 snare8 bd r bd sn4
}
\new DrumStaff <<
  \new DrumVoice { \voiceOne \up }
  \new DrumVoice { \voiceTwo \down }
>>

[image of music]

The above example shows verbose polyphonic notation. The short polyphonic notation, described in I'm hearing Voices, can also be used. For example,

\new DrumStaff <<
  \drummode {
    bd4 sn4 bd4 sn4
    << {
      \repeat unfold 16 hh16
    } \\ {
      bd4 sn4 bd4 sn4
    } >>
  }
>>

[image of music]

There are also other layout possibilities. To use these, set the property drumStyleTable in context DrumVoice. The following variables have been predefined:

drums-style

This is the default. It typesets a typical drum kit on a five-line staff:

[image of music]

The drum scheme supports six different toms. When there are fewer toms, simply select the toms that produce the desired result. For example, to get toms on the three middle lines you use tommh, tomml, and tomfh.

timbales-style

This typesets timbales on a two line staff:

[image of music]

congas-style

This typesets congas on a two line staff:

[image of music]

bongos-style

This typesets bongos on a two line staff:

[image of music]

percussion-style

To typeset all kinds of simple percussion on one line staves:

[image of music]


Custom percussion staves

If you do not like any of the predefined lists you can define your own list at the top of your file.

#(define mydrums '(
         (bassdrum        default   #f           -1)
         (snare           default   #f           0)
         (hihat           cross     #f           1)
         (halfopenhihat   cross     "halfopen"   1)
         (pedalhihat      xcircle   "stopped"    2)
         (lowtom          diamond   #f           3)))
up = \drummode { hh8 hh hhho hhho hhp4 hhp }
down = \drummode { bd4 sn bd toml8 toml }

\new DrumStaff <<
  \set DrumStaff.drumStyleTable = #(alist->hash-table mydrums)
  \new DrumVoice { \voiceOne \up }
  \new DrumVoice { \voiceTwo \down }
>>

[image of music]

Selected Snippets

Here are some examples:

Two Woodblocks, entered with wbh (high woodblock) and wbl (low woodblock)

% These lines define the position of the woodblocks in the stave;
% if you like, you can change it or you can use special note heads
% for the woodblocks.
#(define mydrums '((hiwoodblock default #t  3)
                   (lowoodblock default #t -2)))

woodstaff = {
  % This defines a staff with only two lines.
  % It also defines the positions of the two lines.
  \override Staff.StaffSymbol #'line-positions = #'(-2 3)

  % This is necessary; if not entered, the barline would be too short!
  \override Staff.BarLine #'bar-extent = #'(-1.5 . 1.5)
}

\new DrumStaff {
  \set DrumStaff.drumStyleTable = #(alist->hash-table mydrums)

  % with this you load your new drum style table
  \woodstaff

  \drummode {
    \time 2/4
    wbl8 wbl16 wbl wbh8-> wbl |
    wbl8 wbl16 wbh-> ~ wbh wbl16 r8 |
  }
}

[image of music]

Note that in this special case the length of the barline must altered with \override Staff.BarLine #'bar-extent #'(from . to). Otherwise it would be too short. And you have also to define the positions of the two stafflines. For more information about these delicate things have a look at 譜シンボル.

A tambourine, entered with ‘tamb’:

#(define mydrums '((tambourine default #t 0)))

tambustaff = {
  \override Staff.StaffSymbol #'line-positions = #'( 0 )
  \override Staff.BarLine #'bar-extent = #'(-1.5 . 1.5)
  \set DrumStaff.instrumentName = #"Tambourine"
}

\new DrumStaff {
  \tambustaff
  \set DrumStaff.drumStyleTable = #(alist->hash-table mydrums)

  \drummode {
    \time 6/8
    tamb8. tamb16 tamb8 tamb tamb tamb |
    tamb4. tamb8 tamb tamb |
    % the trick with the scaled duration and the shorter rest
    % is neccessary for the correct ending of the trill-span!
    tamb2.*5/6 \startTrillSpan s8 \stopTrillSpan |
  }
}

[image of music]

Music for Tam-Tam (entered with ‘tt’):

#(define mydrums '((tamtam default #t 0)))

tamtamstaff = {
  \override Staff.StaffSymbol #'line-positions = #'( 0 )
  \override Staff.BarLine #'bar-extent = #'(-1.5 . 1.5)
  \set DrumStaff.instrumentName = #"Tamtam"
}

\new DrumStaff {
  \tamtamstaff
  \set DrumStaff.drumStyleTable = #(alist->hash-table mydrums)

  \drummode {
    tt 1 \pp \laissezVibrer
  }
}

[image of music]

Two different bells, entered with ‘cb’ (cowbell) and ‘rb’ (ridebell)

#(define mydrums '((ridebell default #t  3)
                   (cowbell  default #t -2)))

bellstaff = {
  \override DrumStaff.StaffSymbol #'line-positions = #'(-2 3)
  \set DrumStaff.drumStyleTable = #(alist->hash-table mydrums)
  \override Staff.BarLine #'bar-extent = #'(-1.5 . 1.5)
  \set DrumStaff.instrumentName = #"Different Bells"
}

\new DrumStaff {
  \bellstaff
  \drummode {
    \time 2/4
    rb8 rb cb cb16 rb-> ~ |
    rb16 rb8 rb16 cb8 cb |
  }
}

[image of music]

Here a short example taken from Stravinsky’s ‘L’histoire du Soldat’.

#(define mydrums '((bassdrum   default #t  4)
                   (snare      default #t -4)
                   (tambourine default #t  0)))

global = {
  \time 3/8 s4.
  \time 2/4 s2*2
  \time 3/8 s4.
  \time 2/4 s2
}

drumsA = {
  \context DrumVoice <<
    { \global }
    { \drummode {
        \autoBeamOff
        \stemDown sn8 \stemUp tamb s8 |
        sn4 \stemDown sn4 |
        \stemUp tamb8 \stemDown sn8 \stemUp sn16 \stemDown sn \stemUp sn8 |
        \stemDown sn8 \stemUp tamb s8 |
        \stemUp sn4 s8 \stemUp tamb
      }
    }
  >>
}

drumsB = {
  \drummode {
    s4 bd8 s2*2 s4 bd8 s4 bd8 s8
  }
}

\layout {
  indent = #40
}

\score {
  \new StaffGroup <<
    \new DrumStaff {
      \set DrumStaff.instrumentName = \markup {
        \column {
          "Tambourine"
          "et"
          "caisse claire s. timbre"
        }
      }
      \set DrumStaff.drumStyleTable = #(alist->hash-table mydrums)
      \drumsA
    }

   \new DrumStaff {
     \set DrumStaff.instrumentName = #"Grosse Caisse"
     \set DrumStaff.drumStyleTable = #(alist->hash-table mydrums)
     \drumsB }
  >>
}

[image of music]

参照

Snippets: Percussion.

Internals Reference: DrumStaff, DrumVoice.


Ghost notes

Ghost notes for drums and percussion may be created using the \parenthesize command detailed in 括弧. However, the default \drummode does not include the Parenthesis_engraver plugin which allows this.

\new DrumStaff \with {
  \consists "Parenthesis_engraver"
}
<<
  \context DrumVoice  = "1" { s1 }
  \context DrumVoice  = "2" { s1 }
  \drummode {
    <<
      {
        hh8[ hh] <hh sn> hh16
        < \parenthesize sn > hh
        < \parenthesize sn > hh8 <hh sn> hh
      } \\
      {
        bd4 r4 bd8 bd r8 bd
      }
    >>
  }
>>

[image of music]

Also note that you must add chords (< > brackets) around each \parenthesize statement.

参照

Snippets: Percussion.


2.6 Wind instruments

[image of music]

This section includes elements of music notation that arise when writing specifically for wind instruments.


2.6.1 Common notation for wind instruments

This section discusses notation common to most wind instruments.


References for wind instruments

Many notation issues for wind instruments pertain to breathing and tonguing:

Other aspects of musical notation that can apply to wind instruments:

Selected Snippets

Changing \flageolet mark size

To make the \flageolet circle smaller use the following Scheme function.

smallFlageolet =
#(let ((m (make-articulation "flageolet")))
   (set! (ly:music-property m 'tweaks)
         (acons 'font-size -3
                (ly:music-property m 'tweaks)))
   m)

\layout { ragged-right = ##f }

\relative c'' {
  d4^\flageolet_\markup { default size } d_\flageolet
  c4^\smallFlageolet_\markup { smaller } c_\smallFlageolet
}

[image of music]

参照

Notation Reference: ブレス記号, スラー, アーティキュレーションと装飾, List of articulations, トレモロの繰り返し, 楽器の移調, グリッサンド, 装飾小音符, Fall と Doit, 特殊な符頭,

Snippets: Winds.


Fingerings

All wind instruments other than the trombone require the use of several fingers to produce each pitch. Some fingering examples are shown in the snippets below.

Woodwind diagrams can be produced and are described in Woodwind diagrams.

Selected Snippets

Fingering symbols for wind instruments

Special symbols can be achieved by combining existing glyphs, which is useful for wind instruments.

centermarkup = {
  \once \override TextScript #'self-alignment-X = #CENTER
  \once \override TextScript #'X-offset =#(ly:make-simple-closure
    `(,+
      ,(ly:make-simple-closure (list
        ly:self-alignment-interface::centered-on-x-parent))
      ,(ly:make-simple-closure (list
        ly:self-alignment-interface::x-aligned-on-self))))
}
\score
{\relative c'
  {
    g\open
    \once \override TextScript #'staff-padding = #-1.0 \centermarkup
    g^\markup{\combine \musicglyph #"scripts.open" \musicglyph
    #"scripts.tenuto"}
    \centermarkup g^\markup{\combine \musicglyph #"scripts.open"
    \musicglyph #"scripts.stopped"}
    g\stopped
  }
}

[image of music]

Recorder fingering chart

The following example demonstrates how fingering charts for wind instruments can be realized.

% range chart for paetzold contrabass recorder

centermarkup = {
  \once \override TextScript #'self-alignment-X = #CENTER
  \once \override TextScript #'X-offset =#(ly:make-simple-closure
  `(,+
  ,(ly:make-simple-closure (list
  ly:self-alignment-interface::centered-on-x-parent))
  ,(ly:make-simple-closure (list
  ly:self-alignment-interface::x-aligned-on-self))))
}

\score {
  \new Staff \with {
    \remove "Time_signature_engraver"
    \override Stem #'stencil = ##f
    \consists "Horizontal_bracket_engraver"
  }
  {
    \clef bass
    \set Score.timing = ##f
    f,1*1/4 \glissando
    \clef violin
    gis'1*1/4
    \stemDown a'4^\markup{1)}
    \centermarkup
    \once \override TextScript #'padding = #2
    bes'1*1/4_\markup{\override #'(baseline-skip . 1.7) \column
      { \fontsize #-5 \slashed-digit #0 \finger 1 \finger 2 \finger 3 \finger 4
    \finger 5 \finger 6 \finger 7} }
    b'1*1/4
    c''4^\markup{1)}
    \centermarkup
    \once \override TextScript #'padding = #2
    cis''1*1/4
    deh''1*1/4
    \centermarkup
    \once \override TextScript #'padding = #2
    \once \override Staff.HorizontalBracket #'direction = #UP
    e''1*1/4_\markup{\override #'(baseline-skip . 1.7) \column
      { \fontsize #-5 \slashed-digit #0 \finger 1 \finger 2 \finger 4
    \finger 5} }\startGroup
    f''1*1/4^\markup{2)}\stopGroup
  }
}


[image of music]

参照

Notation Reference: Woodwind diagrams.

Snippets: Winds.


2.6.2 Bagpipes

This section discusses notation common bagpipes.


Bagpipe definitions

LilyPond contains special definitions for Scottish, Highland Bagpipe music; to use them, add

\include "bagpipe.ly"

to the top of your input file. This lets you add the special grace notes common to bagpipe music with short commands. For example, you could write \taor instead of

\grace { \small G32[ d G e] }

bagpipe.ly’ also contains pitch definitions for the bagpipe notes in the appropriate octaves, so you do not need to worry about \relative or \transpose.

\include "bagpipe.ly"
{ \grg G4 \grg a \grg b \grg c \grg d \grg e \grg f \grA g A }

[image of music]

Bagpipe music nominally uses the key of D Major (even though that isn’t really true). However, since that is the only key that can be used, the key signature is normally not written out. To set this up correctly, always start your music with \hideKeySignature. If you for some reason want to show the key signature, you can use \showKeySignature instead.

Some modern music use cross fingering on c and f to flatten those notes. This can be indicated by cflat or fflat. Similarly, the piobaireachd high g can be written gflat when it occurs in light music.

参照

Winds.


Bagpipe example

This is what the well known tune Amazing Grace looks like in bagpipe notation.

\include "bagpipe.ly"
\layout {
  indent = 0.0\cm
  \context { \Score \remove "Bar_number_engraver" }
}

\header {
  title = "Amazing Grace"
  meter = "Hymn"
  arranger = "Trad. arr."
}

{
  \hideKeySignature
  \time 3/4
  \grg \partial 4 a8. d16
  \slurd d2 \grg f8[ e32 d16.]
  \grg f2 \grg f8 e
  \thrwd d2 \grg b4
  \grG a2 \grg a8. d16
  \slurd d2 \grg f8[ e32 d16.]
  \grg f2 \grg e8. f16
  \dblA A2 \grg A4
  \grg A2 f8. A16
  \grg A2 \hdblf f8[ e32 d16.]
  \grg f2 \grg f8 e
  \thrwd d2 \grg b4
  \grG a2 \grg a8. d16
  \slurd d2 \grg f8[ e32 d16.]
  \grg f2 e4
  \thrwd d2.
  \slurd d2
  \bar "|."
}

[image of music]

参照

Winds.


2.6.3 Woodwinds

This section discusses notation specifically for woodwind instruments.


2.6.3.1 Woodwind diagrams

Woodwind diagrams can be used to indicate the fingering to be used for specific notes and are available for the following instruments:

Woodwind diagrams are created as markups:

c1^\markup {
  \woodwind-diagram #'piccolo #'((lh . (gis))
                                 (cc . (one three))
                                 (rh . (ees)))
}

[image of music]

Keys can be open, partially-covered, ring-depressed, or fully covered:

\textLengthOn
c1^\markup {
  \center-column {
    "one quarter"
    \woodwind-diagram #'flute #'((cc . (one1q))
                                 (lh . ())
                                 (rh . ()))
  }
}

c1^\markup {
  \center-column {
    "one half"
    \woodwind-diagram #'flute #'((cc . (one1h))
                                 (lh . ())
                                 (rh . ()))
  }
}

c1^\markup {
  \center-column {
    "three quarter"
    \woodwind-diagram #'flute #'((cc . (one3q))
                                 (lh . ())
                                 (rh . ()))
  }
}

c1^\markup {
  \center-column {
    "ring"
    \woodwind-diagram #'flute #'((cc . (oneR))
                                 (lh . ())
                                 (rh . ()))
  }
}

c1^\markup {
  \center-column {
    "full"
    \woodwind-diagram #'flute #'((cc . (oneF two))
                                 (lh . ())
                                 (rh . ()))
  }
}

[image of music]

Trills are indicated as shaded keys:

c1^\markup {
  \woodwind-diagram #'bass-clarinet
                    #'((cc . (threeT four))
                       (lh . ())
                       (rh . (b fis)))
}

[image of music]

A variety of trills can be displayed:

\textLengthOn
c1^\markup {
  \center-column {
    "one quarter to ring"
    \woodwind-diagram #'flute #'((cc . (one1qTR))
                                 (lh . ())
                                 (rh . ()))
  }
}

c1^\markup {
  \center-column {
    "ring to shut"
    \woodwind-diagram #'flute #'((cc . (oneTR))
                                 (lh . ())
                                 (rh . ()))
  }
}

c1^\markup {
  \center-column {
    "ring to open"
    \woodwind-diagram #'flute #'((cc . (oneRT))
                                 (lh . ())
                                 (rh . ()))
  }
}

c1^\markup {
  \center-column {
    "open to shut"
    \woodwind-diagram #'flute #'((cc . (oneT))
                                 (lh . ())
                                 (rh . ()))
  }
}

c1^\markup {
  \center-column {
    "one quarter to three quarters"
    \woodwind-diagram #'flute #'((cc . (one1qT3q))
                                 (lh . ())
                                 (rh . ()))
  }
}

[image of music]

The list of all possible keys and settings for a given instrument can be displayed on the console or in the log file, although they will not show up in the music output:

#(print-keys-verbose 'flute)

[image of music]

New diagrams can be created by following the patterns in ‘scm/define-woodwind-diagrams.scm’ and ‘scm/display-woodwind-diagrams.scm’. However, this will require Scheme ability and may not be accessible to all users.

定義済みコマンド

Selected Snippets

Woodwind diagrams listing

The following music shows all of the woodwind diagrams currently defined in LilyPond.

\relative c' {
  \textLengthOn
  c1^
  \markup {
    \center-column {
      'piccolo
      " "
       \woodwind-diagram
                  #'piccolo
                  #'()
    }
  }

  c1^
  \markup {
    \center-column {
       'flute
       " "
       \woodwind-diagram
          #'flute
          #'()
    }
  }
  c1^\markup {
    \center-column {
      'oboe
      " "
      \woodwind-diagram
        #'oboe
        #'()
    }
  }

  c1^\markup {
    \center-column {
      'clarinet
      " "
      \woodwind-diagram
        #'clarinet
        #'()
    }
  }

  c1^\markup {
    \center-column {
      'bass-clarinet
      " "
      \woodwind-diagram
        #'bass-clarinet
        #'()
    }
  }

  c1^\markup {
    \center-column {
      'saxophone
      " "
      \woodwind-diagram
        #'saxophone
        #'()
    }
  }

  c1^\markup {
    \center-column {
      'bassoon
      " "
      \woodwind-diagram
        #'bassoon
        #'()
    }
  }

  c1^\markup {
    \center-column {
      'contrabassoon
      " "
      \woodwind-diagram
        #'contrabassoon
        #'()
    }
  }
}

[image of music]

Graphical and text woodwind diagrams

In may cases, the keys other than the central column can be displayed by key name as well as by graphical means.

\relative c'' {
  \textLengthOn
  c1^\markup
    \woodwind-diagram
      #'piccolo
      #'((cc . (one three))
         (lh . (gis))
         (rh . (ees)))

  c^\markup
    \override #'(graphical . #f) {
      \woodwind-diagram
        #'piccolo
        #'((cc . (one three))
           (lh . (gis))
           (rh . (ees)))
    }
}

[image of music]

Changing the size of woodwind diagrams

The size and thickness of woodwind diagrams can be changed.

\relative c'' {
  \textLengthOn
  c1^\markup
    \woodwind-diagram
      #'piccolo
      #'()

  c^\markup
    \override #'(size . 1.5) {
      \woodwind-diagram
        #'piccolo
        #'()
    }
  c^\markup
    \override #'(thickness . 0.15) {
      \woodwind-diagram
        #'piccolo
        #'()
    }
}

[image of music]

Woodwind diagrams key lists

The snippet below produces a list of all possible keys and key settings for woodwind diagrams as defined in ‘scm/define-woodwind-diagrams.scm’. The list will be displayed on the console and in the log file, but not in the music.

#(print-keys-verbose 'piccolo)
#(print-keys-verbose 'flute)
#(print-keys-verbose 'flute-b-extension)
#(print-keys-verbose 'oboe)
#(print-keys-verbose 'clarinet)
#(print-keys-verbose 'bass-clarinet)
#(print-keys-verbose 'low-bass-clarinet)
#(print-keys-verbose 'saxophone)
#(print-keys-verbose 'baritone-saxophone)
#(print-keys-verbose 'bassoon)
#(print-keys-verbose 'contrabassoon)

[image of music]

参照

Installed Files: ‘scm/define-woodwind-diagrams.scm’, ‘scm/display-woodwind-diagrams.scm’.

Snippets: Winds.

Internals Reference: TextScript, instrument-specific-markup-interface.


2.7 Chord notation

[image of music]

Chords can be entered either as normal notes or in chord mode and displayed using a variety of traditional European chord naming conventions. Chord names and figured bass notation can also be displayed.


2.7.1 Chord mode

Chord mode is used to enter chords using an indicator of the chord structure, rather than the chord pitches.


Chord mode overview

Chords can be entered as simultaneous music, as discussed in 和音の音符.

Chords can also be entered in “chord mode”, which is an input mode that focuses on the structures of chords in traditional European music, rather than on specific pitches. This is convenient for those who are familiar with using chord names to describe chords. More information on different input modes can be found at Input modes.

\chordmode { c1 g a g c }

[image of music]

Chords entered using chord mode are music elements, and can be transposed just like chords entered using simultaneous music. \chordmode is absolute, as \relative has no effect on chordmode blocks. However, in \chordmode the absolute pitches are one octave higher than in note mode.

Chord mode and note mode can be mixed in sequential music:

<c e g>2 <g b d>
\chordmode { c2 f }
<c e g>2 <g' b d>
\chordmode { f2 g }

[image of music]

参照

Music Glossary: chord.

Notation Reference: 和音の音符, Input modes.

Snippets: Chords.

既知の問題と警告

Predefined shorthands for articulations and ornaments cannot be used on notes in chord mode, see アーティキュレーションと装飾.

When chord mode and note mode are mixed in sequential music, and chord mode comes first, the note mode will create a new Staff context:

\chordmode { c2 f }
<c e g>2 <g' b d>

[image of music]

To avoid this behavior, explicitly create the Staff context:

\new Staff {
  \chordmode { c2 f }
  <c e g>2  <g' b d>
}

[image of music]


Common chords

Major triads are entered by including the root and an optional duration:

\chordmode { c2 f4 g }

[image of music]

Minor, augmented, and diminished triads are entered by placing : and a quality modifier string after the duration:

\chordmode { c2:m f4:aug g:dim }

[image of music]

Seventh chords can be created:

\chordmode { c1:7 c:m7 c:maj7 c:dim7 c:aug7 }

[image of music]

The table below shows the actions of the quality modifiers on triads and seventh chords. The default seventh step added to chords is a minor or flatted seventh, which makes the dominant seventh the basic seventh chord. All alterations are relative to the dominant seventh. A more complete table of modifier usage is found at Common chord modifiers.

Modifier

Action

Example

None

The default action; produces a major triad.

[image of music]

m, m7

The minor chord. This modifier lowers the 3rd.

[image of music]

dim, dim7

The diminished chord. This modifier lowers the 3rd, 5th and (if present) the 7th step.

[image of music]

aug

The augmented chord. This modifier raises the 5th step.

[image of music]

maj, maj7

The major 7th chord. This modifier adds a raised 7th step. The 7 following maj is optional. Do NOT use this modifier to create a major triad.

[image of music]

参照

Notation Reference: Common chord modifiers, Extended and altered chords.

Snippets: Chords.

既知の問題と警告

Only one quality modifier should be used per chord, typically on the highest step present in the chord. Chords with more than quality modifier will be parsed without an error or warning, but the results are unpredictable. Chords that cannot be achieved with a single quality modifier should be altered by individual pitches, as described in Extended and altered chords.


Extended and altered chords

Chord structures of arbitrary complexity can be created in chord mode. The modifier string can be used to extend a chord, add or remove chord steps, raise or lower chord steps, and add a bass note or create an inversion.

The first number following the : is taken to be the extent of the chord. The chord is constructed by sequentially adding thirds to the root until the specified number has been reached. Note that the seventh step added as part of an extended chord will be the minor or flatted seventh, not the major seventh. If the extent is not a third (e.g., 6), thirds are added up to the highest third below the extent, and then the step of the extent is added. The largest possible value for the extent is 13. Any larger value is interpreted as 13.

\chordmode {
  c1:2 c:3 c:4 c:5
  c1:6 c:7 c:8 c:9
  c1:10 c:11 c:12 c:13
  c1:14
}

[image of music]

Note that both c:5 and c produce a C major triad.

Since an unaltered 11 does not sound good when combined with an unaltered 13, the 11 is removed from a :13 chord (unless it is added explicitly).

\chordmode {
  c1:13 c:13.11 c:m13
}

[image of music]

Individual steps can be added to a chord. Additions follow the extent and are prefixed by a dot (.). The basic seventh step added to a chord is the minor or flatted seventh, rather than the major seventh.

\chordmode {
  c1:5.6 c:3.7.8 c:3.6.13
}

[image of music]

Added steps can be as high as desired.

\chordmode {
  c4:5.15 c:5.20 c:5.25 c:5.30
}

[image of music]

Added chord steps can be altered by suffixing a - or + sign to the number. To alter a step that is automatically included as part of the basic chord structure, add it as an altered step.

\chordmode {
  c1:7+ c:5+.3- c:3-.5-.7-
}

[image of music]

Following any steps to be added, a series of steps to be removed is introduced in a modifier string with a prefix of ^. If more than one step is to be removed, the steps to be removed are separated by . following the initial ^.

\chordmode {
  c1^3 c:7^5 c:9^3 c:9^3.5 c:13.11^3.7
}

[image of music]

The modifier sus can be added to the modifier string to create suspended chords. This removes the 3rd step from the chord. Append either 2 or 4 to add the 2nd or 4th step to the chord. sus is equivalent to ^3; sus4 is equivalent to .4^3.

\chordmode {
  c1:sus c:sus2 c:sus4 c:5.4^3
}

[image of music]

Inversions (putting a pitch other than the root on the bottom of the chord) and added bass notes can be specified by appending /pitch to the chord.

\chordmode {
  c1 c/g c/f
}

[image of music]

A bass note that is part of the chord can be added, instead of moved as part of an inversion, by using /+pitch.

\chordmode {
  c1 c/g c/+g
}

[image of music]

Chord modifiers that can be used to produce a variety of standard chords are shown in Common chord modifiers.

参照

Notation Reference: Common chord modifiers.

Snippets: Chords.

既知の問題と警告

Each step can only be present in a chord once. The following simply produces the augmented chord, since 5+ is interpreted last.

\chordmode { c1:5.5-.5+ }

[image of music]

Only the second inversion can be created by adding a bass note. The first inversion requires changing the root of the chord.

\chordmode {
  c'1: c':/g e:6-3-^5 e:m6-^5
}

[image of music]


2.7.2 Displaying chords

Chords can be displayed by name, in addition to the standard display as notes on a staff.


Printing chord names

Chord names are printed in the ChordNames context:

\new ChordNames {
  \chordmode {
    c2 f4. g8
  }
}

[image of music]

Chords can be entered as simultaneous notes or through the use of chord mode. The displayed chord name will be the same, regardless of the mode of entry, unless there are inversions or added bass notes:

<<
  \new ChordNames {
    <c e g>2  <f bes c>
    <f c' e g>1
    \chordmode {
      c2 f:sus4 c1:/f
    }
  }
  {
    <c e g>2  <f bes c>
    <f, c' e g>1
    \chordmode {
      c2 f:sus4 c1:/f
    }
  }
>>

[image of music]

Rests passed to a ChordNames context will cause the noChordSymbol markup to be displayed.

<<
  \new ChordNames \chordmode {
    c1
    r1
    g1
    c1
  }
  \chordmode {
    c1
    r1
    g1
    c1
  }
>>

[image of music]

\chords { ... } is a shortcut notation for \new ChordNames { \chordmode { ... } }.

\chords {
  c2 f4.:m g8:maj7
}

[image of music]

\new ChordNames {
  \chordmode {
    c2 f4.:m g8:maj7
  }
}

[image of music]

Selected Snippets

Showing chords at changes

Chord names can be displayed only at the start of lines and when the chord changes.

harmonies = \chordmode {
  c1:m c:m \break c:m c:m d
}
<<
  \new ChordNames {
    \set chordChanges = ##t
    \harmonies
  }
  \new Staff {
    \relative c' { \harmonies }
  }
>>

[image of music]

Simple lead sheet

When put together, chord names, a melody, and lyrics form a lead sheet:

<<
  \chords { c2 g:sus4 f e }
  \relative c'' {
    a4 e c8 e r4
    b2 c4( d)
  }
  \addlyrics { One day this shall be free __ }
>>

[image of music]

参照

Music Glossary: chord.

Notation Reference: 音楽を並列に記述する.

Snippets: Chords.

Internals Reference: ChordNames, ChordName, Chord_name_engraver, Volta_engraver, Bar_engraver.

既知の問題と警告

Chords containing inversions or altered bass notes are not named properly if entered using simultaneous music.


Customizing chord names

There is no unique system for naming chords. Different musical traditions use different names for the same set of chords. There are also different symbols displayed for a given chord name. The names and symbols displayed for chord names are customizable.

The basic chord name layout is a system for Jazz music, proposed by Klaus Ignatzek (see Literature list). The chord naming system can be modified as described below. An alternate jazz chord system has been developed using these modifications. The Ignatzek and alternate Jazz notation are shown on the chart in Chord name chart.

In addition to the different naming systems, different note names are used for the root in different languages. The predefined variables \germanChords, \semiGermanChords, \italianChords and \frenchChords set these variables. The effect is demonstrated here:

[image of music]

German songbooks may indicate minor chords as lowercase letters, without any m suffix. This can be obtained by setting the chordNameLowercaseMinor property:

\chords {
  \set chordNameLowercaseMinor = ##t
  c2 d:m e:m f
}

[image of music]

If none of the existing settings give the desired output, the chord name display can be tuned through the following properties.

chordRootNamer

The chord name is usually printed as a letter for the root with an optional alteration. The transformation from pitch to letter is done by this function. Special note names (for example, the German ‘H’ for a B-chord) can be produced by storing a new function in this property.

majorSevenSymbol

This property contains the markup object used to follow the output of chordRootNamer to identify a major 7 chord. Predefined options are whiteTriangleMarkup and blackTriangleMarkup.

chordNoteNamer

When the chord name contains additional pitches other than the root (e.g., an added bass note), this function is used to print the additional pitch. By default the pitch is printed using chordRootNamer. The chordNoteNamer property can be set to a specialized function to change this behavior. For example, the bass note can be printed in lower case.

chordNameSeparator

Different parts of a chord name are normally separated by a slash. By setting chordNameSeparator, you can use any desired markup for a separator.

chordNameExceptions

This property is a list of pairs. The first item in each pair is a set of pitches used to identify the steps present in the chord. The second item is a markup that will follow the chordRootNamer output to create the chord name.

chordPrefixSpacer

The ‘m’ for minor chords is usually printed immediately to the right of the root of the chord. A spacer can be placed between the root and ‘m’ by setting chordPrefixSpacer. The spacer is not used when the root is altered.

定義済みコマンド

\whiteTriangleMarkup, \blackTriangleMarkup, \germanChords, \semiGermanChords, \italianChords, \frenchChords.

Selected Snippets

Chord name exceptions

The property chordNameExceptions can be used to store a list of special notations for specific chords.

% modify maj9 and 6(add9)
% Exception music is chords with markups
chExceptionMusic = {
  <c e g b d'>1-\markup { \super "maj9" }
  <c e g a d'>1-\markup { \super "6(add9)" }
}

% Convert music to list and prepend to existing exceptions.
chExceptions = #( append
  ( sequential-music-to-chord-exceptions chExceptionMusic #t)
  ignatzekExceptions)

theMusic = \chordmode {
  g1:maj9 g1:6.9
  \set chordNameExceptions = #chExceptions
  g1:maj9 g1:6.9
}

\layout {
  ragged-right = ##t
}

<< \context ChordNames \theMusic
   \context Voice \theMusic
>>

[image of music]

chord name major7

The layout of the major 7 can be tuned with majorSevenSymbol.

\chords {
  c:7+
  \set majorSevenSymbol = \markup { j7 }
  c:7+
}

[image of music]

Adding bar lines to ChordNames context

To add bar line indications in the ChordNames context, add the Bar_engraver.

\new ChordNames \with {
  \override BarLine #'bar-extent = #'(-2 . 2)
  \consists "Bar_engraver"
}
\chordmode {
  f1:maj7 f:7 bes:7
}


[image of music]

Volta below chords

By adding the Volta_engraver to the relevant staff, volte can be put under chords.

\score {
  <<
    \chords {
      c1
      c1
    }
    \new Staff \with {
      \consists "Volta_engraver"
    }
    {
      \repeat volta 2 { c'1 }
      \alternative { c' }
    }
  >>
  \layout {
    \context {
      \Score
      \remove "Volta_engraver"
    }
  }
}

[image of music]

Changing chord separator

The separator between different parts of a chord name can be set to any markup.

\chords {
  c:7sus4
  \set chordNameSeparator
    = \markup { \typewriter | }
  c:7sus4
}

[image of music]

参照

Notation Reference: Chord name chart, Common chord modifiers.

Essay on automated music engraving: Literature list.

Installed Files: ‘scm/chords-ignatzek.scm’, ‘scm/chord-entry.scm’, ‘ly/chord-modifier-init.ly’.

Snippets: Chords.

既知の問題と警告

Chord names are determined from both the pitches that are present in the chord and the information on the chord structure that may have been entered in \chordmode. If the simultaneous pitches method of entering chords is used, undesired names result from inversions or bass notes.

myChords = \relative c' {
  \chordmode { c1 c/g c/f }
  <c e g>1 <g c e> <f c' e g>
}
<<
  \new ChordNames { \myChords }
  \new Staff { \myChords }
>>

[image of music]


2.7.3 Figured bass

[image of music]

Figured bass notation can be displayed.


Introduction to figured bass

LilyPond has support for figured bass, also called thorough bass or basso continuo:

<<
  \new Voice { \clef bass dis4 c d ais g fis}
  \new FiguredBass {
    \figuremode {
      < 6 >4 < 7\+ >8 < 6+ [_!] >
      < 6 >4 <6 5 [3+] >
      < _ >4 < 6 5/>4
    }
  }
>>

[image of music]

The support for figured bass consists of two parts: there is an input mode, introduced by \figuremode, that accepts entry of bass figures, and there is a context named FiguredBass that takes care of displaying BassFigure objects. Figured bass can also be displayed in Staff contexts.

\figures{ ... } is a shortcut notation for \new FiguredBass { \figuremode { ... } }.

Although the support for figured bass may superficially resemble chord support, it is much simpler. \figuremode mode simply stores the figures and the FiguredBass context prints them as entered. There is no conversion to pitches.

参照

Music Glossary: figured bass.

Snippets: Chords.


Entering figured bass

\figuremode is used to switch the input mode to figure mode. More information on different input modes can be found at Input modes.

In figure mode, a group of bass figures is delimited by < and >. The duration is entered after the >.

\new FiguredBass {
  \figuremode {
    <6 4>2
  }
}

[image of music]

Accidentals (including naturals) can be added to figures:

\figures {
  <7! 6+ 4-> <5++> <3-->
}

[image of music]

Augmented and diminished steps can be indicated:

\figures {
  <6\+ 5/> <7/>
}

[image of music]

A backward slash through a figure (typically used for raised sixth steps) can be created:

\figures {
  <6> <6\\>
}

[image of music]

Vertical spaces and brackets can be included in figures:

\figures {
  <[12 _!] 8 [6  4]>
}

[image of music]

Any text markup can be inserted as a figure:

\figures {
  <\markup { \tiny \number 6 \super (1) } 5>
}

[image of music]

Continuation lines can be used to indicate repeated figures:

<<
  {
    \clef bass
    e4 d c b,
    e4 d c b,
  }
  \figures {
    \bassFigureExtendersOn
    <6 4>4 <6 3> <7 3> <7 3>
    \bassFigureExtendersOff
    <6 4>4 <6 3> <7 3> <7 3>
  }
>>

[image of music]

In this case, the extender lines replace existing figures, unless the continuation lines have been explicitly terminated.

<<
  \figures {
    \bassFigureExtendersOn
    <6 4>4 <6 4> <6\! 4\!> <6 4>
  }
  {
    \clef bass
    d4 d c c
  }
>>

[image of music]

The table below summarizes the figure modifiers available.

Modifier

Purpose

Example

+, -, !

Accidentals

[image of music]

\+, /

Augmented and diminished steps

[image of music]

\\

Raised sixth step

[image of music]

\!

End of continuation line

[image of music]

定義済みコマンド

\bassFigureExtendersOn, \bassFigureExtendersOff.

Selected Snippets

Changing the positions of figured bass alterations

Accidentals and plus signs can appear before or after the numbers, depending on the figuredBassAlterationDirection and figuredBassPlusDirection properties.

\figures {
  <6\+> <5+> <6 4-> r
  \set figuredBassAlterationDirection = #RIGHT
  <6\+> <5+> <6 4-> r
  \set figuredBassPlusDirection = #RIGHT
  <6\+> <5+> <6 4-> r
  \set figuredBassAlterationDirection = #LEFT
  <6\+> <5+> <6 4-> r
}

[image of music]

参照

Snippets: Chords.

Internals Reference: BassFigure, BassFigureAlignment, BassFigureLine, BassFigureBracket, BassFigureContinuation, FiguredBass.


Displaying figured bass

Figured bass can be displayed using the FiguredBass context, or in most staff contexts.

When displayed in a FiguredBass context, the vertical location of the figures is independent of the notes on the staff.

<<
  \relative c'' {
    c4 c'8 r8 c,4 c'
  }
  \new FiguredBass {
    \figuremode {
      <4>4 <10 6>8 s8
      <6 4>4 <6 4>
    }
  }
>>

[image of music]

In the example above, the FiguredBass context must be explicitly instantiated to avoid creating a second (empty) staff.

Figured bass can also be added to Staff contexts directly. In this case, the vertical position of the figures is adjusted automatically.

<<
  \new Staff = myStaff
  \figuremode {
    <4>4 <10 6>8 s8
    <6 4>4 <6 4>
  }
  %% Put notes on same Staff as figures
  \context Staff = myStaff
  {
    \clef bass
    c4 c'8 r8 c4 c'
  }
>>

[image of music]

When added in a Staff context, figured bass can be displayed above or below the staff.

<<
  \new Staff = myStaff
  \figuremode {
    <4>4 <10 6>8 s8
    \bassFigureStaffAlignmentDown
    <6 4>4 <6 4>
  }
  %% Put notes on same Staff as figures
  \context Staff = myStaff
  {
    \clef bass
    c4 c'8 r8 c4 c'
  }
>>

[image of music]

定義済みコマンド

\bassFigureStaffAlignmentDown, \bassFigureStaffAlignmentUp, \bassFigureStaffAlignmentNeutral.

参照

Snippets: Chords.

Internals Reference: BassFigure, BassFigureAlignment, BassFigureLine, BassFigureBracket, BassFigureContinuation, FiguredBass.

既知の問題と警告

To ensure that continuation lines work properly, it is safest to use the same rhythm in the figure line as in the bass line.

<<
  {
    \clef bass
    \repeat unfold 4 { f16. g32 } f8. es16 d8 es
  }
  \figures {
    \bassFigureExtendersOn
    % The extenders are correct here, with the same rhythm as the bass
    \repeat unfold 4 { <6 4->16. <6 4->32 }
    <5>8. r16 <6>8 <6\! 5->
  }
>>
<<
  {
    \clef bass
    \repeat unfold 4 { f16. g32 } f8. es16 d8 es
  }
  \figures {
    \bassFigureExtendersOn
    % The extenders are incorrect here, even though the timing is the same
    <6 4->4 <6 4->4
    <5>8. r16 <6>8 <6\! 5->
  }
>>

[image of music]

When using extender lines, adjacent figures with the same number in a different figure location can cause the figure positions to invert.

<<
  { fis4 g g, e' }
  \figures {
    \bassFigureExtendersOn
    <6 5>4 <5\! 4> < 5 _!> <6>
  }
>>

[image of music]

To avoid this problem, simply turn on extenders after the figure that begins the extender line and turn them off at the end of the extender line.

<<
  { fis4 g g, e' }
  \figures {
    <6 5>4 <5 4>
    \bassFigureExtendersOn
    < 5 _!>4 <6>
    \bassFigureExtendersOff
  }
>>

[image of music]


2.8 Contemporary music

From the beginning of the 20th Century there has been a massive expansion of compositional style and technique. New harmonic and rhythmic developments, an expansion of the pitch spectrum and the development of a wide range of new instrumental techniques have been accompanied by a parallel evolution and expansion of musical notation. The purpose of this section is to provide references and information relevant to working with these new notational techniques.


2.8.1 Pitch and harmony in contemporary music

This section highlights issues that are relevant to notating pitch and harmony in contemporary music.


References for pitch and harmony in contemporary music


Microtonal notation


Contemporary key signatures and harmony


2.8.2 Contemporary approaches to rhythm

This section highlights issues that are relevant to the notation of rhythm in contemporary music.


References for contemporary approaches to rhythm


Tuplets in contemporary music


Contemporary time signatures


Extended polymetric notation


Beams in contemporary music


Bar lines in contemporary music


2.8.3 Graphical notation


2.8.4 Contemporary scoring techniques


2.8.5 New instrumental techniques


2.8.6 Further reading and scores of interest

This section suggests books, musical examples and other resources useful in studying contemporary musical notation.


Books and articles on contemporary musical notation


Scores and musical examples


2.9 Ancient notation

[image of music]

Support for ancient notation includes features for mensural notation and Gregorian chant notation. These features can be accessed either by modifying style properties of graphical objects such as note heads and rests, or by using one of the pre-defined contexts for mensural or Gregorian notation.

Many graphical objects, such as note heads and flags, accidentals, time signatures, and rests, provide a style property, which can be changed to emulate several different styles of ancient notation. See

Some notational concepts are introduced specifically for ancient notation,

参照

Music Glossary: custos, ligature, mensural notation.

Notation Reference: Mensural note heads, Mensural accidentals and key signatures, Mensural rests, Gregorian clefs, Mensural flags, Mensural time signatures, Custodes, Divisiones, Ligatures.


2.9.1 Overview of the supported styles

Three styles are available for typesetting Gregorian chant:

Three styles emulate the appearance of late-medieval and renaissance manuscripts and prints of mensural music:

Baroque and Classical are not complete styles but differ from the default style only in some details: certain note heads (Baroque) and the quarter rest (Classical).

Only the mensural style has alternatives for all aspects of the notation. Thus, there are no rests or flags in the Gregorian styles, since these signs are not used in plainchant notation, and the Petrucci style has no flags or accidentals of its own.

Each element of the notation can be changed independently of the others, so that one can use mensural flags, petrucci note heads, classical rests and vaticana clefs in the same piece, if one wishes.

参照

Music Glossary: mensural notation, flag.


2.9.2 Ancient notation—common features


Pre-defined contexts

For Gregorian chant and mensural notation, there are pre-defined voice and staff contexts available, which set all the various notation signs to values suitable for these styles. If one is satisfied with these defaults, one can proceed directly with note entry without worrying about the details on how to customize a context. See one of the pre-defined contexts VaticanaVoice, VaticanaStaff, MensuralVoice, and MensuralStaff. See further

参照

Music Glossary: mensural notation.

Notation Reference: Gregorian chant contexts, Mensural contexts.


Ligatures

A ligature is a graphical symbol that represents at least two distinct notes. Ligatures originally appeared in the manuscripts of Gregorian chant notation to denote ascending or descending sequences of notes on the same syllable. They are also used in mensural notation.

Ligatures are entered by enclosing them in \[ and \]. Some ligature styles may need additional input syntax specific for this particular type of ligature. By default, the LigatureBracket engraver just puts a square bracket above the ligature.

\transpose c c' {
  \[ g c a f d' \]
  a g f
  \[ e f a g \]
}

[image of music]

Two other ligature styles are available: the Vaticana for Gregorian chant, and the Mensural for mensural music (only white mensural ligatures are supported for mensural music, and with certain limitations). To use any of these styles, the default Ligature_bracket_engraver has to be replaced with one of the specialized ligature engravers in the Voice context, as explained in White mensural ligatures and Gregorian square neume ligatures.

参照

Music Glossary: ligature.

Notation Reference: White mensural ligatures, Gregorian square neume ligatures.

既知の問題と警告

Ligatures need special spacing that has not yet been implemented. As a result, there is too much space between ligatures most of the time, and line breaking often is unsatisfactory. Also, lyrics do not correctly align with ligatures.

Accidentals must not be printed within a ligature, but instead need to be collected and printed in front of it.

The syntax still uses the deprecated infix style \[ music expr \]. For consistency reasons, it will eventually be changed to postfix style note\[ ... note\].


Custodes

A custos (plural: custodes; Latin word for “guard”) is a symbol that appears at the end of a staff. It anticipates the pitch of the first note of the following line, thus helping the performer to manage line breaks during performance.

Custodes were frequently used in music notation until the seventeenth century. Nowadays, they have survived only in a few particular forms of musical notation such as contemporary editions of Gregorian chant like the Editio Vaticana. There are different custos glyphs used in different flavors of notational style.

For typesetting custodes, just put a Custos_engraver into the Staff context when declaring the \layout block, and change the style of the custos with an \override if desired, as shown in the following example:

[image of music]

The custos glyph is selected by the style property. The styles supported are vaticana, medicaea, hufnagel, and mensural. They are demonstrated in the following fragment.

[image of music]

参照

Music Glossary: custos.

Internals Reference: Custos.

Snippets: Ancient notation.


Figured bass support

There is limited support for figured bass notation from the Baroque period; see Figured bass.

参照

Music Glossary: figured bass.

Notation Reference: Figured bass.


2.9.3 Typesetting mensural music


Mensural contexts

The predefined MensuralVoice and MensuralStaff contexts can be used to engrave a piece in mensural style. These contexts initialize all relevant context properties and grob properties to proper values, so you can immediately go ahead entering the chant, as the following excerpt demonstrates:

\score {
  <<
    \new MensuralVoice = "discantus" \transpose c c' {
      \override Score.BarNumber #'transparent = ##t {
        c'1\melisma bes a g\melismaEnd
        f\breve
        \[ f1\melisma a c'\breve d'\melismaEnd \]
        c'\longa
        c'\breve\melisma a1 g1\melismaEnd
        fis\longa^\signumcongruentiae
      }
    }
    \new Lyrics \lyricsto "discantus" {
      San -- ctus, San -- ctus, San -- ctus
    }
  >>
}

[image of music]

参照

Music Glossary: mensural notation.


Mensural clefs

The following table shows all mensural clefs that are supported via the \clef command. Some of the clefs use the same glyph, but differ only with respect to the line they are printed on. In such cases, a trailing number in the name is used to enumerate these clefs, numbered from the lowest to the highest line. Still, you can manually force a clef glyph to be typeset on an arbitrary line, as described in 音部記号. The note printed to the right side of each clef in the example column denotes the c' with respect to that clef.

Petrucci used C clefs with differently balanced left-side vertical beams, depending on which staff line it is printed.

Description

Supported Clefs

Example

mensural C clef

mensural-c1, mensural-c2,
mensural-c3, mensural-c4

[image of music]

mensural F clef

mensural-f

[image of music]

mensural G clef

mensural-g

[image of music]

neomensural C clef

neomensural-c1, neomensural-c2,
neomensural-c3, neomensural-c4

[image of music]

petrucci style C clefs, for use on different staff lines (the example shows the 2nd staff line C clef)

petrucci-c1, petrucci-c2,
petrucci-c3, petrucci-c4,
petrucci-c5

[image of music]

petrucci style F clefs, for use on different staff lines (the example shows the 3rd staff line F clef)

petrucci-f3, petrucci-f4,
petrucci-f5

[image of music]

petrucci style G clef

petrucci-g

[image of music]

参照

Music Glossary: mensural notation, clef.

Notation Reference: 音部記号.

既知の問題と警告

The mensural g clef is mapped to the Petrucci g clef.


Mensural time signatures

There is limited support for mensuration signs (which are similar to, but not exactly the same as time signatures). The glyphs are hard-wired to particular time fractions. In other words, to get a particular mensuration sign with the \time n/m command, n and m have to be chosen according to the following table

[image of music]

Use the style property of grob TimeSignature to select ancient time signatures. Supported styles are neomensural and mensural. The above table uses the neomensural style. The following examples show the differences in style:

[image of music]

拍子, gives a general introduction to the use of time signatures.

参照

Music Glossary: mensural notation.

Notation Reference: 拍子.

既知の問題と警告

Ratios of note durations cannot change with the time signature, as those are not constant. For example, the ratio of 1 breve = 3 semibreves (tempus perfectum) can be made by hand, by setting

breveTP = #(ly:make-duration -1 0 3 2)
…
{ c\breveTP f1 }

This sets breveTP to 3/2 times 2 = 3 times a whole note.

The mensural68alt and neomensural68alt symbols (alternate symbols for 6/8) are not addressable with \time. Use \markup {\musicglyph #"timesig.mensural68alt" } instead.


Mensural note heads

For ancient notation, a note head style other than the default style may be chosen. This is accomplished by setting the style property of the NoteHead object to baroque, neomensural, mensural, petrucci, blackpetrucci or semipetrucci.

The baroque style differs from the default style by:

The neomensural, mensural, and petrucci styles differ from the baroque style by:

The blackpetrucci style produces note heads usable in black mensural notation or coloratio sections in white mensural notation. Because note head style does not influence flag count, in this style a semiminima should be notated as a8*2, not a4, otherwise it will look like a minima. The multiplyer can be different if coloratio is used e.g. to notate triplets.

Use semipetrucci style to draw half-colored note heads (breves, longas and maximas).

The following example demonstrates the petrucci style:

\set Score.skipBars = ##t
\autoBeamOff
\override NoteHead #'style = #'petrucci
a'\maxima a'\longa a'\breve a'1 a'2 a'4 a'8 a'16 a'
\override NoteHead #'style = #'semipetrucci
a'\breve*5/6
\override NoteHead #'style = #'blackpetrucci
a'8*4/3 a'
\override NoteHead #'style = #'petrucci
a'\longa

[image of music]

Note head styles, gives an overview of all available note head styles.

参照

Music Glossary: mensural notation, note head.

Notation Reference: Note head styles.


Mensural flags

Use the flag-style property of grob Stem to select ancient flags. Besides the default flag style, only the mensural style is supported.

\override Stem #'flag-style = #'mensural
\override Stem #'thickness = #1.0
\override NoteHead #'style = #'mensural
\autoBeamOff
c'8 d'8 e'8 f'8 c'16 d'16 e'16 f'16 c'32 d'32 e'32 f'32 s8
c''8 d''8 e''8 f''8 c''16 d''16 e''16 f''16 c''32 d''32 e''32 f''32

[image of music]

Note that the innermost flare of each mensural flag always is vertically aligned with a staff line.

There is no particular flag style for neo-mensural or Petrucci notation. There are no flags in Gregorian chant notation.

参照

Music Glossary: mensural notation, flag.

既知の問題と警告

The attachment of ancient flags to stems is slightly off.

Vertically aligning each flag with a staff line assumes that stems always end either exactly on or exactly in the middle between two staff lines. This may not always be true when using advanced layout features of classical notation (which however are typically out of scope for mensural notation).


Mensural rests

Use the style property of grob Rest to select ancient rests. Supported styles are classical, neomensural, and mensural. classical differs from the default style only in that the quarter rest looks like a horizontally mirrored 8th rest. The mensural and the neomensural styles mimic the appearance of rests in manuscripts and prints up to the 16th century.

The following example demonstrates the mensural and neomensural styles:

\set Score.skipBars = ##t
\override Rest #'style = #'classical
r\longa^"classical" r\breve r1 r2 r4 r8 r16 s \break
\override Rest #'style = #'mensural
r\longa^"mensural" r\breve r1 r2 r4 r8 r16 s \break
\override Rest #'style = #'neomensural
r\longa^"neomensural" r\breve r1 r2 r4 r8 r16

[image of music]

There are no 32th and 64th rests specifically for the mensural or neo-mensural style. Instead, the rests from the default style will be taken.

参照

Music Glossary: mensural notation.

Notation Reference: 休符.

Snippets: Ancient notation.

既知の問題と警告

The glyph for the maxima rest in mensural style is actually a perfect longa rest; use two (or three) longa rests to print a maxima rest. Longa rests are not grouped automatically, so have to be done manually by using pitched rests.


Mensural accidentals and key signatures

The mensural style provides a sharp and a flat sign different from the default style. If called for, the natural sign will be taken from the vaticana style.

[image of music]

The style for accidentals and key signatures is controlled by the glyph-name-alist property of the grobs Accidental and KeySignature, respectively; e.g.:

\override Staff.Accidental #'glyph-name-alist = #alteration-mensural-glyph-name-alist

参照

Music Glossary: mensural notation, Pitch names, accidental, key signature.

Notation Reference: ピッチ, 臨時記号, 自動臨時記号, 調号.

Internals Reference: KeySignature.


Annotational accidentals (musica ficta)

In European music from before about 1600, singers were expected to chromatically alter notes at their own initiative according to certain rules. This is called musica ficta. In modern transcriptions, these accidentals are usually printed over the note.

Support for such suggested accidentals is included, and can be switched on by setting suggestAccidentals to true.

fis gis
\set suggestAccidentals = ##t
ais bis

[image of music]

This will treat every subsequent accidental as musica ficta until it is unset with \set suggestAccidentals = ##f. A more practical way is to use \once \set suggestAccidentals = ##t, which can even be defined as a convenient shorthand:

ficta = { \once \set suggestAccidentals = ##t }
\score { \relative c''
  \new MensuralVoice  {
	\once \set suggestAccidentals = ##t
  bes4 a2 g2 \ficta fis8 \ficta e! fis2 g1
  }
}

[image of music]

参照

Internals Reference: Accidental_engraver, AccidentalSuggestion.


White mensural ligatures

There is limited support for white mensural ligatures.

To engrave white mensural ligatures, in the layout block, replace the Ligature_bracket_engraver with the Mensural_ligature_engraver in the Voice context:

\layout {
  \context {
    \Voice
    \remove Ligature_bracket_engraver
    \consists Mensural_ligature_engraver
  }
}

There is no additional input language to describe the shape of a white mensural ligature. The shape is rather determined solely from the pitch and duration of the enclosed notes. While this approach may take a new user a while to get accustomed to, it has the great advantage that the full musical information of the ligature is known internally. This is not only required for correct MIDI output, but also allows for automatic transcription of the ligatures.

At certain places two consecutive notes can be represented either as two squares or as an oblique parallelogram (flexa shape). In such cases the default is the two squares, but a flexa can be required by setting the ligature-flexa property of the second note head. The length of a flexa can be set by the note head property flexa-width.

For example,

\score {
  \transpose c c' {
    \set Score.timing = ##f
    \set Score.defaultBarType = "empty"
    \override NoteHead #'style = #'petrucci
    \override Staff.TimeSignature #'style = #'mensural
    \clef "petrucci-g"
    \[ c'\maxima g \]
    \[ d\longa
       \override NoteHead #'ligature-flexa = ##t
       \once \override NoteHead #'flexa-width = #3.2
       c\breve f e d \]
    \[ c'\maxima d'\longa \]
    \[ e'1 a g\breve \]
  }
  \layout {
    \context {
      \Voice
      \remove Ligature_bracket_engraver
      \consists Mensural_ligature_engraver
    }
  }
}

[image of music]

Without replacing Ligature_bracket_engraver with Mensural_ligature_engraver, the same music transcribes to the following

[image of music]

参照

Music Glossary: ligature.

Notation Reference: Gregorian square neume ligatures, Ligatures.

既知の問題と警告

Horizontal spacing of ligatures is poor. Accidentals may collide with previous notes.


2.9.4 Typesetting Gregorian chant

When typesetting a piece in Gregorian chant notation, the Vaticana_ligature_engraver automatically selects the proper note heads, so there is no need to explicitly set the note head style. Still, the note head style can be set, e.g., to vaticana_punctum to produce punctum neumes. Similarly, the Mensural_ligature_engraver automatically assembles mensural ligatures.

参照

Music Glossary: ligature.

Notation Reference: White mensural ligatures, Ligatures.


Gregorian chant contexts

The predefined VaticanaVoiceContext and VaticanaStaffContext can be used to engrave a piece of Gregorian chant in the style of the Editio Vaticana. These contexts initialize all relevant context properties and grob properties to proper values, so you can immediately go ahead entering the chant, as the following excerpt demonstrates:

\include "gregorian.ly"
\score {
  <<
    \new VaticanaVoice = "cantus" {
      \[ c'\melisma c' \flexa a \]
      \[ a \flexa \deminutum g\melismaEnd \]
      f \divisioMinima
      \[ f\melisma \pes a c' c' \pes d'\melismaEnd \]
      c' \divisioMinima \break
      \[ c'\melisma c' \flexa a \]
      \[ a \flexa \deminutum g\melismaEnd \] f \divisioMinima
    }
    \new Lyrics \lyricsto "cantus" {
      San- ctus, San- ctus, San- ctus
    }
  >>
}

[image of music]


Gregorian clefs

The following table shows all Gregorian clefs that are supported via the \clef command. Some of the clefs use the same glyph, but differ only with respect to the line they are printed on. In such cases, a trailing number in the name is used to enumerate these clefs, numbered from the lowest to the highest line. Still, you can manually force a clef glyph to be typeset on an arbitrary line, as described in 音部記号. The note printed to the right side of each clef in the example column denotes the c' with respect to that clef.

Description

Supported Clefs

Example

Editio Vaticana style do clef

vaticana-do1, vaticana-do2,
vaticana-do3

[image of music]

Editio Vaticana style fa clef

vaticana-fa1, vaticana-fa2

[image of music]

Editio Medicaea style do clef

medicaea-do1, medicaea-do2,
medicaea-do3

[image of music]

Editio Medicaea style fa clef

medicaea-fa1, medicaea-fa2

[image of music]

hufnagel style do clef

hufnagel-do1, hufnagel-do2,
hufnagel-do3

[image of music]

hufnagel style fa clef

hufnagel-fa1, hufnagel-fa2

[image of music]

hufnagel style combined do/fa clef

hufnagel-do-fa

[image of music]

参照

Music Glossary: clef.

Notation Reference: 音部記号.


Gregorian accidentals and key signatures

Accidentals for the three different Gregorian styles are available:

[image of music]

As shown, not all accidentals are supported by each style. When trying to access an unsupported accidental, LilyPond will switch to a different style.

The style for accidentals and key signatures is controlled by the glyph-name-alist property of the grobs Accidental and KeySignature, respectively; e.g.:

\override Staff.Accidental #'glyph-name-alist = #alteration-mensural-glyph-name-alist

参照

Music Glossary: accidental, key signature.

Notation Reference: ピッチ, 臨時記号, 自動臨時記号, 調号.

Internals Reference: KeySignature.


Divisiones

There are no rests in Gregorian chant notation; instead, it uses Divisiones.

A divisio (plural: divisiones; Latin word for ‘division’) is a staff context symbol that is used to indicate the phrase and section structure of Gregorian music. The musical meaning of divisio minima, divisio maior, and divisio maxima can be characterized as short, medium, and long pause, somewhat like the breath marks from ブレス記号. The finalis sign not only marks the end of a chant, but is also frequently used within a single antiphonal/responsorial chant to mark the end of each section.

To use divisiones, include the file ‘gregorian.ly’. It contains definitions that you can apply by just inserting \divisioMinima, \divisioMaior, \divisioMaxima, and \finalis at proper places in the input. Some editions use virgula or caesura instead of divisio minima. Therefore, ‘gregorian.ly’ also defines \virgula and \caesura

[image of music]

定義済みコマンド

\virgula, \caesura, \divisioMinima, \divisioMaior, \divisioMaxima, \finalis.

参照

Music Glossary: caesura, divisio.

Notation Reference: ブレス記号.

Installed Files: ‘gregorian.ly’.


Gregorian articulation signs

In addition to the standard articulation signs described in section アーティキュレーションと装飾, articulation signs specifically designed for use with notation in Editio Vaticana style are provided.

\include "gregorian.ly"
\score {
  \new VaticanaVoice {
    \override TextScript #'font-family = #'typewriter
    \override TextScript #'font-shape = #'upright
    \override Script #'padding = #-0.1
    a\ictus_"ictus " \bar "" \break
    a\circulus_"circulus " \bar "" \break
    a\semicirculus_"semicirculus " \bar "" \break
    a\accentus_"accentus " \bar "" \break
    \[ a_"episema" \episemInitium \pes b \flexa a b \episemFinis \flexa a \]
  }
}

[image of music]

参照

Notation Reference: アーティキュレーションと装飾.

Snippets: Ancient notation.

Internals Reference: Episema, EpisemaEvent, Episema_engraver, Script, ScriptEvent, Script_engraver.

既知の問題と警告

Some articulations are vertically placed too closely to the corresponding note heads.


Augmentum dots (morae)

Augmentum dots, also called morae, are added with the music function \augmentum. Note that \augmentum is implemented as a unary music function rather than as head prefix. It applies to the immediately following music expression only. That is, \augmentum \virga c will have no visible effect. Instead, say \virga \augmentum c or \augmentum {\virga c}. Also note that you can say \augmentum {a g} as a shortcut for \augmentum a \augmentum g.

\include "gregorian.ly"
\score {
  \new VaticanaVoice {
    \[ \augmentum a \flexa \augmentum g \]
    \augmentum g
  }
}

[image of music]

参照

Notation Reference: ブレス記号.

Internals Reference: BreathingSign.

Snippets: Ancient notation.


Gregorian square neume ligatures

There is limited support for Gregorian square neumes notation (following the style of the Editio Vaticana). Core ligatures can already be typeset, but essential issues for serious typesetting are still lacking, such as (among others) horizontal alignment of multiple ligatures, lyrics alignment, and proper handling of accidentals.

The support for Gregorian neumes is enabled by \includeing ‘gregorian.ly’ at the beginning of the file. This makes available a number of extra commands to produce the neume symbols used in plainchant notation.

Note heads can be modified and/or joined.

A note name without any qualifiers will produce a punctum. All other neumes, including the single-note neumes with a different shape such as the virga, are in principle considered as ligatures and should therefore be placed between \[...\].

Single-note neumes:

Ligatures

Unlike most other neumes notation systems, the typographical appearance of ligatures is not directly dictated by the input commands, but follows certain conventions dependent on musical meaning. For example, a three-note ligature with the musical shape low-high-low, such as \[ a \pes b \flexa g \], produces a Torculus consisting of three Punctum heads, while the shape high-low-high, such as \[ a \flexa g \pes b \], produces a Porrectus with a curved flexa shape and only a single Punctum head. There is no command to explicitly typeset the curved flexa shape; the decision of when to typeset a curved flexa shape is based on the musical input. The idea of this approach is to separate the musical aspects of the input from the notation style of the output. This way, the same input can be reused to typeset the same music in a different style of Gregorian chant notation.

Liquescent neumes

Another main category of notes in Gregorian chant is the so-called liquescent neumes. They are used under certain circumstances at the end of a syllable which ends in a ‘liquescent’ letter, i.e. the sounding consonants that can hold a tone (the nasals, l, r, v, j, and their diphthong equivalents). Thus, the liquescent neumes are never used alone (although some of them can be produced), and they always fall at the end of a ligature.

Liquescent neumes are represented graphically in two different, more or less interchangeable ways: with a smaller note or by ‘twisting’ the main note upwards or downwards. The first is produced by making a regular pes or flexa and modifying the shape of the second note: \[ a \pes \deminutum b \] , the second by modifying the shape of a single-note neume with \auctum and one of the direction markers \descendens or \ascendens, e.g., \[ \auctum \descendens a \] .

Special signs

A third category of signs is made up of a small number of signs with a special meaning (which, incidentally, in most cases is only vaguely known): the quilisma, the oriscus, and the strophicus. These are all produced by prefixing a note name with the corresponding modifier, \quilisma, \oriscus, or \stropha.

Virtually, within the ligature delimiters \[ and \], any number of heads may be accumulated to form a single ligature, and head prefixes like \pes, \flexa, \virga, \inclinatum, etc. may be mixed in as desired. The use of the set of rules that underlies the construction of the ligatures in the above table is accordingly extrapolated. This way, infinitely many different ligatures can be created.

Note that the use of these signs in the music itself follows certain rules, which are not checked by LilyPond. E.g., the quilisma is always the middle note of an ascending ligature, and usually falls on a half-tone step, but it is perfectly possible, although incorrect, to make a single-note quilisma.

In addition to the note signs, ‘gregorian.ly’ also defines the commands \versus, \responsum, \ij, \iij, \IJ, and \IIJ, that will produce the corresponding characters, e.g., for use in lyrics, as section markers, etc. These commands use special Unicode characters and will only work if a font is used which supports them.

The following table shows a limited, but still representative pool of Gregorian ligatures, together with the code fragments that produce the ligatures. The table is based on the extended neumes table of the 2nd volume of the Antiphonale Romanum (Liber Hymnarius), published 1983 by the monks of Solesmes. The first column gives the name of the ligature, with the main form in boldface and the liquescent forms in italics. The third column shows the code fragment that produces this ligature, using g, a, and b as example pitches.

Single-note neums

Basic and Liquescent forms

Output

LilyPond
code

Punctum

[image of music]

\[ b \]

[image of music]

\[ \cavum b \]

[image of music]

\[ \linea b \]

Punctum Auctum Ascendens

[image of music]

\[ \auctum \ascendens b \]

Punctum Auctum Descendens

[image of music]

\[ \auctum \descendens b \]

Punctum inclinatum

[image of music]

\[ \inclinatum b \]

Punctum Inclinatum Auctum

[image of music]

\[ \inclinatum \auctum b \]

Punctum Inclinatum Parvum

[image of music]

\[ \inclinatum \deminutum b \]

Virga

[image of music]

Two-note ligatures

Clivis vel Flexa

[image of music]

\[ b \flexa g \]

Clivis Aucta Descendens

[image of music]

\[ b \flexa \auctum \descendens g \]

Clivis Aucta Ascendens

[image of music]

\[ b \flexa \auctum \ascendens g \]

Cephalicus

[image of music]

\[ b \flexa \deminutum g \]

Podatus/Pes

[image of music]

\[ g \pes b \]

Pes Auctus Descendens

[image of music]

\[ g \pes \auctum \descendens b \]

Pes Auctus Ascendens

[image of music]

\[ g \pes \auctum \ascendens b \]

Epiphonus

[image of music]

\[ g \pes \deminutum b \]

Pes Initio Debilis

[image of music]

\[ \deminutum g \pes b \]

Pes Auctus Descendens Initio Debilis

[image of music]

\[ \deminutum g \pes \auctum \descendens b \]

Multi-note ligatures

Torculus

[image of music]

\[ a \pes b \flexa g \]

Torculus Auctus Descendens

[image of music]

\[ a \pes b \flexa \auctum \descendens g \]

Torculus Deminutus

[image of music]

\[ a \pes b \flexa \deminutum g \]

Torculus Initio Debilis

[image of music]

\[ \deminutum a \pes b \flexa g \]

Torculus Auctus Descendens Initio Debilis

[image of music]

\[ \deminutum a \pes b \flexa \auctum \descendens g \]

Torculus Deminutus Initio Debilis

[image of music]

\[ \deminutum a \pes b \flexa \deminutum g \]

Porrectus

[image of music]

\[ a \flexa g \pes b \]

Porrectus Auctus Descendens

[image of music]

\[ a \flexa g \pes \auctum \descendens b \]

Porrectus Deminutus

[image of music]

\[ a \flexa g \pes \deminutum b \]

Climacus

[image of music]

\[ \virga b \inclinatum a \inclinatum g \]

Climacus Auctus

[image of music]

\[ \virga b \inclinatum a \inclinatum \auctum g \]

Climacus Deminutus

[image of music]

\[ \virga b \inclinatum a \inclinatum \deminutum g \]

Scandicus

[image of music]

\[ g \pes a \virga b \]

Scandicus Auctus Descendens

[image of music]

\[ g \pes a \pes \auctum \descendens b \]

Scandicus Deminutus

[image of music]

\[ g \pes a \pes \deminutum b \]

Special Signs

Quilisma

[image of music]

\[ g \pes \quilisma a \pes b \]

Quilisma Pes Auctus Descendens

[image of music]

\[ \quilisma g \pes \auctum \descendens b \]

Oriscus

[image of music]

\[ \oriscus b \]

Pes Quassus

[image of music]

\[ \oriscus g \pes \virga b \]

Pes Quassus Auctus Descendens

[image of music]

\[ \oriscus g \pes \auctum \descendens b \]

Salicus

[image of music]

\[ g \oriscus a \pes \virga b \]

Salicus Auctus Descendens

[image of music]

\[ g \oriscus a \pes \auctum \descendens b \]

(Apo)stropha

[image of music]

\[ \stropha b \]

Stropha Aucta

[image of music]

\[ \stropha \auctum b \]

Bistropha

[image of music]

\[ \stropha b \stropha b \]

Tristropha

[image of music]

\[ \stropha b \stropha b \stropha b \]

Trigonus

[image of music]

\[ \stropha b \stropha b \stropha a \]

定義済みコマンド

The following head prefixes are supported: \virga, \stropha, \inclinatum, \auctum, \descendens, \ascendens, \oriscus, \quilisma, \deminutum, \cavum, \linea.

Head prefixes can be accumulated, though restrictions apply. For example, either \descendens or \ascendens can be applied to a head, but not both to the same head.

Two adjacent heads can be tied together with the \pes and \flexa infix commands for a rising and falling line of melody, respectively.

Use the unary music function \augmentum to add augmentum dots.

参照

Music Glossary: ligature.

Notation Reference: Gregorian square neume ligatures, White mensural ligatures, Ligatures.

既知の問題と警告

When an \augmentum dot appears at the end of the last staff within a ligature, it is sometimes vertically placed wrong. As a workaround, add an additional skip note (e.g., s8) as last note of the staff.

\augmentum should be implemented as a head prefix rather than a unary music function, such that \augmentum can be intermixed with head prefixes in arbitrary order.


2.9.5 Working with ancient music—scenarios and solutions

Working with ancient music frequently involves particular tasks which differ considerably from the modern notation for which LilyPond is designed. In the rest of this section, a number of typical scenarios are outlined, with suggestions of solutions. These involve:


Incipits

TBC


Mensurstriche layout

Mensurstriche (‘mensuration lines’) is the accepted term for bar lines that are drawn between the staves of a system but not through the staves themselves. It is a common way to preserve the rhythmic appearance of the original, i.e. not having to break syncopated notes at bar lines, while still providing the orientation aids that bar lines give.

The mensurstriche-layout where the bar lines do not show on the staves but between staves can be achieved with a StaffGroup instead of a ChoirStaff. The bar line on staves is blanked out by setting the transparent property.

global = {
  \override Staff.BarLine #'transparent = ##t
  s1 s
  % the final bar line is not interrupted
  \revert Staff.BarLine #'transparent
  \bar "|."
}
\new StaffGroup \relative c'' {
  <<
    \new Staff { << \global { c1 c } >> }
    \new Staff { << \global { c c } >> }
  >>
}

[image of music]


Transcribing Gregorian chant

Gregorian chant can be transcribed into modern notation with a number of simple tweaks.

Stems. Stems can be left out altogether by \remove-ing the Stem_engraver from the Voice context:

\layout {
  ...
  \context {
    \Voice
      \remove "Stem_engraver"
  }
}

However, in some transcription styles, stems are used occasionally, for example to indicate the transition from a single-tone recitative to a fixed melodic gesture. In these cases, one can use either \override Stem #'transparent = ##t or \override Stem #'length = #0 instead, and restore the stem when needed with the corresponding \once \override Stem #'transparent = ##f (see example below).

Timing. For unmetered chant, there are several alternatives.

The Time_signature_engraver can be removed from the Staff context without any negative side effects. The alternative, to make it transparent, will leave an empty space in the score, since the invisible signature will still take up space.

In many cases, \set Score.timing = ##f will give good results. Another alternative is to use \CadenzaOn and \CadenzaOff.

To remove the bar lines, the radical approach is to \remove the Bar_engraver from the Staff context. Again, one may want to use \override BarLine #'transparent = ##t instead, if an occasional barline is wanted.

A common type of transcription is recitativic chant where the repeated notes are indicated with a single breve. The text to the recitation tone can be dealt with in two different ways: either set as a single, left-aligned syllable:

\include "gregorian.ly"
chant = \relative c' {
  \clef "G_8"
  c\breve c4 b4 a c2 c4  \divisioMaior
  c\breve c4 c f, f \finalis
}

verba = \lyricmode {
  \once \override LyricText #'self-alignment-X = #-1
  "Noctem quietam et" fi -- nem per -- fec -- tum
  \once \override LyricText #'self-alignment-X = #-1
  "concedat nobis Dominus" om -- ni -- po -- tens.
}
\score {
  \new Staff <<
  \new Voice = "melody" \chant
  \new Lyrics = "one" \lyricsto melody \verba
  >>
  \layout {
    \context {
      \Staff
      \remove "Time_signature_engraver"
      \remove "Bar_engraver"
      \override Stem #'transparent = ##t
    }
  }
}

[image of music]

This works fine, as long as the text doesn’t span a line break. If that is the case, an alternative is to add hidden notes to the score, here in combination with changing stem visibility:

\include "gregorian.ly"
chant = \relative c' {
  \clef "G_8"
  \set Score.timing = ##f
  c\breve \override NoteHead #'transparent = ##t  c c c c c
  \revert NoteHead #'transparent
  \override Stem #'transparent = ##f \stemUp c4 b4 a
  \override Stem #'transparent = ##t c2 c4  \divisioMaior
  c\breve \override NoteHead #'transparent = ##t c c c c c c c
  \revert NoteHead #'transparent c4 c f, f \finalis
}

verba = \lyricmode {
  No -- ctem qui -- e -- tam et fi -- nem per -- fec -- tum
  con -- ce -- dat no -- bis Do -- mi -- nus om -- ni -- po -- tens.
}

\score {
  \new Staff <<
    \new Voice = "melody" \chant
    \new Lyrics \lyricsto "melody" \verba
  >>
  \layout {
    \context {
      \Staff
      \remove "Time_signature_engraver"
      \override BarLine #'transparent = ##t
      \override Stem #'transparent = ##t
    }
  }
}

[image of music]

Another common situation is transcription of neumatic or melismatic chants, i.e. chants with a varying number of notes to each syllable. In this case, one would want to set the syllable groups clearly apart, usually also the subdivisions of a longer melisma. One way to achieve this is to use a fixed \time, e.g., 1/4, and let each syllable or note group fill one of these measures, with the help of tuplets or shorter durations. If the bar lines and all other rhythmical indications are made transparent, and the space around the bar lines is increased, this will give a fairly good representation in modern notation of the original.

To avoid that syllables of different width (such as “-ri” and “-rum”) spread the syllable note groups unevenly apart, the #'X-extent property of the LyricText object may be set to a fixed value. Another, more cumbersome way would be to add the syllables as \markup elements. If further adjustments are necessary, this can be easily done with s ‘notes’.

spiritus = \relative c' {
  \time 1/4
  \override Lyrics.LyricText #'X-extent  = #'(0 . 3)
  d4 \times 2/3 { f8 a g } g a a4 g f8 e
  d4 f8 g g8 d f g a g f4 g8 a a4  s
  \times 2/3 { g8 f d } e f g a g4
}

spirLyr = \lyricmode {
  Spi -- ri -- _ _ tus  _ Do -- mi -- ni  _ re -- ple -- _ vit _
  or -- _ bem _  ter -- ra -- _ rum, al -- _ _ le -- _ lu
  -- _ ia.
}
\score {
  \new Staff <<
    \new Voice = "chant" \spiritus
    \new Lyrics = "one" \lyricsto "chant" \spirLyr
  >>
  \layout {
    \context {
      \Staff
      \remove "Time_signature_engraver"
      \override BarLine #'X-extent = #'(-1 . 1)
      \override Stem #'transparent = ##t
      \override Beam #'transparent = ##t
      \override BarLine #'transparent = ##t
      \override TupletNumber #'transparent = ##t
    }
  }
}

[image of music]


Ancient and modern from one source

TBC


Editorial markings


2.10 World music

The purpose of this section is to highlight musical notation issues that are relevant to traditions outside the Western tradition.


2.10.1 Common notation for non-Western music

This section discusses how to enter and print music scores that do not belong to the Western classical tradition, also referred to as Common Practice Period.


Extending notation and tuning systems

Standard classical notation (also known as Common Practice Period notation) is commonly used in all sorts of music, not limited to ‘classical’ Western music. This notation is discussed in ピッチを記述する, and the various note names that may be used are explained in 他の言語での音符名.

However, many types of non-Western music (and some types of Western folk and traditional music) employ alternative or extended tuning systems that do not fit readily into standard classical notation.

In some cases standard notation is still used, with the pitch differences being implicit. For example, Arabic music is notated with standard semitone and quarter-tone accidentals, with the precise pitch alterations being determined by context. Italian note names are typically used, while the init file ‘arabic.ly’ provides a suitable set of macros and definitions extending the standard notation. For more details, see Arabic music.

Other types of music require extended or unique notations. Turkish classical music or Ottoman music, for example, employs melodic forms known as makamlar, whose intervals are based on 1/9 divisions of the whole tone. Standard Western staff notes are still used, but with special accidentals unique to Turkish music, that are defined in the file ‘makam.ly’. For further information on Turkish classical music and makamlar, see Turkish classical music.

To locate init files such as ‘arabic.ly’ or ‘makam.ly’ on your system, see Other sources of information.

Selected Snippets

Makam example

Makam is a type of melody from Turkey using 1/9th-tone microtonal alterations. Consult the initialization file ‘ly/makam.ly’ for details of pitch names and alterations.

% Initialize makam settings
\include "makam.ly"

\relative c' {
  \set Staff.keySignature = #`((6 . ,(- KOMA)) (3 . ,BAKIYE))
  c4 cc db fk
  gbm4 gfc gfb efk
  fk4 db cc c
}

[image of music]

参照

Music Glossary: Common Practice Period, makamlar.

Learning Manual: Other sources of information.

Notation Reference: ピッチを記述する, 他の言語での音符名, Arabic music, Turkish classical music.


2.10.2 Arabic music

This section highlights issues that are relevant to notating Arabic music.


References for Arabic music

Arabic music so far has been mainly an oral tradition. When music is transcribed, it is usually in a sketch format, on which performers are expected to improvise significantly. Increasingly, Western notation, with a few variations, is adopted in order to communicate and preserve Arabic music.

Some elements of Western musical notation such as the transcription of chords or independent parts, are not required to typeset the more traditional Arabic pieces. There are however some different issues, such as the need to indicate medium intervals that are somewhere between a semi-tone and a tone, in addition to the minor and major intervals that are used in Western music. There is also the need to group and indicate a large number of different maqams (modes) that are part of Arabic music.

In general, Arabic music notation does not attempt to precisely indicate microtonal elements that are present in musical practice.

Several issues that are relevant to Arabic music are covered elsewhere:

参照

Notation Reference: Common notation for non-Western music, 調号, 手動連桁.

Snippets: World music.


Arabic note names

The more traditional Arabic note names can be quite long and are not suitable for the purpose of music writing, so they are not used. English note names are not very familiar in Arabic music education, so Italian or Solfege note names (do, re, mi, fa, sol, la, si) are used instead; modifiers (accidentals) can also be used. Italian note names and accidentals are explained in 他の言語での音符名; the use of standard Western notation to notate non-Western music is discussed in Common notation for non-Western music.

For example, this is how the Arabic rast scale can be notated:

\include "arabic.ly"
\relative do' {
  do re misb fa sol la sisb do sisb la sol fa misb re do
}

[image of music]

The symbol for semi-flat does not match the symbol which is used in Arabic notation. The \dwn symbol defined in ‘arabic.ly’ may be used preceding a flat symbol as a work around if it is important to use the specific Arabic semi-flat symbol. The appearance of the semi-flat symbol in the key signature cannot be altered by using this method.

\include "arabic.ly"
\relative do' {
  \set Staff.extraNatural = ##f
  dod dob dosd \dwn dob dobsb dodsd do do
}

[image of music]

参照

Notation Reference: 他の言語での音符名, Common notation for non-Western music.

Snippets: World music.


Arabic key signatures

In addition to the minor and major key signatures, the following key signatures are defined in ‘arabic.ly’: bayati, rast, sikah, iraq, and kurd. These key signatures define a small number of maqam groups rather than the large number of maqams that are in common use.

In general, a maqam uses the key signature of its group, or a neighbouring group, and varying accidentals are marked throughout the music.

For example to indicate the key signature of a maqam muhayer piece:

\key re \bayati

Here re is the default pitch of the muhayer maqam, and bayati is the name of the base maqam in the group.

While the key signature indicates the group, it is common for the title to indicate the more specific maqam, so in this example, the name of maqam muhayer should appear in the title.

Other maqams in the same bayati group, as shown in the table below: (bayati, hussaini, saba, and ushaq) can be indicated in the same way. These are all variations of the base and most common maqam in the group, which is bayati. They usually differ from the base maqam in their upper tetrachords, or certain flow details that don’t change their fundamental nature, as siblings.

The other maqam in the same group (Nawa) is related to bayati by modulation which is indicated in the table in parenthesis for those maqams that are modulations of their base maqam. Arabic maqams admit of only limited modulations, due to the nature of Arabic musical instruments. Nawa can be indicated as follows:

\key sol \bayati

In Arabic music, the same term such as bayati that is used to indicate a maqam group, is also a maqam which is usually the most important in the group, and can also be thought of as a base maqam.

Here is one suggested grouping that maps the more common maqams to key signatures:

maqam group

key

finalis

Other maqmas in group (finalis)

ajam

major

sib

jaharka (fa)

bayati

bayati

re

hussaini, muhayer, saba, ushaq, nawa (sol)

hijaz

kurd

re

shahnaz, shad arban (sol), hijazkar (do)

iraq

iraq

sisb

-

kurd

kurd

re

hijazkar kurd (do)

nahawand

minor

do

busalik (re), farah faza (sol)

nakriz

minor

do

nawa athar, hisar (re)

rast

rast

do

mahur, yakah (sol)

sikah

sikah

misb

huzam

Selected Snippets

Non-traditional key signatures

The commonly used \key command sets the keySignature property, in the Staff context.

To create non-standard key signatures, set this property directly. The format of this command is a list:

\set Staff.keySignature = #`(((octave . step) . alter) ((octave . step) . alter) ...) where, for each element in the list, octave specifies the octave (0 being the octave from middle C to the B above), step specifies the note within the octave (0 means C and 6 means B), and alter is ,SHARP ,FLAT ,DOUBLE-SHARP etc. (Note the leading comma.)

Alternatively, for each item in the list, using the more concise format (step . alter) specifies that the same alteration should hold in all octaves.

Here is an example of a possible key signature for generating a whole-tone scale:

\relative c' {
  \set Staff.keySignature = #`(((0 . 6) . ,FLAT)
                               ((0 . 5) . ,FLAT)
                               ((0 . 3) . ,SHARP))
  c4 d e fis
  aes4 bes c2
}

[image of music]

参照

Music Glossary: maqam, bayati, rast, sikah, iraq, kurd.

Notation Reference: 調号.

Learning Manual: Accidentals and key signatures.

Internals Reference: KeySignature.

Snippets: World music, Pitches.


Arabic time signatures

Some Arabic and Turkish music classical forms such as Semai use unusual time signatures such as 10/8. This may lead to an automatic grouping of notes that is quite different from existing typeset music, where notes may not be grouped on the beat, but in a manner that is difficult to match by adjusting automatic beaming. The alternative is to switch off automatic beaming and beam the notes manually. Even if a match to existing typeset music is not required, it may still be desirable to adjust the automatic beaming behaviour and/or use compound time signatures.

Selected Snippets

Compound time signatures

Odd 20th century time signatures (such as "5/8") can often be played as compound time signatures (e.g. "3/8 + 2/8"), which combine two or more inequal metrics. LilyPond can make such music quite easy to read and play, by explicitly printing the compound time signatures and adapting the automatic beaming behavior. (Graphic measure grouping indications can also be added; see the appropriate snippet in this database.)

#(define ((compound-time one two num) grob)
   (grob-interpret-markup grob
                          (markup #:override '(baseline-skip . 0) #:number
                                  (#:line ((#:column (one num))
                                           #:vcenter "+"
                                           (#:column (two num)))))))

\relative c' {
  \override Staff.TimeSignature #'stencil = #(compound-time "2" "3" "8")
  \time 5/8
  \set Staff.beatStructure = #'(2 3)
  c8 d e fis gis
  c8 fis, gis e d
  c8 d e4 gis8
}

[image of music]

Arabic improvisation

For improvisations or taqasim which are temporarily free, the time signature can be omitted and \cadenzaOn can be used. Adjusting the accidental style might be required, since the absence of bar lines will cause the accidental to be marked only once. Here is an example of what could be the start of a hijaz improvisation:

\include "arabic.ly"

\relative sol' {
  \key re \kurd
  #(set-accidental-style 'forget)
  \cadenzaOn
  sol4 sol sol sol fad mib sol1 fad8 mib re4. r8 mib1 fad sol
}

[image of music]

参照

Music Glossary: semai, taqasim.

Notation Reference: 手動連桁, 自動連桁, 無韻律の音楽, 自動臨時記号, 自動連桁の振る舞いを設定する, 拍子.

Snippets: World music.


Arabic music example

Here is a template that also uses the start of a Turkish Semai that is familiar in Arabic music education in order to illustrate some of the peculiarities of Arabic music notation, such as medium intervals and unusual modes that are discussed in this section.

\include "arabic.ly"
\score {
  \relative re' {
    \set Staff.extraNatural = ##f
    \set Staff.autoBeaming = ##f
    \key re \bayati
    \time 10/8

    re4 re'8 re16 [misb re do] sisb [la sisb do] re4 r8
    re16 [misb do re] sisb [do] la [sisb sol8] la [sisb] do [re] misb
    fa4 fa16 [misb] misb8. [re16] re8 [misb] re  [do] sisb
    do4 sisb8 misb16 [re do sisb] la [do sisb la] la4 r8
  }
  \header {
    title = "Semai Muhayer"
    composer = "Jamil Bek"
  }
}

[image of music]

参照

Snippets: World music.


Further reading for Arabic music

  1. The music of the Arabs by Habib Hassan Touma [Amadeus Press, 1996], contains a discussion of maqams and their method of groupings.

    There are also various web sites that explain maqams and some provide audio examples such as :

    There are some variations in the details of how maqams are grouped, despite agreement on the criteria of grouping maqams that are related through common lower tetra chords, or through modulation.

  2. There is not a complete consistency, sometimes even in the same text on how key signatures for particular maqams should be specified. It is common, however, to use a key signature per group, rather than a different key signature for each different maqam.

    Method books by the following authors for the Oud, the Arabic lute, contain examples of mainly Turkish and Arabic compositions.

    • Charbel Rouhana
    • George Farah
    • Ibrahim Ali Darwish Al-masri

2.10.3 Turkish classical music

This section highlights issues that are relevant to notating Turkish classical music.


References for Turkish classical music

Turkish classical music developed in the Ottoman Empire in a period roughly contemporaneous with classical music in Europe, and has continued on into the 20th and 21st centuries as a vibrant and distinct tradition with its own compositional forms, theory and performance styles. Among its striking features is the use of microtonal intervals based on ‘commas’ of 1/9 of a tone, from which are constructed the melodic forms known as makam (plural makamlar).

Some issues relevant to Turkish classical music are covered elsewhere:


Turkish note names

Pitches in Turkish classical music traditionally have unique names, and the basis of pitch on 1/9-tone divisions means makamlar employ a completely different set of intervals from Western scales and modes: koma (1/9 of a tone), eksik bakiye (3/9), bakiye (4/9), kücük mücenneb (5/9), büyük mücenneb (8/9), tanîni (a whole tone) and artık ikili (12/9 or 13/9 of a tone).

From a modern notational point of view it is convenient to use the standard Western staff notes (c, d, e, ...) with special accidentals that raise or lower notes by intervals of 1/9, 4/9, 5/9 and 8/9 of a tone. These accidentals are defined in the file ‘makam.ly’.

The following table lists:

Accidental name

suffix

pitch alteration

büyük mücenneb (sharp)

-bm

+8/9

kücük mücenneb (sharp)

-k

+5/9

bakiye (sharp)

-b

+4/9

koma (sharp)

-c

+1/9

koma (flat)

-fc

-1/9

bakiye (flat)

-fb

-4/9

kücük mücenneb (flat)

-fk

-5/9

büyük mücenneb (flat)

-fbm

-8/9

For a more general explanation of non-Western music notation, see Common notation for non-Western music.

参照

Music Glossary: makam, makamlar.

Notation Reference: Common notation for non-Western music.


3. General input and output

This section deals with general LilyPond input and output issues, rather than specific notation.


3.1 Input structure

The main format of input for LilyPond are text files. By convention, these files end with ‘.ly’.


3.1.1 Structure of a score

A \score block must contain a single music expression delimited by curly brackets:

\score {
...
}

Note: There must be only one outer music expression in a score block, and it must be surrounded by curly brackets.

This single music expression may be of any size, and may contain other music expressions to any complexity. All of these examples are music expressions:

{ c'4 c' c' c' }
{
  { c'4 c' c' c' }
  { d'4 d' d' d' }
}

[image of music]

<<
  \new Staff { c'4 c' c' c' }
  \new Staff { d'4 d' d' d' }
>>

[image of music]

{
  \new GrandStaff <<
    \new StaffGroup <<
      \new Staff { \flute }
      \new Staff { \oboe }
    >>
    \new StaffGroup <<
      \new Staff { \violinI }
      \new Staff { \violinII }
    >>
  >>
}

Comments are one exception to this general rule. (For others see File structure.) Both single-line comments and comments delimited by %{ .. %} may be placed anywhere within an input file. They may be placed inside or outside a \score block, and inside or outside the single music expression within a \score block.

Remember that even in a file containing only a \score block, it is implicitly enclosed in a \book block. A \book block in a source file produces at least one output file, and by default the name of the output file produced is derived from the name of the input file, so ‘fandangoforelephants.ly’ will produce ‘fandangoforelephants.pdf’.

(For more details about \book blocks, see Multiple scores in a book, Multiple output files from one input file File structure.)

参照

Learning Manual: Working on input files, Music expressions explained, Score is a (single) compound musical expression.


3.1.2 Multiple scores in a book

A document may contain multiple pieces of music and text. Examples of these are an etude book, or an orchestral part with multiple movements. Each movement is entered with a \score block,

\score {
  ..music..
}

and texts are entered with a \markup block,

\markup {
  ..text..
}

All the movements and texts which appear in the same ‘.ly’ file will normally be typeset in the form of a single output file.

\score {
  ..
}
\markup {
  ..
}
\score {
  ..
}

One important exception is within lilypond-book documents, where you explicitly have to add a \book block, otherwise only the first \score or \markup will appear in the output.

The header for each piece of music can be put inside the \score block. The piece name from the header will be printed before each movement. The title for the entire book can be put inside the \book, but if it is not present, the \header which is at the top of the file is inserted.

\header {
  title = "Eight miniatures"
  composer = "Igor Stravinsky"
}
\score {
  …
  \header { piece = "Romanze" }
}
\markup {
   ..text of second verse..
}
\markup {
   ..text of third verse..
}
\score {
  …
  \header { piece = "Menuetto" }
}

Pieces of music may be grouped into book parts using \bookpart blocks. Book parts are separated by a page break, and can start with a title, like the book itself, by specifying a \header block.

\bookpart {
  \header {
    title = "Book title"
    subtitle = "First part"
  }
  \score { … }
  …
}
\bookpart {
  \header {
    subtitle = "Second part"
  }
  \score { … }
  …
}

3.1.3 Multiple output files from one input file

If you want multiple output files from the same ‘.ly’ file, then you can add multiple \book blocks, where each such \book block will result in a separate output file. If you do not specify any \book block in the input file, LilyPond will implicitly treat the whole file as a single \book block, see File structure.

When producing multiple files from a single source file, Lilypond ensures that none of the output files from any \book block overwrites the output file produced by a preceding \book from the same input file.

It does this by adding a suffix to the output name for each \book which uses the default output file name derived from the input source file.

The default behaviour is to append a version-number suffix for each name which may clash, so

\book {
  \score { … }
  \layout { … }
}
\book {
  \score { … }
  \layout { … }
}
\book {
  \score { … }
  \layout { … }
}

in source file ‘eightminiatures.ly’ will produce


3.1.4 Output file names

Lilypond provides facilities to allow you to control what file names are used by the various back-ends when producing output files.

In the previous section, we saw how Lilypond prevents name-clashes when producing several ouputs from a single source file. You also have the ability to specify your own suffixes for each \book block, so for example you can produce files called ‘eightminiatures-Romanze.pdf’, ‘eightminiatures-Menuetto.pdf’ and ‘eightminiatures-Nocturne.pdf’ by adding a \bookOutputSuffix declaration inside each \book block.

\book {
  \bookOutputSuffix "Romanze"
  \score { … }
  \layout { … }
}
\book {
  \bookOutputSuffix "Menuetto"
  \score { … }
  \layout { … }
}
\book {
  \bookOutputSuffix "Nocturne"
  \score { … }
  \layout { … }
}

You can also specify a different output filename for book block, by using \bookOutputName declarations

\book {
  \bookOutputName "Romanze"
  \score { … }
  \layout { … }
}
\book {
  \bookOutputName "Menuetto"
  \score { … }
  \layout { … }
}
\book {
  \bookOutputName "Nocturne"
  \score { … }
  \layout { … }
}

The file above will produce these output files:


3.1.5 File structure

A ‘.ly’ file may contain any number of toplevel expressions, where a toplevel expression is one of the following:

The following example shows three things that may be entered at toplevel

\layout {
  % Don't justify the output
  ragged-right = ##t
}

\header {
   title = "Do-re-mi"
}

{ c'4 d' e2 }

At any point in a file, any of the following lexical instructions can be entered:

Whitespace between items in the input stream is generally ignored, and may be freely omitted or extended to enhance readability. However, whitespace should always be used in the following circumstances to avoid errors:

参照

Learning Manual: How LilyPond input files work.


3.2 Titles and headers

Almost all printed music includes a title and the composer’s name; some pieces include a lot more information.


3.2.1 Creating titles, headers, and footers


Title blocks explained

There are two types of title blocks: the main title block that appears above of the first \score of a book, and individual title blocks that appear within each \score block. Text fields for both types are entered using a \header block.

If the book only has a single score, the \header block may be placed inside or outside of the \score block.

Note: Remember when adding a \header block inside a \score block, that the music expression must come before the \header block.

\header {
  title = "SUITE I."
  composer = "J. S. Bach."
}

\score {
  \new Staff \relative g, {
    \clef bass
    \key g \major
    \repeat unfold 2 { g16( d' b') a b d, b' d, } |
    \repeat unfold 2 { g,16( e' c') b c e, c' e, } |
  }
  \header {
    piece = "Prélude."
  }
}

\score {
  \new Staff \relative b {
    \clef bass
    \key g \major
    \partial 16 b16 |
    <g, d' b'~>4 b'16 a( g fis) g( d e fis) g( a b c) |
    d16( b g fis) g( e d c) b(c d e) fis( g a b) |
  }
  \header {
    piece = "Allemande."
  }
}

[image of music]

Text fields from the main title block of a book can be displayed in all \score blocks, or manually suppressed:

\book {
  \paper {
    print-all-headers = ##t
  }
  \header {
    title = "DAS WOHLTEMPERIRTE CLAVIER"
    subtitle = "TEIL I"
    % Do not display the tagline for this book
    tagline = ##f
  }
  \markup { \vspace #1 }
  \score {
    \new PianoStaff <<
      \new Staff { s1 }
      \new Staff { \clef "bass" s1 }
    >>
    \header {
      title = "PRAELUDIUM I"
      opus = "BWV 846"
      % Do not display the subtitle for this score
      subtitle = ##f
    }
  }
  \score {
    \new PianoStaff <<
      \new Staff { s1 }
      \new Staff { \clef "bass" s1 }
    >>
    \header {
      title = "FUGA I"
      subsubtitle = "A 4 VOCI"
      opus = "BWV 846"
      % Do not display the subtitle for this score
      subtitle = ##f
    }
  }
}

[image of music]

参照

Notation Reference: File structure, Custom layout for title blocks.


Default layout of book and score title blocks

The layout and formatting of title blocks are controlled by two \paper variables; bookTitleMarkup for the main \header title block and scoreTitleMarkup for individual \header blocks within a \score.

\header {
  % The following fields are centered
  dedication = "Dedication"
  title = "Title"
  subtitle = "Subtitle"
  subsubtitle = "Subsubtitle"
  instrument = "Instrument"

  % The following fields are left-aligned on the left side
  poet = "Poet"
  meter = "Meter"

  % The following fields are right-aligned on the right side
  composer = "Composer"
  arranger = "Arranger"
}

\score {
  { s1 }
  \header {
    % The following fields are placed at opposite ends of the same line
    piece = "Piece"
    opus = "Opus"
  }
}

[image of music]

Text fields left unset in a \header block are replaced with \null markups so that the space is not wasted.

The default settings for scoreTitleMarkup place the piece and opus text fields at opposite ends of the same line.

Use the breakbefore variable inside a \header block that is itself in a \score block, to make the top-level \header block titles appear on the first page on their own, with the music (defined in the \score block) starting on the next.

\book {
  \header {
    title = "This is my Title"
    subtitle = "This is my Subtitle"
    copyright = "This is the bottom of the first page"
  }
  \score {
    \repeat unfold 4 { e'' e'' e'' e'' }
    \header {
      piece = "This is the Music"
      breakbefore = ##t
    }
  }
}

[image of music]

参照

Learning Manual: How LilyPond input files work,

Notation Reference: File structure.

Installed Files: ‘ly/titling-init.ly’.


Default layout of headers and footers

Headers and footers are lines of text appearing at the top and bottom of pages, separate from the main text of a book. They are controlled by the following \paper variables:

These markup variables can only access text fields from top-level \header blocks (which apply to all scores in the book) and are defined in ‘ly/titling-init.ly’. By default:

[image of music]

The default tagline can be changed by adding a tagline in the top-level \header block.

\book {
  \header {
    tagline = "... music notation for Everyone"
  }
  \score {
    \relative c' {
      c4 d e f
    }
  }
}

[image of music]

To remove the tagline set the value to ##f.


3.2.2 Custom headers, footers, and titles


Custom text formatting for title blocks

Standard \markup commands can be used to customize any header, footer and title text within the \header block.

\score {
  { s1 }
  \header {
    piece = \markup { \fontsize #4 \bold "PRAELUDIUM I" }
    subtitle = \markup { \italic "(Excerpt)" }
  }
}

[image of music]

参照

Notation Reference: テキストをフォーマットする.


Custom layout for title blocks

\markup commands in the \header block are useful for simple text formatting, but they do not allow precise control over the placement of titles. To customize the placement of the text fields, use either or both of the following \paper variables:

These markup variables are discussed in Default layout of book and score title blocks.

The default settings for scoreTitleMarkup as defined in ‘ly/titling-init.ly’ are:

scoreTitleMarkup = \markup { \column {
  \on-the-fly #print-all-headers { \bookTitleMarkup \hspace #1 }
  \fill-line {
    \fromproperty #'header:piece
    \fromproperty #'header:opus
  }
}
}

This places the piece and opus text fields at opposite ends of the same line:

\score {
  { s1 }
  \header {
    piece = "PRAELUDIUM I"
    opus = "BWV 846"
  }
}

[image of music]

This example redefines scoreTitleMarkup so that the piece text field is centered and in a large, bold font.

\book {
  \paper {
    indent = 0\mm
    scoreTitleMarkup = \markup {
      \fill-line {
        \null
        \fontsize #4 \bold \fromproperty #'header:piece
        \fromproperty #'header:opus
      }
    }
  }
  \header { tagline = ##f }
  \score {
    { s1 }
    \header {
      piece = "PRAELUDIUM I"
      opus = "BWV 846"
    }
  }
}

[image of music]

Text fields normally reserved for the main title block can be included in individual score title blocks with the print-all-headers placed inside the \paper block. A disadvantage of using this method is that the text fields that are intended specifically for the top-level \header block need to be manually suppressed in every \score block. See Title blocks explained.

To avoid this, add the desired text field to the scoreTitleMarkup definition. In the following example, the composer text field (normally associated with bookTitleMarkup) is added to scoreTitleMarkup, allowing each score to list a different composer:

\book {
  \paper {
    indent = 0\mm
    scoreTitleMarkup = \markup {
      \fill-line {
        \null
        \fontsize #4 \bold \fromproperty #'header:piece
        \fromproperty #'header:composer
      }
    }
  }
  \header { tagline = ##f }
  \score {
    { s1 }
    \header {
      piece = "MENUET"
      composer = "Christian Petzold"
    }
  }
  \score {
    { s1 }
    \header {
      piece = "RONDEAU"
      composer = "François Couperin"
    }
  }
}

[image of music]

It is also possible to create your own custom text fields, and refer to them in the markup definition.

\book {
  \paper {
    indent = 0\mm
    scoreTitleMarkup = \markup {
      \fill-line {
        \null
        \override #`(direction . ,UP) {
          \dir-column {
            \center-align \fontsize #-1 \bold
              \fromproperty #'header:mycustomtext %% User-defined field
            \center-align \fontsize #4 \bold
              \fromproperty #'header:piece
          }
        }
        \fromproperty #'header:opus
      }
    }
  }
  \header { tagline = ##f }
  \score {
    { s1 }
    \header {
      piece = "FUGA I"
      mycustomtext = "A 4 VOCI" %% User-defined field
      opus = "BWV 846"
    }
  }
}

[image of music]


Custom layout for headers and footers

\markup commands in the \header block are useful for simple text formatting, but they do not allow precise control over the placement of headers and footers. To customize the placement of the text fields, use either or both of the following \paper variables:

These markup variables are discussed in Default layout of book and score title blocks.

The following example centers page numbers at the bottom of every page. First, the default settings for oddHeaderMarkup and evenHeaderMarkup are removed by defining each as a null markup. Then, oddFooterMarkup is redefined with the page number centered. Finally, evenFooterMarkup is given the same layout by defining it as \oddFooterMarkup:

\book {
  \paper {
    print-page-number = ##t
    print-first-page-number = ##t
    oddHeaderMarkup = \markup \null
    evenHeaderMarkup = \markup \null
    oddFooterMarkup = \markup {
      \fill-line {
        \on-the-fly #print-page-number-check-first
        \fromproperty #'page:page-number-string
      }
    }
    evenFooterMarkup = \oddFooterMarkup
  }
  \score {
    \new Staff { s1 \break s1 \break s1 }
  }
}

[image of music]


3.2.3 Reference to page numbers

A particular place of a score can be marked using the \label command, either at top-level or inside music. This label can then be referred to in a markup, to get the number of the page where the marked point is placed, using the \page-ref markup command.

\header { tagline = ##f }
\book {
  \label #'firstScore
  \score {
    {
      c'1
      \pageBreak \mark A \label #'markA
      c'1
    }
  }
  \markup { The first score begins on page \page-ref #'firstScore "0" "?" }
  \markup { Mark A is on page \page-ref #'markA "0" "?" }
}

[image of music]

The \page-ref markup command takes three arguments:

  1. the label, a scheme symbol, eg. #'firstScore;
  2. a markup that will be used as a gauge to estimate the dimensions of the markup;
  3. a markup that will be used in place of the page number if the label is not known;

The reason why a gauge is needed is that, at the time markups are interpreted, the page breaking has not yet occurred, so the page numbers are not yet known. To work around this issue, the actual markup interpretation is delayed to a later time; however, the dimensions of the markup have to be known before, so a gauge is used to decide these dimensions. If the book has between 10 and 99 pages, it may be "00", ie. a two digit number.

定義済みコマンド

\label, \page-ref.


3.2.4 Table of contents

A table of contents is included using the \markuplines \table-of-contents command. The elements which should appear in the table of contents are entered with the \tocItem command, which may be used either at top-level, or inside a music expression.

\markuplines \table-of-contents
\pageBreak

\tocItem \markup "First score"
\score {
  {
    c'4  % ...
    \tocItem \markup "Some particular point in the first score"
    d'4  % ...
  }
}

\tocItem \markup "Second score"
\score {
  {
    e'4 % ...
  }
}

The markups which are used to format the table of contents are defined in the \paper block. The default ones are tocTitleMarkup, for formatting the title of the table, and tocItemMarkup, for formatting the toc elements, composed of the element title and page number. These variables may be changed by the user:

\paper {
  %% Translate the toc title into French:
  tocTitleMarkup = \markup \huge \column {
    \fill-line { \null "Table des matières" \null }
    \hspace #1
  }
  %% use larger font size
  tocItemMarkup = \markup \large \fill-line {
    \fromproperty #'toc:text \fromproperty #'toc:page
  }
}

Note how the toc element text and page number are referred to in the tocItemMarkup definition.

New commands and markups may also be defined to build more elaborated table of contents:

In the following example, a new style is defined for entering act names in the table of contents of an opera:

\paper {
  tocActMarkup = \markup \large \column {
    \hspace #1
    \fill-line { \null \italic \fromproperty #'toc:text \null }
    \hspace #1
  }
}

tocAct =
#(define-music-function (parser location text) (markup?)
   (add-toc-item! 'tocActMarkup text))

[image of music]

Dots can be added to fill the line between an item and its page number:

\header { tagline = ##f }
\paper {
  tocItemMarkup = \tocItemWithDotsMarkup
}

\book {
  \markuplines \table-of-contents
  \tocItem \markup { Allegro }
  \tocItem \markup { Largo }
  \markup \null
}

[image of music]

参照

Init files: ‘../ly/toc-init.ly’.

定義済みコマンド

\table-of-contents, \tocItem.


3.3 Working with input files


3.3.1 Including LilyPond files

A large project may be split up into separate files. To refer to another file, use

\include "otherfile.ly"

The line \include "otherfile.ly" is equivalent to pasting the contents of ‘otherfile.ly’ into the current file at the place where the \include appears. For example, in a large project you might write separate files for each instrument part and create a “full score” file which brings together the individual instrument files. Normally the included file will define a number of variables which then become available for use in the full score file. Tagged sections can be marked in included files to assist in making them usable in different places in a score, see Different editions from one source.

Files in the current working directory may be referenced by specifying just the file name after the \include command. Files in other locations may be included by giving either a full path reference or a relative path reference (but use the UNIX forward slash, /, rather than the DOS/Windows back slash, \, as the directory separator.) For example, if ‘stuff.ly’ is located one directory higher than the current working directory, use

\include "../stuff.ly"

or if the included orchestral parts files are all located in a subdirectory called ‘parts’ within the current directory, use

\include "parts/VI.ly"
\include "parts/VII.ly"
... etc

Files which are to be included can also contain \include statements of their own. By default, these second-level \include statements are not interpreted until they have been brought into the main file, so the file names they specify must all be relative to the directory containing the main file, not the directory containing the included file. However, this behavior can be changed by passing the option -drelative-includes option at the command line (or by adding #(ly:set-option 'relative-includes #t) at the top of the main input file). With relative-includes set, the path for each \include command will be taken relative to the file containing that command. This behavior is recommended and it will become the default behavior in a future version of lilypond.

Files can also be included from a directory in a search path specified as an option when invoking LilyPond from the command line. The included files are then specified using just their file name. For example, to compile ‘main.ly’ which includes files located in a subdirectory called ‘parts’ by this method, cd to the directory containing ‘main.ly’ and enter

lilypond --include=parts main.ly

and in main.ly write

\include "VI.ly"
\include "VII.ly"
... etc

Files which are to be included in many scores may be placed in the LilyPond directory ‘../ly’. (The location of this directory is installation-dependent - see Other sources of information). These files can then be included simply by naming them on an \include statement. This is how the language-dependent files like ‘english.ly’ are included.

LilyPond includes a number of files by default when you start the program. These includes are not apparent to the user, but the files may be identified by running lilypond --verbose from the command line. This will display a list of paths and files that LilyPond uses, along with much other information. Alternatively, the more important of these files are discussed in Other sources of information. These files may be edited, but changes to them will be lost on installing a new version of LilyPond.

Some simple examples of using \include are shown in Scores and parts.

参照

Learning Manual: Other sources of information, Scores and parts.

既知の問題と警告

If an included file is given a name which is the same as one in LilyPond’s installation files, LilyPond’s file from the installation files takes precedence.


3.3.2 Different editions from one source

Several mechanisms are available to facilitate the generation of different versions of a score from the same music source. Variables are perhaps most useful for combining lengthy sections of music and/or annotation in various ways, while tags are more useful for selecting one from several alternative shorter sections of music. Whichever method is used, separating the notation from the structure of the score will make it easier to change the structure while leaving the notation untouched.


Using variables

If sections of the music are defined in variables they can be reused in different parts of the score, see pieces with variables Organizing pieces with variables. For example, an a cappella vocal score frequently includes a piano reduction of the parts for rehearsal purposes which is identical to the vocal music, so the music need be entered only once. Music from two variables may be combined on one staff, see 自動パート結合. Here is an example:

sopranoMusic = \relative c'' { a4 b c b8( a) }
altoMusic = \relative g' { e4 e e f }
tenorMusic = \relative c' { c4 b e d8( c) }
bassMusic = \relative c' { a4 gis a d, }
allLyrics = \lyricmode {King of glo -- ry }
<<
  \new Staff = "Soprano" \sopranoMusic
  \new Lyrics \allLyrics
  \new Staff = "Alto" \altoMusic
  \new Lyrics \allLyrics
  \new Staff = "Tenor" {
    \clef "treble_8"
    \tenorMusic
  }
  \new Lyrics \allLyrics
  \new Staff = "Bass" {
    \clef "bass"
    \bassMusic
  }
  \new Lyrics \allLyrics
  \new PianoStaff <<
    \new Staff = "RH" {
      \set Staff.printPartCombineTexts = ##f
      \partcombine
      \sopranoMusic
      \altoMusic
    }
    \new Staff = "LH" {
      \set Staff.printPartCombineTexts = ##f
      \clef "bass"
      \partcombine
      \tenorMusic
      \bassMusic
    }
  >>
>>

[image of music]

Separate scores showing just the vocal parts or just the piano part can be produced by changing just the structural statements, leaving the musical notation unchanged.

For lengthy scores, the variable definitions may be placed in separate files which are then included, see Including LilyPond files.


Using tags

The \tag #'partA command marks a music expression with the name partA. Expressions tagged in this way can be selected or filtered out by name later, using either \keepWithTag #'name or \removeWithTag #'name. The result of applying these filters to tagged music is as follows:

Filter

Result

Tagged music preceded by \keepWithTag #'name

Untagged music and music tagged with name is included; music tagged with any other tag name is excluded.

Tagged music preceded by \removeWithTag #'name

Untagged music and music tagged with any tag name other than name is included; music tagged with name is excluded.

Tagged music not preceded by either \keepWithTag or \removeWithTag

All tagged and untagged music is included.

The arguments of the \tag, \keepWithTag and \removeWithTag commands should be a symbol (such as #'score or #'part), followed by a music expression.

In the following example, we see two versions of a piece of music, one showing trills with the usual notation, and one with trills explicitly expanded:

music = \relative g' {
  g8. c32 d
  \tag #'trills { d8.\trill }
  \tag #'expand { \repeat unfold 3 { e32 d } }
  c32 d
 }

\score {
  \keepWithTag #'trills \music
}
\score {
  \keepWithTag #'expand \music
}

[image of music]

Alternatively, it is sometimes easier to exclude sections of music:

music = \relative g' {
  g8. c32 d
  \tag #'trills { d8.\trill }
  \tag #'expand {\repeat unfold 3 { e32 d } }
  c32 d
 }

\score {
  \removeWithTag #'expand
  \music
}
\score {
  \removeWithTag #'trills
  \music
}

[image of music]

Tagged filtering can be applied to articulations, texts, etc. by prepending

-\tag #'your-tag

to an articulation. For example, this would define a note with a conditional fingering indication and a note with a conditional annotation:

c1-\tag #'finger ^4
c1-\tag #'warn ^"Watch!"

Multiple tags may be placed on expressions with multiple \tag entries:

music = \relative c'' {
  \tag #'a \tag #'both { a4 a a a }
  \tag #'b \tag #'both { b4 b b b }
}
<<
\keepWithTag #'a \music
\keepWithTag #'b \music
\keepWithTag #'both \music
>>

[image of music]

Multiple \removeWithTag filters may be applied to a single music expression to remove several differently named tagged sections:

music = \relative c'' {
\tag #'A { a4 a a a }
\tag #'B { b4 b b b }
\tag #'C { c4 c c c }
\tag #'D { d4 d d d }
}
{
\removeWithTag #'B
\removeWithTag #'C
\music
}

[image of music]

Two or more \keepWithTag filters applied to a single music expression will cause all tagged sections to be removed, as the first filter will remove all tagged sections except the one named, and the second filter will remove even that tagged section.

参照

Learning Manual: Organizing pieces with variables.

Notation Reference: 自動パート結合, Including LilyPond files.


Using global settings

Global settings can be included from a separate file:

lilypond -dinclude-settings=MY_SETTINGS.ly MY_SCORE.ly

Groups of settings such as page size, font or type face can be stored in separate files. This allows different editions from the same score as well as standard settings to be applied to many scores, simply by specifying the proper settings file.

This technique also works well with the use of style sheets, as discussed in Style sheets.

参照

Learning Manual: Organizing pieces with variables, Style sheets.

Notation Reference: Including LilyPond files.


3.3.3 Text encoding

LilyPond uses the character repertoire defined by the Unicode consortium and ISO/IEC 10646. This defines a unique name and code point for the character sets used in virtually all modern languages and many others too. Unicode can be implemented using several different encodings. LilyPond uses the UTF-8 encoding (UTF stands for Unicode Transformation Format) which represents all common Latin characters in one byte, and represents other characters using a variable length format of up to four bytes.

The actual appearance of the characters is determined by the glyphs defined in the particular fonts available - a font defines the mapping of a subset of the Unicode code points to glyphs. LilyPond uses the Pango library to layout and render multi-lingual texts.

LilyPond does not perform any input-encoding conversions. This means that any text, be it title, lyric text, or musical instruction containing non-ASCII characters, must be encoded in UTF-8. The easiest way to enter such text is by using a Unicode-aware editor and saving the file with UTF-8 encoding. Most popular modern editors have UTF-8 support, for example, vim, Emacs, jEdit, and GEdit do. All MS Windows systems later than NT use Unicode as their native character encoding, so even Notepad can edit and save a file in UTF-8 format. A more functional alternative for Windows is BabelPad.

If a LilyPond input file containing a non-ASCII character is not saved in UTF-8 format the error message

FT_Get_Glyph_Name () error: invalid argument

will be generated.

Here is an example showing Cyrillic, Hebrew and Portuguese text:

[image of music]

To enter a single character for which the Unicode code point is known but which is not available in the editor being used, use either \char ##xhhhh or \char #dddd within a \markup block, where hhhh is the hexadecimal code for the character required and dddd is the corresponding decimal value. Leading zeroes may be omitted, but it is usual to specify all four characters in the hexadecimal representation. (Note that the UTF-8 encoding of the code point should not be used after \char, as UTF-8 encodings contain extra bits indicating the number of octets.) Unicode code charts and a character name index giving the code point in hexadecimal for any character can be found on the Unicode Consortium website, http://www.unicode.org/.

For example, \char ##x03BE and \char #958 would both enter the Unicode U+03BE character, which has the Unicode name “Greek Small Letter Xi”.

Any Unicode code point may be entered in this way and if all special characters are entered in this format it is not necessary to save the input file in UTF-8 format. Of course, a font containing all such encoded characters must be installed and available to LilyPond.

The following example shows Unicode hexadecimal values being entered in four places – in a rehearsal mark, as articulation text, in lyrics and as stand-alone text below the score:

\score {
  \relative c'' {
    c1 \mark \markup { \char ##x03EE }
    c1_\markup { \tiny { \char ##x03B1 " to " \char ##x03C9 } }
  }
  \addlyrics { O \markup { \concat { Ph \char ##x0153 be! } } }
}
\markup { "Copyright 2008--2011" \char ##x00A9 }

[image of music]

To enter the copyright sign in the copyright notice use:

\header {
  copyright = \markup { \char ##x00A9 "2008" }
}

3.3.4 Displaying LilyPond notation

Displaying a music expression in LilyPond notation can be done with the music function \displayLilyMusic but only when using the command line. For example,

{
  \displayLilyMusic \transpose c a, { c4 e g a bes }
}

will display

{ a,4 cis e fis g }

By default, LilyPond will print these messages to the console along with all the other LilyPond compilation messages. To split up these messages and save the results of \display{STUFF}, redirect the output to a file.

lilypond file.ly >display.txt

3.4 Controlling output


3.4.1 Extracting fragments of music

It is possible to quote small fragments of a large score directly from the output. This can be compared to clipping a piece of a paper score with scissors.

This is done by defining the measures that need to be cut out separately. For example, including the following definition

\layout {
  clip-regions
  = #(list
      (cons
       (make-rhythmic-location 5 1 2)
       (make-rhythmic-location 7 3 4)))
}

will extract a fragment starting halfway the fifth measure, ending in the seventh measure. The meaning of 5 1 2 is: after a 1/2 note in measure 5, and 7 3 4 after 3 quarter notes in measure 7.

More clip regions can be defined by adding more pairs of rhythmic-locations to the list.

In order to use this feature, LilyPond must be invoked with -dclip-systems. The clips are output as EPS files, and are converted to PDF and PNG if these formats are switched on as well.

For more information on output formats, see Invoking lilypond.


3.4.2 Skipping corrected music

When entering or copying music, usually only the music near the end (where you are adding notes) is interesting to view and correct. To speed up this correction process, it is possible to skip typesetting of all but the last few measures. This is achieved by putting

showLastLength = R1*5
\score { ... }

in your source file. This will render only the last 5 measures (assuming 4/4 time signature) of every \score in the input file. For longer pieces, rendering only a small part is often an order of magnitude quicker than rendering it completely. When working on the beginning of a score you have already typeset (e.g. to add a new part), the showFirstLength property may be useful as well.

Skipping parts of a score can be controlled in a more fine-grained fashion with the property Score.skipTypesetting. When it is set, no typesetting is performed at all.

This property is also used to control output to the MIDI file. Note that it skips all events, including tempo and instrument changes. You have been warned.

c8 d
\set Score.skipTypesetting = ##t
e8 e e e e e e e
\set Score.skipTypesetting = ##f
c8 d b bes a g c2

[image of music]

In polyphonic music, Score.skipTypesetting will affect all voices and staves, saving even more time.


3.4.3 Alternative output formats

The default output formats for the printed score are Portable Document Format (PDF) and PostScript (PS). Scalable Vector Graphics (SVG), Encapsulated PostScript (EPS) and Portable Network Graphics (PNG) output formats are also available through command line options, see lilypond Command line options for lilypond.


3.4.4 Replacing the notation font

Gonville is an alternative to the Feta font used in LilyPond and can be downloaded from:

http://www.chiark.greenend.org.uk/~sgtatham/gonville/

Here are a few sample bars of music set in Gonville:

pictures/Gonville_after

Here are a few sample bars of music set in LilyPond’s Feta font:

pictures/Gonville_before

Installation Instructions for MacOS

Download and extract the zip file. Copy the lilyfonts directory to ‘SHARE_DIR/lilypond/current’; for more information, see Other sources of information. Move the existing fonts directory to fonts_orig and move the lilyfonts directory to fonts. Simply move fonts_orig back to fonts to revert back to Feta.

参照

Learning Manual: Other sources of information.

既知の問題と警告

Gonville cannot be used to typeset ‘Ancient Music’ notation. Please refer to the author’s website for more information on this and other specifics including licensing of Gonville.


3.5 MIDI output

MIDI (Musical Instrument Digital Interface) is a standard for connecting and controlling digital instruments. A MIDI file is a series of notes in a number of tracks. It is not an actual sound file; you need special software to translate between the series of notes and actual sounds.

Pieces of music can be converted to MIDI files, so you can listen to what was entered. This is convenient for checking the music; octaves that are off or accidentals that were mistyped stand out very much when listening to the MIDI output.

Standard MIDI oputput is somewhat crude; optionally, an enhanced and more realistic MIDI output is available by means of The Articulate script.

The midi output allocates a channel for each staff, and one for global settings. Therefore the midi file should not have more than 15 staves (or 14 if you do not use drums). Other staves will remain silent.


3.5.1 Creating MIDI files

To create a MIDI output file from a LilyPond input file, add a \midi block to a score, for example,

\score {
  ...music...
  \midi { }
}

If there is a \midi block in a \score with no \layout block, only MIDI output will be produced. When notation is needed too, a \layout block must also be present.

\score {
  ...music...
  \midi { }
  \layout { }
}

Pitches, rhythms, ties, dynamics, and tempo changes are interpreted and translated correctly to the MIDI output. Dynamic marks, crescendi and decrescendi translate into MIDI volume levels. Dynamic marks translate to a fixed fraction of the available MIDI volume range. Crescendi and decrescendi make the volume vary linearly between their two extremes. The effect of dynamic markings on the MIDI output can be removed completely, see MIDI block.

The initial tempo and later tempo changes can be specified with the \tempo command within the music notation. These are reflected in tempo changes in the MIDI output. This command will normally result in the metronome mark being printed, but this can be suppressed, see メトロノーム記号. An alternative way of specifying the initial or overall MIDI tempo is described below, see MIDI block.

Due to some limitations on Windows, the default extension for MIDI files on Windows is .mid. Other operating systems still use the extension .midi. If a different extension is preferred, insert the following line at the top-level of the input file, before the start of any \book, \bookpart or \score blocks:

#(ly:set-option 'midi-extension "midi")

The line above will set the default extension for MIDI files to .midi.

Alternatively, this option can also be supplied on the command line:

lilypond … -dmidi-extension=midi lilyFile.ly

Instrument names

The MIDI instrument to be used is specified by setting the Staff.midiInstrument property to the instrument name. The name should be chosen from the list in MIDI instruments.

\new Staff {
  \set Staff.midiInstrument = #"glockenspiel"
  ...notes...
}
\new Staff \with {midiInstrument = #"cello"} {
  ...notes...
}

If the selected instrument does not exactly match an instrument from the list of MIDI instruments, the Grand Piano ("acoustic grand") instrument is used.

Selected Snippets

Changing MIDI output to one channel per voice

When outputting MIDI, the default behavior is for each staff to represent one MIDI channel, with all the voices on a staff amalgamated. This minimizes the risk of running out of MIDI channels, since there are only 16 available per track.

However, by moving the Staff_performer to the Voice context, each voice on a staff can have its own MIDI channel, as is demonstrated by the following example: despite being on the same staff, two MIDI channels are created, each with a different midiInstrument.

\score {
  \new Staff <<
    \new Voice \relative c''' {
      \set midiInstrument = #"flute"
      \voiceOne
      \key g \major
      \time 2/2
      r2 g-"Flute" ~
      g fis ~
      fis4 g8 fis e2 ~
      e4 d8 cis d2
    }
    \new Voice \relative c'' {
      \set midiInstrument = #"clarinet"
      \voiceTwo
      b1-"Clarinet"
      a2. b8 a
      g2. fis8 e
      fis2 r
    }
  >>
  \layout { }
  \midi {
    \context {
      \Staff
      \remove "Staff_performer"
    }
    \context {
      \Voice
      \consists "Staff_performer"
    }
    \context {
      \Score
      tempoWholesPerMinute = #(ly:make-moment 72 2)
    }
  }
}

[image of music]

既知の問題と警告

Changes in the MIDI volume take place only on starting a note, so crescendi and decrescendi cannot affect the volume of a single note.

Not all midi players correctly handle tempo changes in the midi output. Players that are known to work include MS Windows Media Player and timidity.


3.5.2 MIDI block

A \midi block must appear within a score block if MIDI output is required. It is analogous to the layout block, but somewhat simpler. Often, the \midi block is left empty, but it can contain context rearrangements, new context definitions or code to set the values of properties. For example, the following will set the initial tempo exported to a MIDI file without causing a tempo indication to be printed:

\score {
  ...music...
  \midi {
    \context {
      \Score
      tempoWholesPerMinute = #(ly:make-moment 72 4)
    }
  }
}

In this example the tempo is set to 72 quarter note beats per minute. This kind of tempo specification cannot take a dotted note length as an argument. If one is required, break the dotted note into smaller units. For example, a tempo of 90 dotted quarter notes per minute can be specified as 270 eighth notes per minute:

tempoWholesPerMinute = #(ly:make-moment 270 8)

Context definitions follow precisely the same syntax as those within a \layout block. Translation modules for sound are called performers. The contexts for MIDI output are defined in ‘../ly/performer-init.ly’, see Other sources of information. For example, to remove the effect of dynamics from the MIDI output, insert the following lines in the \midi{ } block.

\midi {
  ...
  \context {
    \Voice
    \remove "Dynamic_performer"
  }
}

MIDI output is created only when a \midi block is included within a score block defined with a \score command.

\score {
  { …notes… }
  \midi { }
}

3.5.3 What goes into the MIDI output?


Supported in MIDI

The following items of notation are reflected in the MIDI output:

Using The Articulate script, a number of items are added to the above list:


Unsupported in MIDI

The following items of notation have no effect on the MIDI output, unless you use The Articulate script:


3.5.4 Repeats in MIDI

With a few minor additions, all types of repeats can be represented in the MIDI output. This is achieved by applying the \unfoldRepeats music function. This function changes all repeats to unfold repeats.

\unfoldRepeats {
  \repeat tremolo 8 { c'32 e' }
  \repeat percent 2 { c''8 d'' }
  \repeat volta 2 { c'4 d' e' f' }
  \alternative {
    { g' a' a' g' }
    { f' e' d' c' }
  }
}
\bar "|."

[image of music]

In scores containing multiple voices, unfolding of repeats in MIDI output will only occur correctly if each voice contains fully notated repeat indications.

When creating a score file using \unfoldRepeats for MIDI, it is necessary to make two \score blocks: one for MIDI (with unfolded repeats) and one for notation (with volta, tremolo, and percent repeats). For example,

\score {
  ..music..
  \layout { .. }
}
\score {
  \unfoldRepeats ..music..
  \midi { .. }
}

3.5.5 Controlling MIDI dynamics

MIDI dynamics are implemented by the Dynamic_performer which lives by default in the Voice context. It is possible to control the overall MIDI volume, the relative volume of dynamic markings and the relative volume of different instruments.


Dynamic marks

Dynamic marks are translated to a fixed fraction of the available MIDI volume range. The default fractions range from 0.25 for ppppp to 0.95 for fffff. The set of dynamic marks and the associated fractions can be seen in ‘../scm/midi.scm’, see Other sources of information. This set of fractions may be changed or extended by providing a function which takes a dynamic mark as its argument and returns the required fraction, and setting Score.dynamicAbsoluteVolumeFunction to this function.

For example, if a rinforzando dynamic marking, \rfz, is required, this will not by default have any effect on the MIDI volume, as this dynamic marking is not included in the default set. Similarly, if a new dynamic marking has been defined with make-dynamic-script that too will not be included in the default set. The following example shows how the MIDI volume for such dynamic markings might be added. The Scheme function sets the fraction to 0.9 if a dynamic mark of rfz is found, or calls the default function otherwise.

#(define (myDynamics dynamic)
    (if (equal? dynamic "rfz")
      0.9
      (default-dynamic-absolute-volume dynamic)))

\score {
  \new Staff {
    \set Staff.midiInstrument = #"cello"
    \set Score.dynamicAbsoluteVolumeFunction = #myDynamics
    \new Voice {
      \relative c'' {
        a4\pp b c-\rfz
      }
    }
  }
  \layout {}
  \midi {}
}

[image of music]

Alternatively, if the whole table of fractions needs to be redefined, it would be better to use the default-dynamic-absolute-volume procedure in ‘../scm/midi.scm’ and the associated table as a model. The final example in this section shows how this might be done.


Overall MIDI volume

The minimum and maximum overall volume of MIDI dynamic markings is controlled by setting the properties midiMinimumVolume and midiMaximumVolume at the Score level. These properties have an effect only on dynamic marks, so if they are to apply from the start of the score a dynamic mark must be placed there. The fraction corresponding to each dynamic mark is modified with this formula

midiMinimumVolume + (midiMaximumVolume - midiMinimumVolume) * fraction

In the following example the dynamic range of the overall MIDI volume is limited to the range 0.2 - 0.5.

\score {
  <<
    \new Staff {
      \key g \major
      \time 2/2
      \set Staff.midiInstrument = #"flute"
      \new Voice \relative c''' {
        r2 g\mp g fis~
        fis4 g8 fis e2~
        e4 d8 cis d2
      }
    }
    \new Staff {
      \key g \major
      \set Staff.midiInstrument = #"clarinet"
      \new Voice \relative c'' {
        b1\p a2. b8 a
        g2. fis8 e
        fis2 r
      }
    }
  >>
  \layout {}
  \midi {
    \context {
      \Score
      tempoWholesPerMinute = #(ly:make-moment 72 2)
      midiMinimumVolume = #0.2
      midiMaximumVolume = #0.5
    }
  }
}

[image of music]


Equalizing different instruments (i)

If the minimum and maximum MIDI volume properties are set in the Staff context the relative volumes of the MIDI instruments can be controlled. This gives a basic instrument equalizer, which can enhance the quality of the MIDI output remarkably.

In this example the volume of the clarinet is reduced relative to the volume of the flute. There must be a dynamic mark on the first note of each instrument for this to work correctly.

\score {
  <<
    \new Staff {
      \key g \major
      \time 2/2
      \set Staff.midiInstrument = #"flute"
      \set Staff.midiMinimumVolume = #0.7
      \set Staff.midiMaximumVolume = #0.9
      \new Voice \relative c''' {
        r2 g\mp g fis~
        fis4 g8 fis e2~
        e4 d8 cis d2
      }
    }
    \new Staff {
      \key g \major
      \set Staff.midiInstrument = #"clarinet"
      \set Staff.midiMinimumVolume = #0.3
      \set Staff.midiMaximumVolume = #0.6
      \new Voice \relative c'' {
        b1\p a2. b8 a
        g2. fis8 e
        fis2 r
      }
    }
  >>
  \layout {}
  \midi {
    \context {
      \Score
      tempoWholesPerMinute = #(ly:make-moment 72 2)
    }
  }
}

[image of music]


Equalizing different instruments (ii)

If the MIDI minimum and maximum volume properties are not set LilyPond will, by default, apply a small degree of equalization to a few instruments. The instruments and the equalization applied are shown in the table instrument-equalizer-alist in ‘../scm/midi.scm’.

This basic default equalizer can be replaced by setting instrumentEqualizer in the Score context to a new Scheme procedure which accepts a MIDI instrument name as its only argument and returns a pair of fractions giving the minimum and maximum volumes to be applied to that instrument. This replacement is done in the same way as shown for resetting the dynamicAbsoluteVolumeFunction at the start of this section. The default equalizer, default-instrument-equalizer, in ‘../scm/midi.scm’ shows how such a procedure might be written.

The following example sets the relative flute and clarinet volumes to the same values as the previous example.

#(define my-instrument-equalizer-alist '())

#(set! my-instrument-equalizer-alist
  (append
    '(
      ("flute" . (0.7 . 0.9))
      ("clarinet" . (0.3 . 0.6)))
    my-instrument-equalizer-alist))

#(define (my-instrument-equalizer s)
  (let ((entry (assoc s my-instrument-equalizer-alist)))
    (if entry
      (cdr entry))))

\score {
  <<
    \new Staff {
      \key g \major
      \time 2/2
      \set Score.instrumentEqualizer = #my-instrument-equalizer
      \set Staff.midiInstrument = #"flute"
      \new Voice \relative c''' {
        r2 g\mp g fis~
        fis4 g8 fis e2~
        e4 d8 cis d2
      }
    }
    \new Staff {
      \key g \major
      \set Staff.midiInstrument = #"clarinet"
      \new Voice \relative c'' {
        b1\p a2. b8 a
        g2. fis8 e
        fis2 r
      }
    }
  >>
  \layout { }
  \midi {
    \context {
      \Score
      tempoWholesPerMinute = #(ly:make-moment 72 2)
    }
  }
}

[image of music]


3.5.6 Percussion in MIDI

Percussion instruments are generally notated in a DrumStaff context and when notated in this way they are outputted correctly to MIDI channel 10, but some pitched percussion instruments, like the xylophone, marimba, vibraphone, timpani, etc., are treated like “normal” instruments and music for these instruments should be entered in a normal Staff context, not a DrumStaff context, to obtain the correct MIDI output.

Some non-pitched percussion sounds included in the general MIDI standard, like melodic tom, taiko drum, synth drum, etc., cannot be reached via MIDI channel 10, so the notation for such instruments should also be entered in a normal Staff context, using suitable normal pitches.

Many percussion instruments are not included in the general MIDI standard, e.g. castanets. The easiest, although unsatisfactory, method of producing some MIDI output when writing for such instruments is to substitute the nearest sound from the standard set.

既知の問題と警告

Because the general MIDI standard does not contain rim shots, the sidestick is used for this purpose instead.


3.5.7 The Articulate script

A more realistic MIDI output is possible when using the Articulate script. It tries to take articulations (slurs, staccato, etc) into account, by replacing notes with sequential music of suitably time-scaled note plus skip. It also tries to unfold trills turns etc., and take rallentando and accelerando into account.

To use the Articulate script, you have to include it at the top of your input file,

\include "articulate.ly"

and in the \score section do

\unfoldRepeats \articulate <<
	all the rest of the score...
>>

After altering your input file this way, the visual output is heavily altered, but the standard \midi block will produce a better MIDI file.

Although not essential for the Articulate script to work, you may want to insert the \unfoldRepeats command as it appears in the example shown above as it enables performing abbreviatures such as trills.

既知の問題と警告

Articulate shortens chords and some music (esp. organ music) could sound worse.


4. Spacing issues

The global paper layout is determined by three factors: the page layout, the line breaks, and the spacing. These all influence each other. The choice of spacing determines how densely each system of music is set. This influences where line breaks are chosen, and thus ultimately, how many pages a piece of music takes.

Globally speaking, this procedure happens in four steps: first, flexible distances (‘springs’) are chosen, based on durations. All possible line breaking combinations are tried, and a ‘badness’ score is calculated for each. Then the height of each possible system is estimated. Finally, a page breaking and line breaking combination is chosen so that neither the horizontal nor the vertical spacing is too cramped or stretched.

Two types of blocks can contain layout settings: \paper {…} and \layout {…}. The \paper block contains page layout settings that are expected to be the same for all scores in a book, such as the paper height, or whether to print page numbers, etc. See Page layout. The \layout block contains score layout settings, such as the number of systems to use, or the space between staff-groups, etc. See Score layout.


4.1 Page layout

This section discusses page layout options for the \paper block.


4.1.1 The \paper block

The \paper block can appear within a \book block, but not within a \score block. Settings in a \paper block apply to the entire book, which may include multiple scores. Settings that can appear in a \paper block include:

The set-paper-size function is discussed in the next section, Paper size and automatic scaling. The \paper variables that deal with page layout are discussed in later sections. The markup definitions that deal with headers, footers, and titles are discussed in Custom headers, footers, and titles.

Most \paper variables will only work in a \paper block. The few that will also work in a \layout block are listed in The \layout block.

Except when specified otherwise, all \paper variables that correspond to distances on the page are measured in millimeters, unless a different unit is specified by the user. For example, the following declaration sets top-margin to ten millimeters:

\paper {
  top-margin = 10
}

To set it to 0.5 inches, use the \in unit suffix:

\paper {
  top-margin = 0.5\in
}

The available unit suffixes are \mm, \cm, \in, and \pt. These units are simple values for converting from millimeters; they are defined in ‘ly/paper-defaults-init.ly’. For the sake of clarity, when using millimeters, the \mm is typically included in the code, even though it is not technically necessary.

It is also possible to define \paper values using Scheme. The Scheme equivalent of the above example is:

\paper {
  #(define top-margin (* 0.5 in))
}

参照

Notation Reference: Paper size and automatic scaling, Custom headers, footers, and titles, The \layout block.

Installed Files: ‘ly/paper-defaults-init.ly’.


4.1.2 Paper size and automatic scaling


Setting paper size

Two functions are available for changing the paper size: set-default-paper-size and set-paper-size. set-default-paper-size must be placed in the toplevel scope, and set-paper-size must be placed in a \paper block:

#(set-default-paper-size "a4")
\paper {
  #(set-paper-size "a4")
}

In the toplevel scope, the set-default-paper-size function can safely be called anywhere before the first \paper block. Within a \paper block, the safest place to call set-paper-size is at the top, above the list of variable declarations. The reasons for this are discussed in Automatic scaling to paper size.

set-default-paper-size sets the size of all pages, whereas set-paper-size only sets the size of the pages that the \paper block applies to. For example, if the \paper block is at the top of the file, then it will apply the paper size to all pages. If the \paper block is inside a \book, then the paper size will only apply to that book.

Common paper sizes are available, including a4, letter, legal, and 11x17 (also known as tabloid). Many more paper sizes are supported by default. For details, see ‘scm/paper.scm’, and search for the definition of paper-alist.

Note: The default paper size is a4.

Extra sizes may be added by editing the definition of paper-alist in the initialization file ‘scm/paper.scm’, however they will be overridden on a subsequent install.

If the symbol 'landscape is supplied as an argument to set-default-paper-size, pages will be rotated by 90 degrees, and wider line widths will be set accordingly.

#(set-default-paper-size "a6" 'landscape)

参照

Notation Reference: Automatic scaling to paper size.

Installed Files: ‘scm/paper.scm’.


Automatic scaling to paper size

If the paper size is changed with one of the scheme functions (set-default-paper-size or set-paper-size), the values of several \paper variables are automatically scaled to the new size. To bypass the automatic scaling for a particular variable, set the variable after setting the paper size. Note that the automatic scaling is not triggered by setting the paper-height or paper-width variables, even though paper-width can influence other values (this is separate from scaling and is discussed below). The set-default-paper-size and set-paper-size functions are described in Setting paper size.

The vertical dimensions affected by automatic scaling are top-margin and bottom-margin (see Fixed vertical spacing \paper variables). The horizontal dimensions affected by automatic scaling are left-margin, right-margin, inner-margin, outer-margin, binding-offset, indent, and short-indent (see Horizontal spacing \paper variables).

The default values for these dimensions are set in ‘ly/paper-defaults-init.ly’, using internal variables named top-margin-default, bottom-margin-default, etc. These are the values that result at the default paper size a4. For reference, with a4 paper the paper-height is 297\mm and the paper-width is 210\mm.

参照

Notation Reference: Fixed vertical spacing \paper variables, Horizontal spacing \paper variables.

Installed Files: ‘ly/paper-defaults-init.ly’, ‘scm/paper.scm’.


4.1.3 Fixed vertical spacing \paper variables

Note: Some \paper dimensions are automatically scaled to the paper size, which may lead to unexpected behavior. See Automatic scaling to paper size.

Default values (before scaling) are defined in ‘ly/paper-defaults-init.ly’.

paper-height

The height of the page, unset by default. Note that the automatic scaling of some vertical dimensions is not affected by this.

top-margin

The margin between the top of the page and the top of the printable area. If the paper size is modified, this dimension’s default value is scaled accordingly.

bottom-margin

The margin between the bottom of the printable area and the bottom of the page. If the paper size is modified, this dimension’s default value is scaled accordingly.

ragged-bottom

If set to true, systems will not spread vertically down the page. This does not affect the last page. This should be set to true for pieces that have only two or three systems per page, for example orchestral scores.

ragged-last-bottom

If set to false, systems will spread vertically down the last page. Pieces that amply fill two pages or more should have this set to true. It also affects the last page of book parts, i.e. parts of a book created with \bookpart blocks.

参照

Notation Reference: Automatic scaling to paper size.

Installed Files: ‘ly/paper-defaults-init.ly’.

Snippets: Spacing.

既知の問題と警告

The titles (from the \header block) are treated as a system, so ragged-bottom and ragged-last-bottom will add space between the titles and the first system of the score.


4.1.4 Flexible vertical spacing \paper variables

In most cases, it is preferable for the vertical distances between certain items (such as margins, titles, systems, and separate scores) to be flexible, so that they stretch and compress nicely according to each situation. A number of \paper variables (listed below) are available to fine-tune the stretching behavior of these dimensions.

Note that the \paper variables discussed in this section do not control the spacing of staves within individual systems. Within-system spacing is controlled by grob properties, with settings typically entered inside a \score or \layout block, and not inside a \paper block. See Flexible vertical spacing within systems.


Structure of flexible vertical spacing alists

Each of the flexible vertical spacing \paper variables is an alist (association list) containing four keys:

If a page has a ragged bottom, the resulting distance is the largest of:

Specific methods for modifying alists are discussed in Modifying alists. The following example demonstrates the two ways these alists can be modified. The first declaration updates one key-value individually, and the second completely redefines the variable:

\paper {
  system-system-spacing #'basic-distance = #8
  score-system-spacing =
    #'((basic-distance . 12)
       (minimum-distance . 6)
       (padding . 1)
       (stretchability . 12))
}

List of flexible vertical spacing \paper variables

The names of these variables follow the format upper-lower-spacing, where upper and lower are the items to be spaced. Each distance is measured between the reference points of the two items (see the description of the alist structure above). Note that in these variable names, the term ‘markup’ refers to both title markups (bookTitleMarkup or scoreTitleMarkup) and top-level markups (see File structure). All distances are measured in staff-spaces.

Default settings are defined in ‘ly/paper-defaults-init.ly’.

markup-system-spacing

the distance between a (title or top-level) markup and the system that follows it.

score-markup-spacing

the distance between the last system of a score and the (title or top-level) markup that follows it.

score-system-spacing

the distance between the last system of a score and the first system of the score that follows it, when no (title or top-level) markup exists between them.

system-system-spacing

the distance between two systems in the same score.

markup-markup-spacing

the distance between two (title or top-level) markups.

last-bottom-spacing

the distance from the last system or top-level markup on a page to the bottom of the printable area (i.e. the top of the bottom margin).

top-system-spacing

the distance from the top of the printable area (i.e. the bottom of the top margin) to the first system on a page, when there is no (title or top-level) markup between the two.

top-markup-spacing

the distance from the top of the printable area (i.e. the bottom of the top margin) to the first (title or top-level) markup on a page, when there is no system between the two.

参照

Notation Reference: Flexible vertical spacing within systems.

Installed Files: ‘ly/paper-defaults-init.ly’.

Snippets: Spacing.


4.1.5 Horizontal spacing \paper variables

Note: Some \paper dimensions are automatically scaled to the paper size, which may lead to unexpected behavior. See Automatic scaling to paper size.


\paper variables for widths and margins

Default values (before scaling) that are not listed here are defined in ‘ly/paper-defaults-init.ly’.

paper-width

The width of the page, unset by default. While paper-width has no effect on the automatic scaling of some horizontal dimensions, it does influence the line-width variable. If both paper-width and line-width are set, then left-margin and right-margin will also be updated. Also see check-consistency.

line-width

The horizontal extent of the staff lines in unindented, non-ragged systems, equal to (paper-width - left-margin - right-margin) when unset. If line-width is set, and both left-margin and right-margin are unset, then the margins will be updated to center the systems on the page automatically. Also see check-consistency. This variable can also be set in a \layout block.

left-margin

The margin between the left edge of the page and the start of the staff lines in unindented systems. If the paper size is modified, this dimension’s default value is scaled accordingly. If left-margin is unset, and both line-width and right-margin are set, then left-margin is set to (paper-width - line-width - right-margin). If only line-width is set, then both margins are set to ((paper-width - line-width) / 2), and the systems are consequently centered on the page. Also see check-consistency.

right-margin

The margin between the right edge of the page and the end of the staff lines in non-ragged systems. If the paper size is modified, this dimension’s default value is scaled accordingly. If right-margin is unset, and both line-width and left-margin are set, then right-margin is set to (paper-width - line-width - left-margin). If only line-width is set, then both margins are set to ((paper-width - line-width) / 2), and the systems are consequently centered on the page. Also see check-consistency.

check-consistency

If set to true, print a warning if left-margin, line-width, and right-margin do not exactly add up to paper-width, and replace each of these (except paper-width) with its default value (scaled to the paper size if necessary). If set to false, ignore any inconsistencies and allow systems to run off the edge of the page.

ragged-right

If set to true, systems will not fill the line width. Instead, systems end at their natural horizontal length. Default: #t for scores with only one system, and #f for scores with two or more systems. This variable can also be set in a \layout block.

ragged-last

If set to true, the last system in the score will not fill the line width. Instead the last system ends at its natural horizontal length. Default: #f. This variable can also be set in a \layout block.

参照

Notation Reference: Automatic scaling to paper size.

Installed Files: ‘ly/paper-defaults-init.ly’.


\paper variables for two-sided mode

Default values (before scaling) are defined in ‘ly/paper-defaults-init.ly’.

two-sided

If set to true, use inner-margin, outer-margin and binding-offset to determine margins depending on whether the page number is odd or even. This overrides left-margin and right-margin.

inner-margin

The margin all pages have at the inner side if they are part of a book. If the paper size is modified, this dimension’s default value is scaled accordingly. Works only with two-sided set to true.

outer-margin

The margin all pages have at the outer side if they are part of a book. If the paper size is modified, this dimension’s default value is scaled accordingly. Works only with two-sided set to true.

binding-offset

The amount inner-margin is increased to make sure nothing will be hidden by the binding. If the paper size is modified, this dimension’s default value is scaled accordingly. Works only with two-sided set to true.

参照

Notation Reference: Automatic scaling to paper size.

Installed Files: ‘ly/paper-defaults-init.ly’.


\paper variables for shifts and indents

Default values (before scaling) that are not listed here are defined in ‘ly/paper-defaults-init.ly’.

horizontal-shift

The amount that all systems (including titles and system separators) are shifted to the right. Default: 0.0\mm.

indent

The level of indentation for the first system in a score. If the paper size is modified, this dimension’s default value is scaled accordingly. This variable can also be set in a \layout block.

short-indent

The level of indentation for all systems in a score besides the first system. If the paper size is modified, this dimension’s default value is scaled accordingly. This variable can also be set in a \layout block.

参照

Notation Reference: Automatic scaling to paper size.

Installed Files: ‘ly/paper-defaults-init.ly’.

Snippets: Spacing.


4.1.6 Other \paper variables


\paper variables for line breaking

max-systems-per-page

The maximum number of systems that will be placed on a page. This is currently supported only by the ly:optimal-breaking algorithm. Default: unset.

min-systems-per-page

The minimum number of systems that will be placed on a page. This may cause pages to be overfilled if it is made too large. This is currently supported only by the ly:optimal-breaking algorithm. Default: unset.

systems-per-page

The number of systems that should be placed on each page. This is currently supported only by the ly:optimal-breaking algorithm. Default: unset.

system-count

The number of systems to be used for a score. Default: unset. This variable can also be set in a \layout block.

参照

Notation Reference: Line breaking.


\paper variables for page breaking

Default values not listed here are defined in ‘ly/paper-defaults-init.ly

blank-after-score-page-force

The penalty for having a blank page after the end of one score and before the next. By default, this is smaller than blank-page-force, so that we prefer blank pages after scores to blank pages within a score.

blank-last-page-force

The penalty for ending the score on an odd-numbered page.

blank-page-force

The penalty for having a blank page in the middle of a score. This is not used by ly:optimal-breaking since it will never consider blank pages in the middle of a score.

page-breaking

The page-breaking algorithm to use. Choices are ly:minimal-breaking, ly:page-turn-breaking, and ly:optimal-breaking.

page-breaking-system-system-spacing

Tricks the page breaker into thinking that system-system-spacing is set to something different than it really is. For example, if page-breaking-system-system-spacing #'padding is set to something substantially larger than system-system-spacing #'padding, then the page-breaker will put fewer systems on each page. Default: unset.

page-count

The number of pages to be used for a score, unset by default.

参照

Notation Reference: Page breaking, Optimal page breaking, Optimal page turning, Minimal page breaking.

Installed Files: ‘ly/paper-defaults-init.ly’.


\paper variables for page numbering

Default values not listed here are defined in ‘ly/paper-defaults-init.ly

auto-first-page-number

The page breaking algorithm is affected by the first page number being odd or even. If set to true, the page breaking algorithm will decide whether to start with an odd or even number. This will result in the first page number remaining as is or being increased by one. Default: #f.

first-page-number

The value of the page number on the first page.

print-first-page-number

If set to true, a page number is printed on the first page.

print-page-number

If set to false, page numbers are not printed.

参照

Installed Files: ‘ly/paper-defaults-init.ly’.

既知の問題と警告

Odd page numbers are always on the right. If you want the music to start on page 1 there must be a blank page on the back of the cover page so that page 1 is on the right hand side.


Miscellaneous \paper variables

page-spacing-weight

The relative importance of page (vertical) spacing and line (horizontal) spacing. High values will make page spacing more important. Default: #10.

print-all-headers

If set to true, this will print all headers for each \score in the output. Normally only the piece and opus header variables are printed. Default: #f.

system-separator-markup

A markup object that is inserted between systems, often used for orchestral scores. Default: unset. The \slashSeparator markup, defined in ‘ly/titling-init.ly’, is provided as a sensible default, for example:

#(set-default-paper-size "a8")

\book {
  \paper {
    system-separator-markup = \slashSeparator
  }
  \header {
    tagline = ##f
  }
  \score {
    \relative c'' { c1 \break c1 \break c1 }
  }
}

[image of music]

参照

Installed Files: ‘ly/titling-init.ly’.

Snippets: Spacing.

既知の問題と警告

The default page header puts the page number and the instrument field from the \header block on a line.


4.2 Score layout

This section discusses score layout options for the \layout block.


4.2.1 The \layout block

While the \paper block contains settings that relate to the page formatting of the whole document, the \layout block contains settings for score-specific layout. To set score layout options globally, enter them in a toplevel \layout block. To set layout options for an individual score, enter them in a \layout block inside the \score block, after the music. Settings that can appear in a \layout block include:

The layout-set-staff-size function is discussed in the next section, Setting the staff size. Context modifications are discussed in a separate chapter; see Modifying context plug-ins and Changing context default settings. The \paper variables that can appear in a \layout block are:

Here is an example \layout block:

\layout {
  indent = 2\cm
  \context {
    \StaffGroup
    \override StaffGrouper #'staff-staff-spacing #'basic-distance = #8
  }
  \context {
    \Voice
    \override TextScript #'padding = #1
    \override Glissando #'thickness = #3
  }
}

参照

Notation Reference: Changing context default settings.

Snippets: Spacing.


4.2.2 Setting the staff size

The default staff size is set to 20 points. This may be changed in two ways:

To set the staff size globally for all scores in a file (or in a book block, to be precise), use set-global-staff-size.

#(set-global-staff-size 14)

This sets the global default size to 14pt staff height and scales all fonts accordingly.

To set the staff size individually for each score, use

\score{
  …
  \layout {
    #(layout-set-staff-size 15)
  }
}

The Feta font provides musical symbols at eight different sizes. Each font is tuned for a different staff size: at a smaller size the font becomes heavier, to match the relatively heavier staff lines. The recommended font sizes are listed in the following table:

font name

staff height (pt)

staff height (mm)

use

feta11

11.22

3.9

pocket scores

feta13

12.60

4.4

feta14

14.14

5.0

feta16

15.87

5.6

feta18

17.82

6.3

song books

feta20

20

7.0

standard parts

feta23

22.45

7.9

feta26

25.2

8.9

These fonts are available in any sizes. The context property fontSize and the layout property staff-space (in StaffSymbol) can be used to tune the size for individual staves. The sizes of individual staves are relative to the global size.

参照

Notation Reference: 記譜フォント サイズを選択する.

Snippets: Spacing.

既知の問題と警告

layout-set-staff-size does not change the distance between the staff lines.


4.3 Breaks


4.3.1 Line breaking

Line breaks are normally determined automatically. They are chosen so that lines look neither cramped nor loose, and consecutive lines have similar density.

To manually force a line break at a bar line, use the \break command:

c4 c c c | \break
c4 c c c |

[image of music]

By default, a \break in the middle of a measure is ignored, and a warning is printed. To force a line break in the middle of a measure, add an invisible bar line with ‘\bar ""’:

c4 c c
\bar "" \break
c |
c4 c c c |

[image of music]

A \break occurring at a bar line is also ignored if the previous measure ends in the middle of a note, such as when a tuplet begins and ends in different measures. To allow \break commands to work in these situations, remove the Forbid_line_break_engraver from the Voice context. Note that manually forced line breaks have to be added in parallel with the music:

\new Voice \with {
  \remove Forbid_line_break_engraver
} \relative c'' {
  <<
    { c2. \times 2/3 { c4 c c } c2. | }
    { s1 | \break s1 | }
  >>
}

[image of music]

Similarly, line breaks are normally forbidden when beams cross bar lines. This behavior can be changed by setting \override Beam #'breakable = ##t:

\override Beam #'breakable = ##t
c2. c8[ c | \break
c8 c] c2. |

[image of music]

The \noBreak command forbids a line break at the bar line where it is inserted.

The most basic settings influencing line spacing are indent and line-width. They are set in the \layout block. They control the indentation of the first line of music, and the lengths of the lines.

If ragged-right is set to true in the \layout block, then systems end at their natural horizontal length, instead of being spread horizontally to fill the whole line. This is useful for short fragments, and for checking how tight the natural spacing is.

The option ragged-last is similar to ragged-right, but affects only the last line of the piece.

\layout {
  indent = 0\mm
  line-width = 150\mm
  ragged-last = ##t
}

For line breaks at regular intervals use \break separated by skips and repeated with \repeat. For example, this would cause the following 28 measures (assuming 4/4 time) to be broken every 4 measures, and only there:

<<
  \repeat unfold 7 {
    s1 \noBreak s1 \noBreak
    s1 \noBreak s1 \break
  }
  { the actual music… }
>>

A linebreaking configuration can be saved as a ‘.ly’ file automatically. This allows vertical alignments to be stretched to fit pages in a second formatting run. This is fairly new and complicated. More details are available in Spacing.

定義済みコマンド

\break, \noBreak.

参照

Notation Reference: \paper variables for line breaking.

Snippets: Spacing.

Internals Reference: LineBreakEvent.


4.3.2 Page breaking

The default page breaking may be overridden by inserting \pageBreak or \noPageBreak commands. These commands are analogous to \break and \noBreak. They should be inserted at a bar line. These commands force and forbid a page-break from happening. Of course, the \pageBreak command also forces a line break.

The \pageBreak and \noPageBreak commands may also be inserted at top-level, between scores and top-level markups.

There are also analogous settings to ragged-right and ragged-last which have the same effect on vertical spacing: ragged-bottom and ragged-last-bottom. If set to ##t the systems on all pages or just the last page respectively will not be justified vertically. See Fixed vertical spacing \paper variables.

Page breaks are computed by the page-breaking function. LilyPond provides three algorithms for computing page breaks, ly:optimal-breaking, ly:page-turn-breaking and ly:minimal-breaking. The default is ly:optimal-breaking, but the value can be changed in the \paper block:

\paper {
  page-breaking = #ly:page-turn-breaking
}

When a book has many scores and pages, the page breaking problem may be difficult to solve, requiring large processing time and memory. To ease the page breaking process, \bookpart blocks are used to divide the book into several parts: the page breaking occurs separately on each part. Different page breaking functions may also be used in different book parts.

\bookpart {
  \header {
    subtitle = "Preface"
  }
  \paper {
     %% In a part consisting mostly of text,
     %% ly:minimal-breaking may be preferred
     page-breaking = #ly:minimal-breaking
  }
  \markup { … }
  …
}
\bookpart {
  %% In this part, consisting of music, the default optimal
  %% page breaking function is used.
  \header {
    subtitle = "First movement"
  }
  \score { … }
  …
}

定義済みコマンド

\pageBreak, \noPageBreak.

参照

Notation Reference: \paper variables for page breaking.

Snippets: Spacing.


4.3.3 Optimal page breaking

The ly:optimal-breaking function is LilyPond’s default method of determining page breaks. It attempts to find a page breaking that minimizes cramping and stretching, both horizontally and vertically. Unlike ly:page-turn-breaking, it has no concept of page turns.

参照

Snippets: Spacing.


4.3.4 Optimal page turning

Often it is necessary to find a page breaking configuration so that there is a rest at the end of every second page. This way, the musician can turn the page without having to miss notes. The ly:page-turn-breaking function attempts to find a page breaking minimizing cramping and stretching, but with the additional restriction that it is only allowed to introduce page turns in specified places.

There are two steps to using this page breaking function. First, you must enable it in the \paper block, as explained in Page breaking. Then you must tell the function where you would like to allow page breaks.

There are two ways to achieve the second step. First, you can specify each potential page turn manually, by inserting \allowPageTurn into your input file at the appropriate places.

If this is too tedious, you can add a Page_turn_engraver to a Staff or Voice context. The Page_turn_engraver will scan the context for sections without notes (note that it does not scan for rests; it scans for the absence of notes. This is so that single-staff polyphony with rests in one of the parts does not throw off the Page_turn_engraver). When it finds a sufficiently long section without notes, the Page_turn_engraver will insert an \allowPageTurn at the final bar line in that section, unless there is a ‘special’ bar line (such as a double bar), in which case the \allowPageTurn will be inserted at the final ‘special’ bar line in the section.

The Page_turn_engraver reads the context property minimumPageTurnLength to determine how long a note-free section must be before a page turn is considered. The default value for minimumPageTurnLength is #(ly:make-moment 1 1). If you want to disable page turns, you can set it to something very large.

\new Staff \with { \consists "Page_turn_engraver" }
{
  a4 b c d |
  R1 | % a page turn will be allowed here
  a4 b c d |
  \set Staff.minimumPageTurnLength = #(ly:make-moment 5 2)
  R1 | % a page turn will not be allowed here
  a4 b r2 |
  R1*2 | % a page turn will be allowed here
  a1
}

The Page_turn_engraver detects volta repeats. It will only allow a page turn during the repeat if there is enough time at the beginning and end of the repeat to turn the page back. The Page_turn_engraver can also disable page turns if the repeat is very short. If you set the context property minimumRepeatLengthForPageTurn then the Page_turn_engraver will only allow turns in repeats whose duration is longer than this value.

The page turning commands, \pageTurn, \noPageTurn and \allowPageTurn, may also be used at top-level, between scores and top-level markups.

定義済みコマンド

\pageTurn, \noPageTurn, \allowPageTurn.

参照

Snippets: Spacing.

既知の問題と警告

There should only be one Page_turn_engraver in a score. If there is more than one, they will interfere with each other.


4.3.5 Minimal page breaking

The ly:minimal-breaking function performs minimal computations to calculate the page breaking: it fills a page with as many systems as possible before moving to the next one. Thus, it may be preferred for scores with many pages, where the other page breaking functions could be too slow or memory demanding, or a lot of texts. It is enabled using:

\paper {
  page-breaking = #ly:minimal-breaking
}

参照

Snippets: Spacing.


4.3.6 Explicit breaks

Lily sometimes rejects explicit \break and \pageBreak commands. There are two commands to override this behavior:

\override NonMusicalPaperColumn #'line-break-permission = ##f
\override NonMusicalPaperColumn #'page-break-permission = ##f

When line-break-permission is overridden to false, Lily will insert line breaks at explicit \break commands and nowhere else. When page-break-permission is overridden to false, Lily will insert page breaks at explicit \pageBreak commands and nowhere else.

\paper {
  indent = #0
  ragged-right = ##t
  ragged-bottom = ##t
}

music = \relative c'' { c8 c c c }

\score {
  \new Staff {
    \repeat unfold 2 { \music } \break
    \repeat unfold 4 { \music } \break
    \repeat unfold 6 { \music } \break
    \repeat unfold 8 { \music } \pageBreak
    \repeat unfold 8 { \music } \break
    \repeat unfold 6 { \music } \break
    \repeat unfold 4 { \music } \break
    \repeat unfold 2 { \music }
  }
  \layout {
    \context {
      \Score
      \override NonMusicalPaperColumn #'line-break-permission = ##f
      \override NonMusicalPaperColumn #'page-break-permission = ##f
    }
  }
}

[image of music]

参照

Snippets: Spacing.


4.3.7 Using an extra voice for breaks

Line- and page-breaking information usually appears within note entry directly.

music = \relative c'' { c4 c c c }

\score {
  \new Staff {
    \repeat unfold 2 { \music } \break
    \repeat unfold 3 { \music }
  }
}

This makes \break and \pageBreak commands easy to enter but mixes music entry with information that specifies how music should lay out on the page. You can keep music entry and line- and page-breaking information in two separate places by introducing an extra voice to contain the breaks. This extra voice contains only skips together with \break, pageBreak and other breaking layout information.

music = \relative c'' { c4 c c c }

\score {
  \new Staff <<
    \new Voice {
      s1 * 2 \break
      s1 * 3 \break
      s1 * 6 \break
      s1 * 5 \break
    }
    \new Voice {
      \repeat unfold 2 { \music }
      \repeat unfold 3 { \music }
      \repeat unfold 6 { \music }
      \repeat unfold 5 { \music }
    }
  >>
}

[image of music]

This pattern becomes especially helpful when overriding line-break-system-details and the other useful but long properties of NonMusicalPaperColumnGrob, as explained in Vertical spacing.

music = \relative c'' { c4 c c c }

\score {
  \new Staff <<
    \new Voice {
      \overrideProperty "Score.NonMusicalPaperColumn"
        #'line-break-system-details #'((Y-offset . 0))
      s1 * 2 \break

      \overrideProperty "Score.NonMusicalPaperColumn"
        #'line-break-system-details #'((Y-offset . 35))
      s1 * 3 \break

      \overrideProperty "Score.NonMusicalPaperColumn"
        #'line-break-system-details #'((Y-offset . 70))
      s1 * 6 \break

      \overrideProperty "Score.NonMusicalPaperColumn"
        #'line-break-system-details #'((Y-offset . 105))
      s1 * 5 \break
    }
    \new Voice {
      \repeat unfold 2 { \music }
      \repeat unfold 3 { \music }
      \repeat unfold 6 { \music }
      \repeat unfold 5 { \music }
    }
  >>
}

[image of music]

参照

Notation Reference: Vertical spacing.

Snippets: Spacing.


4.4 Vertical spacing

Vertical spacing is controlled by three things: the amount of space available (i.e., paper size and margins), the amount of space between systems, and the amount of space between staves inside a system.


4.4.1 Flexible vertical spacing within systems

Three separate mechanisms control the flexible vertical spacing within systems, one for each of the following categories:

The height of each system is determined in two steps. First, all of the staves are spaced according to the amount of space available. Then, the non-staff lines are distributed between the staves.

Note that the spacing mechanisms discussed in this section only control the vertical spacing of staves and non-staff lines within individual systems. The vertical spacing between separate systems, scores, markups, and margins is controlled by \paper variables, which are discussed in Flexible vertical spacing \paper variables.


Within-system spacing properties

The within-system vertical spacing mechanisms are controlled by two sets of grob properties. The first set is associated with the VerticalAxisGroup grob, which is created by all staves and non-staff lines. The second set is associated with the StaffGrouper grob, which can be created by staff-groups, but only if explicitly called. These properties are described individually at the end of this section.

The names of these properties (except for staff-affinity) follow the format item1-item2-spacing, where item1 and item2 are the items to be spaced. Note that item2 is not necessarily below item1; for example, nonstaff-relatedstaff-spacing will measure upwards from the non-staff line if staff-affinity is #UP.

Each distance is measured between the reference points of the two items. The reference point for a staff is the vertical center of its StaffSymbol (i.e. the middle line if line-count is odd; the middle space if line-count is even). The reference points for individual non-staff lines are given in the following table:

Non-staff line

Reference point

ChordNames

baseline

NoteNames

baseline

Lyrics

baseline

Dynamics

vertical center

FiguredBass

highest point

FretBoards

top line

In the following image, horizontal lines indicate the positions of these reference points:

[image of music]

Each of the vertical spacing grob properties (except staff-affinity) uses the same alist structure as the \paper spacing variables discussed in Flexible vertical spacing \paper variables. Specific methods for modifying alists are discussed in Modifying alists. Grob properties should be adjusted with an \override inside a \score or \layout block, and not inside a \paper block.

The following example demonstrates the two ways these alists can be modified. The first declaration updates one key-value individually, and the second completely re-defines the property:

\new Staff \with {
  \override VerticalAxisGroup #'default-staff-staff-spacing
       #'basic-distance = #10
} { … }

\new Staff \with {
  \override VerticalAxisGroup #'default-staff-staff-spacing =
    #'((basic-distance . 10)
       (minimum-distance . 9)
       (padding . 1)
       (stretchability . 10))
} { … }

To change any spacing settings globally, put them in the \layout block:

\layout {
  \context {
    \Staff
    \override VerticalAxisGroup #'default-staff-staff-spacing
         #'basic-distance = #10
  }
}

Standard settings for the vertical spacing grob properties are listed in VerticalAxisGroup and StaffGrouper. Default overrides for specific types of non-staff lines are listed in the relevant context descriptions in Contexts.

Properties of the VerticalAxisGroup grob

VerticalAxisGroup properties are typically adjusted with an \override at the Staff level (or equivalent).

staff-staff-spacing

Used to determine the distance between the current staff and the staff just below it in the same system, even if one or more non-staff lines (such as Lyrics) are placed between the two staves. Does not apply to the bottom staff of a system.

Initially, the staff-staff-spacing of a VerticalAxisGroup is a Scheme function that applies the properties of the StaffGrouper if the staff is part of a group, or the default-staff-staff-spacing of the staff otherwise. This allows staves to be spaced differently when they are grouped. For uniform spacing regardless of grouping, this function may be replaced by a flexible-spacing alist, using the complete-redefinition form of override shown above.

default-staff-staff-spacing

A flexible-spacing alist defining the staff-staff-spacing used for ungrouped staves, unless staff-staff-spacing has been explicitly set with an \override.

staff-affinity

The direction of the staff to use for spacing the current non-staff line. Choices are UP, DOWN, and CENTER. If CENTER, the non-staff line will be placed equidistant between the two nearest staves on either side, unless collisions or other spacing constraints prevent this. Adjacent non-staff lines should have non-increasing staff-affinity from top to bottom, e.g. a non-staff line set to UP should not immediately follow one that is set to DOWN. Non-staff lines at the top of a system should use DOWN; those at the bottom should use UP. Setting staff-affinity for a staff causes it to be treated as a non-staff line. Setting staff-affinity to #f causes a non-staff line to be treated as a staff. Setting staff-affinity to UP, CENTER, or DOWN causes a staff to be spaced as a non-staff line.

nonstaff-relatedstaff-spacing

The distance between the current non-staff line and the nearest staff in the direction of staff-affinity, if there are no non-staff lines between the two, and staff-affinity is either UP or DOWN. If staff-affinity is CENTER, then nonstaff-relatedstaff-spacing is used for the nearest staves on both sides, even if other non-staff lines appear between the current one and either of the staves. This means that the placement of a non-staff line depends on both the surrounding staves and the surrounding non-staff lines. Setting the stretchability of one of these types of spacing to a small value will make that spacing dominate. Setting the stretchability to a large value will make that spacing have little effect.

nonstaff-nonstaff-spacing

The distance between the current non-staff line and the next non-staff line in the direction of staff-affinity, if both are on the same side of the related staff, and staff-affinity is either UP or DOWN.

nonstaff-unrelatedstaff-spacing

The distance between the current non-staff line and the staff in the opposite direction from staff-affinity, if there are no other non-staff lines between the two, and staff-affinity is either UP or DOWN. This can be used, for example, to require a minimum amount of padding between a Lyrics line and the staff to which it does not belong.

Properties of the StaffGrouper grob

StaffGrouper properties are typically adjusted with an \override at the StaffGroup level (or equivalent).

staff-staff-spacing

The distance between consecutive staves within the current staff-group. The staff-staff-spacing property of an individual staff’s VerticalAxisGroup grob can be overriden with different spacing settings for that staff.

staffgroup-staff-spacing

The distance between the last staff of the current staff-group and the staff just below it in the same system, even if one or more non-staff lines (such as Lyrics) exist between the two staves. Does not apply to the bottom staff of a system. The staff-staff-spacing property of an individual staff’s VerticalAxisGroup grob can be overriden with different spacing settings for that staff.

参照

Notation Reference: Flexible vertical spacing \paper variables, Modifying alists.

Internals Reference: Contexts, VerticalAxisGroup, StaffGrouper.

Installed Files: ‘ly/engraver-init.ly’, ‘scm/define-grobs.scm’.


Spacing of ungrouped staves

Staves (such as Staff, DrumStaff, TabStaff, etc.) are contexts that can contain one or more voice contexts, but cannot contain any other staves.

The following properties affect the spacing of ungrouped staves:

These grob properties are described individually above; see Within-system spacing properties.

Additional properties are involved for staves that are part of a staff-group; see Spacing of grouped staves.

The following example shows how the default-staff-staff-spacing property can affect the spacing of ungrouped staves. The same overrides applied to staff-staff-spacing would have the same effect, but would also apply in cases where the staves are combined in a group or groups.

\layout {
  \context {
    \Staff
    \override VerticalAxisGroup #'default-staff-staff-spacing =
      #'((basic-distance . 8)
         (minimum-distance . 7)
         (padding . 1))
  }
}

<<
  % The very low note here needs more room than 'basic-distance
  % can provide, so the distance between this staff and the next
  % is determined by 'padding.
  \new Staff { b,2 r | }

  % Here, 'basic-distance provides enough room, and there is no
  % need to compress the space (towards 'minimum-distance) to make
  % room for anything else on the page, so the distance between
  % this staff and the next is determined by 'basic-distance.
  \new Staff { \clef bass g2 r | }

  % By setting 'padding to a negative value, staves can be made to
  % collide.  The lowest acceptable value for 'basic-distance is 0.
  \new Staff \with {
    \override VerticalAxisGroup #'default-staff-staff-spacing =
      #'((basic-distance . 3.5)
         (padding . -10))
  } { \clef bass g2 r | }
  \new Staff { \clef bass g2 r | }
>>

[image of music]

参照

Installed Files: ‘scm/define-grobs.scm’.

Snippets: Spacing.

Internals Reference: VerticalAxisGroup.


Spacing of grouped staves

In orchestral and other large scores, it is common to place staves in groups. The space between groups is typically larger than the space between staves of the same group.

Staff-groups (such as StaffGroup, ChoirStaff, etc.) are contexts that can contain one or more staves simultaneously.

The following properties affect the spacing of staves inside staff-groups:

These grob properties are described individually above; see Within-system spacing properties.

The following example shows how properties of the StaffGrouper grob can affect the spacing of grouped staves:

\layout {
  \context {
    \Score
    \override StaffGrouper #'staff-staff-spacing #'padding = #0
    \override StaffGrouper #'staff-staff-spacing #'basic-distance = #1
  }
}

<<
  \new PianoStaff \with {
    \override StaffGrouper #'staffgroup-staff-spacing #'basic-distance = #20
  } <<
    \new Staff { c'1 }
    \new Staff { c'1 }
  >>

  \new StaffGroup <<
    \new Staff { c'1 }
    \new Staff { c'1 }
  >>
>>

[image of music]

参照

Installed Files: ‘scm/define-grobs.scm’.

Snippets: Spacing.

Internals Reference: VerticalAxisGroup, StaffGrouper.


Spacing of non-staff lines

Non-staff lines (such as Lyrics, ChordNames, etc.) are contexts whose layout objects are engraved like staves (i.e. in horizontal lines within systems). Specifically, non-staff lines are non-staff contexts that create the VerticalAxisGroup layout object.

The following properties affect the spacing of non-staff lines:

These grob properties are described individually above; see Within-system spacing properties.

The following example shows how the nonstaff-nonstaff-spacing property can affect the spacing of consecutive non-staff lines. Here, by setting the stretchability key to a very high value, the lyrics are able to stretch much more than usual:

\layout {
  \context {
    \Lyrics
    \override VerticalAxisGroup
      #'nonstaff-nonstaff-spacing #'stretchability = #1000
  }
}

\new StaffGroup
<<
  \new Staff \with {
    \override VerticalAxisGroup #'staff-staff-spacing = #'((basic-distance . 30))
  } { c'1 }
  \new Lyrics \with {
    \override VerticalAxisGroup #'staff-affinity = #UP
  } \lyricmode { up }
  \new Lyrics \with {
    \override VerticalAxisGroup #'staff-affinity = #CENTER
  } \lyricmode { center }
  \new Lyrics \with {
    \override VerticalAxisGroup #'staff-affinity = #DOWN
  } \lyricmode { down }
  \new Staff { c'1 }
>>

[image of music]

参照

Installed Files: ‘ly/engraver-init.ly’, ‘scm/define-grobs.scm’.

Snippets: Spacing.

Internals Reference: Contexts, VerticalAxisGroup.


4.4.2 Explicit staff and system positioning

One way to understand the flexible vertical spacing mechanisms explained above is as a collection of settings that control the amount of vertical padding between staves and systems.

It is possible to approach vertical spacing in a different way using NonMusicalPaperColumn #'line-break-system-details. While the flexible vertical spacing mechanisms specify vertical padding, NonMusicalPaperColumn #'line-break-system-details can specify exact vertical positions on the page.

NonMusicalPaperColumn #'line-break-system-details accepts an associative list of three different settings:

Grob overrides, including the overrides for NonMusicalPaperColumn below, can occur in any of three different places in an input file:

When we override NonMusicalPaperColumn, we use the usual \override command in \context blocks and in the \with block. On the other hand, when we override NonMusicalPaperColumn in the middle of note entry, use the special \overrideProperty command. Here are some example NonMusicalPaperColumn overrides with the special \overrideProperty command:

\overrideProperty NonMusicalPaperColumn
  #'line-break-system-details #'((X-offset . 20))

\overrideProperty NonMusicalPaperColumn
  #'line-break-system-details #'((Y-offset . 40))

\overrideProperty NonMusicalPaperColumn
  #'line-break-system-details #'((X-offset . 20)
                                 (Y-offset . 40))

\overrideProperty NonMusicalPaperColumn
  #'line-break-system-details #'((alignment-distances . (15)))

\overrideProperty NonMusicalPaperColumn
  #'line-break-system-details #'((X-offset . 20)
                                 (Y-offset . 40)
                                 (alignment-distances . (15)))

To understand how each of these different settings work, we begin by looking at an example that includes no overrides at all.

\header { tagline = ##f }
\paper { left-margin = 0\mm }
\book {
  \score {
    <<
      \new Staff <<
        \new Voice {
          s1*5 \break
          s1*5 \break
          s1*5 \break
        }
        \new Voice { \repeat unfold 15 { c'4 c' c' c' } }
      >>
      \new Staff {
        \repeat unfold 15 { d'4 d' d' d' }
      }
    >>
  }
}

[image of music]

This score isolates line- and page-breaking information in a dedicated voice. This technique of creating a breaks voice will help keep layout separate from music entry as our example becomes more complicated. See Using an extra voice for breaks.

Explicit \breaks evenly divide the music into six measures per line. Vertical spacing results from LilyPond’s defaults. To set the vertical startpoint of each system explicitly, we can set the Y-offset pair in the line-break-system-details attribute of the NonMusicalPaperColumn grob:

\header { tagline = ##f }
\paper { left-margin = 0\mm }
\book {
  \score {
    <<
      \new Staff <<
        \new Voice {
          \overrideProperty #"Score.NonMusicalPaperColumn"
            #'line-break-system-details #'((Y-offset . 0))
          s1*5 \break
          \overrideProperty #"Score.NonMusicalPaperColumn"
            #'line-break-system-details #'((Y-offset . 40))
          s1*5 \break
          \overrideProperty #"Score.NonMusicalPaperColumn"
            #'line-break-system-details #'((Y-offset . 80))
          s1*5 \break
        }
        \new Voice { \repeat unfold 15 { c'4 c' c' c' } }
      >>
      \new Staff {
        \repeat unfold 15 { d'4 d' d' d' }
      }
    >>
  }
}

[image of music]

Note that line-break-system-details takes an associative list of potentially many values, but that we set only one value here. Note, too, that the Y-offset property here determines the exact vertical position on the page at which each new system will render.

Now that we have set the vertical startpoint of each system explicitly, we can also set the vertical distances between staves within each system manually. We do this using the alignment-distances subproperty of line-break-system-details.

\header { tagline = ##f }
\paper { left-margin = 0\mm }
\book {
  \score {
    <<
      \new Staff <<
        \new Voice {
          \overrideProperty #"Score.NonMusicalPaperColumn"
            #'line-break-system-details #'((Y-offset . 20)
                                           (alignment-distances . (15)))
          s1*5 \break
          \overrideProperty #"Score.NonMusicalPaperColumn"
            #'line-break-system-details #'((Y-offset . 60)
                                           (alignment-distances . (15)))
          s1*5 \break
          \overrideProperty #"Score.NonMusicalPaperColumn"
            #'line-break-system-details #'((Y-offset . 100)
                                           (alignment-distances . (15)))
          s1*5 \break
        }
        \new Voice { \repeat unfold 15 { c'4 c' c' c' } }
      >>
      \new Staff {
        \repeat unfold 15 { d'4 d' d' d' }
      }
    >>
  }
}

[image of music]

Note that here we assign two different values to the line-break-system-details attribute of the NonMusicalPaperColumn grob. Though the line-break-system-details attribute alist accepts many additional spacing parameters (including, for example, a corresponding X-offset pair), we need only set the Y-offset and alignment-distances pairs to control the vertical startpoint of every system and every staff. Finally, note that alignment-distances specifies the vertical positioning of staves but not of staff groups.

\header { tagline = ##f }
\paper { left-margin = 0\mm }
\book {
  \score {
    <<
      \new Staff <<
        \new Voice {
          \overrideProperty #"Score.NonMusicalPaperColumn"
            #'line-break-system-details #'((Y-offset . 0)
                                           (alignment-distances . (30 10)))
          s1*5 \break
          \overrideProperty #"Score.NonMusicalPaperColumn"
            #'line-break-system-details #'((Y-offset . 60)
                                           (alignment-distances . (10 10)))
          s1*5 \break
          \overrideProperty #"Score.NonMusicalPaperColumn"
            #'line-break-system-details #'((Y-offset . 100)
                                           (alignment-distances . (10 30)))
          s1*5 \break
        }
        \new Voice { \repeat unfold 15 { c'4 c' c' c' } }
      >>
      \new StaffGroup <<
        \new Staff { \repeat unfold 15 { d'4 d' d' d' } }
        \new Staff { \repeat unfold 15 { e'4 e' e' e' } }
      >>
    >>
  }
}

[image of music]

Some points to consider:

参照

Snippets: Spacing.


4.4.3 Vertical collision avoidance

Intuitively, there are some objects in musical notation that belong to the staff and there are other objects that should be placed outside the staff. Objects belonging outside the staff include things such as rehearsal marks, text and dynamic markings (from now on, these will be called outside-staff objects). LilyPond’s rule for the vertical placement of outside-staff objects is to place them as close to the staff as possible but not so close that they collide with another object.

LilyPond uses the outside-staff-priority property to determine whether a grob is an outside-staff object: if outside-staff-priority is a number, the grob is an outside-staff object. In addition, outside-staff-priority tells LilyPond in which order the objects should be placed.

First, LilyPond places all the objects that do not belong outside the staff. Then it sorts the outside-staff objects according to their outside-staff-priority (in increasing order). One by one, LilyPond takes the outside-staff objects and places them so that they do not collide with any objects that have already been placed. That is, if two outside-staff grobs are competing for the same space, the one with the lower outside-staff-priority will be placed closer to the staff.

c4_"Text"\pp
r2.
\once \override TextScript #'outside-staff-priority = #1
c4_"Text"\pp % this time the text will be closer to the staff
r2.
% by setting outside-staff-priority to a non-number,
% we disable the automatic collision avoidance
\once \override TextScript #'outside-staff-priority = ##f
\once \override DynamicLineSpanner #'outside-staff-priority = ##f
c4_"Text"\pp % now they will collide

[image of music]

The vertical padding between an outside-staff object and the previously-positioned grobs can be controlled with outside-staff-padding.

\once \override TextScript #'outside-staff-padding = #0
a'^"This text is placed very close to the note"
\once \override TextScript #'outside-staff-padding = #3
c^"This text is padded away from the previous text"
c^"This text is placed close to the previous text"

[image of music]

By default, outside-staff objects are placed only to avoid a horizontal collision with previously-positioned grobs. This can lead to situations in which objects are placed very close to each other horizontally. The vertical spacing between staves can also be set so that outside staff objects are interleaved. Setting outside-staff-horizontal-padding causes an object to be offset vertically so that such a situation doesn’t occur.

% the markup is too close to the following note
c4^"Text"
c4
c''2
% setting outside-staff-horizontal-padding fixes this
R1
\once \override TextScript #'outside-staff-horizontal-padding = #1
c,,4^"Text"
c4
c''2

[image of music]

参照

Snippets: Spacing.


4.5 Horizontal spacing


4.5.1 Horizontal spacing overview

The spacing engine translates differences in durations into stretchable distances (‘springs’) of differing lengths. Longer durations get more space, shorter durations get less. The shortest durations get a fixed amount of space (which is controlled by shortest-duration-space in the SpacingSpanner object). The longer the duration, the more space it gets: doubling a duration adds a fixed amount (this amount is controlled by spacing-increment) of space to the note.

For example, the following piece contains lots of half, quarter, and 8th notes; the eighth note is followed by 1 note head width (NHW). The quarter note is followed by 2 NHW, the half by 3 NHW, etc.

c2 c4. c8 c4. c8 c4. c8 c8
c8 c4 c4 c4

[image of music]

Normally, spacing-increment is set to 1.2 staff space, which is approximately the width of a note head, and shortest-duration-space is set to 2.0, meaning that the shortest note gets 2.4 staff space (2.0 times the spacing-increment) of horizontal space. This space is counted from the left edge of the symbol, so the shortest notes are generally followed by one NHW of space.

If one would follow the above procedure exactly, then adding a single 32nd note to a score that uses 8th and 16th notes, would widen up the entire score a lot. The shortest note is no longer a 16th, but a 32nd, thus adding 1 NHW to every note. To prevent this, the shortest duration for spacing is not the shortest note in the score, but rather the one which occurs most frequently.

The most common shortest duration is determined as follows: in every measure, the shortest duration is determined. The most common shortest duration is taken as the basis for the spacing, with the stipulation that this shortest duration should always be equal to or shorter than an 8th note. The shortest duration is printed when you run lilypond with the --verbose option.

These durations may also be customized. If you set the common-shortest-duration in SpacingSpanner, then this sets the base duration for spacing. The maximum duration for this base (normally an 8th), is set through base-shortest-duration.

Notes that are even shorter than the common shortest note are followed by a space that is proportional to their duration relative to the common shortest note. So if we were to add only a few 16th notes to the example above, they would be followed by half a NHW:

c2 c4. c8 c4. c16[ c] c4. c8 c8 c8 c4 c4 c4

[image of music]

In the Essay on automated music engraving, it was explained that stem directions influence spacing (see Optical spacing). This is controlled with the stem-spacing-correction property in the NoteSpacing, object. These are generated for every Voice context. The StaffSpacing object (generated in Staff context) contains the same property for controlling the stem/bar line spacing. The following example shows these corrections, once with default settings, and once with exaggerated corrections:

[image of music]

Proportional notation is supported; see Proportional notation.

参照

Snippets: Spacing.

Internals Reference: SpacingSpanner, NoteSpacing, StaffSpacing, NonMusicalPaperColumn.

Essay on automated music engraving: Optical spacing.

既知の問題と警告

There is no convenient mechanism to manually override spacing. The following work-around may be used to insert extra space into a score, adjusting the padding value as necessary.

 \override Score.NonMusicalPaperColumn #'padding = #10

No work-around exists for decreasing the amount of space.


4.5.2 New spacing area

New sections with different spacing parameters can be started with newSpacingSection. This is useful when there are sections with a different notions of long and short notes.

In the following example, the time signature change introduces a new section, and hence the 16ths notes are spaced wider.

\time 2/4
c4 c8 c
c8 c c4 c16[ c c8] c4
\newSpacingSection
\time 4/16
c16[ c c8]

[image of music]

The \newSpacingSection command creates a new SpacingSpanner object, and hence new \overrides may be used in that location.

参照

Snippets: Spacing.

Internals Reference: SpacingSpanner.


4.5.3 Changing horizontal spacing

Horizontal spacing may be altered with the base-shortest-duration property. Here we compare the same music; once without altering the property, and then altered. Larger values of ly:make-moment will produce smaller music. Note that ly:make-moment constructs a duration, so 1 4 is a longer duration than 1 16.

\score {
  \relative c'' {
    g4 e e2 | f4 d d2 | c4 d e f | g4 g g2 |
    g4 e e2 | f4 d d2 | c4 e g g | c,1 |
    d4 d d d | d4 e f2 | e4 e e e | e4 f g2 |
    g4 e e2 | f4 d d2 | c4 e g g | c,1 |
  }
}

[image of music]

\score {
  \relative c'' {
    g4 e e2 | f4 d d2 | c4 d e f | g4 g g2 |
    g4 e e2 | f4 d d2 | c4 e g g | c,1 |
    d4 d d d | d4 e f2 | e4 e e e | e4 f g2 |
    g4 e e2 | f4 d d2 | c4 e g g | c,1 |
  }
  \layout {
    \context {
      \Score
      \override SpacingSpanner
        #'base-shortest-duration = #(ly:make-moment 1 16)
    }
  }
}

[image of music]

Selected Snippets

By default, spacing in tuplets depends on various non-duration factors (such as accidentals, clef changes, etc). To disregard such symbols and force uniform equal-duration spacing, use Score.SpacingSpanner #'uniform-stretching. This property can only be changed at the beginning of a score,

\score {
  <<
    \new Staff {
      \times 4/5 {
        c8 c8 c8 c8 c8
      }
      c8 c8 c8 c8
    }
    \new Staff {
      c8 c8 c8 c8
      \times 4/5 {
        c8 c8 c8 c8 c8
      }
    }
  >>
  \layout {
    \context {
      \Score
      \override SpacingSpanner #'uniform-stretching = ##t
    }
  }
}

[image of music]

When strict-note-spacing is set, notes are spaced without regard for clefs, bar lines, and grace notes,

\override Score.SpacingSpanner #'strict-note-spacing = ##t
\new Staff { c8[ c \clef alto c \grace { c16[ c] } c8 c c]  c32[ c32] }

[image of music]

参照

Snippets: Spacing.


4.5.4 Line length

The most basic settings influencing the spacing are indent and line-width. They are set in the \layout block. They control the indentation of the first line of music, and the lengths of the lines.

If ragged-right is set to true in the \layout block, then systems ends at their natural horizontal length, instead of being spread horizontally to fill the whole line. This is useful for short fragments, and for checking how tight the natural spacing is. The normal default setting is false, but if the score has only one system the default value is true.

The option ragged-last is similar to ragged-right, but only affects the last line of the piece. No restrictions are put on that line. The result is similar to formatting text paragraphs. In a paragraph, the last line simply takes its natural horizontal length.

\layout {
  indent = #0
  line-width = #150
  ragged-last = ##t
}

参照

Snippets: Spacing.


4.5.5 Proportional notation

LilyPond supports proportional notation, a type of horizontal spacing in which each note consumes an amount of horizontal space exactly equivalent to its rhythmic duration. This type of proportional spacing is comparable to horizontal spacing on top of graph paper. Some late 20th- and early 21st-century scores use proportional notation to clarify complex rhythmic relationships or to facilitate the placement of timelines or other graphics directly in the score.

LilyPond supports five different settings for proportional notation, which may be used together or alone:

In the examples that follow, we explore these five different proportional notation settings and examine how these settings interact.

We start with the following one-measure example, which uses classical spacing with ragged-right turned on.

\score {
  <<
    \new RhythmicStaff {
      c'2
      c'16 c'16 c'16 c'16
      \times 4/5 {
        c'16 c'16 c'16 c'16 c'16
      }
    }
  >>
}

[image of music]

Notice that the half note which begins the measure takes up far less than half of the horizontal space of the measure. Likewise, the sixteenth notes and sixteenth-note quintuplets (or twentieth notes) which end the measure together take up far more than half the horizontal space of the measure.

In classical engraving, this spacing may be exactly what we want because we can borrow horizontal space from the half note and conserve horizontal space across the measure as a whole.

On the other hand, if we want to insert a measured timeline or other graphic above or below our score, we need proportional notation. We turn proportional notation on with the proportionalNotationDuration setting.

\score {
  <<
    \new RhythmicStaff {
      c'2
      c'16 c'16 c'16 c'16
      \times 4/5 {
        c'16 c'16 c'16 c'16 c'16
      }
    }
  >>
 \layout {
    \context {
      \Score
      proportionalNotationDuration = #(ly:make-moment 1 20)
    }
  }
}

[image of music]

The half note at the beginning of the measure and the faster notes in the second half of the measure now occupy equal amounts of horizontal space. We could place a measured timeline or graphic above or below this example.

The proportionalNotationDuration setting is a context setting that lives in Score. Remember that context settings can appear in one of three locations within our input file – in a \with block, in a \context block, or directly in music entry preceded by the \set command. As with all context settings, users can pick which of the three different locations they would like to set proportionalNotationDuration in to.

The proportionalNotationDuration setting takes a single argument, which is the reference duration against that all music will be spaced. The LilyPond Scheme function make-moment takes two arguments – a numerator and denominator which together express some fraction of a whole note. The call #(ly:make-moment 1 20) therefore produces a reference duration of a twentieth note. Values such as #(ly:make-moment 1 16), #(ly:make-moment 1 8), and #(ly:make-moment 3 97) are all possible as well.

How do we select the right reference duration to pass to proportionalNotationDuration? Usually by a process of trial and error, beginning with a duration close to the fastest (or smallest) duration in the piece. Smaller reference durations space music loosely; larger reference durations space music tightly.

\score {
  <<
    \new RhythmicStaff {
      c'2
      c'16 c'16 c'16 c'16
      \times 4/5 {
        c'16 c'16 c'16 c'16 c'16
      }
    }
  >>
  \layout {
    \context {
      \Score
      proportionalNotationDuration = #(ly:make-moment 1 8)
    }
  }
}

\score {
  <<
    \new RhythmicStaff {
      c'2
      c'16 c'16 c'16 c'16
      \times 4/5 {
        c'16 c'16 c'16 c'16 c'16
      }
    }
  >>
  \layout {
    \context {
      \Score
      proportionalNotationDuration = #(ly:make-moment 1 16)
    }
  }
}

\score {
  <<
    \new RhythmicStaff {
      c'2
      c'16 c'16 c'16 c'16
      \times 4/5 {
        c'16 c'16 c'16 c'16 c'16
      }
    }
  >>
  \layout {
    \context {
      \Score
      proportionalNotationDuration = #(ly:make-moment 1 32)
    }
  }
}

[image of music]

Note that too large a reference duration – such as the eighth note, above – spaces music too tightly and can cause note head collisions. Also that proportional notation in general takes up more horizontal space than classical spacing. Proportional spacing provides rhythmic clarity at the expense of horizontal space.

Next we examine how to optimally space overlapping tuplets.

We start by examining what happens to our original example, with classical spacing, when we add a second staff with a different type of tuplet.

\score {
  <<
    \new RhythmicStaff {
      c'2
      c'16 c'16 c'16 c'16
      \times 4/5 {
        c'16 c'16 c'16 c'16 c'16
      }
    }
    \new RhythmicStaff {
      \times 8/9 {
        c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8
      }
    }
  >>
}

[image of music]

The spacing is bad because the evenly spaced notes of the bottom staff do not stretch uniformly. Classical engravings include very few complex triplets and so classical engraving rules can generate this type of result. Setting proportionalNotationDuration fixes this.

\score {
  <<
    \new RhythmicStaff {
      c'2
      c'16 c'16 c'16 c'16
      \times 4/5 {
        c'16 c'16 c'16 c'16 c'16
      }
    }
    \new RhythmicStaff {
      \times 8/9 {
        c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8
      }
    }
  >>
  \layout {
    \context {
      \Score
      proportionalNotationDuration = #(ly:make-moment 1 20)
    }
  }
}

[image of music]

But if we look very carefully we can see that notes of the second half of the 9-tuplet space ever so slightly more widely than the notes of the first half of the 9-tuplet. To ensure uniform stretching, we turn on uniform-stretching, which is a property of SpacingSpanner.

\score {
  <<
    \new RhythmicStaff {
      c'2
      c'16 c'16 c'16 c'16
      \times 4/5 {
        c'16 c'16 c'16 c'16 c'16
      }
    }
    \new RhythmicStaff {
      \times 8/9 {
        c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8 c'8
      }
    }
  >>
  \layout {
    \context {
      \Score
      proportionalNotationDuration = #(ly:make-moment 1 20)
      \override SpacingSpanner #'uniform-stretching = ##t
    }
  }
}

[image of music]

Our two-staff example now spaces exactly, our rhythmic relationships are visually clear, and we can include a measured timeline or graphic if we want.

Note that the LilyPond’s proportional notation package expects that all proportional scores set the SpacingSpanner’s ’uniform-stretching attribute to ##t. Setting proportionalNotationDuration without also setting the SpacingSpanner’s ’uniform-stretching attribute to ##t will, for example, cause Skips to consume an incorrect amount of horizontal space.

The SpacingSpanner is an abstract grob that lives in the Score context. As with our settings of proportionalNotationDuration, overrides to the SpacingSpanner can occur in any of three different places in our input file – in the Score \with block, in a Score \context block, or in note entry directly.

There is by default only one SpacingSpanner per Score. This means that, by default, uniform-stretching is either turned on for the entire score or turned off for the entire score. We can, however, override this behavior and turn on different spacing features at different places in the score. We do this with the command \newSpacingSection. See New spacing area, for more info.

Next we examine the effects of the Separating_line_group_engraver and see why proportional scores frequently remove this engraver. The following example shows that there is a small amount of “prefatory” space just before the first note in each system.

\paper {
  indent = #0
}

\new Staff {
  c'1
  \break
  c'1
}

[image of music]

The amount of this prefatory space is the same whether after a time signature, a key signature or a clef. Separating_line_group_engraver is responsible for this space. Removing Separating_line_group_engraver reduces this space to zero.

\paper {
  indent = #0
}

\new Staff \with {
  \remove Separating_line_group_engraver
} {
  c'1
  \break
  c'1
}

[image of music]

non-musical elements like time signatures, key signatures, clefs and accidentals are problematic in proportional notation. None of these elements has rhythmic duration. But all of these elements consume horizontal space. Different proportional scores approach these problems differently.

It may be possible to avoid spacing problems with key signatures simply by not having any. This is a valid option since most proportional scores are contemporary music. The same may be true of time signatures, especially for those scores that include a measured timeline or other graphic. But these scores are exceptional and most proportional scores include at least some time signatures. Clefs and accidentals are even more essential.

So what strategies exist for spacing non-musical elements in a proportional context? One good option is the strict-note-spacing property of SpacingSpanner. Compare the two scores below:

\new Staff {
  \set Score.proportionalNotationDuration = #(ly:make-moment 1 16)
  c''8
  c''8
  c''8
  \clef alto
  d'8
  d'2
}

\new Staff {
  \set Score.proportionalNotationDuration = #(ly:make-moment 1 16)
  \override Score.SpacingSpanner #'strict-note-spacing = ##t
  c''8
  c''8
  c''8
  \clef alto
  d'8
  d'2
}

[image of music]

Both scores are proportional, but the spacing in the first score is too loose because of the clef change. The spacing of the second score remains strict, however, because strict-note-spacing is turned on. Turning on strict-note-spacing causes the width of time signatures, key signatures, clefs and accidentals to play no part in the spacing algorithm.

In addition to the settings given here, there are other settings that frequently appear in proportional scores. These include:

These settings space grace notes strictly, extend tuplet brackets to mark both rhythmic start- and stop-points, and allow spanning elements to break across systems and pages. See the respective parts of the manual for these related settings.

参照

Notation Reference: New spacing area.

Snippets: Spacing.


4.6 Fitting music onto fewer pages

Sometimes you can end up with one or two staves on a second (or third, or fourth...) page. This is annoying, especially if you look at previous pages and it looks like there is plenty of room left on those.

When investigating layout issues, annotate-spacing is an invaluable tool. This command prints the values of various layout spacing variables; for more details see the following section, Displaying spacing.


4.6.1 Displaying spacing

To graphically display the dimensions of vertical layout variables that may be altered for page formatting, set annotate-spacing in the \paper block:

#(set-default-paper-size "a6" 'landscape)
\book {
  \score { { c4 } }
  \paper { annotate-spacing = ##t }
}

[image of music]

All layout dimensions are displayed in staff-spaces, regardless of the units specified in the \paper or \layout block. In the above example, paper-height has a value of 59.75 staff-spaces, and the staff-size is 20 points (the default value). Note that:

1 point

= (25.4/72.27) mm

1 staff-space

= (staff-size)/4 pts

= (staff-size)/4 * (25.4/72.27) mm

In this case, one staff-space is approximately equal to 1.757mm. Thus the paper-height measurement of 59.75 staff-spaces is equivalent to 105 millimeters, the height of a6 paper in landscape orientation. The pairs (a,b) are intervals, where a is the lower edge and b the upper edge of the interval.

参照

Notation Reference: Setting the staff size.

Snippets: Spacing.


4.6.2 Changing spacing

The output of annotate-spacing reveals vertical dimensions in great detail. For details about modifying margins and other layout variables, see Page layout.

Other than margins, there are a few other options to save space:

参照

Notation Reference: Page layout, Changing horizontal spacing.

Snippets: Spacing.


5. Changing defaults

The purpose of LilyPond’s design is to provide the finest quality output by default. Nevertheless, it may happen that you need to change this default layout. The layout is controlled through a large number of ‘knobs and switches’ collectively called ‘properties’. A tutorial introduction to accessing and modifying these properties can be found in the Learning Manual, see Tweaking output. This should be read first. This chapter covers similar ground, but in a style more appropriate to a reference manual.

The definitive description of the controls available for tuning can be found in a separate document: the Internals Reference. That manual lists all the variables, functions and options available in LilyPond. It is written as a HTML document, which is available on-line, and is also included with the LilyPond documentation package.

Internally, LilyPond uses Scheme (a LISP dialect) to provide infrastructure. Overriding layout decisions in effect accesses the program internals, which requires Scheme input. Scheme elements are introduced in a ‘.ly’ file with the hash mark #.1


5.1 Interpretation contexts

This section describes what contexts are, and how to modify them.

参照

Learning Manual: Contexts and engravers.

Installed Files: ‘ly/engraver-init.ly’, ‘ly/performer-init.ly’.

Snippets: Contexts and engravers.

Internals Reference: Contexts, Engravers and Performers.


5.1.1 Contexts explained

Contexts are arranged hierarchically:


Score - the master of all contexts

This is the top level notation context. No other context can contain a Score context. By default the Score context handles the administration of time signatures and makes sure that items such as clefs, time signatures, and key-signatures are aligned across staves.

A Score context is instantiated implicitly when a \score {…} or \layout {…} block is processed.


Top-level contexts - staff containers

StaffGroup

Groups staves while adding a bracket on the left side, grouping the staves together. The bar lines of the contained staves are connected vertically. StaffGroup only consists of a collection of staves, with a bracket in front and spanning bar lines.

ChoirStaff

Identical to StaffGroup except that the bar lines of the contained staves are not connected vertically.

GrandStaff

A group of staves, with a brace on the left side, grouping the staves together. The bar lines of the contained staves are connected vertically.

PianoStaff

Just like GrandStaff, but with support for instrument names to the left of each system.


Intermediate-level contexts - staves

Staff

Handles clefs, bar lines, keys, accidentals. It can contain Voice contexts.

RhythmicStaff

Like Staff but for printing rhythms. Pitches are ignored; the notes are printed on one line.

TabStaff

Context for generating tablature. By default lays the music expression out as a guitar tablature, printed on six lines.

DrumStaff

Handles typesetting for percussion. Can contain DrumVoice

VaticanaStaff

Same as Staff, except that it is designed for typesetting a piece in gregorian style.

MensuralStaff

Same as Staff, except that it is designed for typesetting a piece in mensural style.


Bottom-level contexts - voices

Voice-level contexts initialise certain properties and start appropriate engravers. Being bottom-level contexts, they cannot contain other contexts.

Voice

Corresponds to a voice on a staff. This context handles the conversion of dynamic signs, stems, beams, super- and sub-scripts, slurs, ties, and rests. You have to instantiate this explicitly if you require multiple voices on the same staff.

VaticanaVoice

Same as Voice, except that it is designed for typesetting a piece in gregorian style.

MensuralVoice

Same as Voice, with modifications for typesetting a piece in mensural style.

Lyrics

Corresponds to a voice with lyrics. Handles the printing of a single line of lyrics.

DrumVoice

The voice context used in a percussion staff.

FiguredBass

The context in which BassFigure objects are created from input entered in \figuremode mode.

TabVoice

The voice context used within a TabStaff context. Usually left to be created implicitly.

CueVoice

A voice context used to render notes of a reduced size, intended primarily for adding cue notes to a staff, see 合図音符をフォーマットする. Usually left to be created implicitly.

ChordNames

Typesets chord names.


5.1.2 Creating contexts

For scores with only one voice and one staff, contexts are created automatically. For more complex scores, it is necessary to create them by hand. There are three commands that do this.


5.1.3 Keeping contexts alive

Contexts are usually terminated at the first musical moment in which they have nothing to do. So Voice contexts die as soon as they contain no events; Staff contexts die as soon as all the Voice contexts within them contain no events; etc. This can cause difficulties if earlier contexts which have died have to be referenced, for example, when changing staves with \change commands, associating lyrics with a voice with \lyricsto commands, or when adding further musical events to an earlier context.

There is an exception to this general rule: just one of the Voice contexts in a Staff context or in a <<...>> construct will always persist to the end of the enclosing Staff context or <<...>> construct, even though there may be periods when it has nothing to do. The context to persist in this way will be the first one encountered in the first enclosed {...} construct, ignoring any in enclosed <<...>> constructs.

Any context can be kept alive by ensuring it has something to do at every musical moment. Staff contexts are kept alive by ensuring one of their voices is kept alive. One way of doing this is to add spacer rests to a voice in parallel with the real music. These need to be added to every Voice context which needs to be kept alive. If several voices are to be used sporadically it is safest to keep them all alive rather than attempting to rely on the exceptions mentioned above.

In the following example, both voice A and voice B are kept alive in this way for the duration of the piece:

musicA = \relative c'' { d4 d d d }
musicB = \relative c'' { g4 g g g }
keepVoicesAlive = {
  <<
    \new Voice = "A" { s1*5 }  % Keep Voice "A" alive for 5 bars
    \new Voice = "B" { s1*5 }  % Keep Voice "B" alive for 5 bars
  >>
}

music = {
  \context Voice = "A" {
    \voiceOneStyle
    \musicA
  }
  \context Voice = "B" {
    \voiceTwoStyle
    \musicB
  }
  \context Voice = "A" { \musicA }
  \context Voice = "B" { \musicB }
  \context Voice = "A" { \musicA }
}

\score {
  \new Staff <<
    \keepVoicesAlive
    \music
  >>
}

[image of music]

The following example shows how a sporadic melody line with lyrics might be written using this approach. In a real situation the melody and accompaniment would consist of several different sections, of course.

melody = \relative c'' { a4 a a a }
accompaniment = \relative c' { d4 d d d }
words = \lyricmode { These words fol -- low the mel -- o -- dy }
\score {
  <<
    \new Staff = "music" {
      <<
        \new Voice = "melody" {
          \voiceOne
          s1*4  % Keep Voice "melody" alive for 4 bars
        }
        {
          \new Voice = "accompaniment" {
            \voiceTwo
            \accompaniment
          }
          <<
            \context Voice = "melody" { \melody }
            \context Voice = "accompaniment" { \accompaniment }
          >>
          \context Voice = "accompaniment" { \accompaniment }
          <<
            \context Voice = "melody" { \melody }
            \context Voice = "accompaniment" { \accompaniment }
          >>
        }
      >>
    }
    \new Lyrics \with { alignAboveContext = #"music" }
    \lyricsto "melody" { \words }
  >>
}

[image of music]

An alternative way, which may be better in many circumstances, is to keep the melody line alive by simply including spacer notes to line it up correctly with the accompaniment:

melody = \relative c'' {
  s1  % skip a bar
  a4 a a a
  s1  % skip a bar
  a4 a a a
}
accompaniment = \relative c' {
  d4 d d d
  d4 d d d
  d4 d d d
  d4 d d d
}
words = \lyricmode { These words fol -- low the mel -- o -- dy }

\score {
  <<
    \new Staff = "music" {
      <<
        \new Voice = "melody" {
          \voiceOne
          \melody
        }
        \new Voice = "accompaniment" {
          \voiceTwo
          \accompaniment
        }
      >>
    }
    \new Lyrics \with { alignAboveContext = #"music" }
    \lyricsto "melody" { \words }
  >>
}

[image of music]


5.1.4 Modifying context plug-ins

Notation contexts (like Score and Staff) not only store properties, they also contain plug-ins called ‘engravers’ that create notation elements. For example, the Voice context contains a Note_heads_engraver and the Staff context contains a Key_signature_engraver.

For a full a description of each plug-in, see Engravers and Performers. Every context described in Contexts lists the engravers used for that context.

It can be useful to shuffle around these plug-ins. This is done by starting a new context with \new or \context, and modifying it,

\new context \with {
  \consists …
  \consists …
  \remove …
  \remove …
  etc.
}
{
  ..music..
}

where the … should be the name of an engraver. Here is a simple example which removes Time_signature_engraver and Clef_engraver from a Staff context,

<<
  \new Staff {
    f2 g
  }
  \new Staff \with {
     \remove "Time_signature_engraver"
     \remove "Clef_engraver"
  } {
    f2 g2
  }
>>

[image of music]

In the second staff there are no time signature or clef symbols. This is a rather crude method of making objects disappear since it will affect the entire staff. This method also influences the spacing, which may or may not be desirable. More sophisticated methods of blanking objects are shown in Visibility and color of objects.

The next example shows a practical application. Bar lines and time signatures are normally synchronized across the score. This is done by the Timing_translator and Default_bar_line_engraver. This plug-in keeps an administration of time signature, location within the measure, etc. By moving these engraver from Score to Staff context, we can have a score where each staff has its own time signature.

\score {
  <<
    \new Staff \with {
      \consists "Timing_translator"
      \consists "Default_bar_line_engraver"
    } {
        \time 3/4
        c4 c c c c c
    }
  \new Staff \with {
    \consists "Timing_translator"
    \consists "Default_bar_line_engraver"
  } {
      \time 2/4
      c4 c c c c c
  }
>>
\layout {
  \context {
    \Score
    \remove "Timing_translator"
    \remove "Default_bar_line_engraver"
    }
  }
}

[image of music]

既知の問題と警告

Usually the order in which the engravers are specified does not matter, but in a few special cases the order is important, for example where one engraver writes a property and another reads it, or where one engraver creates a grob and another must process it. The order in which the engravers are specified is the order in which they are called to carry out their processing.

The following orderings are important: the Bar_engraver must normally be first, and the New_fingering_engraver must come before the Script_column_engraver. There may be others with ordering dependencies.


5.1.5 Changing context default settings

The context settings which are to be used by default in Score, Staff and Voice contexts may be specified in a \layout block, as illustrated in the following example. The \layout block should be placed within the \score block to which it is to apply, but outside any music.

Note that the \set command itself and the context must be omitted when the context default values are specified in this way:

\score {
  \relative c'' {
    a4^"Really small, thicker stems, no time signature" a a a
    a a a a
  }
  \layout {
    \context {
      \Staff
      fontSize = #-4
      \override Stem #'thickness = #4.0
      \remove "Time_signature_engraver"
    }
  }
}

[image of music]

In this example, the \Staff command specifies that the subsequent specifications are to be applied to all staves within this score block.

Modifications can be made to the Score context or all Voice contexts in a similar way.

既知の問題と警告

It is not possible to collect context changes in a variable and apply them to a \context definition by referring to that variable.

The \Staff \RemoveEmptyStaves will overwrite your current \Staff settings. If you wish to change the defaults for a staff which uses \Staff \RemoveEmptyStaves, you must do so after calling \Staff \RemoveEmptyStaves, ie

\layout {
  \context {
    \Staff \RemoveEmptyStaves

    \override Stem #'thickness = #4.0
  }
}

5.1.6 Defining new contexts

Specific contexts, like Staff and Voice, are made of simple building blocks. It is possible to create new types of contexts with different combinations of engraver plug-ins.

The next example shows how to build a different type of Voice context from scratch. It will be similar to Voice, but only prints centered slash note heads. It can be used to indicate improvisation in jazz pieces,

[image of music]

These settings are defined within a \context block inside a \layout block,

\layout {
  \context {
    …
  }
}

In the following discussion, the example input shown should go in place of the … in the previous fragment.

First it is necessary to define a name for the new context:

\name ImproVoice

Since it is similar to the Voice, we want commands that work on (existing) Voices to remain working. This is achieved by giving the new context an alias Voice,

\alias Voice

The context will print notes and instructive texts, so we need to add the engravers which provide this functionality,

\consists Note_heads_engraver
\consists Text_engraver

but we only need this on the center line,

\consists Pitch_squash_engraver
squashedPosition = #0

The Pitch_squash_engraver modifies note heads (created by Note_heads_engraver) and sets their vertical position to the value of squashedPosition, in this case 0, the center line.

The notes look like a slash, and have no stem,

\override NoteHead #'style = #'slash
\override Stem #'transparent = ##t

All these plug-ins have to cooperate, and this is achieved with a special plug-in, which must be marked with the keyword \type. This should always be Engraver_group.

\type "Engraver_group"

Put together, we get

\context {
  \name ImproVoice
  \type "Engraver_group"
  \consists "Note_heads_engraver"
  \consists "Text_engraver"
  \consists Pitch_squash_engraver
  squashedPosition = #0
  \override NoteHead #'style = #'slash
  \override Stem #'transparent = ##t
  \alias Voice
}

Contexts form hierarchies. We want to hang the ImproVoice under Staff, just like normal Voices. Therefore, we modify the Staff definition with the \accepts command,

\context {
  \Staff
  \accepts ImproVoice
}

The opposite of \accepts is \denies, which is sometimes needed when reusing existing context definitions.

Putting both into a \layout block, like

\layout {
  \context {
    \name ImproVoice
    …
  }
  \context {
    \Staff
    \accepts "ImproVoice"
  }
}

Then the output at the start of this subsection can be entered as

\relative c'' {
  a4 d8 bes8
  \new ImproVoice {
    c4^"ad lib" c
    c4 c^"undress"
    c c_"while playing :)"
  }
  a1
}

5.1.7 Aligning contexts

New contexts may be aligned above or below existing contexts. This could be useful in setting up a vocal staff ( Vocal ensembles) and in ossia,

[image of music]

Contexts like PianoStaff can contain other contexts nested within them. Contexts which are acceptable for nesting are defined by the “accepts” list of a context. Contexts which are not in this list are placed below the outer context in the printed score. For example, the PianoStaff context is defined by default to accept Staff and FiguredBass contexts within it, but not (for example) a Lyrics context. So in the following structure the lyrics are placed below the piano staff rather than between the two staves:

\new PianoStaff
<<
  \new Staff { e4 d c2 }
  \addlyrics { Three blind mice }
  \new Staff {
    \clef "bass"
    { c,1 }
  }
>>

[image of music]

The “accepts” list of a context can be modified to include additional nested contexts, so if we wanted the lyrics to appear between the two staves we could use:

\new PianoStaff \with { \accepts Lyrics }
<<
  \new Staff { e4 d c2 }
  \addlyrics { Three blind mice }
  \new Staff {
    \clef "bass"
    { c,1 }
  }
>>

[image of music]

The opposite of \accepts is \denies; this removes a context from the “accepts” list.


5.2 Explaining the Internals Reference


5.2.1 Navigating the program reference

Suppose we want to move the fingering indication in the fragment below:

c-2
\stemUp
f

[image of music]

If you visit the documentation on fingering instructions (in 運指の指示), you will notice:

See also

Internals Reference: Fingering.

Follow the link to Fingering. At the top of the page, you will see

Fingering objects are created by: Fingering_engraver and New_fingering_engraver.

By following related links inside the program reference, we can follow the flow of information within the program:

This path goes against the flow of information in the program: it starts from the output, and ends at the input event. You could also start at an input event, and read with the flow of information, eventually ending up at the output object(s).

The program reference can also be browsed like a normal document. It contains chapters on Music definitions, on Translation, and the Backend. Every chapter lists all the definitions used and all properties that may be tuned.


5.2.2 Layout interfaces

The HTML page that we found in the previous section describes the layout object called Fingering. Such an object is a symbol within the score. It has properties that store numbers (like thicknesses and directions), but also pointers to related objects. A layout object is also called a Grob, which is short for Graphical Object. For more details about Grobs, see grob-interface.

The page for Fingering lists the definitions for the Fingering object. For example, the page says

padding (dimension, in staff space):

0.5

which means that the number will be kept at a distance of at least 0.5 of the note head.

Each layout object may have several functions as a notational or typographical element. For example, the Fingering object has the following aspects

Each of these aspects is captured in so-called interfaces, which are listed on the Fingering page at the bottom

This object supports the following interfaces: item-interface, self-alignment-interface, side-position-interface, text-interface, text-script-interface, font-interface, finger-interface, and grob-interface.

Clicking any of the links will take you to the page of the respective object interface. Each interface has a number of properties. Some of them are not user-serviceable (‘Internal properties’), but others can be modified.

We have been talking of the Fingering object, but actually it does not amount to much. The initialization file (see Other sources of information) ‘scm/define-grobs.scm’ shows the soul of the ‘object’,

(Fingering
  . ((padding . 0.5)
     (avoid-slur . around)
     (slur-padding . 0.2)
     (staff-padding . 0.5)
     (self-alignment-X . 0)
     (self-alignment-Y . 0)
     (script-priority . 100)
     (stencil . ,ly:text-interface::print)
     (direction . ,ly:script-interface::calc-direction)
     (font-encoding . fetaText)
     (font-size . -5) 		; don't overlap when next to heads.
     (meta . ((class . Item)
     (interfaces . (finger-interface
                    font-interface
                    text-script-interface
                    text-interface
                    side-position-interface
                    self-alignment-interface
                    item-interface))))))

As you can see, the Fingering object is nothing more than a bunch of variable settings, and the webpage in the Internals Reference is directly generated from this definition.


5.2.3 Determining the grob property

Recall that we wanted to change the position of the 2 in

c-2
\stemUp
f

[image of music]

Since the 2 is vertically positioned next to its note, we have to meddle with the interface associated with this positioning. This is done using side-position-interface. The page for this interface says

side-position-interface

Position a victim object (this one) next to other objects (the support). The property direction signifies where to put the victim object relative to the support (left or right, up or down?)

Below this description, the variable padding is described as

padding

(dimension, in staff space)

Add this much extra space between objects that are next to each other.

By increasing the value of padding, we can move the fingering away from the note head. The following command inserts 3 staff spaces of white between the note and the fingering:

\once \override Voice.Fingering #'padding = #3

Inserting this command before the Fingering object is created, i.e., before c2, yields the following result:

\once \override Voice.Fingering #'padding = #3
c-2
\stemUp
f

[image of music]

In this case, the context for this tweak is Voice. This fact can also be deduced from the program reference, for the page for the Fingering_engraver plug-in says

Fingering_engraver is part of contexts: … Voice


5.2.4 Naming conventions

Another thing that is needed, is an overview of the various naming conventions:

Questions to be answered:


5.3 Modifying properties


5.3.1 Overview of modifying properties

Each context is responsible for creating certain types of graphical objects. The settings used for printing these objects are also stored by context. By changing these settings, the appearance of objects can be altered.

There are two different kinds of properties stored in contexts: context properties and grob properties. Context properties are properties that apply to the context as a whole and control how the context itself is displayed. In contrast, grob properties apply to specific grob types that will be displayed in the context.

The \set and \unset commands are used to change values for context properties. The \override and \revert commands are used to change values for grob properties.

参照

Internals: Backend, All layout objects, OverrideProperty, RevertProperty, PropertySet.

既知の問題と警告

The back-end is not very strict in type-checking object properties. Cyclic references in Scheme values for properties can cause hangs or crashes, or both.


5.3.2 The \set command

Each context has a set of properties, variables contained in that context. Context properties are changed with the \set command, which has the following syntax:

\set context.property = #value

value is a Scheme object, which is why it must be preceded by the # character.

Contexts properties are usually named in studlyCaps. They mostly control the translation from music to notation, e.g. localKeySignature (for determining whether to print accidentals), or measurePosition (for determining when to print a bar line). Context properties can change value over time while interpreting a piece of music; measurePosition is an obvious example of this. Context properties are modified with \set.

For example, multimeasure rests will be combined into a single bar if the context property skipBars is set to #t:

R1*2
\set Score.skipBars = ##t
R1*2

[image of music]

If the context argument is left out, then the property will be set in the current bottom context (typically ChordNames, Voice, TabVoice, or Lyrics).

\set Score.autoBeaming = ##f
<<
  {
    e8 e e e
    \set autoBeaming = ##t
    e8 e e e
  } \\ {
    c8 c c c c8 c c c
  }
>>

[image of music]

The change is applied ‘on-the-fly’, during the music, so that the setting only affects the second group of eighth notes.

Note that the bottom-most context does not always contain the property that you wish to change – for example, attempting to set the skipBars property of the default bottom context, in this case Voice, will have no effect, because skipBars is a property of the Score context.

R1*2
\set skipBars = ##t
R1*2

[image of music]

Contexts are hierarchical, so if an enclosing context was specified, for example Staff, then the change would also apply to all Voices in the current staff.

The \unset command:

\unset context.property

is used to remove the definition of property from context. This command removes the definition only if it is set in context. Properties that have been set in enclosing contexts will not be altered by an unset in an enclosed context:

\set Score.autoBeaming = ##t
<<
  {
    \unset autoBeaming
    e8 e e e
    \unset Score.autoBeaming
    e8 e e e
  } \\ {
    c8 c c c c8 c c c
  }
>>

[image of music]

Like \set, the context argument does not have to be specified for a bottom context, so the two statements

\set Voice.autoBeaming = ##t
\set autoBeaming = ##t

are equivalent if the current bottom context is Voice.

Preceding a \set command by \once makes the setting apply to only a single time-step:

c4
\once \set fontSize = #4.7
c4
c4

[image of music]

A full description of all available context properties is in the internals reference, see Tunable context properties.

参照

Internals Reference:

Tunable context properties.


5.3.3 The \override command

There is a special type of context property: the grob description. Grob descriptions are named in StudlyCaps (starting with capital letters). They contain the ‘default settings’ for a particular kind of grob as an association list. See ‘scm/define-grobs.scm’ to see the settings for each grob description. Grob descriptions are modified with \override.

\override is actually a shorthand;

\override context.GrobName #'property = #value

is more or less equivalent to

\set context.GrobName  =
  #(cons (cons 'property value)
         <previous value of context.GrobName>)

The value of context.GrobName (the alist) is used to initialize the properties of individual grobs. Grobs have properties, named in Scheme style, with dashed-words. The values of grob properties change during the formatting process: formatting basically amounts to computing properties using callback functions.

For example, we can increase the thickness of a note stem by overriding the thickness property of the Stem object:

c4 c
\override Voice.Stem #'thickness = #3.0
c4 c

[image of music]

If no context is specified in an \override, the bottom context is used:

{ \override Staff.Stem #'thickness = #3.0
  <<
    {
      e4 e
      \override Stem #'thickness = #0.5
      e4 e
    } \\ {
      c4 c c c
    }
  >>
}

[image of music]

The effects of \override can be undone by \revert:

c4
\override Voice.Stem #'thickness = #3.0
c4 c
\revert Voice.Stem #'thickness
c4

[image of music]

The effects of \override and \revert apply to all grobs in the affected context from the current time forward:

{
  <<
    {
      e4
      \override Staff.Stem #'thickness = #3.0
      e4 e e
    } \\ {
      c4 c c
      \revert Staff.Stem #'thickness
      c4
    }
  >>
}

[image of music]

\once can be used with \override to affect only the current time step:

{
  <<
    {
      \override Stem #'thickness = #3.0
      e4 e e e
    } \\ {
      c4
      \once \override Stem #'thickness = #3.0
      c4 c c
    }
  >>
}

[image of music]

参照

Internals Reference: Backend


5.3.4 The \tweak command

Changing grob properties with \override causes the changes to apply to all of the given grobs in the context at the moment the change applies. Sometimes, however, it is desirable to have changes apply to just one grob, rather than to all grobs in the affected context. This is accomplished with the \tweak command, which has the following syntax:

\tweak #'grob-property #value

The \tweak command applies to the object that immediately follows value in the music stream.

For an introduction to the syntax and uses of the tweak command see Tweaking methods.

When several similar items are placed at the same musical moment, the \override command cannot be used to modify just one of them – this is where the \tweak command must be used. Items which may appear more than once at the same musical moment include the following:

In this example, the color of one note head and the type of another note head are modified within a single chord:

< c
  \tweak #'color #red
  d
  g
  \tweak #'duration-log #1
  a
> 4

[image of music]

\tweak can be used to modify slurs:

c-\tweak #'thickness #5 ( d e f)

[image of music]

For the \tweak command to work, it must remain immediately adjacent to the object to which it is to apply after the input file has been converted to a music stream. At times, LilyPond may insert additional items into the music stream during the parsing process. For example, when a note that is not explicitly part of a chord will be placed in a chord by LilyPond, so notes to be modified with \tweak must be placed inside a chord construct:

\tweak #'color #red c4
<\tweak #'color #red c>4

[image of music]

The \tweak command cannot be used to modify any item that does not appear explicitly in the input file. In particular it cannot be used to modify stems, beams or accidentals directly, since these are generated later by note heads, rather than by music elements in the input stream. Nor can \tweak be used to modify clefs or time signatures, since these become separated from any preceding \tweak command in the input stream by the automatic insertion of extra elements required to specify the context.

Several \tweak commands may be placed before a notational element – all affect it:

c
-\tweak #'style #'dashed-line
-\tweak #'dash-fraction #0.2
-\tweak #'thickness #3
-\tweak #'color #red
 \glissando
f'

[image of music]

The music stream which is generated from a section of an input file, including any automatically inserted elements, may be examined, see Displaying music expressions. This may be helpful in determining what may be modified by a \tweak command, or in determining how to adjust the input to make a \tweak apply.

参照

Learning Manual: Tweaking methods.

Extending: Displaying music expressions.

既知の問題と警告

The \tweak command cannot be used inside a variable.

The \tweak commands cannot be used in \lyricmode.

The \tweak command will apply to only the first of several generated ties in a chord.


5.3.5 \set vs. \override


5.3.6 Modifying alists

Some user-configurable properties are internally represented as alists (association lists), which store pairs of keys and values. The structure of an alist is:

'((key1 . value1)
  (key2 . value2)
  (key3 . value3)
  …)

If an alist is a grob property or \paper variable, its keys can be modified individually without affecting other keys.

For example, to reduce the space between adjacent staves in a staff-group, use the staff-staff-spacing property of the StaffGrouper grob. The property is an alist with four keys: basic-distance, minimum-distance, padding, and stretchability. The standard settings for this property are listed in the “Backend” section of the Internals Reference (see StaffGrouper):

'((basic-distance . 9)
  (minimum-distance . 7)
  (padding . 1)
  (stretchability . 5))

One way to bring the staves closer together is by reducing the value of the basic-distance key (9) to match the value of minimum-distance (7). To modify a single key individually, use a nested declaration:

% default space between staves
\new PianoStaff <<
  \new Staff { \clef treble c''1 }
  \new Staff { \clef bass   c1   }
>>

% reduced space between staves
\new PianoStaff \with {
  % this is the nested declaration
  \override StaffGrouper #'staff-staff-spacing #'basic-distance = #7
} <<
  \new Staff { \clef treble c''1 }
  \new Staff { \clef bass   c1   }
>>

[image of music]

Using a nested declaration will update the specified key (such as basic-distance in the above example) without altering any other keys already set for the same property.

Now suppose we want the staves to be as close as possible without overlapping. The simplest way to do this is to set all four alist keys to zero. However, it is not necessary to enter four nested declarations, one for each key. Instead, the property can be completely re-defined with one declaration, as an alist:

\new PianoStaff \with {
  \override StaffGrouper #'staff-staff-spacing =
    #'((basic-distance . 0)
       (minimum-distance . 0)
       (padding . 0)
       (stretchability . 0))
} <<
  \new Staff { \clef treble c''1 }
  \new Staff { \clef bass   c1   }
>>

[image of music]

Note that any keys not explicitly listed in the alist definition will be reset to their default-when-unset values. In the case of staff-staff-spacing, any unset key-values would be reset to zero (except stretchability, which takes the value of basic-distance when unset). Thus the following two declarations are equivalent:

\override StaffGrouper #'staff-staff-spacing =
  #'((basic-distance . 7))

\override StaffGrouper #'staff-staff-spacing =
  #'((basic-distance . 7)
     (minimum-distance . 0)
     (padding . 0)
     (stretchability . 7))

One (possibly unintended) consequence of this is the removal of any standard settings that are set in an initialization file and loaded each time an input file is compiled. In the above example, the standard settings for padding and minimum-distance (defined in ‘scm/define-grobs.scm’) are reset to their default-when-unset values (zero for both keys). Defining a property or variable as an alist (of any size) will always reset all unset key-values to their default-when-unset values. Unless this is the intended result, it is safer to update key-values individually with a nested declaration.

Note: Nested declarations will not work for context property alists (such as beamExceptions, keySignature, timeSignatureSettings, etc.). These properties can only be modified by completely re-defining them as alists.


5.4 Useful concepts and properties


5.4.1 Input modes

The way in which the notation contained within an input file is interpreted is determined by the current input mode.

Chord mode

This is activated with the \chordmode command, and causes input to be interpreted with the syntax of chord notation, see Chord notation. Chords are rendered as notes on a staff.

Chord mode is also activated with the \chords command. This also creates a new ChordNames context and causes the following input to be interpreted with the syntax of chord notation and rendered as chord names in the ChordNames context, see Printing chord names.

Drum mode

This is activated with the \drummode command, and causes input to be interpreted with the syntax of drum notation, see Basic percussion notation.

Drum mode is also activated with the \drums command. This also creates a new DrumStaff context and causes the following input to be interpreted with the syntax of drum notation and rendered as drum symbols on a drum staff, see Basic percussion notation.

Figure mode

This is activated with the \figuremode command, and causes input to be interpreted with the syntax of figured bass, see Entering figured bass.

Figure mode is also activated with the \figures command. This also creates a new FiguredBass context and causes the following input to be interpreted with the figured bass syntax and rendered as figured bass symbols in the FiguredBass context, see Introduction to figured bass.

Fret and tab modes

There are no special input modes for entering fret and tab symbols.

To create tab diagrams, enter notes or chords in note mode and render them in a TabStaff context, see Default tablatures.

To create fret diagrams above a staff, you have two choices. You can either use the FretBoards context (see Automatic fret diagrams or you can enter them as a markup above the notes using the \fret-diagram command (see Fret diagram markups).

Lyrics mode

This is activated with the \lyricmode command, and causes input to be interpreted as lyric syllables with optional durations and associated lyric modifiers, see Vocal music.

Lyric mode is also activated with the \addlyrics command. This also creates a new Lyrics context and an implicit \lyricsto command which associates the following lyrics with the preceding music.

Markup mode

This is activated with the \markup command, and causes input to be interpreted with the syntax of markup, see Text markup commands.

Note mode

This is the default mode or it may be activated with the \notemode command. Input is interpreted as pitches, durations, markup, etc and typeset as musical notation on a staff.

It is not normally necessary to specify note mode explicitly, but it may be useful to do so in certain situations, for example if you are in lyric mode, chord mode or any other mode and want to insert something that only can be done with note mode syntax.

For example, to indicate dynamic markings for the verses of a choral pieces it is necessary to enter note mode to interpret the markings:

{ c4 c4 c4 c4 }
\addlyrics {
  \notemode{\set stanza = \markup{ \dynamic f 1. } }
  To be sung loudly
}
\addlyrics {
  \notemode{\set stanza = \markup{ \dynamic p 2. } }
  To be sung quietly
}

[image of music]


5.4.2 Direction and placement

In typesetting music the direction and placement of many items is a matter of choice. For example, the stems of notes can be directed up or down; lyrics, dynamics, and other expressive marks may be placed above or below the staff; text may be aligned left, right or center; etc. Most of these choices may be left to be determined automatically by LilyPond, but in some cases it may be desirable to force a particular direction or placement.

Articulation direction indicators

By default some directions are always up or always down (e.g. dynamics or fermata), while other things can alternate between up or down based on the stem direction (like slurs or accents).

The default action may be overridden by prefixing the articulation by a direction indicator. Three direction indicators are available: ^ (meaning “up”), _ (meaning “down”) and - (meaning “use default direction”). The direction indicator can usually be omitted, in which case - is assumed, but a direction indicator is always required before

Direction indicators affect only the next note:

c2( c)
c2_( c)
c2( c)
c2^( c)

[image of music]

The direction property

The position or direction of many layout objects is controlled by the direction property.

The value of the direction property may be set to 1, meaning “up” or “above”, or to -1, meaning “down” or “below”. The symbols UP and DOWN may be used instead of 1 and -1 respectively. The default direction may be specified by setting direction to 0 or CENTER. Alternatively, in many cases predefined commands exist to specify the direction. These are all of the form

\xxxUp, xxxDown, xxxNeutral

where xxxNeutral means “use the default direction”. See Within-staff objects.

In a few cases, arpeggio being the only common example, the value of the direction property specifies whether the object is to be placed to the right or left of the parent object. In this case -1 or LEFT means “to the left” and 1 or RIGHT means “to the right”. 0 or CENTER means “use the default” direction, as before.

These indications affect all notes until they are cancelled.

c2( c)
\slurDown
c2( c)
c2( c)
\slurNeutral
c2( c)

[image of music]


5.4.3 Context layout order

Contexts are normally positioned in a system from top to bottom in the order in which they are encountered in the input file. When contexts are nested, the outer context will include inner nested contexts as specified in the input file, provided the inner contexts are included in the outer context’s “accepts” list. Nested contexts which are not included in the outer context’s “accepts” list will be repositioned below the outer context rather than nested within it.

Note that a context will be silently created implicitly if a command is encountered when there is no suitable context available to contain it. This can give rise to unexpected new staves or scores.

The default order in which contexts are laid out and the “accepts” list can be changed, see Aligning contexts.

参照

Usage Manual: An extra staff appears.


5.4.4 Distances and measurements

Distances in LilyPond are of two types: absolute and scaled.

Absolute distances are used for specifying margins, indents, and other page layout details, and are by default specified in millimeters. Distances may be specified in other units by following the quantity by \mm, \cm, \in (inches), or \pt (points, 1/72.27 of an inch). Page layout distances can also be specified in scalable units (see the following paragraph) by appending \staff-space to the quantity. Page layout is described in detail in Page layout.

Scaled distances are always specified in units of the staff-space or, rarely, the half staff-space. The staff-space is the distance between two adjacent staff lines. The default value can be changed globally by setting the global staff size, or it can be overridden locally by changing the staff-space property of StaffSymbol. Scaled distances automatically scale with any change to the either the global staff size or the staff-space property of StaffSymbol, but fonts scale automatically only with changes to the global staff size. The global staff size thus enables the overall size of a rendered score to be easily varied. For the methods of setting the global staff size see Setting the staff size.

If just a section of a score needs to be rendered to a different scale, for example an ossia section or a footnote, the global staff size cannot simply be changed as this would affect the entire score. In such cases the change in size is made by overriding both the staff-space property of StaffSymbol and the size of the fonts. A Scheme function, magstep, is available to convert from a font size change to the equivalent change in staff-space. For an explanation and an example of its use, see Length and thickness of objects.

参照

Learning Manual: Length and thickness of objects.

Notation Reference: Page layout, Setting the staff size.


5.4.5 Staff symbol properties

The vertical position of staff lines and the number of staff lines can be defined at the same time. As the following example shows, note positions are not influenced by the staff line positions.

Note: The 'line-positions property overrides the 'line-count property. The number of staff lines is implicitly defined by the number of elements in the list of values for 'line-positions.

\new Staff \with {
  \override StaffSymbol #'line-positions = #'(7 3 0 -4 -6 -7)
}
{ a4 e' f b | d1 }

[image of music]

The width of a staff can be modified. The units are staff spaces. The spacing of objects inside the staff is not affected by this setting.

\new Staff \with {
  \override StaffSymbol #'width = #23
}
{ a4 e' f b | d1 }

[image of music]


5.4.6 Spanners

Many objects of musical notation extend over several notes or even several bars. Examples are slurs, beams, tuplet brackets, volta repeat brackets, crescendi, trills, and glissandi. Such objects are collectively called “spanners”, and have special properties to control their appearance and behaviour. Some of these properties are common to all spanners; others are restricted to a sub-set of the spanners.

All spanners support the spanner-interface. A few, essentially those that draw a straight line between the two objects, support in addition the line-spanner-interface.


Using the spanner-interface

This interface provides two properties that apply to several spanners.

The minimum-length property

The minimum length of the spanner is specified by the minimum-length property. Increasing this usually has the necessary effect of increasing the spacing of the notes between the two end points. However, this override has no effect on many spanners, as their length is determined by other considerations. A few examples where it is effective are shown below.

a~a
a
% increase the length of the tie
-\tweak #'minimum-length #5
~a

[image of music]

a1
\compressFullBarRests
R1*23
% increase the length of the rest bar
\once \override MultiMeasureRest #'minimum-length = #20
R1*23
a1

[image of music]

a \< a a a \!
% increase the length of the hairpin
\override Hairpin #'minimum-length = #20
a \< a a a \!

[image of music]

This override can also be used to increase the length of slurs and phrasing slurs:

a( a)
a
-\tweak #'minimum-length #5
( a)

a\( a\)
a
-\tweak #'minimum-length #5
\( a\)

[image of music]

For some layout objects, the minimum-length property becomes effective only if the set-spacing-rods procedure is called explicitly. To do this, the springs-and-rods property should be set to ly:spanner::set-spacing-rods. For example, the minimum length of a glissando has no effect unless the springs-and-rods property is set:

% default
e \glissando c'

% not effective alone
\once \override Glissando #'minimum-length = #20
e, \glissando c'

% effective only when both overrides are present
\once \override Glissando #'minimum-length = #20
\once \override Glissando #'springs-and-rods = #ly:spanner::set-spacing-rods
e, \glissando c'

[image of music]

The same is true of the Beam object:

% not effective alone
\once \override Beam #'minimum-length = #20
e8 e e e

% effective only when both overrides are present
\once \override Beam #'minimum-length = #20
\once \override Beam #'springs-and-rods = #ly:spanner::set-spacing-rods
e8 e e e

[image of music]

The to-barline property

The second useful property of the spanner-interface is to-barline. By default this is true, causing hairpins and other spanners which are terminated on the first note of a measure to end instead on the immediately preceding bar line. If set to false, the spanner will extend beyond the bar line and end on the note itself:

a \< a a a a \! a a a \break
\override Hairpin #'to-barline = ##f
a \< a a a a \! a a a

[image of music]

This property is not effective for all spanners. For example, setting it to #t has no effect on slurs or phrasing slurs or on other spanners for which terminating on the bar line would not be meaningful.


Using the line-spanner-interface

Objects which support the line-spanner-interface include

The routine responsible for drawing the stencils for these spanners is ly:line-interface::print. This routine determines the exact location of the two end points and draws a line between them, in the style requested. The locations of the two end points of the spanner are computed on-the-fly, but it is possible to override their Y-coordinates. The properties which need to be specified are nested two levels down within the property hierarchy, but the syntax of the \override command is quite simple:

e2 \glissando b
\once \override Glissando #'(bound-details left Y) = #3
\once \override Glissando #'(bound-details right Y) = #-2
e2 \glissando b

[image of music]

The units for the Y property are staff-spaces, with the center line of the staff being the zero point. For the glissando, this is the value for Y at the X-coordinate corresponding to the center point of each note head, if the line is imagined to be extended to there.

If Y is not set, the value is computed from the vertical position of the corresponding attachment point of the spanner.

In case of a line break, the values for the end points are specified by the left-broken and right-broken sub-lists of bound-details. For example:

\override Glissando #'breakable = ##t
\override Glissando #'(bound-details right-broken Y) = #-3
c1 \glissando \break
f1

[image of music]

A number of further properties of the left and right sub-lists of the bound-details property may be modified in the same way as Y:

Y

This sets the Y-coordinate of the end point, in staff-spaces offset from the staff center line. By default, it is the center of the bound object, so a glissando points to the vertical center of the note head.

For horizontal spanners, such as text spanners and trill spanners, it is hardcoded to 0.

attach-dir

This determines where the line starts and ends in the X-direction, relative to the bound object. So, a value of -1 (or LEFT) makes the line start/end at the left side of the note head it is attached to.

X

This is the absolute X-coordinate of the end point. It is usually computed on the fly, and overriding it has little useful effect.

stencil

Line spanners may have symbols at the beginning or end, which is contained in this sub-property. This is for internal use; it is recommended that text be used instead.

text

This is a markup that is evaluated to yield the stencil. It is used to put cresc., tr and other text on horizontal spanners.

\override TextSpanner #'(bound-details left text)
   = \markup { \small \bold Slower }
c2\startTextSpan b c a\stopTextSpan

[image of music]

stencil-align-dir-y
stencil-offset

Without setting one of these, the stencil is simply put at the end-point, centered on the line, as defined by the X and Y sub-properties. Setting either stencil-align-dir-y or stencil-offset will move the symbol at the edge vertically relative to the end point of the line:

\override TextSpanner
  #'(bound-details left stencil-align-dir-y) = #-2
\override TextSpanner
  #'(bound-details right stencil-align-dir-y) = #UP

\override TextSpanner
  #'(bound-details left text) = #"ggg"
\override TextSpanner
  #'(bound-details right text) = #"hhh"
c4^\startTextSpan c c c \stopTextSpan

[image of music]

Note that negative values move the text up, contrary to the effect that might be expected, as a value of -1 or DOWN means align the bottom edge of the text with the spanner line. A value of 1 or UP aligns the top edge of the text with the spanner line.

arrow

Setting this sub-property to #t produces an arrowhead at the end of the line.

padding

This sub-property controls the space between the specified end point of the line and the actual end. Without padding, a glissando would start and end in the center of each note head.

The music function \endSpanners terminates the spanner which starts on the immediately following note prematurely. It is terminated after exactly one note, or at the following bar line if to-barline is true and a bar line occurs before the next note.

\endSpanners
c2 \startTextSpan c2 c2
\endSpanners
c2 \< c2 c2

[image of music]

When using \endSpanners it is not necessary to close \startTextSpan with \stopTextSpan, nor is it necessary to close hairpins with \!.

参照

Internals Reference: TextSpanner, Glissando, VoiceFollower, TrillSpanner, line-spanner-interface.


5.4.7 Visibility of objects

There are four main ways in which the visibility of layout objects can be controlled: their stencil can be removed, they can be made transparent, they can be colored white, or their break-visibility property can be overridden. The first three apply to all layout objects; the last to just a few – the breakable objects. The Learning Manual introduces these four techniques, see Visibility and color of objects.

There are also a few other techniques which are specific to certain layout objects. These are covered under Special considerations.


Removing the stencil

Every layout object has a stencil property. By default this is set to the specific function which draws that object. If this property is overridden to #f no function will be called and the object will not be drawn. The default action can be recovered with \revert.

a1 a
\override Score.BarLine #'stencil = ##f
a a
\revert Score.BarLine #'stencil
a a a

[image of music]


Making objects transparent

Every layout object has a transparent property which by default is set to #f. If set to #t the object still occupies space but is made invisible.

a4 a
\once \override NoteHead #'transparent = ##t
a a

[image of music]


Painting objects white

Every layout object has a color property which by default is set to black. If this is overridden to white the object will be indistinguishable from the white background. However, if the object crosses other objects the color of the crossing points will be determined by the order in which they are drawn, and this may leave a ghostly image of the white object, as shown here:

\override Staff.Clef #'color = #white
a1

[image of music]

This may be avoided by changing the order of printing the objects. All layout objects have a layer property which should be set to an integer. Objects with the lowest value of layer are drawn first, then objects with progressively higher values are drawn, so objects with higher values overwrite objects with lower values. By default most objects are assigned a layer value of 1, although a few objects, including StaffSymbol and BarLine, are assigned a value of 0. The order of printing objects with the same value of layer is indeterminate.

In the example above the white clef, with a default layer value of 1, is drawn after the staff lines (default layer value 0), so overwriting them. To change this, the Clef object must be given in a lower value of layer, say -1, so that it is drawn earlier:

\override Staff.Clef #'color = #white
\override Staff.Clef #'layer = #-1
a1

[image of music]


Using break-visibility

Most layout objects are printed only once, but some like bar lines, clefs, time signatures and key signatures, may need to be printed twice when a line break occurs – once at the end of the line and again at the start of the next line. Such objects are called breakable, and have a property, the break-visibility property to control their visibility at the three positions in which they may appear – at the start of a line, within a line if they are changed, and at the end of a line if a change takes place there.

For example, the time signature by default will be printed at the start of the first line, but nowhere else unless it changes, when it will be printed at the point at which the change occurs. If this change occurs at the end of a line the new time signature will be printed at the start of the next line and a cautionary time signature will be printed at the end of the previous line as well.

This behaviour is controlled by the break-visibility property, which is explained in Visibility and color of objects. This property takes a vector of three booleans which, in order, determine whether the object is printed at the end of, within the body of, or at the beginning of a line. Or to be more precise, before a line break, where there is no line break, or after a line break.

Alternatively, these eight combinations may be specified by pre-defined functions, defined in ‘scm/output-lib.scm’, where the last three columns indicate whether the layout objects will be visible in the positions shown at the head of the columns:

Function

Vector

Before

At no

After

form

form

break

break

break

all-visible

'#(#t #t #t)

yes

yes

yes

begin-of-line-visible

'#(#f #f #t)

no

no

yes

center-visible

'#(#f #t #f)

no

yes

no

end-of-line-visible

'#(#t #f #f)

yes

no

no

begin-of-line-invisible

'#(#t #t #f)

yes

yes

no

center-invisible

'#(#t #f #t)

yes

no

yes

end-of-line-invisible

'#(#f #t #t)

no

yes

yes

all-invisible

'#(#f #f #f)

no

no

no

The default settings of break-visibility depend on the layout object. The following table shows all the layout objects of interest which are affected by break-visibility and the default setting of this property:

Layout object

Usual context

Default setting

BarLine

Score

calculated

BarNumber

Score

begin-of-line-visible

BreathingSign

Voice

begin-of-line-invisible

Clef

Staff

begin-of-line-visible

Custos

Staff

end-of-line-visible

DoublePercentRepeat

Voice

begin-of-line-invisible

KeySignature

Staff

begin-of-line-visible

OctavateEight

Staff

begin-of-line-visible

RehearsalMark

Score

end-of-line-invisible

TimeSignature

Staff

all-visible

The example below shows the use of the vector form to control the visibility of bar lines:

f4 g a b
f4 g a b
% Remove bar line at the end of the current line
\once \override Score.BarLine #'break-visibility = #'#(#f #t #t)
\break
f4 g a b
f4 g a b

[image of music]

Although all three components of the vector used to override break-visibility must be present, not all of them are effective with every layout object, and some combinations may even give errors. The following limitations apply:


Special considerations

Visibility following explicit changes

The break-visibility property controls the visibility of key signatures and changes of clef only at the start of lines, i.e. after a break. It has no effect on the visibility of the key signature or clef following an explicit key change or an explicit clef change within or at the end of a line. In the following example the key signature following the explicit change to B-flat major is still visible, even though all-invisible is set.

\key g \major
f4 g a b
% Try to remove all key signatures
\override Staff.KeySignature #'break-visibility = #all-invisible
\key bes \major
f4 g a b
\break
f4 g a b
f4 g a b

[image of music]

The visibility of such explicit key signature and clef changes is controlled by the explicitKeySignatureVisibility and explicitClefVisibility properties. These are the equivalent of the break-visibility property and both take a vector of three booleans or the predefined functions listed above, exactly like break-visibility. Both are properties of the Staff context, not the layout objects themselves, and so they are set using the \set command. Both are set by default to all-visible. These properties control only the visibility of key signatures and clefs resulting from explicit changes and do not affect key signatures and clefs at the beginning of lines; break-visibility must still be overridden in the appropriate object to remove these.

\key g \major
f4 g a b
\set Staff.explicitKeySignatureVisibility = #all-invisible
\override Staff.KeySignature #'break-visibility = #all-invisible
\key bes \major
f4 g a b \break
f4 g a b
f4 g a b

[image of music]

Visibility of cautionary accidentals

To remove the cautionary accidentals printed at an explicit key change, set the Staff context property printKeyCancellation to #f:

\key g \major
f4 g a b
\set Staff.explicitKeySignatureVisibility = #all-invisible
\set Staff.printKeyCancellation = ##f
\override Staff.KeySignature #'break-visibility = #all-invisible
\key bes \major
f4 g a b \break
f4 g a b
f4 g a b

[image of music]

With these overrides only the accidentals before the notes remain to indicate the change of key.

Automatic bars

As a special case, the printing of bar lines can also be turned off by setting the automaticBars property in the Score context. If set to #f, bar lines will not be printed automatically; they must be explicitly created with a \bar command. Unlike the \cadenzaOn predefined command, measures are still counted. Bar generation will resume according to that count if this property is later set to #t. When set to #f, line breaks can occur only at explicit \bar commands.

Octavated clefs

The small octavation symbol on octavated clefs is produced by the OctavateEight layout object. Its visibility is automatically inherited from the Clef object, so it is not necessary to apply any required break-visibility overrides to the OctavateEight layout objects to suppress octavation symbols for invisible clefs.

For explicit clef changes, the explicitClefVisibility property controls both the clef symbol and any octavation symbol associated with it.

参照

Learning Manual: Visibility and color of objects


5.4.8 Line styles

Some performance indications, e.g., rallentando and accelerando and trills are written as text and are extended over many measures with lines, sometimes dotted or wavy.

These all use the same routines as the glissando for drawing the texts and the lines, and tuning their behavior is therefore also done in the same way. It is done with a spanner, and the routine responsible for drawing the spanners is ly:line-interface::print. This routine determines the exact location of the two span points and draws a line between them, in the style requested.

Here is an example showing the different line styles available, and how to tune them.

d2 \glissando d'2
\once \override Glissando #'style = #'dashed-line
d,2 \glissando d'2
\override Glissando #'style = #'dotted-line
d,2 \glissando d'2
\override Glissando #'style = #'zigzag
d,2 \glissando d'2
\override Glissando #'style = #'trill
d,2 \glissando d'2

[image of music]

The locations of the end-points of the spanner are computed on-the-fly for every graphic object, but it is possible to override these:

e2 \glissando f
\once \override Glissando #'(bound-details right Y) = #-2
e2 \glissando f

[image of music]

The value for Y is set to -2 for the right end point. The left side may be similarly adjusted by specifying left instead of right.

If Y is not set, the value is computed from the vertical position of the left and right attachment points of the spanner.

Other adjustments of spanners are possible, for details, see Spanners.


5.4.9 Rotating objects

Both layout objects and elements of markup text can be rotated by any angle about any point, but the method of doing so differs.


Rotating layout objects

All layout objects which support the grob-interface can be rotated by setting their rotation property. This takes a list of three items: the angle of rotation counter-clockwise, and the x and y coordinates of the point relative to the object’s reference point about which the rotation is to be performed. The angle of rotation is specified in degrees and the coordinates in staff-spaces.

The angle of rotation and the coordinates of the rotation point must be determined by trial and error.

There are only a few situations where the rotation of layout objects is useful; the following example shows one situation where they may be:

g4\< e' d' f\!
\override Hairpin #'rotation = #'(20 -1 0)
g,,4\< e' d' f\!

[image of music]


Rotating markup

All markup text can be rotated to lie at any angle by prefixing it with the \rotate command. The command takes two arguments: the angle of rotation in degrees counter-clockwise and the text to be rotated. The extents of the text are not rotated: they take their values from the extremes of the x and y coordinates of the rotated text. In the following example the outside-staff-priority property for text is set to #f to disable the automatic collision avoidance, which would push some of the text too high.

\override TextScript #'outside-staff-priority = ##f
g4^\markup { \rotate #30 "a G" }
b^\markup { \rotate #30 "a B" }
des^\markup { \rotate #30 "a D-Flat" }
fis^\markup { \rotate #30 "an F-Sharp" }

[image of music]


5.5 Advanced tweaks

This section discusses various approaches to fine tuning the appearance of the printed score.

参照

Learning Manual: Tweaking output, Other sources of information.

Notation Reference: Explaining the Internals Reference, Modifying properties.

Installed Files: ‘scm/define-grobs.scm’.

Snippets: Tweaks and overrides.

Extending: Interfaces for programmers.

Internals Reference: All layout objects.


5.5.1 Aligning objects

Graphical objects which support the self-alignment-interface and/or the side-position-interface can be aligned to a previously placed object in a variety of ways. For a list of these objects, see self-alignment-interface and side-position-interface.

All graphical objects have a reference point, a horizontal extent and a vertical extent. The horizontal extent is a pair of numbers giving the displacements from the reference point of the left and right edges, displacements to the left being negative. The vertical extent is a pair of numbers giving the displacement from the reference point to the bottom and top edges, displacements down being negative.

An object’s position on a staff is given by the values of the X-offset and Y-offset properties. The value of X-offset gives the displacement from the X coordinate of the reference point of the parent object, and the value of Y-offset gives the displacement from the center line of the staff. The values of X-offset and Y-offset may be set directly or may be set to be calculated by procedures in order to achieve alignment with the parent object.

Note: Many objects have special positioning considerations which cause any setting of X-offset or Y-offset to be ignored or modified, even though the object supports the self-alignment-interface. Overriding the X-offset or Y-offset properties to a fixed value causes the respective self-alignment property to be disregarded.

For example, an accidental can be repositioned vertically by setting Y-offset but any changes to X-offset have no effect.

Rehearsal marks may be aligned with breakable objects such as bar lines, clef symbols, time signature symbols and key signatures. There are special properties to be found in the break-aligned-interface for positioning rehearsal marks on such objects.

参照

Using the break-alignable-interface, Callback functions.


Setting X-offset and Y-offset directly

Numerical values may be given to the X-offset and Y-offset properties of many objects. The following example shows three notes with the default fingering position and the positions with X-offset and Y-offset modified.

a-3
a
-\tweak #'X-offset #0
-\tweak #'Y-offset #0
-3
a
-\tweak #'X-offset #-1
-\tweak #'Y-offset #1
-3

[image of music]


Using the side-position-interface

An object which supports the side-position-interface can be placed next to its parent object so that the specified edges of the two objects touch. The object may be placed above, below, to the right or to the left of the parent. The parent cannot be specified; it is determined by the order of elements in the input stream. Most objects have the associated note head as their parent.

The values of the side-axis and direction properties determine where the object is to be placed, as follows:

side-axis

direction

property

property

Placement

0

-1

left

0

1

right

1

-1

below

1

1

above

When side-axis is 0, X-offset should be set to the procedure ly:side-position-interface::x-aligned-side. This procedure will return the correct value of X-offset to place the object to the left or right side of the parent according to value of direction.

When side-axis is 1, Y-offset should be set to the procedure ly:side-position-interface::y-aligned-side. This procedure will return the correct value of Y-offset to place the object to the top or bottom of the parent according to value of direction.


Using the self-alignment-interface

Self-aligning objects horizontally

The horizontal alignment of an object which supports the self-alignment-interface is controlled by the value of the self-alignment-X property, provided the object’s X-offset property is set to ly:self-alignment-interface::x-aligned-on-self. self-alignment-X may be given any real value, in units of half the total X extent of the object. Negative values move the object to the right, positive to the left. A value of 0 centers the object on the reference point of its parent, a value of -1 aligns the left edge of the object on the reference point of its parent, and a value of 1 aligns the right edge of the object on the reference point of its parent. The symbols LEFT, CENTER and RIGHT may be used instead of the values -1, 0, 1 respectively.

Normally the \override command would be used to modify the value of self-alignment-X, but the \tweak command can be used to separately align several annotations on a single note:

a'
-\tweak #'self-alignment-X #-1
^"left-aligned"
-\tweak #'self-alignment-X #0
^"center-aligned"
-\tweak #'self-alignment-X #RIGHT
^"right-aligned"
-\tweak #'self-alignment-X #-2.5
^"aligned further to the right"

[image of music]

Self-aligning objects vertically

Objects may be aligned vertically in an analogous way to aligning them horizontally if the Y-offset property is set to ly:self-alignment-interface::y-aligned-on-self. However, other mechanisms are often involved in vertical alignment: the value of Y-offset is just one variable taken into account. This may make adjusting the value of some objects tricky. The units are just half the vertical extent of the object, which is usually quite small, so quite large numbers may be required. A value of -1 aligns the lower edge of the object with the reference point of the parent object, a value of 0 aligns the center of the object with the reference point of the parent, and a value of 1 aligns the top edge of the object with the reference point of the parent. The symbols DOWN, CENTER, UP may be substituted for -1, 0, 1 respectively.

Self-aligning objects in both directions

By setting both X-offset and Y-offset, an object may be aligned in both directions simultaneously.

The following example shows how to adjust a fingering mark so that it nestles close to the note head.

a
-\tweak #'self-alignment-X #0.5  % move horizontally left
-\tweak #'Y-offset #ly:self-alignment-interface::y-aligned-on-self
-\tweak #'self-alignment-Y #-1  % move vertically up
-3  % third finger

[image of music]


Using the break-alignable-interface

Rehearsal marks and bar numbers may be aligned with notation objects other than bar lines. These objects include ambitus, breathing-sign, clef, custos, staff-bar, left-edge, key-cancellation, key-signature, and time-signature.

By default, rehearsal marks and bar numbers will be horizontally centered above the object:

% The rehearsal mark will be centered above the Clef
\override Score.RehearsalMark #'break-align-symbols = #'(clef)
\key a \major
\clef treble
\mark "↓"
e1
% The rehearsal mark will be centered above the Time Signature
\override Score.RehearsalMark #'break-align-symbols = #'(time-signature)
\key a \major
\clef treble
\time 3/4
\mark "↓"
e2.
% The rehearsal mark will be centered above the Breath Mark
\override Score.RehearsalMark #'break-align-symbols = #'(breathing-sign)
\key a \major
\clef treble
\time 4/4
e1
\breathe
\mark "↓"

[image of music]

A list of possible target alignment objects may be specified. If some of the objects are invisible at that point due to the setting of break-visibility or the explicit visibility settings for keys and clefs, the rehearsal mark or bar number is aligned to the first object in the list which is visible. If no objects in the list are visible the object is aligned to the bar line. If the bar line is invisible the object is aligned to the place where the bar line would be.

% The rehearsal mark will be centered above the Key Signature
\override Score.RehearsalMark #'break-align-symbols = #'(key-signature clef)
\key a \major
\clef treble
\mark "↓"
e1
% The rehearsal mark will be centered above the Clef
\set Staff.explicitKeySignatureVisibility = #all-invisible
\override Score.RehearsalMark #'break-align-symbols = #'(key-signature clef)
\key a \major
\clef bass
\mark "↓"
gis,,1
% The rehearsal mark will be centered above the Bar Line
\set Staff.explicitKeySignatureVisibility = #all-invisible
\set Staff.explicitClefVisibility = #all-invisible
\override Score.RehearsalMark #'break-align-symbols = #'(key-signature clef)
\key a \major
\clef treble
\mark "↓"
e''1

[image of music]

The alignment of the rehearsal mark relative to the notation object can be changed, as shown in the following example. In a score with multiple staves, this setting should be done for all the staves.

% The RehearsalMark will be centered above the Key Signature
\override Score.RehearsalMark #'break-align-symbols = #'(key-signature)
\key a \major
\clef treble
\time 4/4
\mark "↓"
e1
% The RehearsalMark will be aligned with the left edge of the Key Signature
\once \override Score.KeySignature #'break-align-anchor-alignment = #LEFT
\mark "↓"
\key a \major
e1
% The RehearsalMark will be aligned with the right edge of the Key Signature
\once \override Score.KeySignature #'break-align-anchor-alignment = #RIGHT
\key a \major
\mark "↓"
e1

[image of music]

The rehearsal mark can also be offset to the right or left of the left edge by an arbitrary amount. The units are staff-spaces:

% The RehearsalMark will be aligned with the left edge of the Key Signature
% and then shifted right by 3.5 staff-spaces
\override Score.RehearsalMark #'break-align-symbols = #'(key-signature)
\once \override Score.KeySignature #'break-align-anchor = #3.5
\key a \major
\mark "↓"
e1
% The RehearsalMark will be aligned with the left edge of the Key Signature
% and then shifted left by 2 staff-spaces
\once \override Score.KeySignature #'break-align-anchor = #-2
\key a \major
\mark "↓"
e1

[image of music]


5.5.2 Vertical grouping of grobs

The VerticalAlignment and VerticalAxisGroup grobs work together. VerticalAxisGroup groups together different grobs like Staff, Lyrics, etc. VerticalAlignment then vertically aligns the different grobs grouped together by VerticalAxisGroup. There is usually only one VerticalAlignment per score but every Staff, Lyrics, etc. has its own VerticalAxisGroup.


5.5.3 Modifying stencils

All layout objects have a stencil property which is part of the grob-interface. By default, this property is usually set to a function specific to the object that is tailor-made to render the symbol which represents it in the output. For example, the standard setting for the stencil property of the MultiMeasureRest object is ly:multi-measure-rest::print.

The standard symbol for any object can be replaced by modifying the stencil property to reference a different, specially-written, procedure. This requires a high level of knowledge of the internal workings of LilyPond, but there is an easier way which can often produce adequate results.

This is to set the stencil property to the procedure which prints text – ly:text-interface::print – and to add a text property to the object which is set to contain the markup text which produces the required symbol. Due to the flexibility of markup, much can be achieved – see in particular マークアップ内部でのグラフィック記譜法.

The following example demonstrates this by changing the note head symbol to a cross within a circle.

XinO = {
  \once \override NoteHead  #'stencil = #ly:text-interface::print
  \once \override NoteHead #'text = \markup {
    \combine
      \halign #-0.7 \draw-circle #0.85 #0.2 ##f
      \musicglyph #"noteheads.s2cross"
  }
}
\relative c'' {
  a a \XinO a a
}

[image of music]

Any of the glyphs in the feta Font can be supplied to the \musicglyph markup command – see The Feta font.

参照

Notation Reference: マークアップ内部でのグラフィック記譜法, テキストをフォーマットする, Text markup commands, The Feta font.


5.5.4 Modifying shapes


Modifying ties and slurs

Ties, slurs and phrasing slurs are drawn as third-order Bézier curves. If the shape of the tie or slur which is calculated automatically is not optimum, the shape may be modified manually by explicitly specifying the four control points required to define a third-order Bézier curve.

Third-order or cubic Bézier curves are defined by four control points. The first and fourth control points are precisely the starting and ending points of the curve. The intermediate two control points define the shape. Animations showing how the curve is drawn can be found on the web, but the following description may be helpful. The curve starts from the first control point heading directly towards the second, gradually bending over to head towards the third and continuing to bend over to head towards the fourth, arriving there travelling directly from the third control point. The curve is entirely contained in the quadrilateral defined by the four control points.

Here is an example of a case where the tie is not optimum, and where \tieDown would not help.

<<
  { e1 ~ e }
\\
  { r4 <g c,> <g c,> <g c,> }
>>

[image of music]

One way of improving this tie is to manually modify its control points, as follows.

The coordinates of the Bézier control points are specified in units of staff-spaces. The X coordinate is relative to the reference point of the note to which the tie or slur is attached, and the Y coordinate is relative to the staff center line. The coordinates are entered as a list of four pairs of decimal numbers (reals). One approach is to estimate the coordinates of the two end points, and then guess the two intermediate points. The optimum values are then found by trial and error.

It is useful to remember that a symmetric curve requires symmetric control points, and that Bézier curves have the useful property that transformations of the curve such as translation, rotation and scaling can be achieved by applying the same transformation to the curve’s control points.

For the example above the following override gives a satisfactory tie. Note the placement – it has to be immediately before the note to which the start of the tie (or slur) is attached.

<<
  {
    \once \override Tie
      #'control-points = #'((1 . -1) (3 . 0.6) (12.5 . 0.6) (14.5 . -1))
     e1 ~ e1
  }
\\
  { r4 <g c,> <g c,> <g c,>4  }
>>

[image of music]

既知の問題と警告

It is not possible to modify shapes of ties or slurs by changing the control-points property if there are more than one at the same musical moment, not even by using the \tweak command. However, the tie-configuration property of TieColumn can be overridden to set start line and direction of ties as required.


5.6 Using music functions

Where tweaks need to be reused with different music expressions, it is often convenient to make the tweak part of a music function. In this section, we discuss only substitution functions, where the object is to substitute a variable into a piece of LilyPond input code. Other more complex functions are described in Music functions.


5.6.1 Substitution function syntax

Making a function that substitutes a variable into LilyPond code is easy. The general form of these functions is

function =
#(define-music-function
     (parser location arg1 arg2 …)
     (type1? type2? …)
   #{
     …music…
   #})

where

argN

nth argument

typeN?

a scheme type predicate for which argN must return #t.

…music…

normal LilyPond input, using $ to reference arguments (eg. ‘$arg1’).

The parser and location arguments are mandatory, and are used in some advanced situations as described in the ‘Extending’ manual (see Music functions). For substitution functions, just be sure to include them.

The list of type predicates is also required. Some of the most common type predicates used in music functions are:

boolean?
cheap-list?  (use instead of ‘list?’ for faster processing)
ly:music?
markup?
number?
pair?
string?
symbol?

For a list of available type predicates, see Predefined type predicates. User-defined type predicates are also allowed.

参照

Notation Reference: Predefined type predicates.

Extending: Music functions.

Installed Files: ‘lily/music-scheme.cc’, ‘scm/c++.scm’, ‘scm/lily.scm’.


5.6.2 Substitution function examples

This section introduces some substitution function examples. These are not intended to be exhaustive, but rather to demonstrate some of the possibilities of simple substitution functions.

In the first example, a function is defined that simplifies setting the padding of a TextScript:

padText =
#(define-music-function
     (parser location padding)
     (number?)
   #{
     \once \override TextScript #'padding = $padding
   #})

\relative c''' {
  c4^"piu mosso" b a b
  \padText #1.8
  c4^"piu mosso" d e f
  \padText #2.6
  c4^"piu mosso" fis a g
}

[image of music]

In addition to numbers, we can use music expressions such as notes for arguments to music functions:

custosNote =
#(define-music-function
     (parser location note)
     (ly:music?)
   #{
     \once \override Voice.NoteHead #'stencil =
       #ly:text-interface::print
     \once \override Voice.NoteHead #'text =
       \markup \musicglyph #"custodes.mensural.u0"
     \once \override Voice.Stem #'stencil = ##f
     $note
   #})

\relative c' { c4 d e f \custosNote g }

[image of music]

Substitution functions with multiple arguments can be defined:

tempoPadded =
#(define-music-function
     (parser location padding tempotext)
     (number? string?)
   #{
     \once \override Score.MetronomeMark #'padding = $padding
     \tempo \markup { \bold $tempotext }
   #})

\relative c'' {
  \tempo \markup { "Low tempo" }
  c4 d e f g1
  \tempoPadded #4.0 #"High tempo"
  g4 f e d c1
}

[image of music]


A. Notation manual tables


A.1 Chord name chart

The following charts shows two standard systems for printing chord names, along with the pitches they represent.

[image of music]


A.2 Common chord modifiers

The following table shows chord modifiers that can be used in \chordmode to generate standard chord structures.

Chord type

Intervals

Modifier(s)

Example

Major

Major third, perfect fifth

5 or nothing

[image of music]

Minor

Minor third, perfect fifth

m or m5

[image of music]

Augmented

Major third, augmented fifth

aug

[image of music]

Diminished

Minor third, diminished fifth

dim

[image of music]

Dominant seventh

Major triad, minor seventh

7

[image of music]

Major seventh

Major triad, major seventh

maj7 or maj

[image of music]

Minor seventh

Minor triad, minor seventh

m7

[image of music]

Diminished seventh

Diminished triad, diminished seventh

dim7

[image of music]

Augmented seventh

Augmented triad, minor seventh

aug7

[image of music]

Half-diminished seventh

Diminished triad, minor seventh

m7.5-

[image of music]

Minor-major seventh

Minor triad, major seventh

m7+

[image of music]

Major sixth

Major triad, sixth

6

[image of music]

Minor sixth

Minor triad, sixth

m6

[image of music]

Dominant ninth

Dominant seventh, major ninth

9

[image of music]

Major ninth

Major seventh, major ninth

maj9

[image of music]

Minor ninth

Minor seventh, major ninth

m9

[image of music]

Dominant eleventh

Dominant ninth, perfect eleventh

11

[image of music]

Major eleventh

Major ninth, perfect eleventh

maj11

[image of music]

Minor eleventh

Minor ninth, perfect eleventh

m11

[image of music]

Dominant thirteenth

Dominant ninth, major thirteenth

13

[image of music]

Dominant thirteenth

Dominant eleventh, major thirteenth

13.11

[image of music]

Major thirteenth

Major eleventh, major thirteenth

maj13.11

[image of music]

Minor thirteenth

Minor eleventh, major thirteenth

m13.11

[image of music]

Suspended second

Major second, perfect fifth

sus2

[image of music]

Suspended fourth

Perfect fourth, perfect fifth

sus4

[image of music]

Power chord (two-voiced)

Perfect fifth

1.5

[image of music]

Power chord (three-voiced)

Perfect fifth, octave

1.5.8

[image of music]


A.3 Predefined string tunings

The chart below shows the predefined string tunings.

[image of music]


A.4 Predefined fretboard diagrams

The chart below shows the predefined fretboard diagrams for guitar.

[image of music]

The chart below shows the predefined fretboard diagrams for ukulele.

[image of music]

The chart below shows the predefined fretboard diagrams for mandolin.

[image of music]


A.5 MIDI instruments

The following is a list of names that can be used for the midiInstrument property. The order of the instruments below, starting in the left-hand column moving down, corresponds to the General MIDI Standard’s 128 Program Numbers.

acoustic grand            contrabass           lead 7 (fifths)
bright acoustic           tremolo strings      lead 8 (bass+lead)
electric grand            pizzicato strings    pad 1 (new age)
honky-tonk                orchestral harp      pad 2 (warm)
electric piano 1          timpani              pad 3 (polysynth)
electric piano 2          string ensemble 1    pad 4 (choir)
harpsichord               string ensemble 2    pad 5 (bowed)
clav                      synthstrings 1       pad 6 (metallic)
celesta                   synthstrings 2       pad 7 (halo)
glockenspiel              choir aahs           pad 8 (sweep)
music box                 voice oohs           fx 1 (rain)
vibraphone                synth voice          fx 2 (soundtrack)
marimba                   orchestra hit        fx 3 (crystal)
xylophone                 trumpet              fx 4 (atmosphere)
tubular bells             trombone             fx 5 (brightness)
dulcimer                  tuba                 fx 6 (goblins)
drawbar organ             muted trumpet        fx 7 (echoes)
percussive organ          french horn          fx 8 (sci-fi)
rock organ                brass section        sitar
church organ              synthbrass 1         banjo
reed organ                synthbrass 2         shamisen
accordion                 soprano sax          koto
harmonica                 alto sax             kalimba
concertina                tenor sax            bagpipe
acoustic guitar (nylon)   baritone sax         fiddle
acoustic guitar (steel)   oboe                 shanai
electric guitar (jazz)    english horn         tinkle bell
electric guitar (clean)   bassoon              agogo
electric guitar (muted)   clarinet             steel drums
overdriven guitar         piccolo              woodblock
distorted guitar          flute                taiko drum
guitar harmonics          recorder             melodic tom
acoustic bass             pan flute            synth drum
electric bass (finger)    blown bottle         reverse cymbal
electric bass (pick)      shakuhachi           guitar fret noise
fretless bass             whistle              breath noise
slap bass 1               ocarina              seashore
slap bass 2               lead 1 (square)      bird tweet
synth bass 1              lead 2 (sawtooth)    telephone ring
synth bass 2              lead 3 (calliope)    helicopter
violin                    lead 4 (chiff)       applause
viola                     lead 5 (charang)     gunshot
cello                     lead 6 (voice)

A.6 List of colors

Normal colors

Usage syntax is detailed in オブジェクトに色を付ける.

black       white          red         green
blue        cyan           magenta     yellow
grey        darkred        darkgreen   darkblue
darkcyan    darkmagenta    darkyellow

X color names

X color names come several variants:

Any name that is spelled as a single word with capitalization (e.g. ‘LightSlateBlue’) can also be spelled as space separated words without capitalization (e.g. ‘light slate blue’).

The word ‘grey’ can always be spelled ‘gray’ (e.g. ‘DarkSlateGray’).

Some names can take a numerical suffix (e.g. ‘LightSalmon4’).

Color Names without a numerical suffix:

snow		GhostWhite	WhiteSmoke	gainsboro	FloralWhite
OldLace		linen		AntiqueWhite	PapayaWhip	BlanchedAlmond
bisque		PeachPuff	NavajoWhite	moccasin	cornsilk
ivory		LemonChiffon	seashell	honeydew	MintCream
azure		AliceBlue	lavender	LavenderBlush	MistyRose
white		black		DarkSlateGrey	DimGrey		SlateGrey
LightSlateGrey	grey		LightGrey	MidnightBlue	navy
NavyBlue	CornflowerBlue	DarkSlateBlue	SlateBlue	MediumSlateBlue
LightSlateBlue	MediumBlue	RoyalBlue	blue		DodgerBlue
DeepSkyBlue	SkyBlue		LightSkyBlue	SteelBlue	LightSteelBlue
LightBlue	PowderBlue	PaleTurquoise	DarkTurquoise	MediumTurquoise
turquoise	cyan		LightCyan	CadetBlue	MediumAquamarine
aquamarine	DarkGreen	DarkOliveGreen	DarkSeaGreen	SeaGreen
MediumSeaGreen	LightSeaGreen	PaleGreen	SpringGreen	LawnGreen
green		chartreuse	MediumSpringGreen	GreenYellow	LimeGreen
YellowGreen	ForestGreen	OliveDrab	DarkKhaki	khaki
PaleGoldenrod	LightGoldenrodYellow	LightYellow	yellow	gold
LightGoldenrod	goldenrod	DarkGoldenrod	RosyBrown	IndianRed
SaddleBrown	sienna		peru		burlywood	beige
wheat		SandyBrown	tan		chocolate	firebrick
brown		DarkSalmon	salmon		LightSalmon	orange
DarkOrange	coral		LightCoral	tomato		OrangeRed
red		HotPink		DeepPink	pink		LightPink
PaleVioletRed	maroon		MediumVioletRed	VioletRed	magenta
violet		plum		orchid		MediumOrchid	DarkOrchid
DarkViolet	BlueViolet	purple		MediumPurple	thistle
DarkGrey	DarkBlue	DarkCyan	DarkMagenta	DarkRed
LightGreen

Color names with a numerical suffix

In the following names the suffix N can be a number in the range 1-4:

snowN		seashellN	AntiqueWhiteN	bisqueN		PeachPuffN
NavajoWhiteN	LemonChiffonN	cornsilkN	ivoryN		honeydewN
LavenderBlushN	MistyRoseN	azureN		SlateBlueN	RoyalBlueN
blueN		DodgerBlueN	SteelBlueN	DeepSkyBlueN	SkyBlueN
LightSkyBlueN	LightSteelBlueN	LightBlueN	LightCyanN	PaleTurquoiseN
CadetBlueN	turquoiseN	cyanN		aquamarineN	DarkSeaGreenN
SeaGreenN	PaleGreenN	SpringGreenN	greenN		chartreuseN
OliveDrabN	DarkOliveGreenN	khakiN		LightGoldenrodN	LightYellowN
yellowN		goldN		goldenrodN	DarkGoldenrodN	RosyBrownN
IndianRedN	siennaN		burlywoodN	wheatN		tanN
chocolateN	firebrickN	brownN		salmonN		LightSalmonN
orangeN		DarkOrangeN	coralN		tomatoN		OrangeRedN
redN		DeepPinkN	HotPinkN	pinkN		LightPinkN
PaleVioletRedN	maroonN		VioletRedN	magentaN	orchidN
plumN		MediumOrchidN	DarkOrchidN	purpleN		MediumPurpleN
thistleN

Grey Scale

A grey scale can be obtained using:

greyN

Where N is in the range 0-100.


A.7 The Feta font

The following symbols are available in the Emmentaler font and may be accessed directly using text markup with the name of the glyph as shown in the tables below, such as g^\markup {\musicglyph #"scripts.segno" } or \markup {\musicglyph #"five"}. For more information, see テキストをフォーマットする.


Clef glyphs

[image of music]


Time Signature glyphs

[image of music]


Number glyphs

[image of music]


Accidental glyphs

[image of music]


Default Notehead glyphs

[image of music]


Special Notehead glyphs

[image of music]


Shape-note Notehead glyphs

[image of music]


Rest glyphs

[image of music]


Flag glyphs

[image of music]


Dot glyphs

[image of music]


Dynamic glyphs

[image of music]


Script glyphs

[image of music]


Arrowhead glyphs

[image of music]


Bracket-tip glyphs

[image of music]


Pedal glyphs

[image of music]


Accordion glyphs

[image of music]


Vaticana glyphs

[image of music]


Medicaea glyphs

[image of music]


Hufnagel glyphs

[image of music]


Mensural glyphs

[image of music]


Neomensural glyphs

[image of music]


Petrucci glyphs

[image of music]


Solesmes glyphs

[image of music]


A.8 Note head styles

The following styles may be used for note heads.

[image of music]


A.9 Text markup commands

The following commands can all be used inside \markup { }.


A.9.1 Font

\abs-fontsize size (number) arg (markup)

Use size as the absolute font size to display arg. Adjusts baseline-skip and word-space accordingly.

\markup {
  default text font size
  \hspace #2
  \abs-fontsize #16 { text font size 16 }
  \hspace #2
  \abs-fontsize #12 { text font size 12 }
}

[image of music]

\bold arg (markup)

Switch to bold font-series.

\markup {
  default
  \hspace #2
  \bold
  bold
}

[image of music]

\box arg (markup)

Draw a box round arg. Looks at thickness, box-padding and font-size properties to determine line thickness and padding around the markup.

\markup {
  \override #'(box-padding . 0.5)
  \box
  \line { V. S. }
}

[image of music]

Used properties:

  • box-padding (0.2)
  • font-size (0)
  • thickness (1)
\caps arg (markup)

Copy of the \smallCaps command.

\markup {
  default
  \hspace #2
  \caps {
    Text in small caps
  }
}

[image of music]

\dynamic arg (markup)

Use the dynamic font. This font only contains s, f, m, z, p, and r. When producing phrases, like ‘più f’, the normal words (like ‘più’) should be done in a different font. The recommended font for this is bold and italic.

\markup {
  \dynamic {
    sfzp
  }
}

[image of music]

\finger arg (markup)

Set arg as small numbers.

\markup {
  \finger {
    1 2 3 4 5
  }
}

[image of music]

\fontCaps arg (markup)

Set font-shape to caps

Note: \fontCaps requires the installation and selection of fonts which support the caps font shape.

\fontsize increment (number) arg (markup)

Add increment to the font-size. Adjusts baseline-skip accordingly.

\markup {
  default
  \hspace #2
  \fontsize #-1.5
  smaller
}

[image of music]

Used properties:

  • baseline-skip (2)
  • word-space (1)
  • font-size (0)
\huge arg (markup)

Set font size to +2.

\markup {
  default
  \hspace #2
  \huge
  huge
}

[image of music]

\italic arg (markup)

Use italic font-shape for arg.

\markup {
  default
  \hspace #2
  \italic
  italic
}

[image of music]

\large arg (markup)

Set font size to +1.

\markup {
  default
  \hspace #2
  \large
  large
}

[image of music]

\larger arg (markup)

Increase the font size relative to the current setting.

\markup {
  default
  \hspace #2
  \larger
  larger
}

[image of music]

\magnify sz (number) arg (markup)

Set the font magnification for its argument. In the following example, the middle A is 10% larger:

A \magnify #1.1 { A } A

Note: Magnification only works if a font name is explicitly selected. Use \fontsize otherwise.

\markup {
  default
  \hspace #2
  \magnify #1.5 {
    50% larger
  }
}

[image of music]

\medium arg (markup)

Switch to medium font-series (in contrast to bold).

\markup {
  \bold {
    some bold text
    \hspace #2
    \medium {
      medium font series
    }
    \hspace #2
    bold again
  }
}

[image of music]

\normal-size-sub arg (markup)

Set arg in subscript with a normal font size.

\markup {
  default
  \normal-size-sub {
    subscript in standard size
  }
}

[image of music]

Used properties:

  • baseline-skip
\normal-size-super arg (markup)

Set arg in superscript with a normal font size.

\markup {
  default
  \normal-size-super {
    superscript in standard size
  }
}

[image of music]

Used properties:

  • baseline-skip
\normal-text arg (markup)

Set all font related properties (except the size) to get the default normal text font, no matter what font was used earlier.

\markup {
  \huge \bold \sans \caps {
    Some text with font overrides
    \hspace #2
    \normal-text {
      Default text, same font-size
    }
    \hspace #2
    More text as before
  }
}

[image of music]

\normalsize arg (markup)

Set font size to default.

\markup {
  \teeny {
    this is very small
    \hspace #2
    \normalsize {
      normal size
    }
    \hspace #2
    teeny again
  }
}

[image of music]

\number arg (markup)

Set font family to number, which yields the font used for time signatures and fingerings. This font contains numbers and some punctuation; it has no letters.

\markup {
  \number {
    0 1 2 3 4 5 6 7 8 9 . ,
  }
}

[image of music]

\roman arg (markup)

Set font family to roman.

\markup {
  \sans \bold {
    sans serif, bold
    \hspace #2
    \roman {
      text in roman font family
    }
    \hspace #2
    return to sans
  }
}

[image of music]

\sans arg (markup)

Switch to the sans serif font family.

\markup {
  default
  \hspace #2
  \sans {
    sans serif
  }
}

[image of music]

\simple str (string)

A simple text string; \markup { foo } is equivalent with \markup { \simple #"foo" }.

Note: for creating standard text markup or defining new markup commands, the use of \simple is unnecessary.

\markup {
  \simple #"simple"
  \simple #"text"
  \simple #"strings"
}

[image of music]

\small arg (markup)

Set font size to -1.

\markup {
  default
  \hspace #2
  \small
  small
}

[image of music]

\smallCaps arg (markup)

Emit arg as small caps.

Note: \smallCaps does not support accented characters.

\markup {
  default
  \hspace #2
  \smallCaps {
    Text in small caps
  }
}

[image of music]

\smaller arg (markup)

Decrease the font size relative to the current setting.

\markup {
  \fontsize #3.5 {
    some large text
    \hspace #2
    \smaller {
      a bit smaller
    }
    \hspace #2
    more large text
  }
}

[image of music]

\sub arg (markup)

Set arg in subscript.

\markup {
  \concat {
    H
    \sub {
      2
    }
    O
  }
}

[image of music]

Used properties:

  • baseline-skip
  • font-size (0)
\super arg (markup)

Set arg in superscript.

\markup {
  E =
  \concat {
    mc
    \super
    2
  }
}

[image of music]

Used properties:

  • baseline-skip
  • font-size (0)
\teeny arg (markup)

Set font size to -3.

\markup {
  default
  \hspace #2
  \teeny
  teeny
}

[image of music]

\text arg (markup)

Use a text font instead of music symbol or music alphabet font.

\markup {
  \number {
    1, 2,
    \text {
      three, four,
    }
    5
  }
}

[image of music]

\tiny arg (markup)

Set font size to -2.

\markup {
  default
  \hspace #2
  \tiny
  tiny
}

[image of music]

\typewriter arg (markup)

Use font-family typewriter for arg.

\markup {
  default
  \hspace #2
  \typewriter
  typewriter
}

[image of music]

\underline arg (markup)

Underline arg. Looks at thickness to determine line thickness, and offset to determine line y-offset.

\markup \fill-line {
  \underline "underlined"
  \override #'(offset . 5)
  \override #'(thickness . 1)
  \underline "underlined"
  \override #'(offset . 1)
  \override #'(thickness . 5)
  \underline "underlined"
}

[image of music]

Used properties:

  • offset (2)
  • thickness (1)
\upright arg (markup)

Set font-shape to upright. This is the opposite of italic.

\markup {
  \italic {
    italic text
    \hspace #2
    \upright {
      upright text
    }
    \hspace #2
    italic again
  }
}

[image of music]


A.9.2 Align

\center-align arg (markup)

Align arg to its X center.

\markup {
  \column {
    one
    \center-align
    two
    three
  }
}

[image of music]

\center-column args (markup list)

Put args in a centered column.

\markup {
  \center-column {
    one
    two
    three
  }
}

[image of music]

Used properties:

  • baseline-skip
\column args (markup list)

Stack the markups in args vertically. The property baseline-skip determines the space between markups in args.

\markup {
  \column {
    one
    two
    three
  }
}

[image of music]

Used properties:

  • baseline-skip
\combine arg1 (markup) arg2 (markup)

Print two markups on top of each other.

Note: \combine cannot take a list of markups enclosed in curly braces as an argument; the follow example will not compile:

\combine { a list }
\markup {
  \fontsize #5
  \override #'(thickness . 2)
  \combine
    \draw-line #'(0 . 4)
    \arrow-head #Y #DOWN ##f
}

[image of music]

\concat args (markup list)

Concatenate args in a horizontal line, without spaces in between. Strings and simple markups are concatenated on the input level, allowing ligatures. For example, \concat { "f" \simple #"i" } is equivalent to "fi".

\markup {
  \concat {
    one
    two
    three
  }
}

[image of music]

\dir-column args (markup list)

Make a column of args, going up or down, depending on the setting of the direction layout property.

\markup {
  \override #`(direction . ,UP) {
    \dir-column {
      going up
    }
  }
  \hspace #1
  \dir-column {
    going down
  }
  \hspace #1
  \override #'(direction . 1) {
    \dir-column {
      going up
    }
  }
}

[image of music]

Used properties:

  • baseline-skip
  • direction
\fill-line args (markup list)

Put markups in a horizontal line of width line-width. The markups are spaced or flushed to fill the entire line. If there are no arguments, return an empty stencil.

\markup {
  \column {
    \fill-line {
      Words evenly spaced across the page
    }
    \null
    \fill-line {
      \line { Text markups }
      \line {
        \italic { evenly spaced }
      }
      \line { across the page }
    }
  }
}

[image of music]

Used properties:

  • line-width (#f)
  • word-space (0.6)
  • text-direction (1)
\fill-with-pattern space (number) dir (direction) pattern (markup) left (markup) right (markup)

Put left and right in a horizontal line of width line-width with a line of markups pattern in between. Patterns are spaced apart by space. Patterns are aligned to the dir markup.

\markup \column {
  "right-aligned :"
  \fill-with-pattern #1 #RIGHT . first right
  \fill-with-pattern #1 #RIGHT . second right
  \null
  "center-aligned :"
  \fill-with-pattern #1.5 #CENTER - left right
  \null
  "left-aligned :"
  \override #'(line-width . 50) \fill-with-pattern #2 #LEFT : left first
  \override #'(line-width . 50) \fill-with-pattern #2 #LEFT : left second
}

[image of music]

Used properties:

  • line-width
  • word-space
\general-align axis (integer) dir (number) arg (markup)

Align arg in axis direction to the dir side.

\markup {
  \column {
    one
    \general-align #X #LEFT
    two
    three
    \null
    one
    \general-align #X #CENTER
    two
    three
    \null
    \line {
      one
      \general-align #Y #UP
      two
      three
    }
    \null
    \line {
      one
      \general-align #Y #3.2
      two
      three
    }
  }
}

[image of music]

\halign dir (number) arg (markup)

Set horizontal alignment. If dir is -1, then it is left-aligned, while +1 is right. Values in between interpolate alignment accordingly.

\markup {
  \column {
    one
    \halign #LEFT
    two
    three
    \null
    one
    \halign #CENTER
    two
    three
    \null
    one
    \halign #RIGHT
    two
    three
    \null
    one
    \halign #-5
    two
    three
  }
}

[image of music]

\hcenter-in length (number) arg (markup)

Center arg horizontally within a box of extending length/2 to the left and right.

\new StaffGroup <<
  \new Staff {
    \set Staff.instrumentName = \markup {
      \hcenter-in #12
      Oboe
    }
    c''1
  }
  \new Staff {
    \set Staff.instrumentName = \markup {
      \hcenter-in #12
      Bassoon
    }
    \clef tenor
    c'1
  }
>>

[image of music]

\hspace amount (number)

Create an invisible object taking up horizontal space amount.

\markup {
  one
  \hspace #2
  two
  \hspace #8
  three
}

[image of music]

Used properties:

  • word-space
\justify-field symbol (symbol)

Justify the data which has been assigned to symbol.

\header {
  title = "My title"
  myText = "Lorem ipsum dolor sit amet, consectetur adipisicing
    elit, sed do eiusmod tempor incididunt ut labore et dolore magna
    aliqua.  Ut enim ad minim veniam, quis nostrud exercitation ullamco
    laboris nisi ut aliquip ex ea commodo consequat."
}

\paper {
  bookTitleMarkup = \markup {
    \column {
      \fill-line { \fromproperty #'header:title }
      \null
      \justify-field #'header:myText
    }
  }
}

\markup {
  \null
}

[image of music]

\justify args (markup list)

Like \wordwrap, but with lines stretched to justify the margins. Use \override #'(line-width . X) to set the line width; X is the number of staff spaces.

\markup {
  \justify {
    Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed
    do eiusmod tempor incididunt ut labore et dolore magna aliqua.
    Ut enim ad minim veniam, quis nostrud exercitation ullamco
    laboris nisi ut aliquip ex ea commodo consequat.
  }
}

[image of music]

Used properties:

  • text-direction (1)
  • word-space
  • line-width (#f)
  • baseline-skip
\justify-string arg (string)

Justify a string. Paragraphs may be separated with double newlines

\markup {
  \override #'(line-width . 40)
  \justify-string #"Lorem ipsum dolor sit amet, consectetur
      adipisicing elit, sed do eiusmod tempor incididunt ut labore
      et dolore magna aliqua.


      Ut enim ad minim veniam, quis nostrud exercitation ullamco
      laboris nisi ut aliquip ex ea commodo consequat.


      Excepteur sint occaecat cupidatat non proident, sunt in culpa
      qui officia deserunt mollit anim id est laborum"
}

[image of music]

Used properties:

  • text-direction (1)
  • word-space
  • line-width
  • baseline-skip
\left-align arg (markup)

Align arg on its left edge.

\markup {
  \column {
    one
    \left-align
    two
    three
  }
}

[image of music]

\left-column args (markup list)

Put args in a left-aligned column.

\markup {
  \left-column {
    one
    two
    three
  }
}

[image of music]

Used properties:

  • baseline-skip
\line args (markup list)

Put args in a horizontal line. The property word-space determines the space between markups in args.

\markup {
  \line {
    one two three
  }
}

[image of music]

Used properties:

  • text-direction (1)
  • word-space
\lower amount (number) arg (markup)

Lower arg by the distance amount. A negative amount indicates raising; see also \raise.

\markup {
  one
  \lower #3
  two
  three
}

[image of music]

\pad-around amount (number) arg (markup)

Add padding amount all around arg.

\markup {
  \box {
    default
  }
  \hspace #2
  \box {
    \pad-around #0.5 {
      padded
    }
  }
}

[image of music]

\pad-markup amount (number) arg (markup)

Add space around a markup object.

\markup {
  \box {
    default
  }
  \hspace #2
  \box {
    \pad-markup #1 {
      padded
    }
  }
}

[image of music]

\pad-to-box x-ext (pair of numbers) y-ext (pair of numbers) arg (markup)

Make arg take at least x-ext, y-ext space.

\markup {
  \box {
    default
  }
  \hspace #4
  \box {
    \pad-to-box #'(0 . 10) #'(0 . 3) {
      padded
    }
  }
}

[image of music]

\pad-x amount (number) arg (markup)

Add padding amount around arg in the X direction.

\markup {
  \box {
    default
  }
  \hspace #4
  \box {
    \pad-x #2 {
      padded
    }
  }
}

[image of music]

\put-adjacent axis (integer) dir (direction) arg1 (markup) arg2 (markup)

Put arg2 next to arg1, without moving arg1.

\raise amount (number) arg (markup)

Raise arg by the distance amount. A negative amount indicates lowering, see also \lower.

The argument to \raise is the vertical displacement amount, measured in (global) staff spaces. \raise and \super raise objects in relation to their surrounding markups.

If the text object itself is positioned above or below the staff, then \raise cannot be used to move it, since the mechanism that positions it next to the staff cancels any shift made with \raise. For vertical positioning, use the padding and/or extra-offset properties.

\markup {
  C
  \small
  \bold
  \raise #1.0
  9/7+
}

[image of music]

\right-align arg (markup)

Align arg on its right edge.

\markup {
  \column {
    one
    \right-align
    two
    three
  }
}

[image of music]

\right-column args (markup list)

Put args in a right-aligned column.

\markup {
  \right-column {
    one
    two
    three
  }
}

[image of music]

Used properties:

  • baseline-skip
\rotate ang (number) arg (markup)

Rotate object with ang degrees around its center.

\markup {
  default
  \hspace #2
  \rotate #45
  \line {
    rotated 45°
  }
}

[image of music]

\translate offset (pair of numbers) arg (markup)

Translate arg relative to its surroundings. offset is a pair of numbers representing the displacement in the X and Y axis.

\markup {
  *
  \translate #'(2 . 3)
  \line { translated two spaces right, three up }
}

[image of music]

\translate-scaled offset (pair of numbers) arg (markup)

Translate arg by offset, scaling the offset by the font-size.

\markup {
  \fontsize #5 {
    * \translate #'(2 . 3) translate
    \hspace #2
    * \translate-scaled #'(2 . 3) translate-scaled
  }
}

[image of music]

Used properties:

  • font-size (0)
\vcenter arg (markup)

Align arg to its Y center.

\markup {
  one
  \vcenter
  two
  three
}

[image of music]

\vspace amount (number)

Create an invisible object taking up vertical space of amount multiplied by 3.

\markup {
    \center-column {
    one
    \vspace #2
    two
    \vspace #5
    three
  }
}

[image of music]

\wordwrap-field symbol (symbol)

Wordwrap the data which has been assigned to symbol.

\header {
  title = "My title"
  myText = "Lorem ipsum dolor sit amet, consectetur adipisicing
    elit, sed do eiusmod tempor incididunt ut labore et dolore magna
    aliqua.  Ut enim ad minim veniam, quis nostrud exercitation ullamco
    laboris nisi ut aliquip ex ea commodo consequat."
}

\paper {
  bookTitleMarkup = \markup {
    \column {
      \fill-line { \fromproperty #'header:title }
      \null
      \wordwrap-field #'header:myText
    }
  }
}

\markup {
  \null
}

[image of music]

\wordwrap args (markup list)

Simple wordwrap. Use \override #'(line-width . X) to set the line width, where X is the number of staff spaces.

\markup {
  \wordwrap {
    Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed
    do eiusmod tempor incididunt ut labore et dolore magna aliqua.
    Ut enim ad minim veniam, quis nostrud exercitation ullamco
    laboris nisi ut aliquip ex ea commodo consequat.
  }
}

[image of music]

Used properties:

  • text-direction (1)
  • word-space
  • line-width (#f)
  • baseline-skip
\wordwrap-string arg (string)

Wordwrap a string. Paragraphs may be separated with double newlines.

\markup {
  \override #'(line-width . 40)
  \wordwrap-string #"Lorem ipsum dolor sit amet, consectetur
      adipisicing elit, sed do eiusmod tempor incididunt ut labore
      et dolore magna aliqua.


      Ut enim ad minim veniam, quis nostrud exercitation ullamco
      laboris nisi ut aliquip ex ea commodo consequat.


      Excepteur sint occaecat cupidatat non proident, sunt in culpa
      qui officia deserunt mollit anim id est laborum"
}

[image of music]

Used properties:

  • text-direction (1)
  • word-space
  • line-width
  • baseline-skip

A.9.3 Graphic

\arrow-head axis (integer) dir (direction) filled (boolean)

Produce an arrow head in specified direction and axis. Use the filled head if filled is specified.

\markup {
  \fontsize #5 {
    \general-align #Y #DOWN {
      \arrow-head #Y #UP ##t
      \arrow-head #Y #DOWN ##f
      \hspace #2
      \arrow-head #X #RIGHT ##f
      \arrow-head #X #LEFT ##f
    }
  }
}

[image of music]

\beam width (number) slope (number) thickness (number)

Create a beam with the specified parameters.

\markup {
  \beam #5 #1 #2
}

[image of music]

\bracket arg (markup)

Draw vertical brackets around arg.

\markup {
  \bracket {
    \note #"2." #UP
  }
}

[image of music]

\circle arg (markup)

Draw a circle around arg. Use thickness, circle-padding and font-size properties to determine line thickness and padding around the markup.

\markup {
  \circle {
    Hi
  }
}

[image of music]

Used properties:

  • circle-padding (0.2)
  • font-size (0)
  • thickness (1)
\draw-circle radius (number) thickness (number) filled (boolean)

A circle of radius radius and thickness thickness, optionally filled.

\markup {
  \draw-circle #2 #0.5 ##f
  \hspace #2
  \draw-circle #2 #0 ##t
}

[image of music]

\draw-hline

Draws a line across a page, where the property span-factor controls what fraction of the page is taken up.

\markup {
  \column {
    \draw-hline
    \override #'(span-factor . 1/3)
    \draw-hline
  }
}

[image of music]

Used properties:

  • span-factor (1)
  • line-width
  • draw-line-markup
\draw-line dest (pair of numbers)

A simple line.

\markup {
  \draw-line #'(4 . 4)
  \override #'(thickness . 5)
  \draw-line #'(-3 . 0)
}

[image of music]

Used properties:

  • thickness (1)
\epsfile axis (number) size (number) file-name (string)

Inline an EPS image. The image is scaled along axis to size.

\markup {
  \general-align #Y #DOWN {
    \epsfile #X #20 #"context-example.eps"
    \epsfile #Y #20 #"context-example.eps"
  }
}

[image of music]

\filled-box xext (pair of numbers) yext (pair of numbers) blot (number)

Draw a box with rounded corners of dimensions xext and yext. For example,

\filled-box #'(-.3 . 1.8) #'(-.3 . 1.8) #0

creates a box extending horizontally from -0.3 to 1.8 and vertically from -0.3 up to 1.8, with corners formed from a circle of diameter 0 (i.e., sharp corners).

\markup {
  \filled-box #'(0 . 4) #'(0 . 4) #0
  \filled-box #'(0 . 2) #'(-4 . 2) #0.4
  \filled-box #'(1 . 8) #'(0 . 7) #0.2
  \with-color #white
  \filled-box #'(-4.5 . -2.5) #'(3.5 . 5.5) #0.7
}

[image of music]

\hbracket arg (markup)

Draw horizontal brackets around arg.

\markup {
  \hbracket {
    \line {
      one two three
    }
  }
}

[image of music]

\parenthesize arg (markup)

Draw parentheses around arg. This is useful for parenthesizing a column containing several lines of text.

\markup {
  \line {
    \parenthesize {
      \column {
        foo
        bar
      }
    }
    \override #'(angularity . 2) {
      \parenthesize {
        \column {
          bah
          baz
        }
      }
    }
  }
}

[image of music]

Used properties:

  • width (0.25)
  • thickness (1)
  • size (1)
  • padding
  • angularity (0)
\path thickness (number) commands (list)

Draws a path with line thickness thickness according to the directions given in commands. commands is a list of lists where the car of each sublist is a drawing command and the cdr comprises the associated arguments for each command.

Line-cap styles and line-join styles may be customized by overriding the line-cap-style and line-join-style properties, respectively. Available line-cap styles are 'butt, 'round, and 'square. Available line-join styles are 'miter, 'round, and 'bevel.

The property filled specifies whether or not the path is filled with color.

There are seven commands available to use in the list commands: moveto, rmoveto, lineto, rlineto, curveto, rcurveto, and closepath. Note that the commands that begin with r are the relative variants of the other three commands.

The commands moveto, rmoveto, lineto, and rlineto take 2 arguments; they are the X and Y coordinates for the destination point.

The commands curveto and rcurveto create cubic Bézier curves, and take 6 arguments; the first two are the X and Y coordinates for the first control point, the second two are the X and Y coordinates for the second control point, and the last two are the X and Y coordinates for the destination point.

The closepath command takes zero arguments and closes the current subpath in the active path.

Note that a sequence of commands must begin with a moveto or rmoveto to work with the SVG output.

samplePath =
  #'((moveto 0 0)
     (lineto -1 1)
     (lineto 1 1)
     (lineto 1 -1)
     (curveto -5 -5 -5 5 -1 0)
     (closepath))

\markup {
  \path #0.25 #samplePath
}

[image of music]

Used properties:

  • filled (#f)
  • line-join-style (round)
  • line-cap-style (round)
\postscript str (string)

This inserts str directly into the output as a PostScript command string.

ringsps = #"
  0.15 setlinewidth
  0.9 0.6 moveto
  0.4 0.6 0.5 0 361 arc
  stroke
  1.0 0.6 0.5 0 361 arc
  stroke
  "

rings = \markup {
  \with-dimensions #'(-0.2 . 1.6) #'(0 . 1.2)
  \postscript #ringsps
}

\relative c'' {
  c2^\rings
  a2_\rings
}

[image of music]

\rounded-box arg (markup)

Draw a box with rounded corners around arg. Looks at thickness, box-padding and font-size properties to determine line thickness and padding around the markup; the corner-radius property makes it possible to define another shape for the corners (default is 1).

c4^\markup {
  \rounded-box {
    Overtura
  }
}
c,8. c16 c4 r

[image of music]

Used properties:

  • box-padding (0.5)
  • font-size (0)
  • corner-radius (1)
  • thickness (1)
\scale factor-pair (pair of numbers) arg (markup)

Scale arg. factor-pair is a pair of numbers representing the scaling-factor in the X and Y axes. Negative values may be used to produce mirror images.

\markup {
  \line {
    \scale #'(2 . 1)
    stretched
    \scale #'(1 . -1)
    mirrored
  }
}

[image of music]

\triangle filled (boolean)

A triangle, either filled or empty.

\markup {
  \triangle ##t
  \hspace #2
  \triangle ##f
}

[image of music]

Used properties:

  • baseline-skip (2)
  • font-size (0)
  • thickness (0.1)
\with-url url (string) arg (markup)

Add a link to URL url around arg. This only works in the PDF backend.

\markup {
  \with-url #"http://lilypond.org/web/" {
    LilyPond ... \italic {
      music notation for everyone
    }
  }
}

[image of music]


A.9.4 Music

\customTabClef num-strings (integer) staff-space (number)

Draw a tab clef sans-serif style.

\doubleflat

Draw a double flat symbol.

\markup {
  \doubleflat
}

[image of music]

\doublesharp

Draw a double sharp symbol.

\markup {
  \doublesharp
}

[image of music]

\flat

Draw a flat symbol.

\markup {
  \flat
}

[image of music]

\musicglyph glyph-name (string)

glyph-name is converted to a musical symbol; for example, \musicglyph #"accidentals.natural" selects the natural sign from the music font. See The Feta font for a complete listing of the possible glyphs.

\markup {
  \musicglyph #"f"
  \musicglyph #"rests.2"
  \musicglyph #"clefs.G_change"
}

[image of music]

\natural

Draw a natural symbol.

\markup {
  \natural
}

[image of music]

\note-by-number log (number) dot-count (number) dir (number)

Construct a note symbol, with stem. By using fractional values for dir, longer or shorter stems can be obtained.

\markup {
  \note-by-number #3 #0 #DOWN
  \hspace #2
  \note-by-number #1 #2 #0.8
}

[image of music]

Used properties:

  • style (’())
  • font-size (0)
\note duration (string) dir (number)

This produces a note with a stem pointing in dir direction, with the duration for the note head type and augmentation dots. For example, \note #"4." #-0.75 creates a dotted quarter note, with a shortened down stem.

\markup {
  \override #'(style . cross) {
    \note #"4.." #UP
  }
  \hspace #2
  \note #"breve" #0
}

[image of music]

Used properties:

  • style (’())
  • font-size (0)
\score score (score)

Inline an image of music.

\markup {
  \score {
    \new PianoStaff <<
      \new Staff \relative c' {
        \key f \major
        \time 3/4
        \mark \markup { Allegro }
        f2\p( a4)
        c2( a4)
        bes2( g'4)
        f8( e) e4 r
      }
      \new Staff \relative c {
        \clef bass
        \key f \major
        \time 3/4
        f8( a c a c a
        f c' es c es c)
        f,( bes d bes d bes)
        f( g bes g bes g)
      }
    >>
    \layout {
      indent = 0.0\cm
      \context {
        \Score
        \override RehearsalMark #'break-align-symbols =
          #'(time-signature key-signature)
        \override RehearsalMark #'self-alignment-X = #LEFT
      }
      \context {
        \Staff
        \override TimeSignature #'break-align-anchor-alignment = #LEFT
      }
    }
  }
}

[image of music]

Used properties:

  • baseline-skip
\semiflat

Draw a semiflat symbol.

\markup {
  \semiflat
}

[image of music]

\semisharp

Draw a semisharp symbol.

\markup {
  \semisharp
}

[image of music]

\sesquiflat

Draw a 3/2 flat symbol.

\markup {
  \sesquiflat
}

[image of music]

\sesquisharp

Draw a 3/2 sharp symbol.

\markup {
  \sesquisharp
}

[image of music]

\sharp

Draw a sharp symbol.

\markup {
  \sharp
}

[image of music]

\tied-lyric str (string)

Like simple-markup, but use tie characters for ‘~’ tilde symbols.

\markup {
  \tied-lyric #"Lasciate~i monti"
}

[image of music]


A.9.5 Instrument Specific Markup

\fret-diagram definition-string (string)

Make a (guitar) fret diagram. For example, say

\markup \fret-diagram #"s:0.75;6-x;5-x;4-o;3-2;2-3;1-2;"

for fret spacing 3/4 of staff space, D chord diagram

Syntax rules for definition-string:

  • - Diagram items are separated by semicolons.
  • - Possible items:
    • s:number – Set the fret spacing of the diagram (in staff spaces). Default: 1.
    • t:number – Set the line thickness (in staff spaces). Default: 0.05.
    • h:number – Set the height of the diagram in frets. Default: 4.
    • w:number – Set the width of the diagram in strings. Default: 6.
    • f:number – Set fingering label type (0 = none, 1 = in circle on string, 2 = below string). Default: 0.
    • d:number – Set radius of dot, in terms of fret spacing. Default: 0.25.
    • p:number – Set the position of the dot in the fret space. 0.5 is centered; 1 is on lower fret bar, 0 is on upper fret bar. Default: 0.6.
    • c:string1-string2-fret – Include a barre mark from string1 to string2 on fret.
    • string-fret – Place a dot on string at fret. If fret is ‘o’, string is identified as open. If fret is ‘x’, string is identified as muted.
    • string-fret-fingering – Place a dot on string at fret, and label with fingering as defined by the f: code.
  • - Note: There is no limit to the number of fret indications per string.

Used properties:

  • thickness (0.5)
  • fret-diagram-details
  • size (1.0)
  • align-dir (-0.4)
\fret-diagram-terse definition-string (string)

Make a fret diagram markup using terse string-based syntax.

Here is an example

\markup \fret-diagram-terse #"x;x;o;2;3;2;"

for a D chord diagram.

Syntax rules for definition-string:

  • Strings are terminated by semicolons; the number of semicolons is the number of strings in the diagram.
  • Mute strings are indicated by ‘x’.
  • Open strings are indicated by ‘o’.
  • A number indicates a fret indication at that fret.
  • If there are multiple fret indicators desired on a string, they should be separated by spaces.
  • Fingerings are given by following the fret number with a -, followed by the finger indicator, e.g. ‘3-2’ for playing the third fret with the second finger.
  • Where a barre indicator is desired, follow the fret (or fingering) symbol with -( to start a barre and -) to end the barre.

Used properties:

  • thickness (0.5)
  • fret-diagram-details
  • size (1.0)
  • align-dir (-0.4)
\fret-diagram-verbose marking-list (pair)

Make a fret diagram containing the symbols indicated in marking-list.

For example,

\markup \fret-diagram-verbose
  #'((mute 6) (mute 5) (open 4)
     (place-fret 3 2) (place-fret 2 3) (place-fret 1 2))

produces a standard D chord diagram without fingering indications.

Possible elements in marking-list:

(mute string-number)

Place a small ‘x’ at the top of string string-number.

(open string-number)

Place a small ‘o’ at the top of string string-number.

(barre start-string end-string fret-number)

Place a barre indicator (much like a tie) from string start-string to string end-string at fret fret-number.

(capo fret-number)

Place a capo indicator (a large solid bar) across the entire fretboard at fret location fret-number. Also, set fret fret-number to be the lowest fret on the fret diagram.

(place-fret string-number fret-number [finger-value [color-modifier]])

Place a fret playing indication on string string-number at fret fret-number with an optional fingering label finger-value, and an optional color modifier color-modifier. By default, the fret playing indicator is a solid dot. This can be globally changed by setting the value of the variable dot-color. Setting color-modifier to inverted inverts the dot color for a specific fingering. If the finger part of the place-fret element is present, finger-value will be displayed according to the setting of the variable finger-code. There is no limit to the number of fret indications per string.

Used properties:

  • thickness (0.5)
  • fret-diagram-details
  • size (1.0)
  • align-dir (-0.4)
\harp-pedal definition-string (string)

Make a harp pedal diagram.

Possible elements in definition-string:

^

pedal is up

-

pedal is neutral

v

pedal is down

|

vertical divider line

o

the following pedal should be circled (indicating a change)

The function also checks if the string has the typical form of three pedals, then the divider and then the remaining four pedals. If not it prints out a warning. However, in any case, it will also print each symbol in the order as given. This means you can place the divider (even multiple dividers) anywhere you want, but you’ll have to live with the warnings.

The appearance of the diagram can be tweaked inter alia using the size property of the TextScript grob (\override Voice.TextScript #'size = #0.3) for the overall, the thickness property (\override Voice.TextScript #'thickness = #3) for the line thickness of the horizontal line and the divider. The remaining configuration (box sizes, offsets and spaces) is done by the harp-pedal-details list of properties (\override Voice.TextScript #'harp-pedal-details #'box-width = #1). It contains the following settings: box-offset (vertical shift of the box center for up/down pedals), box-width, box-height, space-before-divider (the spacing between two boxes before the divider) and space-after-divider (box spacing after the divider).

\markup \harp-pedal #"^-v|--ov^"

[image of music]

Used properties:

  • thickness (0.5)
  • harp-pedal-details (’())
  • size (1.2)
\woodwind-diagram instrument (symbol) user-draw-commands (list)

Make a woodwind-instrument diagram. For example, say

\markup \woodwind-diagram #'oboe #'((lh . (d ees)) (cc . (five3qT1q)) (rh . (gis)))

for an oboe with the left-hand d key, left-hand ees key, and right-hand gis key depressed while the five-hole of the central column effectuates a trill between 1/4 and 3/4 closed.

The following instruments are supported:

  • - piccolo
  • - flute
  • - oboe
  • - clarinet
  • - bass-clarinet
  • - saxophone
  • - bassoon
  • - contrabassoon

To see all of the callable keys for a given instrument, include the function (print-keys 'instrument) in your .ly file, where instrument is the instrument whose keys you want to print.

Certain keys allow for special configurations. The entire gamut of configurations possible is as follows:

  • - 1q (1/4 covered)
  • - 1h (1/2 covered)
  • - 3q (3/4 covered)
  • - R (ring depressed)
  • - F (fully covered; the default if no state put)

Additionally, these configurations can be used in trills. So, for example, three3qTR effectuates a trill between 3/4 full and ring depressed on the three hole. As another example, threeRT effectuates a trill between R and open, whereas threeTR effectuates a trill between open and shut. To see all of the possibilities for all of the keys of a given instrument, invoke (print-keys-verbose 'instrument).

Lastly, substituting an empty list for the pressed-key alist will result in a diagram with all of the keys drawn but none filled, for example:

\markup \woodwind-diagram #'oboe #'()

Used properties:

  • graphical (#t)
  • thickness (0.1)
  • size (1)

A.9.6 Other

\backslashed-digit num (integer)

A feta number, with backslash. This is for use in the context of figured bass notation.

\markup {
  \backslashed-digit #5
  \hspace #2
  \override #'(thickness . 3)
  \backslashed-digit #7
}

[image of music]

Used properties:

  • thickness (1.6)
  • font-size (0)
\char num (integer)

Produce a single character. Characters encoded in hexadecimal format require the prefix #x.

\markup {
  \char #65 \char ##x00a9
}

[image of music]

\eyeglasses

Prints out eyeglasses, indicating strongly to look at the conductor.

\markup { \eyeglasses }

[image of music]

\footnote mkup (markup) note (markup)

Have footnote note act as an annotation to the markup mkup.

\fraction arg1 (markup) arg2 (markup)

Make a fraction of two markups.

\markup {
  π ≈
  \fraction 355 113
}

[image of music]

Used properties:

  • font-size (0)
\fromproperty symbol (symbol)

Read the symbol from property settings, and produce a stencil from the markup contained within. If symbol is not defined, it returns an empty markup.

\header {
  myTitle = "myTitle"
  title = \markup {
    from
    \italic
    \fromproperty #'header:myTitle
  }
}
\markup {
  \null
}

[image of music]

\left-brace size (number)

A feta brace in point size size.

\markup {
  \left-brace #35
  \hspace #2
  \left-brace #45
}

[image of music]

\lookup glyph-name (string)

Lookup a glyph by name.

\markup {
  \override #'(font-encoding . fetaBraces) {
    \lookup #"brace200"
    \hspace #2
    \rotate #180
    \lookup #"brace180"
  }
}

[image of music]

\markalphabet num (integer)

Make a markup letter for num. The letters start with A to Z and continue with double letters.

\markup {
  \markalphabet #8
  \hspace #2
  \markalphabet #26
}

[image of music]

\markletter num (integer)

Make a markup letter for num. The letters start with A to Z (skipping letter I), and continue with double letters.

\markup {
  \markletter #8
  \hspace #2
  \markletter #26
}

[image of music]

\null

An empty markup with extents of a single point.

\markup {
  \null
}

[image of music]

\on-the-fly procedure (symbol) arg (markup)

Apply the procedure markup command to arg. procedure should take a single argument.

\override new-prop (pair) arg (markup)

Add the argument new-prop to the property list. Properties may be any property supported by font-interface, text-interface and instrument-specific-markup-interface.

\markup {
  \line {
    \column {
      default
      baseline-skip
    }
    \hspace #2
    \override #'(baseline-skip . 4) {
      \column {
        increased
        baseline-skip
      }
    }
  }
}

[image of music]

\page-link page-number (number) arg (markup)

Add a link to the page page-number around arg. This only works in the PDF backend.

\markup {
  \page-link #2  { \italic { This links to page 2... } }
}

[image of music]

\page-ref label (symbol) gauge (markup) default (markup)

Reference to a page number. label is the label set on the referenced page (using the \label command), gauge a markup used to estimate the maximum width of the page number, and default the value to display when label is not found.

\pattern count (integer) axis (integer) space (number) pattern (markup)

Prints count times a pattern markup. Patterns are spaced apart by space. Patterns are distributed on axis.

\markup \column {
  "Horizontally repeated :"
  \pattern #7 #X #2 \flat
  \null
  "Vertically repeated :"
  \pattern #3 #Y #0.5 \flat
}

[image of music]

\right-brace size (number)

A feta brace in point size size, rotated 180 degrees.

\markup {
  \right-brace #45
  \hspace #2
  \right-brace #35
}

[image of music]

\slashed-digit num (integer)

A feta number, with slash. This is for use in the context of figured bass notation.

\markup {
  \slashed-digit #5
  \hspace #2
  \override #'(thickness . 3)
  \slashed-digit #7
}

[image of music]

Used properties:

  • thickness (1.6)
  • font-size (0)
\stencil stil (stencil)

Use a stencil as markup.

\markup {
  \stencil #(make-circle-stencil 2 0 #t)
}

[image of music]

\strut

Create a box of the same height as the space in the current font.

\transparent arg (markup)

Make arg transparent.

\markup {
  \transparent {
    invisible text
  }
}

[image of music]

\verbatim-file name (string)

Read the contents of file name, and include it verbatim.

\markup {
  \verbatim-file #"simple.ly"
}

[image of music]

\whiteout arg (markup)

Provide a white background for arg.

\markup {
  \combine
    \filled-box #'(-1 . 10) #'(-3 . 4) #1
    \whiteout whiteout
}

[image of music]

\with-color color (color) arg (markup)

Draw arg in color specified by color.

\markup {
  \with-color #red
  red
  \hspace #2
  \with-color #green
  green
  \hspace #2
  \with-color #blue
  blue
}

[image of music]

\with-dimensions x (pair of numbers) y (pair of numbers) arg (markup)

Set the dimensions of arg to x and y.

\with-link label (symbol) arg (markup)

Add a link to the page holding label label around arg. This only works in the PDF backend.

\markup {
  \with-link #"label" { \italic { This links to the page containing the label... } }
}

[image of music]


A.10 Text markup list commands

The following commands can all be used with \markuplines:

\column-lines args (markup list)

Like \column, but return a list of lines instead of a single markup. baseline-skip determines the space between each markup in args.

Used properties:

  • baseline-skip
\justified-lines args (markup list)

Like \justify, but return a list of lines instead of a single markup. Use \override-lines #'(line-width . X) to set the line width; X is the number of staff spaces.

Used properties:

  • text-direction (1)
  • word-space
  • line-width (#f)
  • baseline-skip
\override-lines new-prop (pair) args (markup list)

Like \override, for markup lists.

\table-of-contents
\wordwrap-internal justify (boolean) args (markup list)

Internal markup list command used to define \justify and \wordwrap.

Used properties:

  • text-direction (1)
  • word-space
  • line-width (#f)
\wordwrap-lines args (markup list)

Like \wordwrap, but return a list of lines instead of a single markup. Use \override-lines #'(line-width . X) to set the line width, where X is the number of staff spaces.

Used properties:

  • text-direction (1)
  • word-space
  • line-width (#f)
  • baseline-skip
\wordwrap-string-internal justify (boolean) arg (string)

Internal markup list command used to define \justify-string and \wordwrap-string.

Used properties:

  • text-direction (1)
  • word-space
  • line-width

A.11 List of articulations

The following scripts are available in the Feta font and may be attached to notes (eg. ‘c\accent’).


Articulation scripts

[image of music]


Ornament scripts

[image of music]


Fermata scripts

[image of music]


Instrument-specific scripts

[image of music]


Repeat sign scripts

[image of music]


Ancient scripts

[image of music]


A.12 Percussion notes

[image of music]


A.13 Technical glossary

A glossary of the technical terms and concepts used internally in LilyPond. These terms may appear in the manuals, on mailing lists or in the source code.


alist

An association list or alist for short is a Scheme pair which associates a value with a key: (key . value). For example, in ‘scm/lily.scm’, the alist “type-p-name-alist” associates certain type predicates (e.g. ly:music?) with names (e.g. “music”) so that type-check failures can be reported with a console message that includes the name of the expected type predicate.


callback

A callback is a routine, function or method whose reference is passed as an argument in a call to another routine, so allowing the called routine to invoke it. The technique enables a lower- level software layer to call a function defined in a higher layer. Callbacks are used extensively in LilyPond to permit user-level Scheme code to define how many low-level actions are performed.


closure

In Scheme, a closure is created when a function, usually a lambda expression, is passed as a variable. The closure contains the function’s code plus references to the lexical bindings of the function’s free variables (i.e. those variables used in the expression but defined outside it). When this function is applied to different arguments later, the free variable bindings that were captured in the closure are used to obtain the values of the free variables to be used in the calculation. One useful property of closures is the retention of internal variable values between invocations, so permitting state to be maintained.

A simple closure is a closure whose expression has no free variables and hence no free variable bindings.

A simple closure is represented in LilyPond by a smob containing the expression and a method to apply the expression to a passed list of arguments.


glyph

A glyph is a particular graphical representation of a typographic character, or a combination of two characters formating a ligature. A set of glyphs with a single style and shape comprise a font, and a set of fonts covering several styles and sizes comprise a typeface.

参照

Notation Reference: フォント, Text encoding.


grob

LilyPond objects which represent items of notation in the printed output such as note heads, stems, slurs, ties, fingering, clefs, etc are called ‘Layout objects’, often known as ‘GRaphical OBjects’, or grobs for short. They are represented by instances of the Grob class.

参照

Learning Manual: Objects and interfaces, Naming conventions of objects and properties, Properties of layout objects.

Internals Reference: grob-interface, All layout objects.


immutable

An immutable object is one whose state cannot be modified after creation, in contrast to a mutable object, which can be modified after creation.

In LilyPond, immutable or shared properties define the default style and behavior of grobs. They are shared between many objects. In apparent contradiction to the name, they can be changed using \override and \revert.

参照

Notation Reference: mutable.


interface

Actions and properties which are common to a number of grobs are grouped together in an object called a grob-interface, or just ‘interface’ for short.

参照

Learning Manual: Objects and interfaces, Naming conventions of objects and properties, Properties found in interfaces.

Notation Reference: Layout interfaces.

Internals Reference: Graphical Object Interfaces.


lexer

A lexer is a program which converts a sequence of characters into a sequence of tokens, a process called lexical analysis. The LilyPond lexer converts the stream obtained from an input ‘.ly’ file into a tokenized stream more suited to the next stage of processing - parsing, for which see parser. The LilyPond lexer is built with Flex from the lexer file ‘lily/lexer.ll’ which contains the lexical rules. This file is part of the source code and is not included in the LilyPond binary installation.


mutable

A mutable object is one whose state can be modified after creation, in contrast to an immutable object, whose state is fixed at the time of creation.

In LilyPond, mutable properties contain values that are specific to one grob. Typically, lists of other objects or results from computations are stored in mutable properties.

参照

Notation Reference: immutable.


output-def

An instance of the Output-def class contains the methods and data structures associated with an output block. Instances are created for midi, layout and paper blocks.


parser

A parser analyzes the sequence of tokens produced by a lexer to determine its grammatical structure, grouping the tokens progressively into larger groupings according to the rules of the grammar. If the sequence of tokens is valid the end product is a tree of tokens whose root is the grammar’s start symbol. If this cannot be achieved the file is invalid and an appropriate error message is produced. The syntactic groupings and the rules for constructing the groupings from their parts for the LilyPond syntax are defined in ‘lily/parser.yy’ and shown in Backus Normal Form (BNF) in LilyPond 文法. This file is used to build the parser during the program build by the parser generator, Bison. It is part of the source code and is not included in the LilyPond binary installation.


parser variable

These are variables defined directly in Scheme. Their direct use by users is strongly discouraged, because their scoping semantics can be confusing.

When the value of such a variable is changed in a ‘.ly’ file, the change is global, and unless explicitly reverted, the new value will persist to the end of the file, affecting subsequent \score blocks as well as external files added with the \include command. This can lead to unintended consequences and in complex typesetting projects the consequent errors can be difficult to track down.

LilyPond uses the following parser variables:


prob

PRoperty OBjects, or probs for short, are instances of the Prob class, a simple base class for objects which have mutable and immutable property alists and the methods to manipulate them. The Music and Stream_event classes derive from Prob. Instances of the Prob class are also created to hold the formatted content of system grobs and titling blocks during page layout.


simple closure

See closure.


smob

Smobs, or ScheMe OBjects, are part of the mechanism used by Guile to export C and C++ objects to Scheme code. In LilyPond, smobs are created from C++ objects through macros. There are two types of smob objects: simple smobs, intended for simple immutable objects like numbers, and complex smobs, used for objects with identities. If you have access to the LilyPond sources, more information can be found in ‘lily/includes/smob.hh’.


stencil

An instance of the stencil class holds the information required to print a typographical object. It is a simple smob containing a confining box, which defines the vertical and horizontal extents of the object, and a Scheme expression which will print the object when evaluated. Stencils may be combined to form more complex stencils defined by a tree of Scheme expressions formed from the Scheme expressions of the component stencils.

The stencil property, which connects a grob to its stencil, is defined in the grob-interface interface.

参照

Internals Reference: grob-interface.


A.14 All context properties

aDueText (markup)

Text to print at a unisono passage.

alignAboveContext (string)

Where to insert newly created context in vertical alignment.

alignBassFigureAccidentals (boolean)

If true, then the accidentals are aligned in bass figure context.

alignBelowContext (string)

Where to insert newly created context in vertical alignment.

associatedVoice (string)

Name of the Voice that has the melody for this Lyrics line.

autoAccidentals (list)

List of different ways to typeset an accidental.

For determining when to print an accidental, several different rules are tried. The rule that gives the highest number of accidentals is used.

Each entry in the list is either a symbol or a procedure.

symbol

The symbol is the name of the context in which the following rules are to be applied. For example, if context is Score then all staves share accidentals, and if context is Staff then all voices in the same staff share accidentals, but staves do not.

procedure

The procedure represents an accidental rule to be applied to the previously specified context.

The procedure takes the following arguments:

context

The current context to which the rule should be applied.

pitch

The pitch of the note to be evaluated.

barnum

The current bar number.

measurepos

The current measure position.

The procedure returns a pair of booleans. The first states whether an extra natural should be added. The second states whether an accidental should be printed. (#t . #f) does not make sense.

autoBeamCheck (procedure)

A procedure taking three arguments, context, dir [start/stop (-1 or 1)], and test [shortest note in the beam]. A non-#f return value starts or stops the auto beam.

autoBeaming (boolean)

If set to true then beams are generated automatically.

autoCautionaries (list)

List similar to autoAccidentals, but it controls cautionary accidentals rather than normal ones. Both lists are tried, and the one giving the most accidentals wins. In case of draw, a normal accidental is typeset.

automaticBars (boolean)

If set to false then bar lines will not be printed automatically; they must be explicitly created with a \bar command. Unlike the \cadenzaOn keyword, measures are still counted. Bar line generation will resume according to that count if this property is unset.

barAlways (boolean)

If set to true a bar line is drawn after each note.

barCheckSynchronize (boolean)

If true then reset measurePosition when finding a bar check.

barNumberVisibility (procedure)

A Procedure that takes an integer and returns whether the corresponding bar number should be printed.

baseMoment (moment)

Smallest unit of time that will stand on its own as a subdivided section.

bassFigureFormatFunction (procedure)

A procedure that is called to produce the formatting for a BassFigure grob. It takes a list of BassFigureEvents, a context, and the grob to format.

bassStaffProperties (list)

An alist of property settings to apply for the down staff of PianoStaff. Used by \autochange.

beamExceptions (list)

An alist of exceptions to autobeam rules that normally end on beats.

beatStructure (list)

List of baseMoments that are combined to make beats.

chordChanges (boolean)

Only show changes in chords scheme?

chordNameExceptions (list)

An alist of chord exceptions. Contains (chord . markup) entries.

chordNameExceptionsFull (list)

An alist of full chord exceptions. Contains (chord . markup) entries.

chordNameExceptionsPartial (list)

An alist of partial chord exceptions. Contains (chord . (prefix-markup suffix-markup)) entries.

chordNameFunction (procedure)

The function that converts lists of pitches to chord names.

chordNameLowercaseMinor (boolean)

Downcase roots of minor chords?

chordNameSeparator (markup)

The markup object used to separate parts of a chord name.

chordNoteNamer (procedure)

A function that converts from a pitch object to a text markup. Used for single pitches.

chordPrefixSpacer (number)

The space added between the root symbol and the prefix of a chord name.

chordRootNamer (procedure)

A function that converts from a pitch object to a text markup. Used for chords.

clefGlyph (string)

Name of the symbol within the music font.

clefOctavation (integer)

Add this much extra octavation. Values of 7 and -7 are common.

clefPosition (number)

Where should the center of the clef symbol go, measured in half staff spaces from the center of the staff.

completionBusy (boolean)

Whether a completion-note head is playing.

connectArpeggios (boolean)

If set, connect arpeggios across piano staff.

countPercentRepeats (boolean)

If set, produce counters for percent repeats.

createKeyOnClefChange (boolean)

Print a key signature whenever the clef is changed.

createSpacing (boolean)

Create StaffSpacing objects? Should be set for staves.

crescendoSpanner (symbol)

The type of spanner to be used for crescendi. Available values are ‘hairpin’ and ‘text’. If unset, a hairpin crescendo is used.

crescendoText (markup)

The text to print at start of non-hairpin crescendo, i.e., ‘cresc.’.

cueClefGlyph (string)

Name of the symbol within the music font.

cueClefOctavation (integer)

Add this much extra octavation. Values of 7 and -7 are common.

cueClefPosition (number)

Where should the center of the clef symbol go, measured in half staff spaces from the center of the staff.

currentBarNumber (integer)

Contains the current barnumber. This property is incremented at every bar line.

decrescendoSpanner (symbol)

The type of spanner to be used for decrescendi. Available values are ‘hairpin’ and ‘text’. If unset, a hairpin decrescendo is used.

decrescendoText (markup)

The text to print at start of non-hairpin decrescendo, i.e., ‘dim.’.

defaultBarType (string)

Set the default type of bar line. See whichBar for information on available bar types.

This variable is read by Timing_translator at Score level.

defaultStrings (list)

A list of strings to use in calculating frets for tablatures and fretboards if no strings are provided in the notes for the current moment.

doubleRepeatType (string)

Set the default bar line for double repeats.

doubleSlurs (boolean)

If set, two slurs are created for every slurred note, one above and one below the chord.

drumPitchTable (hash table)

A table mapping percussion instruments (symbols) to pitches.

drumStyleTable (hash table)

A hash table which maps drums to layout settings. Predefined values: ‘drums-style’, ‘timbales-style’, ‘congas-style’, ‘bongos-style’, and ‘percussion-style’.

The layout style is a hash table, containing the drum-pitches (e.g., the symbol ‘hihat’) as keys, and a list (notehead-style script vertical-position) as values.

explicitClefVisibility (vector)

break-visibility’ function for clef changes.

explicitCueClefVisibility (vector)

break-visibility’ function for cue clef changes.

explicitKeySignatureVisibility (vector)

break-visibility’ function for explicit key changes. ‘\override’ of the break-visibility property will set the visibility for normal (i.e., at the start of the line) key signatures.

extendersOverRests (boolean)

Whether to continue extenders as they cross a rest.

extraNatural (boolean)

Whether to typeset an extra natural sign before accidentals changing from a non-natural to another non-natural.

figuredBassAlterationDirection (direction)

Where to put alterations relative to the main figure.

figuredBassCenterContinuations (boolean)

Whether to vertically center pairs of extender lines. This does not work with three or more lines.

figuredBassFormatter (procedure)

A routine generating a markup for a bass figure.

figuredBassPlusDirection (direction)

Where to put plus signs relative to the main figure.

fingeringOrientations (list)

A list of symbols, containing ‘left’, ‘right’, ‘up’ and/or ‘down’. This list determines where fingerings are put relative to the chord being fingered.

firstClef (boolean)

If true, create a new clef when starting a staff.

followVoice (boolean)

If set, note heads are tracked across staff switches by a thin line.

fontSize (number)

The relative size of all grobs in a context.

forbidBreak (boolean)

If set to ##t, prevent a line break at this point.

forceClef (boolean)

Show clef symbol, even if it has not changed. Only active for the first clef after the property is set, not for the full staff.

fretLabels (list)

A list of strings or Scheme-formatted markups containing, in the correct order, the labels to be used for lettered frets in tablature.

glissandoMap (list)

A map in the form of ’((source1 . target1) (source2 . target2) (sourcen . targetn)) showing the glissandi to be drawn for note columns. The value ’() will default to ’((0 . 0) (1 . 1) (n . n)), where n is the minimal number of note-heads in the two note columns between which the glissandi occur.

gridInterval (moment)

Interval for which to generate GridPoints.

handleNegativeFrets (symbol)

How the automatic fret calculator should handle calculated negative frets. Values include 'ignore, to leave them out of the diagram completely, 'include, to include them as calculated, and 'recalculate, to ignore the specified string and find a string where they will fit with a positive fret number.

harmonicAccidentals (boolean)

If set, harmonic notes in chords get accidentals.

harmonicDots (boolean)

If set, harmonic notes in dotted chords get dots.

highStringOne (boolean)

Whether the first string is the string with highest pitch on the instrument. This used by the automatic string selector for tablature notation.

ignoreBarChecks (boolean)

Ignore bar checks.

ignoreFiguredBassRest (boolean)

Don’t swallow rest events.

ignoreMelismata (boolean)

Ignore melismata for this Lyrics line.

implicitBassFigures (list)

A list of bass figures that are not printed as numbers, but only as extender lines.

implicitTimeSignatureVisibility (vector)

break visibility for the default time signature.

includeGraceNotes (boolean)

Do not ignore grace notes for Lyrics.

instrumentCueName (markup)

The name to print if another instrument is to be taken.

instrumentEqualizer (procedure)

A function taking a string (instrument name), and returning a (min . max) pair of numbers for the loudness range of the instrument.

instrumentName (markup)

The name to print left of a staff. The instrumentName property labels the staff in the first system, and the shortInstrumentName property labels following lines.

instrumentTransposition (pitch)

Define the transposition of the instrument. Its value is the pitch that sounds like middle C. This is used to transpose the MIDI output, and \quotes.

internalBarNumber (integer)

Contains the current barnumber. This property is used for internal timekeeping, among others by the Accidental_engraver.

keepAliveInterfaces (list)

A list of symbols, signifying grob interfaces that are worth keeping a staff with remove-empty set around for.

keyAlterationOrder (list)

An alist that defines in what order alterations should be printed. The format is (step . alter), where step is a number from 0 to 6 and alter from -2 (sharp) to 2 (flat).

keySignature (list)

The current key signature. This is an alist containing (step . alter) or ((octave . step) . alter), where step is a number in the range 0 to 6 and alter a fraction, denoting alteration. For alterations, use symbols, e.g. keySignature = #`((6 . ,FLAT)).

lyricMelismaAlignment (direction)

Alignment to use for a melisma syllable.

majorSevenSymbol (markup)

How should the major 7th be formatted in a chord name?

markFormatter (procedure)

A procedure taking as arguments the context and the rehearsal mark. It should return the formatted mark as a markup object.

maximumFretStretch (number)

Don’t allocate frets further than this from specified frets.

measureLength (moment)

Length of one measure in the current time signature.

measurePosition (moment)

How much of the current measure have we had. This can be set manually to create incomplete measures.

melismaBusyProperties (list)

A list of properties (symbols) to determine whether a melisma is playing. Setting this property will influence how lyrics are aligned to notes. For example, if set to #'(melismaBusy beamMelismaBusy), only manual melismata and manual beams are considered. Possible values include melismaBusy, slurMelismaBusy, tieMelismaBusy, and beamMelismaBusy.

metronomeMarkFormatter (procedure)

How to produce a metronome markup. Called with two arguments: a TempoChangeEvent and context.

middleCClefPosition (number)

The position of the middle C, as determined only by the clef. This can be calculated by looking at clefPosition and clefGlyph.

middleCCuePosition (number)

The position of the middle C, as determined only by the clef of the cue notes. This can be calculated by looking at cueClefPosition and cueClefGlyph.

middleCOffset (number)

The offset of middle C from the position given by middleCClefPosition This is used for ottava brackets.

middleCPosition (number)

The place of the middle C, measured in half staff-spaces. Usually determined by looking at middleCClefPosition and middleCOffset.

midiChannelMapping (symbol)

How to map MIDI channels: per instrument (default), staff or voice.

midiInstrument (string)

Name of the MIDI instrument to use.

midiMaximumVolume (number)

Analogous to midiMinimumVolume.

midiMergeUnisons (boolean)

If true, output only one MIDI note-on event when notes with the same pitch, in the same MIDI-file track, overlap.

midiMinimumVolume (number)

Set the minimum loudness for MIDI. Ranges from 0 to 1.

minimumFret (number)

The tablature auto string-selecting mechanism selects the highest string with a fret at least minimumFret.

minimumPageTurnLength (moment)

Minimum length of a rest for a page turn to be allowed.

minimumRepeatLengthForPageTurn (moment)

Minimum length of a repeated section for a page turn to be allowed within that section.

noChordSymbol (markup)

Markup to be displayed for rests in a ChordNames context.

noteToFretFunction (procedure)

Convert list of notes and list of defined strings to full list of strings and fret numbers. Parameters: The context, a list of note events, a list of tabstring events, and the fretboard grob if a fretboard is desired.

ottavation (markup)

If set, the text for an ottava spanner. Changing this creates a new text spanner.

output (music output)

The output produced by a score-level translator during music interpretation.

partCombineTextsOnNote (boolean)

Print part-combine texts only on the next note rather than immediately on rests or skips.

pedalSostenutoStrings (list)

See pedalSustainStrings.

pedalSostenutoStyle (symbol)

See pedalSustainStyle.

pedalSustainStrings (list)

A list of strings to print for sustain-pedal. Format is (up updown down), where each of the three is the string to print when this is done with the pedal.

pedalSustainStyle (symbol)

A symbol that indicates how to print sustain pedals: text, bracket or mixed (both).

pedalUnaCordaStrings (list)

See pedalSustainStrings.

pedalUnaCordaStyle (symbol)

See pedalSustainStyle.

predefinedDiagramTable (hash table)

The hash table of predefined fret diagrams to use in FretBoards.

printKeyCancellation (boolean)

Print restoration alterations before a key signature change.

printOctaveNames (boolean)

Print octave marks for the NoteNames context.

printPartCombineTexts (boolean)

Set ‘Solo’ and ‘A due’ texts in the part combiner?

proportionalNotationDuration (moment)

Global override for shortest-playing duration. This is used for switching on proportional notation.

rehearsalMark (integer)

The last rehearsal mark printed.

repeatCommands (list)

This property is a list of commands of the form (list 'volta x), where x is a string or #f. 'end-repeat is also accepted as a command.

repeatCountVisibility (procedure)

A procedure taking as arguments an integer and context, returning whether the corresponding percent repeat number should be printed when countPercentRepeats is set.

restCompletionBusy (boolean)

Signal whether a completion-rest is active.

restNumberThreshold (number)

If a multimeasure rest has more measures than this, a number is printed.

searchForVoice (boolean)

Signal whether a search should be made of all contexts in the context hierarchy for a voice to provide rhythms for the lyrics.

shapeNoteStyles (vector)

Vector of symbols, listing style for each note head relative to the tonic (qv.) of the scale.

shortInstrumentName (markup)

See instrumentName.

shortVocalName (markup)

Name of a vocal line, short version.

skipBars (boolean)

If set to true, then skip the empty bars that are produced by multimeasure notes and rests. These bars will not appear on the printed output. If not set (the default), multimeasure notes and rests expand into their full length, printing the appropriate number of empty bars so that synchronization with other voices is preserved.

{
  r1 r1*3 R1*3
  \set Score.skipBars= ##t
  r1*3 R1*3
}
skipTypesetting (boolean)

If true, no typesetting is done, speeding up the interpretation phase. Useful for debugging large scores.

soloIIText (markup)

The text for the start of a solo for voice ‘two’ when part-combining.

soloText (markup)

The text for the start of a solo when part-combining.

squashedPosition (integer)

Vertical position of squashing for Pitch_squash_engraver.

staffLineLayoutFunction (procedure)

Layout of staff lines, traditional, or semitone.

stanza (markup)

Stanza ‘number’ to print before the start of a verse. Use in Lyrics context.

stemLeftBeamCount (integer)

Specify the number of beams to draw on the left side of the next note. Overrides automatic beaming. The value is only used once, and then it is erased.

stemRightBeamCount (integer)

See stemLeftBeamCount.

stringNumberOrientations (list)

See fingeringOrientations.

stringOneTopmost (boolean)

Whether the first string is printed on the top line of the tablature.

stringTunings (list)

The tablature strings tuning. It is a list of the pitches of each string (starting with the lowest numbered one).

strokeFingerOrientations (list)

See fingeringOrientations.

subdivideBeams (boolean)

If set, multiple beams will be subdivided at baseMoment positions by only drawing one beam over the beat.

suggestAccidentals (boolean)

If set, accidentals are typeset as cautionary suggestions over the note.

systemStartDelimiter (symbol)

Which grob to make for the start of the system/staff? Set to SystemStartBrace, SystemStartBracket or SystemStartBar.

systemStartDelimiterHierarchy (pair)

A nested list, indicating the nesting of a start delimiters.

tablatureFormat (procedure)

A function formatting a tablature note head. Called with three arguments: context, string number and, fret number. It returns the text as a markup.

tabStaffLineLayoutFunction (procedure)

A function determining the staff position of a tablature note head. Called with two arguments: the context and the string.

tempoHideNote (boolean)

Hide the note = count in tempo marks.

tempoWholesPerMinute (moment)

The tempo in whole notes per minute.

tieWaitForNote (boolean)

If true, tied notes do not have to follow each other directly. This can be used for writing out arpeggios.

timeSignatureFraction (pair of numbers)

A pair of numbers, signifying the time signature. For example, #'(4 . 4) is a 4/4 time signature.

timeSignatureSettings (list)

A nested alist of settings for time signatures. Contains elements for various time signatures. The element for each time signature contains entries for baseMoment, beatStructure, and beamExceptions.

timing (boolean)

Keep administration of measure length, position, bar number, etc.? Switch off for cadenzas.

tonic (pitch)

The tonic of the current scale.

topLevelAlignment (boolean)

If true, the Vertical_align_engraver will create a VerticalAlignment; otherwise, it will create a StaffGrouper

trebleStaffProperties (list)

An alist of property settings to apply for the up staff of PianoStaff. Used by \autochange.

tremoloFlags (integer)

The number of tremolo flags to add if no number is specified.

tupletFullLength (boolean)

If set, the tuplet is printed up to the start of the next note.

tupletFullLengthNote (boolean)

If set, end at the next note, otherwise end on the matter (time signatures, etc.) before the note.

tupletSpannerDuration (moment)

Normally, a tuplet bracket is as wide as the \times expression that gave rise to it. By setting this property, you can make brackets last shorter.

{
  \set tupletSpannerDuration = #(ly:make-moment 1 4)
  \times 2/3 { c8 c c c c c }
}
useBassFigureExtenders (boolean)

Whether to use extender lines for repeated bass figures.

vocalName (markup)

Name of a vocal line.

voltaSpannerDuration (moment)

This specifies the maximum duration to use for the brackets printed for \alternative. This can be used to shrink the length of brackets in the situation where one alternative is very large.

whichBar (string)

This property is read to determine what type of bar line to create.

Example:

\set Staff.whichBar = "|:"

This will create a start-repeat bar in this staff only. Valid values are described in bar-line-interface.


A.15 Layout properties

add-stem-support (boolean)

If set, the Stem object is included in this script’s support.

after-line-breaking (boolean)

Dummy property, used to trigger callback for after-line-breaking.

align-dir (direction)

Which side to align? -1: left side, 0: around center of width, 1: right side.

allow-loose-spacing (boolean)

If set, column can be detached from main spacing.

allow-span-bar (boolean)

If false, no inter-staff bar line will be created below this bar line.

alteration (number)

Alteration numbers for accidental.

alteration-alist (list)

List of (pitch . accidental) pairs for key signature.

annotation (string)

Annotate a grob for debug purposes.

annotation-balloon (boolean)

Print the balloon around an annotation.

annotation-line (boolean)

Print the line from an annotation to the grob that it annotates.

arpeggio-direction (direction)

If set, put an arrow on the arpeggio squiggly line.

arrow-length (number)

Arrow length.

arrow-width (number)

Arrow width.

auto-knee-gap (dimension, in staff space)

If a gap is found between note heads where a horizontal beam fits that is larger than this number, make a kneed beam.

average-spacing-wishes (boolean)

If set, the spacing wishes are averaged over staves.

avoid-note-head (boolean)

If set, the stem of a chord does not pass through all note heads, but starts at the last note head.

avoid-slur (symbol)

Method of handling slur collisions. Choices are inside, outside, around, and ignore. inside adjusts the slur if needed to keep the grob inside the slur. outside moves the grob vertically to the outside of the slur. around moves the grob vertically to the outside of the slur only if there is a collision. ignore does not move either. In grobs whose notational significance depends on vertical position (such as accidentals, clefs, etc.), outside and around behave like ignore.

axes (list)

List of axis numbers. In the case of alignment grobs, this should contain only one number.

base-shortest-duration (moment)

Spacing is based on the shortest notes in a piece. Normally, pieces are spaced as if notes at least as short as this are present.

baseline-skip (dimension, in staff space)

Distance between base lines of multiple lines of text.

beam-thickness (dimension, in staff space)

Beam thickness, measured in staff-space units.

beam-width (dimension, in staff space)

Width of the tremolo sign.

beamed-stem-shorten (list)

How much to shorten beamed stems, when their direction is forced. It is a list, since the value is different depending on the number of flags and beams.

beaming (pair)

Pair of number lists. Each number list specifies which beams to make. 0 is the central beam, 1 is the next beam toward the note, etc. This information is used to determine how to connect the beaming patterns from stem to stem inside a beam.

beamlet-default-length (pair)

A pair of numbers. The first number specifies the default length of a beamlet that sticks out of the left hand side of this stem; the second number specifies the default length of the beamlet to the right. The actual length of a beamlet is determined by taking either the default length or the length specified by beamlet-max-length-proportion, whichever is smaller.

beamlet-max-length-proportion (pair)

The maximum length of a beamlet, as a proportion of the distance between two adjacent stems.

before-line-breaking (boolean)

Dummy property, used to trigger a callback function.

between-cols (pair)

Where to attach a loose column to.

bound-details (list)

An alist of properties for determining attachments of spanners to edges.

bound-padding (number)

The amount of padding to insert around spanner bounds.

bracket-flare (pair of numbers)

A pair of numbers specifying how much edges of brackets should slant outward. Value 0.0 means straight edges.

bracket-visibility (boolean or symbol)

This controls the visibility of the tuplet bracket. Setting it to false prevents printing of the bracket. Setting the property to if-no-beam makes it print only if there is no beam associated with this tuplet bracket.

break-align-anchor (number)

Grobs aligned to this break-align grob will have their X-offsets shifted by this number. In bar lines, for example, this is used to position grobs relative to the (visual) center of the bar line.

break-align-anchor-alignment (number)

Read by ly:break-aligned-interface::calc-extent-aligned-anchor for aligning an anchor to a grob’s extent.

break-align-orders (vector)

Defines the order in which prefatory matter (clefs, key signatures) appears. The format is a vector of length 3, where each element is one order for end-of-line, middle of line, and start-of-line, respectively. An order is a list of symbols.

For example, clefs are put after key signatures by setting

\override Score.BreakAlignment #'break-align-orders =
  #(make-vector 3 '(span-bar
                    breathing-sign
                    staff-bar
                    key
                    clef
                    time-signature))
break-align-symbol (symbol)

This key is used for aligning and spacing breakable items.

break-align-symbols (list)

A list of symbols that determine which break-aligned grobs to align this to. If the grob selected by the first symbol in the list is invisible due to break-visibility, we will align to the next grob (and so on). Choices are left-edge, ambitus, breathing-sign, clef, staff-bar, key-cancellation, key-signature, time-signature, and custos.

break-overshoot (pair of numbers)

How much does a broken spanner stick out of its bounds?

break-visibility (vector)

A vector of 3 booleans, #(end-of-line unbroken begin-of-line). #t means visible, #f means killed.

breakable (boolean)

Allow breaks here.

c0-position (integer)

An integer indicating the position of middle C.

circled-tip (boolean)

Put a circle at start/end of hairpins (al/del niente).

clip-edges (boolean)

Allow outward pointing beamlets at the edges of beams?

collapse-height (dimension, in staff space)

Minimum height of system start delimiter. If equal or smaller, the bracket/brace/line is removed.

collision-interfaces (list)

A list of interfaces for which automatic beam-collision resolution is run.

collision-voice-only (boolean)

Does automatic beam collsion apply only to the voice in which the beam was created?

color (color)

The color of this grob.

common-shortest-duration (moment)

The most common shortest note length. This is used in spacing. Enlarging this sets the score tighter.

concaveness (number)

A beam is concave if its inner stems are closer to the beam than the two outside stems. This number is a measure of the closeness of the inner stems. It is used for damping the slope of the beam.

connect-to-neighbor (pair)

Pair of booleans, indicating whether this grob looks as a continued break.

control-points (list)

List of offsets (number pairs) that form control points for the tie, slur, or bracket shape. For Béziers, this should list the control points of a third-order Bézier curve.

damping (number)

Amount of beam slope damping.

dash-definition (pair)

List of dash-elements defining the dash structure. Each dash-element has a starting t value, an ending t-value, a dash-fraction, and a dash-period.

dash-fraction (number)

Size of the dashes, relative to dash-period. Should be between 0.0 (no line) and 1.0 (continuous line).

dash-period (number)

The length of one dash together with whitespace. If negative, no line is drawn at all.

default-direction (direction)

Direction determined by note head positions.

default-staff-staff-spacing (list)

The settings to use for staff-staff-spacing when it is unset, for ungrouped staves and for grouped staves that do not have the relevant StaffGrouper property set (staff-staff-spacing or staffgroup-staff-spacing).

details (list)

Alist of parameters for detailed grob behavior. More information on the allowed parameters for a grob can be found by looking at the top of the Internals Reference page for each interface having a details property.

digit-names (vector)

Names for string finger digits.

direction (direction)

If side-axis is 0 (or #X), then this property determines whether the object is placed #LEFT, #CENTER or #RIGHT with respect to the other object. Otherwise, it determines whether the object is placed #UP, #CENTER or #DOWN. Numerical values may also be used: #UP=1, #DOWN=-1, #LEFT=-1, #RIGHT=1, #CENTER=0.

dot-count (integer)

The number of dots.

dot-negative-kern (number)

The space to remove between a dot and a slash in percent repeat glyphs. Larger values bring the two elements closer together.

dot-placement-list (list)

List consisting of (description string-number fret-number finger-number) entries used to define fret diagrams.

duration-log (integer)

The 2-log of the note head duration, i.e., 0 = whole note, 1 = half note, etc.

eccentricity (number)

How asymmetrical to make a slur. Positive means move the center to the right.

edge-height (pair)

A pair of numbers specifying the heights of the vertical edges: (left-height . right-height).

edge-text (pair)

A pair specifying the texts to be set at the edges: (left-text . right-text).

expand-limit (integer)

Maximum number of measures expanded in church rests.

extra-dy (number)

Slope glissandi this much extra.

extra-offset (pair of numbers)

A pair representing an offset. This offset is added just before outputting the symbol, so the typesetting engine is completely oblivious to it. The values are measured in staff-space units of the staff’s StaffSymbol.

extra-spacing-height (pair of numbers)

In the horizontal spacing problem, we increase the height of each item by this amount (by adding the ‘car’ to the bottom of the item and adding the ‘cdr’ to the top of the item). In order to make a grob infinitely high (to prevent the horizontal spacing problem from placing any other grobs above or below this grob), set this to (-inf.0 . +inf.0).

extra-spacing-width (pair of numbers)

In the horizontal spacing problem, we pad each item by this amount (by adding the ‘car’ on the left side of the item and adding the ‘cdr’ on the right side of the item). In order to make a grob take up no horizontal space at all, set this to (+inf.0 . -inf.0).

extra-X-extent (pair of numbers)

A grob is enlarged in X dimension by this much.

extra-Y-extent (pair of numbers)

A grob is enlarged in Y dimension by this much.

flag (stencil)

A function returning the full flag stencil for the Stem, which is passed to the function as the only argument. The default ly:stem::calc-stencil function uses the flag-style property to determine the correct glyph for the flag. By providing your own function, you can create arbitrary flags.

flag-count (number)

The number of tremolo beams.

flag-style (symbol)

A symbol determining what style of flag glyph is typeset on a Stem. Valid options include '() for standard flags, 'mensural and 'no-flag, which switches off the flag.

font-encoding (symbol)

The font encoding is the broadest category for selecting a font. Currently, only lilypond’s system fonts (Emmentaler) are using this property. Available values are fetaMusic (Emmentaler), fetaBraces, fetaText (Emmentaler).

font-family (symbol)

The font family is the broadest category for selecting text fonts. Options include: sans, roman.

font-name (string)

Specifies a file name (without extension) of the font to load. This setting overrides selection using font-family, font-series and font-shape.

font-series (symbol)

Select the series of a font. Choices include medium, bold, bold-narrow, etc.

font-shape (symbol)

Select the shape of a font. Choices include upright, italic, caps.

font-size (number)

The font size, compared to the ‘normal’ size. 0 is style-sheet’s normal size, -1 is smaller, +1 is bigger. Each step of 1 is approximately 12% larger; 6 steps are exactly a factor 2 larger. Fractional values are allowed.

footnote-text (markup)

A footnote for the grob.

force-hshift (number)

This specifies a manual shift for notes in collisions. The unit is the note head width of the first voice note. This is used by note-collision-interface.

fraction (pair of numbers)

Numerator and denominator of a time signature object.

french-beaming (boolean)

Use French beaming style for this stem. The stem stops at the innermost beams.

fret-diagram-details (list)

An alist of detailed grob properties for fret diagrams. Each alist entry consists of a (property . value) pair. The properties which can be included in fret-diagram-details include the following:

  • barre-type – Type of barre indication used. Choices include curved, straight, and none. Default curved.
  • capo-thickness – Thickness of capo indicator, in multiples of fret-space. Default value 0.5.
  • dot-color – Color of dots. Options include black and white. Default black.
  • dot-label-font-mag – Magnification for font used to label fret dots. Default value 1.
  • dot-position – Location of dot in fret space. Default 0.6 for dots without labels, 0.95-dot-radius for dots with labels.
  • dot-radius – Radius of dots, in terms of fret spaces. Default value 0.425 for labeled dots, 0.25 for unlabeled dots.
  • finger-code – Code for the type of fingering indication used. Options include none, in-dot, and below-string. Default none for markup fret diagrams, below-string for FretBoards fret diagrams.
  • fret-count – The number of frets. Default 4.
  • fret-label-custom-format – The format string to be used label the lowest fret number, when number-type equals to custom. Default "~a".
  • fret-label-font-mag – The magnification of the font used to label the lowest fret number. Default 0.5.
  • fret-label-vertical-offset – The offset of the fret label from the center of the fret in direction parallel to strings. Default 0.
  • label-dir – Side to which the fret label is attached. -1, #LEFT, or #DOWN for left or down; 1, #RIGHT, or #UP for right or up. Default #RIGHT.
  • mute-string – Character string to be used to indicate muted string. Default "x".
  • number-type – Type of numbers to use in fret label. Choices include roman-lower, roman-upper, arabic and custom. In the later case, the format string is supplied by the fret-label-custom-format property. Default roman-lower.
  • open-string – Character string to be used to indicate open string. Default "o".
  • orientation – Orientation of fret-diagram. Options include normal, landscape, and opposing-landscape. Default normal.
  • string-count – The number of strings. Default 6.
  • string-label-font-mag – The magnification of the font used to label fingerings at the string, rather than in the dot. Default value 0.6 for normal orientation, 0.5 for landscape and opposing-landscape.
  • string-thickness-factor – Factor for changing thickness of each string in the fret diagram. Thickness of string k is given by thickness * (1+string-thickness-factor) ^ (k-1). Default 0.
  • top-fret-thickness – The thickness of the top fret line, as a multiple of the standard thickness. Default value 3.
  • xo-font-magnification – Magnification used for mute and open string indicators. Default value 0.5.
  • xo-padding – Padding for open and mute indicators from top fret. Default value 0.25.
full-length-padding (number)

How much padding to use at the right side of a full-length tuplet bracket.

full-length-to-extent (boolean)

Run to the extent of the column for a full-length tuplet bracket.

full-measure-extra-space (number)

Extra space that is allocated at the beginning of a measure with only one note. This property is read from the NonMusicalPaperColumn that begins the measure.

full-size-change (boolean)

Don’t make a change clef smaller.

gap (dimension, in staff space)

Size of a gap in a variable symbol.

gap-count (integer)

Number of gapped beams for tremolo.

glyph (string)

A string determining what ‘style’ of glyph is typeset. Valid choices depend on the function that is reading this property.

glyph-name (string)

The glyph name within the font.

glyph-name-alist (list)

An alist of key-string pairs.

graphical (boolean)

Display in graphical (vs. text) form.

grow-direction (direction)

Crescendo or decrescendo?

hair-thickness (number)

Thickness of the thin line in a bar line.

harp-pedal-details (list)

An alist of detailed grob properties for harp pedal diagrams. Each alist entry consists of a (property . value) pair. The properties which can be included in harp-pedal-details include the following:

  • box-offset – Vertical shift of the center of flat/sharp pedal boxes above/below the horizontal line. Default value 0.8.
  • box-width – Width of each pedal box. Default value 0.4.
  • box-height – Height of each pedal box. Default value 1.0.
  • space-before-divider – Space between boxes before the first divider (so that the diagram can be made symmetric). Default value 0.8.
  • space-after-divider – Space between boxes after the first divider. Default value 0.8.
  • circle-thickness – Thickness (in unit of the line-thickness) of the ellipse around circled pedals. Default value 0.5.
  • circle-x-padding – Padding in X direction of the ellipse around circled pedals. Default value 0.15.
  • circle-y-padding – Padding in Y direction of the ellipse around circled pedals. Default value 0.2.
head-direction (direction)

Are the note heads left or right in a semitie?

height (dimension, in staff space)

Height of an object in staff-space units.

height-limit (dimension, in staff space)

Maximum slur height: The longer the slur, the closer it is to this height.

hide-tied-accidental-after-break (boolean)

If set, an accidental that appears on a tied note after a line break will not be displayed.

horizontal-shift (integer)

An integer that identifies ranking of NoteColumns for horizontal shifting. This is used by note-collision-interface.

horizontal-skylines (pair of skylines)

Two skylines, one to the left and one to the right of this grob.

ignore-collision (boolean)

If set, don’t do note collision resolution on this NoteColumn.

implicit (boolean)

Is this an implicit bass figure?

inspect-index (integer)

If debugging is set, set beam and slur configuration to this index, and print the respective scores.

inspect-quants (pair of numbers)

If debugging is set, set beam and slur quants to this position, and print the respective scores.

keep-inside-line (boolean)

If set, this column cannot have objects sticking into the margin.

kern (dimension, in staff space)

Amount of extra white space to add. For bar lines, this is the amount of space after a thick line.

knee (boolean)

Is this beam kneed?

knee-spacing-correction (number)

Factor for the optical correction amount for kneed beams. Set between 0 for no correction and 1 for full correction.

labels (list)

List of labels (symbols) placed on a column.

layer (integer)

An integer which determines the order of printing objects. Objects with the lowest value of layer are drawn first, then objects with progressively higher values are drawn, so objects with higher values overwrite objects with lower values. By default most objects are assigned a layer value of 1.

ledger-line-thickness (pair of numbers)

The thickness of ledger lines. It is the sum of 2 numbers: The first is the factor for line thickness, and the second for staff space. Both contributions are added.

left-bound-info (list)

An alist of properties for determining attachments of spanners to edges.

left-padding (dimension, in staff space)

The amount of space that is put left to an object (e.g., a lyric extender).

length (dimension, in staff space)

User override for the stem length of unbeamed stems.

length-fraction (number)

Multiplier for lengths. Used for determining ledger lines and stem lengths.

line-break-penalty (number)

Penalty for a line break at this column. This affects the choices of the line breaker; it avoids a line break at a column with a positive penalty and prefers a line break at a column with a negative penalty.

line-break-permission (symbol)

Instructs the line breaker on whether to put a line break at this column. Can be force or allow.

line-break-system-details (list)

An alist of properties to use if this column is the start of a system.

line-count (integer)

The number of staff lines.

line-positions (list)

Vertical positions of staff lines.

line-thickness (number)

The thickness of the tie or slur contour.

long-text (markup)

Text markup. See Formatting text.

max-beam-connect (integer)

Maximum number of beams to connect to beams from this stem. Further beams are typeset as beamlets.

max-stretch (number)

The maximum amount that this VerticalAxisGroup can be vertically stretched (for example, in order to better fill a page).

measure-count (integer)

The number of measures for a multi-measure rest.

measure-length (moment)

Length of a measure. Used in some spacing situations.

merge-differently-dotted (boolean)

Merge note heads in collisions, even if they have a different number of dots. This is normal notation for some types of polyphonic music.

merge-differently-dotted only applies to opposing stem directions (i.e., voice 1 & 2).

merge-differently-headed (boolean)

Merge note heads in collisions, even if they have different note heads. The smaller of the two heads is rendered invisible. This is used in polyphonic guitar notation. The value of this setting is used by note-collision-interface.

merge-differently-headed only applies to opposing stem directions (i.e., voice 1 & 2).

minimum-distance (dimension, in staff space)

Minimum distance between rest and notes or beam.

minimum-length (dimension, in staff space)

Try to make a spanner at least this long, normally in the horizontal direction. This requires an appropriate callback for the springs-and-rods property. If added to a Tie, this sets the minimum distance between noteheads.

minimum-length-fraction (number)

Minimum length of ledger line as fraction of note head size.

minimum-space (dimension, in staff space)

Minimum distance that the victim should move (after padding).

minimum-X-extent (pair of numbers)

Minimum size of an object in X dimension, measured in staff-space units.

minimum-Y-extent (pair of numbers)

Minimum size of an object in Y dimension, measured in staff-space units.

neutral-direction (direction)

Which direction to take in the center of the staff.

neutral-position (number)

Position (in half staff spaces) where to flip the direction of custos stem.

next (graphical (layout) object)

Object that is next relation (e.g., the lyric syllable following an extender).

no-alignment (boolean)

If set, don’t place this grob in a VerticalAlignment; rather, place it using its own Y-offset callback.

no-ledgers (boolean)

If set, don’t draw ledger lines on this object.

no-stem-extend (boolean)

If set, notes with ledger lines do not get stems extending to the middle staff line.

non-break-align-symbols (list)

A list of symbols that determine which NON-break-aligned interfaces to align this to.

non-default (boolean)

Set for manually specified clefs.

non-musical (boolean)

True if the grob belongs to a NonMusicalPaperColumn.

nonstaff-nonstaff-spacing (list)

The spacing alist controlling the distance between the current non-staff line and the next non-staff line in the direction of staff-affinity, if both are on the same side of the related staff, and staff-affinity is either UP or DOWN. See staff-staff-spacing for a description of the alist structure.

nonstaff-relatedstaff-spacing (list)

The spacing alist controlling the distance between the current non-staff line and the nearest staff in the direction of staff-affinity, if there are no non-staff lines between the two, and staff-affinity is either UP or DOWN. If staff-affinity is CENTER, then nonstaff-relatedstaff-spacing is used for the nearest staves on both sides, even if other non-staff lines appear between the current one and either of the staves. See staff-staff-spacing for a description of the alist structure.

nonstaff-unrelatedstaff-spacing (list)

The spacing alist controlling the distance between the current non-staff line and the nearest staff in the opposite direction from staff-affinity, if there are no other non-staff lines between the two, and staff-affinity is either UP or DOWN. See staff-staff-spacing for a description of the alist structure.

normalized-endpoints (pair)

Represents left and right placement over the total spanner, where the width of the spanner is normalized between 0 and 1.

note-names (vector)

Vector of strings containing names for easy-notation note heads.

outside-staff-horizontal-padding (number)

By default, an outside-staff-object can be placed so that is it very close to another grob horizontally. If this property is set, the outside-staff-object is raised so that it is not so close to its neighbor.

outside-staff-padding (number)

The padding to place between this grob and the staff when spacing according to outside-staff-priority.

outside-staff-priority (number)

If set, the grob is positioned outside the staff in such a way as to avoid all collisions. In case of a potential collision, the grob with the smaller outside-staff-priority is closer to the staff.

packed-spacing (boolean)

If set, the notes are spaced as tightly as possible.

padding (dimension, in staff space)

Add this much extra space between objects that are next to each other.

padding-pairs (list)

An alist mapping (name . name) to distances.

page-break-penalty (number)

Penalty for page break at this column. This affects the choices of the page breaker; it avoids a page break at a column with a positive penalty and prefers a page break at a column with a negative penalty.

page-break-permission (symbol)

Instructs the page breaker on whether to put a page break at this column. Can be force or allow.

page-turn-penalty (number)

Penalty for a page turn at this column. This affects the choices of the page breaker; it avoids a page turn at a column with a positive penalty and prefers a page turn at a column with a negative penalty.

page-turn-permission (symbol)

Instructs the page breaker on whether to put a page turn at this column. Can be force or allow.

parenthesized (boolean)

Parenthesize this grob.

positions (pair of numbers)

Pair of staff coordinates (left . right), where both left and right are in staff-space units of the current staff. For slurs, this value selects which slur candidate to use; if extreme positions are requested, the closest one is taken.

prefer-dotted-right (boolean)

For note collisions, prefer to shift dotted up-note to the right, rather than shifting just the dot.

ratio (number)

Parameter for slur shape. The higher this number, the quicker the slur attains its height-limit.

remove-empty (boolean)

If set, remove group if it contains no interesting items.

remove-first (boolean)

Remove the first staff of an orchestral score?

restore-first (boolean)

Print a natural before the accidental.

rhythmic-location (rhythmic location)

Where (bar number, measure position) in the score.

right-bound-info (list)

An alist of properties for determining attachments of spanners to edges.

right-padding (dimension, in staff space)

Space to insert on the right side of an object (e.g., between note and its accidentals).

rotation (list)

Number of degrees to rotate this object, and what point to rotate around. For example, #'(45 0 0) rotates by 45 degrees around the center of this object.

same-direction-correction (number)

Optical correction amount for stems that are placed in tight configurations. This amount is used for stems with the same direction to compensate for note head to stem distance.

script-priority (number)

A sorting key that determines in what order a script is within a stack of scripts.

self-alignment-X (number)

Specify alignment of an object. The value -1 means left aligned, 0 centered, and 1 right-aligned in X direction. Other numerical values may also be specified.

self-alignment-Y (number)

Like self-alignment-X but for the Y axis.

shorten-pair (pair of numbers)

The lengths to shorten a text-spanner on both sides, for example a pedal bracket. Positive values shorten the text-spanner, while negative values lengthen it.

shortest-duration-space (dimension, in staff space)

Start with this much space for the shortest duration. This is expressed in spacing-increment as unit. See also spacing-spanner-interface.

shortest-playing-duration (moment)

The duration of the shortest note playing here.

shortest-starter-duration (moment)

The duration of the shortest note that starts here.

side-axis (number)

If the value is #X (or equivalently 0), the object is placed horizontally next to the other object. If the value is #Y or 1, it is placed vertically.

side-relative-direction (direction)

Multiply direction of direction-source with this to get the direction of this object.

size (number)

Size of object, relative to standard size.

skyline-horizontal-padding (number)

For determining the vertical distance between two staves, it is possible to have a configuration which would result in a tight interleaving of grobs from the top staff and the bottom staff. The larger this parameter is, the farther apart the staves are placed in such a configuration.

skyline-vertical-padding (number)

The amount by which the left and right skylines of a column are padded vertically, beyond the Y-extents and extra-spacing-heights of the constituent grobs in the column. Increase this to prevent interleaving of grobs from adjacent columns.

slash-negative-kern (number)

The space to remove between slashes in percent repeat glyphs. Larger values bring the two elements closer together.

slope (number)

The slope of this object.

slur-padding (number)

Extra distance between slur and script.

space-alist (list)

A table that specifies distances between prefatory items, like clef and time-signature. The format is an alist of spacing tuples: (break-align-symbol type . distance), where type can be the symbols minimum-space or extra-space.

space-to-barline (boolean)

If set, the distance between a note and the following non-musical column will be measured to the bar line instead of to the beginning of the non-musical column. If there is a clef change followed by a bar line, for example, this means that we will try to space the non-musical column as though the clef is not there.

spacing-increment (number)

Add this much space for a doubled duration. Typically, the width of a note head. See also spacing-spanner-interface.

spacing-pair (pair)

A pair of alignment symbols which set an object’s spacing relative to its left and right BreakAlignments.

For example, a MultiMeasureRest will ignore prefatory items at its bounds (i.e., clefs, key signatures and time signatures) using the following override:

\override MultiMeasureRest #'spacing-pair = #'(staff-bar . staff-bar)
spanner-id (string)

An identifier to distinguish concurrent spanners.

springs-and-rods (boolean)

Dummy variable for triggering spacing routines.

stacking-dir (direction)

Stack objects in which direction?

staff-affinity (direction)

The direction of the staff to use for spacing the current non-staff line. Choices are UP, DOWN, and CENTER. If CENTER, the non-staff line will be placed equidistant between the two nearest staves on either side, unless collisions or other spacing constraints prevent this. Setting staff-affinity for a staff causes it to be treated as a non-staff line. Setting staff-affinity to #f causes a non-staff line to be treated as a staff.

staff-padding (dimension, in staff space)

Maintain this much space between reference points and the staff. Its effect is to align objects of differing sizes (like the dynamics p and f) on their baselines.

staff-position (number)

Vertical position, measured in half staff spaces, counted from the middle line.

staff-space (dimension, in staff space)

Amount of space between staff lines, expressed in global staff-space.

staff-staff-spacing (list)

When applied to a staff-group’s StaffGrouper grob, this spacing alist controls the distance between consecutive staves within the staff-group. When applied to a staff’s VerticalAxisGroup grob, it controls the distance between the staff and the nearest staff below it in the same system, replacing any settings inherited from the StaffGrouper grob of the containing staff-group, if there is one. This property remains in effect even when non-staff lines appear between staves. The alist can contain the following keys:

  • basic-distance – the vertical distance, measured in staff-spaces, between the reference points of the two items when no collisions would result, and no stretching or compressing is in effect.
  • minimum-distance – the smallest allowable vertical distance, measured in staff-spaces, between the reference points of the two items, when compressing is in effect.
  • padding – the minimum required amount of unobstructed vertical whitespace between the bounding boxes (or skylines) of the two items, measured in staff-spaces.
  • stretchability – a unitless measure of the dimension’s relative propensity to stretch. If zero, the distance will not stretch (unless collisions would result).
staffgroup-staff-spacing (list)

The spacing alist controlling the distance between the last staff of the current staff-group and the staff just below it in the same system, even if one or more non-staff lines exist between the two staves. If the staff-staff-spacing property of the staff’s VerticalAxisGroup grob is set, that is used instead. See staff-staff-spacing for a description of the alist structure.

stem-attachment (pair of numbers)

An (x . y) pair where the stem attaches to the notehead.

stem-end-position (number)

Where does the stem end (the end is opposite to the support-head)?

stem-spacing-correction (number)

Optical correction amount for stems that are placed in tight configurations. For opposite directions, this amount is the correction for two normal sized stems that overlap completely.

stemlet-length (number)

How long should be a stem over a rest?

stencil (stencil)

The symbol to print.

stencils (list)

Multiple stencils, used as intermediate value.

strict-grace-spacing (boolean)

If set, main notes are spaced normally, then grace notes are put left of the musical columns for the main notes.

strict-note-spacing (boolean)

If set, unbroken columns with non-musical material (clefs, bar lines, etc.) are not spaced separately, but put before musical columns.

stroke-style (string)

Set to "grace" to turn stroke through flag on.

style (symbol)

This setting determines in what style a grob is typeset. Valid choices depend on the stencil callback reading this property.

text (markup)

Text markup. See Formatting text.

text-direction (direction)

This controls the ordering of the words. The default RIGHT is for roman text. Arabic or Hebrew should use LEFT.

thick-thickness (number)

Bar line thickness, measured in line-thickness.

thickness (number)

Line thickness, generally measured in line-thickness.

thin-kern (number)

The space after a hair-line in a bar line.

tie-configuration (list)

List of (position . dir) pairs, indicating the desired tie configuration, where position is the offset from the center of the staff in staff space and dir indicates the direction of the tie (1=>up, -1=>down, 0=>center). A non-pair entry in the list causes the corresponding tie to be formatted automatically.

to-barline (boolean)

If true, the spanner will stop at the bar line just before it would otherwise stop.

toward-stem-shift (number)

Amount by which scripts are shifted toward the stem if their direction coincides with the stem direction. 0.0 means keep the default position (centered on the note head), 1.0 means centered on the stem. Interpolated values are possible.

transparent (boolean)

This makes the grob invisible.

uniform-stretching (boolean)

If set, items stretch proportionally to their durations. This looks better in complex polyphonic patterns.

used (boolean)

If set, this spacing column is kept in the spacing problem.

vertical-skylines (pair of skylines)

Two skylines, one above and one below this grob.

when (moment)

Global time step associated with this column happen?

whiteout (boolean)

If true, the grob is printed over a white background to white-out underlying material, if the grob is visible. Usually #f by default.

width (dimension, in staff space)

The width of a grob measured in staff space.

word-space (dimension, in staff space)

Space to insert between words in texts.

X-extent (pair of numbers)

Hard coded extent in X direction.

X-offset (number)

The horizontal amount that this object is moved relative to its X-parent.

Y-extent (pair of numbers)

Hard coded extent in Y direction.

Y-offset (number)

The vertical amount that this object is moved relative to its Y-parent.

zigzag-length (dimension, in staff space)

The length of the lines of a zigzag, relative to zigzag-width. A value of 1 gives 60-degree zigzags.

zigzag-width (dimension, in staff space)

The width of one zigzag squiggle. This number is adjusted slightly so that the glissando line can be constructed from a whole number of squiggles.


A.16 Available music functions

acciaccatura - music (music)

Create an acciaccatura from the following music expression

addChordShape - key-symbol (symbol) tuning (pair) shape-definition (string or pair)

Add chord shape shape-definition to the chord-shape-table hash with the key (cons key-symbol tuning).

addInstrumentDefinition - name (string) lst (list)

Create instrument name with properties list.

addQuote - name (string) music (music)

Define music as a quotable music expression named name

afterGrace - main (music) grace (music)

Create grace note(s) after a main music expression.

allowPageTurn

Allow a page turn. May be used at toplevel (ie between scores or markups), or inside a score.

applyContext - proc (procedure)

Modify context properties with Scheme procedure proc.

applyMusic - func (procedure) music (music)

Apply procedure func to music.

applyOutput - ctx (symbol) proc (procedure)

Apply function proc to every layout object in context ctx

appoggiatura - music (music)

Create an appoggiatura from music

assertBeamQuant - l (pair) r (pair)

Testing function: check whether the beam quants l and r are correct

assertBeamSlope - comp (procedure)

Testing function: check whether the slope of the beam is the same as comp

autochange - music (music)

Make voices that switch between staves automatically

balloonGrobText - grob-name (symbol) offset (pair of numbers) text (markup)

Attach text to grob-name at offset offset (use like \once)

balloonText - offset (pair of numbers) text (markup)

Attach text at offset (use like \tweak)

bar - type (string)

Insert a bar line of type type

barNumberCheck - n (integer)

Print a warning if the current bar number is not n.

bendAfter - delta (real number)

Create a fall or doit of pitch interval delta.

bookOutputName - newfilename (string)

Direct output for the current book block to newfilename.

bookOutputSuffix - newsuffix (string)

Set the output filename suffix for the current book block to newsuffix.

breathe

Insert a breath mark.

chordGlissando - mus1 (music) mus2 (music)

Make a glissando between the notes of triads mus1 and mus2.

clef - type (string)

Set the current clef to type.

compoundMeter - args (pair)

Create compound time signatures. The argument is a Scheme list of lists. Each list describes one fraction, with the last entry being the denominator, while the first entries describe the summands in the enumerator. If the time signature consists of just one fraction, the list can be given directly, i.e. not as a list containing a single list. For example, a time signature of (3+1)/8 + 2/4 would be created as \compoundMeter #'((3 1 8) (2 4)), and a time signature of (3+2)/8 as \compoundMeter #'((3 2 8)) or shorter \compoundMeter #'(3 2 8).

contextStringTuning - tuning (symbol) chord (music)

(undocumented; fixme)

cueClef - type (string)

Set the current cue clef to type.

cueClefUnset

Unset the current cue clef.

cueDuring - what (string) dir (direction) main-music (music)

Insert contents of quote what corresponding to main-music, in a CueVoice oriented by dir.

cueDuringWithClef - what (string) dir (direction) clef (string) main-music (music)

Insert contents of quote what corresponding to main-music, in a CueVoice oriented by dir.

deadNote - note (music)

Print note with a cross-shaped note head.

defaultNoteHeads

Revert to the default note head style.

displayLilyMusic - music (music)

Display the LilyPond input representation of music to the console.

displayMusic - music (music)

Display the internal representation of music to the console.

endSpanners - music (music)

Terminate the next spanner prematurely after exactly one note without the need of a specific end spanner.

featherDurations - factor (moment) argument (music)

Adjust durations of music in argument by rational factor.

footnote - offset (pair of numbers) text (markup) footnote (markup)

Attach text at offset with text referring to footnote (use like \tweak)

footnoteGrob - grob-name (symbol) offset (pair of numbers) text (markup) footnote (markup)

Attach text to grob-name at offset offset, with text referring to footnote (use like \once)

grace - music (music)

Insert music as grace notes.

harmonicByFret - fret (number) music (music)

(undocumented; fixme)

harmonicByRatio - ratio (number) music (music)

(undocumented; fixme)

harmonicNote - note (music)

Print note with a diamond-shaped note head.

harmonicsOn

Set the default note head style to a diamond-shaped style.

instrumentSwitch - name (string)

Switch instrument to name, which must be predefined with \addInstrumentDefinition.

inversion - around (music) to (music) music (music)

Invert music about around and transpose from around to to.

keepWithTag - tag (symbol) music (music)

Include only elements of music that are tagged with tag.

killCues - music (music)

Remove cue notes from music.

label - label (symbol)

Create label as a bookmarking label.

language - language (string)

Set note names for language language.

languageRestore

Restore a previously-saved pitchnames alist.

languageSaveAndChange - language (string)

Store the previous pitchnames alist, and set a new one.

makeClusters - arg (music)

Display chords in arg as clusters.

makeDefaultStringTunings - default-tuning-alist (list)

(undocumented; fixme)

makeStringTuning - tuning (symbol) chord (music)

(undocumented; fixme)

modalInversion - around (music) to (music) scale (music) music (music)

Invert music about around using scale and transpose from around to to.

modalTranspose - from (music) to (music) scale (music) music (music)

Transpose music from pitch from to pitch to using scale.

musicMap - proc (procedure) mus (music)

Apply proc to mus and all of the music it contains.

noPageBreak

Forbid a page break. May be used at toplevel (i.e., between scores or markups), or inside a score.

noPageTurn

Forbid a page turn. May be used at toplevel (i.e., between scores or markups), or inside a score.

octaveCheck - pitch-note (music)

Octave check.

ottava - octave (integer)

Set the octavation.

overrideProperty - name (string) property (symbol) value (any type)

Set property to value in all grobs named name. The name argument is a string of the form "Context.GrobName" or "GrobName".

overrideTimeSignatureSettings - time-signature (pair) base-moment (pair) beat-structure (list) beam-exceptions (list)

Override timeSignatureSettings for time signatures of time-signature to have settings of base-moment, beat-structure, and beam-exceptions.

pageBreak

Force a page break. May be used at toplevel (i.e., between scores or markups), or inside a score.

pageTurn

Force a page turn between two scores or top-level markups.

palmMute - note (music)

Print note with a triangle-shaped note head.

palmMuteOn

Set the default note head style to a triangle-shaped style.

parallelMusic - voice-ids (list) music (music)

Define parallel music sequences, separated by ’|’ (bar check signs), and assign them to the identifiers provided in voice-ids.

voice-ids: a list of music identifiers (symbols containing only letters)

music: a music sequence, containing BarChecks as limiting expressions.

Example:

  \parallelMusic #'(A B C) {
    c c | d d | e e |
    d d | e e | f f |
  }
<==>
  A = { c c | d d | }
  B = { d d | e e | }
  C = { e e | f f | }
parenthesize - arg (music)

Tag arg to be parenthesized.

partcombine - part1 (music) part2 (music)

Take the music in part1 and part2 and typeset so that they share a staff.

partcombineForce - type (symbol-or-boolean) once (boolean)

Override the part-combiner.

phrasingSlurDashPattern - dash-fraction (number) dash-period (number)

Set up a custom style of dash pattern for dash-fraction ratio of line to space repeated at dash-period interval.

pitchedTrill - main-note (music) secondary-note (music)

Print a trill with main-note as the main note of the trill and print secondary-note as a stemless note head in parentheses.

pointAndClickOff

Suppress generating extra code in final-format (e.g. pdf) files to point back to the lilypond source statement.

pointAndClickOn

Enable generation of code in final-format (e.g. pdf) files to reference the originating lilypond source statement; this is helpful when developing a score but generates bigger final-format files.

quoteDuring - what (string) main-music (music)

Indicate a section of music to be quoted. what indicates the name of the quoted voice, as specified in an \addQuote command. main-music is used to indicate the length of music to be quoted; usually contains spacers or multi-measure rests.

removeWithTag - tag (symbol) music (music)

Remove elements of music that are tagged with tag.

resetRelativeOctave - reference-note (music)

Set the octave inside a \relative section.

retrograde - music (music)

Return music in reverse order.

revertTimeSignatureSettings - time-signature (pair)

Revert timeSignatureSettings for time signatures of time-signature.

rightHandFinger - finger (number or string)

Apply finger as a fingering indication.

scaleDurations - fraction (pair of numbers) music (music)

Multiply the duration of events in music by fraction.

shiftDurations - dur (integer) dots (integer) arg (music)

Scale arg up by a factor of 2^dur*(2-(1/2)^dots).

slurDashPattern - dash-fraction (number) dash-period (number)

(undocumented; fixme)

spacingTweaks - parameters (list)

Set the system stretch, by reading the ’system-stretch property of the ‘parameters’ assoc list.

storePredefinedDiagram - fretboard-table (hash table) chord (music) tuning (pair) diagram-definition (string or pair)

Add predefined fret diagram defined by diagram-definition for the chord pitches chord and the stringTuning tuning.

styledNoteHeads - style (symbol) heads (list or symbol) music (music)

Set heads in music to style.

tabChordRepetition

Include the string information in a chord repetition.

tag - tag (symbol) arg (music)

Add tag to the tags property of arg.

tieDashPattern - dash-fraction (number) dash-period (number)

(undocumented; fixme)

tocItem - text (markup)

Add a line to the table of content, using the tocItemMarkup paper variable markup

transposedCueDuring - what (string) dir (direction) pitch-note (music) main-music (music)

Insert notes from the part what into a voice called cue, using the transposition defined by pitch-note. This happens simultaneously with main-music, which is usually a rest. The argument dir determines whether the cue notes should be notated as a first or second voice.

transposition - pitch-note (music)

Set instrument transposition

tweak - sym (symbol) val (any type) arg (music)

Add sym . val to the tweaks property of arg.

unfoldRepeats - music (music)

Force any \repeat volta, \repeat tremolo or \repeat percent commands in music to be interpreted as \repeat unfold.

withMusicProperty - sym (symbol) val (any type) music (music)

Set sym to val in music.

xNote - note (music)

Print note with a cross-shaped note head.

xNotesOn

Set the default note head style to a cross-shaped style.


A.17 Predefined type predicates


R5RS primary predicates

Type predicate

Description

boolean?

boolean

char?

character

number?

number

pair?

pair

port?

port

procedure?

procedure

string?

string

symbol?

symbol

vector?

vector


R5RS secondary predicates

Type predicate

Description

char-alphabetic?

alphabetic character

char-lower-case?

lower-case character

char-numeric?

numeric character

char-upper-case?

upper-case character

char-whitespace?

whitespace character

complex?

complex number

eof-object?

end-of-file object

even?

even number

exact?

exact number

inexact?

inexact number

input-port?

input port

integer?

integer

list?

list (use cheap-list? for faster processing)

negative?

negative number

null?

null

odd?

odd number

output-port?

output port

positive?

positive number

rational?

rational number

real?

real number

zero?

zero


Guile predicates

Type predicate

Description

hash-table?

hash table


LilyPond scheme predicates

Type predicate

Description

boolean-or-symbol?

boolean or symbol

cheap-list?

list (use this instead of list? for faster processing)

color?

color

grob-list?

list of grobs

list-or-symbol?

list or symbol

markup?

markup

markup-command-list?

markup command list

markup-list?

markup list

moment-pair?

pair of moment objects

number-or-grob?

number or grob

number-or-pair?

number or pair

number-or-string?

number or string

number-pair?

pair of numbers

rhythmic-location?

rhythmic location

scheme?

any type

string-or-pair?

string or pair

string-or-symbol?

string or symbol


LilyPond exported predicates

Type predicate

Description

ly:box?

box

ly:context?

context

ly:dimension?

dimension, in staff space

ly:dir?

direction

ly:dispatcher?

dispatcher

ly:duration?

duration

ly:font-metric?

font metric

ly:grob?

graphical (layout) object

ly:grob-array?

array of grobs

ly:input-location?

input location

ly:item?

item

ly:iterator?

iterator

ly:lily-lexer?

lily-lexer

ly:lily-parser?

lily-parser

ly:listener?

listener

ly:moment?

moment

ly:music?

music

ly:music-function?

music function

ly:music-list?

list of music objects

ly:music-output?

music output

ly:otf-font?

OpenType font

ly:output-def?

output definition

ly:page-marker?

page marker

ly:pango-font?

pango font

ly:paper-book?

paper book

ly:paper-system?

paper-system Prob

ly:pitch?

pitch

ly:prob?

property object

ly:score?

score

ly:simple-closure?

simple closure

ly:skyline?

skyline

ly:skyline-pair?

pair of skylines

ly:source-file?

source file

ly:spanner?

spanner

ly:stencil?

stencil

ly:stream-event?

stream event

ly:translator?

translator

ly:translator-group?

translator group


A.18 Scheme functions

Function: ly:add-context-mod contextmods modification

Adds the given context modification to the list contextmods of context modifications.

Function: ly:add-file-name-alist alist

Add mappings for error messages from alist.

Function: ly:add-interface iface desc props

Add a new grob interface. iface is the interface name, desc is the interface description, and props is the list of user-settable properties for the interface.

Function: ly:add-listener list disp cl

Add the listener list to the dispatcher disp. Whenever disp hears an event of class cl, it is forwarded to list.

Function: ly:add-option sym val description

Add a program option sym. val is the default value and description is a string description.

Function: ly:all-grob-interfaces

Return the hash table with all grob interface descriptions.

Function: ly:all-options

Get all option settings in an alist.

Function: ly:all-stencil-expressions

Return all symbols recognized as stencil expressions.

Function: ly:assoc-get key alist default-value strict-checking

Return value if key in alist, else default-value (or #f if not specified). If strict-checking is set to #t and key is not in alist, a programming_error is output.

Function: ly:axis-group-interface::add-element grob grob-element

Set grob the parent of grob-element on all axes of grob.

Function: ly:beam-score-count

count number of beam scores.

Function: ly:book-add-bookpart! book-smob book-part

Add book-part to book-smob book part list.

Function: ly:book-add-score! book-smob score

Add score to book-smob score list.

Function: ly:book-book-parts book

Return book parts in book.

Function: ly:book-header book

Return header in book.

Function: ly:book-paper book

Return paper in book.

Function: ly:book-process book-smob default-paper default-layout output

Print book. output is passed to the backend unchanged. For example, it may be a string (for file based outputs) or a socket (for network based output).

Function: ly:book-process-to-systems book-smob default-paper default-layout output

Print book. output is passed to the backend unchanged. For example, it may be a string (for file based outputs) or a socket (for network based output).

Function: ly:book-scores book

Return scores in book.

Function: ly:box? x

Is x a Box object?

Function: ly:bp num

num bigpoints (1/72th inch).

Function: ly:bracket a iv t p

Make a bracket in direction a. The extent of the bracket is given by iv. The wings protrude by an amount of p, which may be negative. The thickness is given by t.

Function: ly:broadcast disp ev

Send the stream event ev to the dispatcher disp.

Function: ly:camel-case->lisp-identifier name-sym

Convert FooBar_Bla to foo-bar-bla style symbol.

Function: ly:chain-assoc-get key achain default-value strict-checking

Return value for key from a list of alists achain. If no entry is found, return default-value or #f if default-value is not specified. With strict-checking set to #t, a programming_error is output in such cases.

Function: ly:cm num

num cm.

Function: ly:command-line-code

The Scheme code specified on command-line with ‘-e’.

Function: ly:command-line-options

The Scheme options specified on command-line with ‘-d’.

Function: ly:command-line-verbose?

Was be_verbose_global set?

Function: ly:connect-dispatchers to from

Make the dispatcher to listen to events from from.

Function: ly:context? x

Is x a Context object?

Function: ly:context-current-moment context

Return the current moment of context.

Function: ly:context-event-source context

Return event-source of context context.

Function: ly:context-events-below context

Return a stream-distributor that distributes all events from context and all its subcontexts.

Function: ly:context-find context name

Find a parent of context that has name or alias name. Return #f if not found.

Function: ly:context-grob-definition context name

Return the definition of name (a symbol) within context as an alist.

Function: ly:context-id context

Return the ID string of context, i.e., for \context Voice = "one" … return the string one.

Function: ly:context-name context

Return the name of context, i.e., for \context Voice = "one" … return the symbol Voice.

Function: ly:context-now context

Return now-moment of context context.

Function: ly:context-parent context

Return the parent of context, #f if none.

Function: ly:context-property context sym def

Return the value for property sym in context. If def is given, and property value is '(), return def.

Function: ly:context-property-where-defined context name

Return the context above context where name is defined.

Function: ly:context-pushpop-property context grob eltprop val

Do a single \override or \revert operation in context. The grob definition grob is extended with eltprop (if val is specified) or reverted (if unspecified).

Function: ly:context-set-property! context name val

Set value of property name in context context to val.

Function: ly:context-unset-property context name

Unset value of property name in context context.

Function: ly:default-scale

Get the global default scale.

Function: ly:dimension? d

Return d as a number. Used to distinguish length variables from normal numbers.

Function: ly:dir? s

Is s a direction? Valid directions are -1, 0, or 1, where -1 represents left or down, 1 represents right or up, and 0 represents a neutral direction.

Function: ly:dispatcher? x

Is x a Dispatcher object?

Function: ly:duration? x

Is x a Duration object?

Function: ly:duration<? p1 p2

Is p1 shorter than p2?

Function: ly:duration->string dur

Convert dur to a string.

Function: ly:duration-dot-count dur

Extract the dot count from dur.

Function: ly:duration-factor dur

Extract the compression factor from dur. Return it as a pair.

Function: ly:duration-length dur

The length of the duration as a moment.

Function: ly:duration-log dur

Extract the duration log from dur.

Function: ly:effective-prefix

Return effective prefix.

Function: ly:encode-string-for-pdf str

Encode the given string to either Latin1 (which is a subset of the PDFDocEncoding) or if that’s not possible to full UTF-16BE with Byte-Order-Mark (BOM).

Function: ly:engraver-announce-end-grob engraver grob cause

Announce the end of a grob (i.e., the end of a spanner) originating from given engraver instance, with grob being a grob. cause should either be another grob or a music event.

Function: ly:engraver-make-grob engraver grob-name cause

Create a grob originating from given engraver instance, with given grob-name, a symbol. cause should either be another grob or a music event.

Function: ly:error str rest

A Scheme callable function to issue the error str. The error is formatted with format and rest.

Function: ly:eval-simple-closure delayed closure scm-start scm-end

Evaluate a simple closure with the given delayed argument. If scm-start and scm-end are defined, evaluate it purely with those start and end points.

Function: ly:event-deep-copy m

Copy m and all sub expressions of m.

Function: ly:event-property sev sym

Get the property sym of stream event mus. If sym is undefined, return '().

Function: ly:event-set-property! ev sym val

Set property sym in event ev to val.

Function: ly:expand-environment str

Expand $VAR and ${VAR} in str.

Function: ly:export arg

Export a Scheme object to the parser so it is treated as an identifier.

Function: ly:find-file name

Return the absolute file name of name, or #f if not found.

Function: ly:font-config-add-directory dir

Add directory dir to FontConfig.

Function: ly:font-config-add-font font

Add font font to FontConfig.

Function: ly:font-config-display-fonts

Dump a list of all fonts visible to FontConfig.

Function: ly:font-config-get-font-file name

Get the file for font name.

Function: ly:font-design-size font

Given the font metric font, return the design size, relative to the current output-scale.

Function: ly:font-file-name font

Given the font metric font, return the corresponding file name.

Function: ly:font-get-glyph font name

Return a stencil from font for the glyph named name. If the glyph is not available, return an empty stencil.

Note that this command can only be used to access glyphs from fonts loaded with ly:system-font-load; currently, this means either the Emmentaler or Emmentaler-Brace fonts, corresponding to the font encodings fetaMusic and fetaBraces, respectively.

Function: ly:font-glyph-name-to-charcode font name

Return the character code for glyph name in font.

Note that this command can only be used to access glyphs from fonts loaded with ly:system-font-load; currently, this means either the Emmentaler or Emmentaler-Brace fonts, corresponding to the font encodings fetaMusic and fetaBraces, respectively.

Function: ly:font-glyph-name-to-index font name

Return the index for name in font.

Note that this command can only be used to access glyphs from fonts loaded with ly:system-font-load; currently, this means either the Emmentaler or Emmentaler-Brace fonts, corresponding to the font encodings fetaMusic and fetaBraces, respectively.

Function: ly:font-index-to-charcode font index

Return the character code for index in font.

Note that this command can only be used to access glyphs from fonts loaded with ly:system-font-load; currently, this means either the Emmentaler or Emmentaler-Brace fonts, corresponding to the font encodings fetaMusic and fetaBraces, respectively.

Function: ly:font-magnification font

Given the font metric font, return the magnification, relative to the current output-scale.

Function: ly:font-metric? x

Is x a Font_metric object?

Function: ly:font-name font

Given the font metric font, return the corresponding name.

Function: ly:font-sub-fonts font

Given the font metric font of an OpenType font, return the names of the subfonts within font.

Function: ly:format str rest

LilyPond specific format, supporting ~a and ~[0-9]f. Basic support for ~s is also provided.

Function: ly:format-output context

Given a global context in its final state, process it and return the Music_output object in its final state.

Function: ly:get-all-function-documentation

Get a hash table with all LilyPond Scheme extension functions.

Function: ly:get-all-translators

Return a list of all translator objects that may be instantiated.

Function: ly:get-context-mods contextmod

Returns the list of context modifications stored in contextmod.

Function: ly:get-listened-event-classes

Return a list of all event classes that some translator listens to.

Function: ly:get-option var

Get a global option setting.

Function: ly:gettext original

A Scheme wrapper function for gettext.

Function: ly:grob? x

Is x a Grob object?

Function: ly:grob-alist-chain grob global

Get an alist chain for grob grob, with global as the global default. If unspecified, font-defaults from the layout block is taken.

Function: ly:grob-array? x

Is x a Grob_array object?

Function: ly:grob-array->list grob-arr

Return the elements of grob-arr as a Scheme list.

Function: ly:grob-array-length grob-arr

Return the length of grob-arr.

Function: ly:grob-array-ref grob-arr index

Retrieve the indexth element of grob-arr.

Function: ly:grob-basic-properties grob

Get the immutable properties of grob.

Function: ly:grob-chain-callback grob proc sym

Find the callback that is stored as property sym of grob grob and chain proc to the head of this, meaning that it is called using grob and the previous callback’s result.

Function: ly:grob-common-refpoint grob other axis

Find the common refpoint of grob and other for axis.

Function: ly:grob-common-refpoint-of-array grob others axis

Find the common refpoint of grob and others (a grob-array) for axis.

Function: ly:grob-default-font grob

Return the default font for grob grob.

Function: ly:grob-extent grob refp axis

Get the extent in axis direction of grob relative to the grob refp.

Function: ly:grob-interfaces grob

Return the interfaces list of grob grob.

Function: ly:grob-layout grob

Get \layout definition from grob grob.

Function: ly:grob-object grob sym

Return the value of a pointer in grob grob of property sym. It returns '() (end-of-list) if sym is undefined in grob.

Function: ly:grob-original grob

Return the unbroken original grob of grob.

Function: ly:grob-parent grob axis

Get the parent of grob. axis is 0 for the X-axis, 1 for the Y-axis.

Function: ly:grob-pq<? a b

Compare two grob priority queue entries. This is an internal function.

Function: ly:grob-properties grob

Get the mutable properties of grob.

Function: ly:grob-property grob sym val

Return the value for property sym of grob. If no value is found, return val or '() if val is not specified.

Function: ly:grob-property-data grob sym

Return the value for property sym of grob, but do not process callbacks.

Function: ly:grob-relative-coordinate grob refp axis

Get the coordinate in axis direction of grob relative to the grob refp.

Function: ly:grob-robust-relative-extent grob refp axis

Get the extent in axis direction of grob relative to the grob refp, or (0,0) if empty.

Function: ly:grob-script-priority-less a b

Compare two grobs by script priority. For internal use.

Function: ly:grob-set-nested-property! grob symlist val

Set nested property symlist in grob grob to value val.

Function: ly:grob-set-object! grob sym val

Set sym in grob grob to value val.

Function: ly:grob-set-parent! grob axis parent-grob

Set parent-grob the parent of grob grob in axis axis.

Function: ly:grob-set-property! grob sym val

Set sym in grob grob to value val.

Function: ly:grob-staff-position sg

Return the Y-position of sg relative to the staff.

Function: ly:grob-suicide! grob

Kill grob.

Function: ly:grob-system grob

Return the system grob of grob.

Function: ly:grob-translate-axis! grob d a

Translate grob on axis a over distance d.

Function: ly:gulp-file name size

Read size characters from the file name, and return its contents in a string. If size is undefined, the entire file is read. The file is looked up using the search path.

Function: ly:hash-table-keys tab

Return a list of keys in tab.

Function: ly:inch num

num inches.

Function: ly:input-both-locations sip

Return input location in sip as (file-name first-line first-column last-line last-column).

Function: ly:input-file-line-char-column sip

Return input location in sip as (file-name line char column).

Function: ly:input-location? x

Is x an input-location?

Function: ly:input-message sip msg rest

Print msg as a GNU compliant error message, pointing to the location in sip. msg is interpreted similar to format’s argument, using rest.

Function: ly:interpret-music-expression mus ctx

Interpret the music expression mus in the global context ctx. The context is returned in its final state.

Function: ly:interpret-stencil-expression expr func arg1 offset

Parse expr, feed bits to func with first arg arg1 having offset offset.

Function: ly:intlog2 d

The 2-logarithm of 1/d.

Function: ly:is-listened-event-class sym

Is sym a listened event class?

Function: ly:item? g

Is g an Item object?

Function: ly:item-break-dir it

The break status direction of item it. -1 means end of line, 0 unbroken, and 1 beginning of line.

Function: ly:iterator? x

Is x a Music_iterator object?

Function: ly:lexer-keywords lexer

Return a list of (KEY . CODE) pairs, signifying the LilyPond reserved words list.

Function: ly:lily-lexer? x

Is x a Lily_lexer object?

Function: ly:lily-parser? x

Is x a Lily_parser object?

Function: ly:listener? x

Is x a Listener object?

Function: ly:make-book paper header scores

Make a \book of paper and header (which may be #f as well) containing \scores.

Function: ly:make-book-part scores

Make a \bookpart containing \scores.

Function: ly:make-dispatcher

Return a newly created dispatcher.

Function: ly:make-duration length dotcount num den

length is the negative logarithm (base 2) of the duration: 1 is a half note, 2 is a quarter note, 3 is an eighth note, etc. The number of dots after the note is given by the optional argument dotcount.

The duration factor is optionally given by num and den.

A duration is a musical duration, i.e., a length of time described by a power of two (whole, half, quarter, etc.) and a number of augmentation dots.

Function: ly:make-global-context output-def

Set up a global interpretation context, using the output block output-def. The context is returned.

Function: ly:make-global-translator global

Create a translator group and connect it to the global context global. The translator group is returned.

Function: ly:make-listener callback

Create a listener. Any time the listener hears an object, it will call callback with that object.

callback should take exactly one argument.

Function: ly:make-moment n d gn gd

Create the rational number with main timing n/d, and optional grace timing gn/gd.

A moment is a point in musical time. It consists of a pair of rationals (mg), where m is the timing for the main notes, and g the timing for grace notes. In absence of grace notes, g is zero.

Function: ly:make-music props

Make a C++ Music object and initialize it with props.

This function is for internal use and is only called by make-music, which is the preferred interface for creating music objects.

Function: ly:make-music-function signature func

Make a function to process music, to be used for the parser. func is the function, and signature describes its arguments. signature is a list containing either ly:music? predicates or other type predicates.

Function: ly:make-output-def

Make an output definition.

Function: ly:make-page-label-marker label

Return page marker with label label.

Function: ly:make-page-permission-marker symbol permission

Return page marker with page breaking and turning permissions.

Function: ly:make-pango-description-string chain size

Make a PangoFontDescription string for the property alist chain at size size.

Function: ly:make-paper-outputter port format

Create an outputter that evaluates within output-format, writing to port.

Function: ly:make-pitch octave note alter

octave is specified by an integer, zero for the octave containing middle C. note is a number indexing the global default scale, with 0 corresponding to pitch C and 6 usually corresponding to pitch B. alter is a rational number of 200-cent whole tones for alteration.

Function: ly:make-prob type init rest

Create a Prob object.

Function: ly:make-scale steps

Create a scale. The argument is a vector of rational numbers, each of which represents the number of 200 cent tones of a pitch above the tonic.

Function: ly:make-score music

Return score with music encapsulated in it.

Function: ly:make-simple-closure expr

Make a simple closure. expr should be form of (func a1 a2 …), and will be invoked as (func delayed-arg a1 a2 …).

Function: ly:make-stencil expr xext yext

Stencils are device independent output expressions. They carry two pieces of information:

  1. A specification of how to print this object. This specification is processed by the output backends, for example ‘scm/output-ps.scm’.
  2. The vertical and horizontal extents of the object, given as pairs. If an extent is unspecified (or if you use (1000 . -1000) as its value), it is taken to be empty.
Function: ly:make-stream-event cl proplist

Create a stream event of class cl with the given mutable property list.

Function: ly:message str rest

A Scheme callable function to issue the message str. The message is formatted with format and rest.

Function: ly:minimal-breaking pb

Break (pages and lines) the Paper_book object pb without looking for optimal spacing: stack as many lines on a page before moving to the next one.

Function: ly:mm num

num mm.

Function: ly:module->alist mod

Dump the contents of module mod as an alist.

Function: ly:module-copy dest src

Copy all bindings from module src into dest.

Function: ly:modules-lookup modules sym def

Look up sym in the list modules, returning the first occurence. If not found, return def or #f if def isn’t specified.

Function: ly:moment? x

Is x a Moment object?

Function: ly:moment<? a b

Compare two moments.

Function: ly:moment-add a b

Add two moments.

Function: ly:moment-div a b

Divide two moments.

Function: ly:moment-grace-denominator mom

Extract denominator from grace timing.

Function: ly:moment-grace-numerator mom

Extract numerator from grace timing.

Function: ly:moment-main-denominator mom

Extract denominator from main timing.

Function: ly:moment-main-numerator mom

Extract numerator from main timing.

Function: ly:moment-mod a b

Modulo of two moments.

Function: ly:moment-mul a b

Multiply two moments.

Function: ly:moment-sub a b

Subtract two moments.

Function: ly:music? obj

Is obj a music object?

Function: ly:music-compress m factor

Compress music object m by moment factor.

Function: ly:music-deep-copy m

Copy m and all sub expressions of m.

Function: ly:music-duration-compress mus fact

Compress mus by factor fact, which is a Moment.

Function: ly:music-duration-length mus

Extract the duration field from mus and return the length.

Function: ly:music-function? x

Is x a music-function?

Function: ly:music-function-extract x

Return the Scheme function inside x.

Function: ly:music-length mus

Get the length of music expression mus and return it as a Moment object.

Function: ly:music-list? lst

Is lst a list of music objects?

Function: ly:music-mutable-properties mus

Return an alist containing the mutable properties of mus. The immutable properties are not available, since they are constant and initialized by the make-music function.

Function: ly:music-output? x

Is x a Music_output object?

Function: ly:music-property mus sym val

Return the value for property sym of music expression mus. If no value is found, return val or '() if val is not specified.

Function: ly:music-set-property! mus sym val

Set property sym in music expression mus to val.

Function: ly:music-transpose m p

Transpose m such that central C is mapped to p. Return m.

Function: ly:note-column-accidentals note-column

Return the AccidentalPlacement grob from note-column if any, or SCM_EOL otherwise.

Function: ly:note-column-dot-column note-column

Return the DotColumn grob from note-column if any, or SCM_EOL otherwise.

Function: ly:note-head::stem-attachment font-metric glyph-name

Get attachment in font-metric for attaching a stem to notehead glyph-name.

Function: ly:number->string s

Convert s to a string without generating many decimals.

Function: ly:optimal-breaking pb

Optimally break (pages and lines) the Paper_book object pb to minimize badness in bother vertical and horizontal spacing.

Function: ly:option-usage

Print ly:set-option usage.

Function: ly:otf->cff otf-file-name

Convert the contents of an OTF file to a CFF file, returning it as a string.

Function: ly:otf-font? font

Is font an OpenType font?

Function: ly:otf-font-glyph-info font glyph

Given the font metric font of an OpenType font, return the information about named glyph glyph (a string).

Function: ly:otf-font-table-data font tag

Extract a table tag from font. Return empty string for non-existent tag.

Function: ly:otf-glyph-count font

Return the number of glyphs in font.

Function: ly:otf-glyph-list font

Return a list of glyph names for font.

Function: ly:output-def? def

Is def an output definition?

Function: ly:output-def-clone def

Clone output definition def.

Function: ly:output-def-lookup def sym val

Return the value of sym in output definition def (e.g., \paper). If no value is found, return val or '() if val is undefined.

Function: ly:output-def-parent def

Return the parent output definition of def.

Function: ly:output-def-scope def

Return the variable scope inside def.

Function: ly:output-def-set-variable! def sym val

Set an output definition def variable sym to val.

Function: ly:output-description output-def

Return the description of translators in output-def.

Function: ly:output-formats

Formats passed to ‘--format’ as a list of strings, used for the output.

Function: ly:outputter-close outputter

Close port of outputter.

Function: ly:outputter-dump-stencil outputter stencil

Dump stencil expr onto outputter.

Function: ly:outputter-dump-string outputter str

Dump str onto outputter.

Function: ly:outputter-module outputter

Return output module of outputter.

Function: ly:outputter-output-scheme outputter expr

Eval expr in module of outputter.

Function: ly:outputter-port outputter

Return output port for outputter.

Function: ly:page-marker? x

Is x a Page_marker object?

Function: ly:page-turn-breaking pb

Optimally break (pages and lines) the Paper_book object pb such that page turns only happen in specified places, returning its pages.

Function: ly:pango-font? f

Is f a pango font?

Function: ly:pango-font-physical-fonts f

Return alist of (ps-name file-name font-index) lists for Pango font f.

Function: ly:paper-book? x

Is x a Paper_book object?

Function: ly:paper-book-header pb

Return the header definition (\header) in Paper_book object pb.

Function: ly:paper-book-pages pb

Return pages in Paper_book object pb.

Function: ly:paper-book-paper pb

Return the paper output definition (\paper) in Paper_book object pb.

Function: ly:paper-book-performances pb

Return performances in Paper_book object pb.

Function: ly:paper-book-scopes pb

Return scopes in Paper_book object pb.

Function: ly:paper-book-systems pb

Return systems in Paper_book object pb.

Function: ly:paper-fonts def

Return a list containing the fonts from output definition def (e.g., \paper).

Function: ly:paper-get-font def chain

Find a font metric in output definition def satisfying the font-qualifiers in alist chain chain, and return it. (An alist chain is a list of alists, containing grob properties.)

Function: ly:paper-get-number def sym

Return the value of variable sym in output definition def as a double.

Function: ly:paper-outputscale def

Return the output-scale for output definition def.

Function: ly:paper-score-paper-systems paper-score

Return vector of paper_system objects from paper-score.

Function: ly:paper-system? obj

Is obj a C++ Prob object of type paper-system?

Function: ly:paper-system-minimum-distance sys1 sys2

Measure the minimum distance between these two paper-systems, using their stored skylines if possible and falling back to their extents otherwise.

Function: ly:parse-file name

Parse a single .ly file. Upon failure, throw ly-file-failed key.

Function: ly:parser-clear-error parser

Clear the error flag for the parser.

Function: ly:parser-clone parser-smob

Return a clone of parser-smob.

Function: ly:parser-define! parser-smob symbol val

Bind symbol to val in parser-smob’s module.

Function: ly:parser-error parser msg input

Display an error message and make the parser fail.

Function: ly:parser-has-error? parser

Does parser have an error flag?

Function: ly:parser-include-string parser-smob ly-code

Include the string ly-code into the input stream for parser-smob.

Function: ly:parser-lexer parser-smob

Return the lexer for parser-smob.

Function: ly:parser-lookup parser-smob symbol

Look up symbol in parser-smob’s module. Return '() if not defined.

Function: ly:parser-output-name parser

Return the base name of the output file.

Function: ly:parser-parse-string parser-smob ly-code

Parse the string ly-code with parser-smob. Upon failure, throw ly-file-failed key.

Function: ly:parser-set-note-names parser names

Replace current note names in parser. names is an alist of symbols. This only has effect if the current mode is notes.

Function: ly:parser-set-repetition-function parser fun

Replace the current repetition function in parser. fun is the new repetition function.

Function: ly:parser-set-repetition-symbol parser sym

Replace the current repetition symbol in parser. sym is the new repetition symbol.

Function: ly:performance-write performance filename

Write performance to filename.

Function: ly:pfb->pfa pfb-file-name

Convert the contents of a Type 1 font in PFB format to PFA format.

Function: ly:pitch? x

Is x a Pitch object?

Function: ly:pitch<? p1 p2

Is p1 lexicographically smaller than p2?

Function: ly:pitch-alteration pp

Extract the alteration from pitch pp.

Function: ly:pitch-diff pitch root

Return pitch delta such that pitch transposed by delta equals root.

Function: ly:pitch-negate p

Negate p.

Function: ly:pitch-notename pp

Extract the note name from pitch pp.

Function: ly:pitch-octave pp

Extract the octave from pitch pp.

Function: ly:pitch-quartertones pp

Calculate the number of quarter tones of pp from middle C.

Function: ly:pitch-semitones pp

Calculate the number of semitones of pp from middle C.

Function: ly:pitch-steps p

Number of steps counted from middle C of the pitch p.

Function: ly:pitch-transpose p delta

Transpose p by the amount delta, where delta is relative to middle C.

Function: ly:pointer-group-interface::add-grob grob sym grob-element

Add grob-element to grob’s sym grob array.

Function: ly:position-on-line? sg spos

Return whether spos is on a line of the staff associated with the grob sg (even on an extender line).

Function: ly:prob? x

Is x a Prob object?

Function: ly:prob-immutable-properties prob

Retrieve an alist of immutable properties.

Function: ly:prob-mutable-properties prob

Retrieve an alist of mutable properties.

Function: ly:prob-property prob sym val

Return the value for property sym of Prob object prob. If no value is found, return val or '() if val is not specified.

Function: ly:prob-property? obj sym

Is boolean prop sym of sym set?

Function: ly:prob-set-property! obj sym value

Set property sym of obj to value.

Function: ly:prob-type? obj type

Is obj the specified prob-type?

Function: ly:programming-error str rest

A Scheme callable function to issue the internal warning str. The message is formatted with format and rest.

Function: ly:progress str rest

A Scheme callable function to print progress str. The message is formatted with format and rest.

Function: ly:property-lookup-stats sym

Return hash table with a property access corresponding to sym. Choices are prob, grob, and context.

Function: ly:protects

Return hash of protected objects.

Function: ly:pt num

num printer points.

Function: ly:register-stencil-expression symbol

Add symbol as head of a stencil expression.

Function: ly:relative-group-extent elements common axis

Determine the extent of elements relative to common in the axis direction.

Function: ly:reset-all-fonts

Forget all about previously loaded fonts.

Function: ly:round-filled-box xext yext blot

Make a Stencil object that prints a black box of dimensions xext, yext and roundness blot.

Function: ly:round-filled-polygon points blot

Make a Stencil object that prints a black polygon with corners at the points defined by points (list of coordinate pairs) and roundness blot.

Function: ly:run-translator mus output-def

Process mus according to output-def. An interpretation context is set up, and mus is interpreted with it. The context is returned in its final state.

Optionally, this routine takes an object-key to to uniquely identify the score block containing it.

Function: ly:score? x

Is x a Score object?

Function: ly:score-add-output-def! score def

Add an output definition def to score.

Function: ly:score-embedded-format score layout

Run score through layout (an output definition) scaled to correct output-scale already, returning a list of layout-lines.

Function: ly:score-error? score

Was there an error in the score?

Function: ly:score-header score

Return score header.

Function: ly:score-music score

Return score music.

Function: ly:score-output-defs score

All output definitions in a score.

Function: ly:score-set-header! score module

Set the score header.

Function: ly:set-default-scale scale

Set the global default scale. This determines the tuning of pitches with no accidentals or key signatures. The first pitch is C. Alterations are calculated relative to this scale. The number of pitches in this scale determines the number of scale steps that make up an octave. Usually the 7-note major scale.

Function: ly:set-grob-modification-callback cb

Specify a procedure that will be called every time LilyPond modifies a grob property. The callback will receive as arguments the grob that is being modified, the name of the C++ file in which the modification was requested, the line number in the C++ file in which the modification was requested, the name of the function in which the modification was requested, the property to be changed, and the new value for the property.

Function: ly:set-middle-C! context

Set the middleCPosition variable in context based on the variables middleCClefPosition and middleCOffset.

Function: ly:set-option var val

Set a program option.

Function: ly:set-property-cache-callback cb

Specify a procedure that will be called whenever lilypond calculates a callback function and caches the result. The callback will receive as arguments the grob whose property it is, the name of the property, the name of the callback that calculated the property, and the new (cached) value of the property.

Function: ly:simple-closure? clos

Is clos a simple closure?

Function: ly:skyline? x

Is x a Skyline object?

Function: ly:skyline-pair? x

Is x a Skyline_pair object?

Function: ly:slur-score-count

count number of slur scores.

Function: ly:smob-protects

Return LilyPond’s internal smob protection list.

Function: ly:solve-spring-rod-problem springs rods length ragged

Solve a spring and rod problem for count objects, that are connected by count-1 springs, and an arbitrary number of rods. count is implicitly given by springs and rods. The springs argument has the format (ideal, inverse_hook) and rods is of the form (idx1, idx2, distance).

length is a number, ragged a boolean.

The function returns a list containing the force (positive for stretching, negative for compressing and #f for non-satisfied constraints) followed by spring-count+1 positions of the objects.

Function: ly:source-file? x

Is x a Source_file object?

Function: ly:spanner? g

Is g a spanner object?

Function: ly:spanner-bound spanner dir

Get one of the bounds of spanner. dir is -1 for left, and 1 for right.

Function: ly:spanner-broken-into spanner

Return broken-into list for spanner.

Function: ly:spanner-set-bound! spanner dir item

Set grob item as bound in direction dir for spanner.

Function: ly:spawn command rest

Simple interface to g_spawn_sync str. The error is formatted with format and rest.

Function: ly:staff-symbol-line-thickness grob

Returns the line-thickness of the staff associated with grob.

Function: ly:staff-symbol-staff-space grob

Returns the staff-space of the staff associated with grob.

Function: ly:start-environment

Return the environment (a list of strings) that was in effect at program start.

Function: ly:stderr-redirect file-name mode

Redirect stderr to file-name, opened with mode.

Function: ly:stencil? x

Is x a Stencil object?

Function: ly:stencil-add args

Combine stencils. Takes any number of arguments.

Function: ly:stencil-aligned-to stil axis dir

Align stil using its own extents. dir is a number. -1 and 1 are left and right, respectively. Other values are interpolated (so 0 means the center).

Function: ly:stencil-combine-at-edge first axis direction second padding minimum

Construct a stencil by putting second next to first. axis can be 0 (x-axis) or 1 (y-axis). direction can be -1 (left or down) or 1 (right or up). The stencils are juxtaposed with padding as extra space. If this puts the reference points closer than minimum, they are moved by the latter amount. first and second may also be '() or #f.

Function: ly:stencil-empty? stil

Return whether stil is empty.

Function: ly:stencil-expr stil

Return the expression of stil.

Function: ly:stencil-extent stil axis

Return a pair of numbers signifying the extent of stil in axis direction (0 or 1 for x and y axis, respectively).

Function: ly:stencil-fonts s

Analyze s, and return a list of fonts used in s.

Function: ly:stencil-in-color stc r g b

Put stc in a different color.

Function: ly:stencil-rotate stil angle x y

Return a stencil stil rotated angle degrees around the relative offset (x, y). E.g. an offset of (-1, 1) will rotate the stencil around the left upper corner.

Function: ly:stencil-rotate-absolute stil angle x y

Return a stencil stil rotated angle degrees around point (x, y), given in absolute coordinates.

Function: ly:stencil-scale stil x y

Scale stil using the horizontal and vertical scaling factors x and y.

Function: ly:stencil-translate stil offset

Return a stil, but translated by offset (a pair of numbers).

Function: ly:stencil-translate-axis stil amount axis

Return a copy of stil but translated by amount in axis direction.

Function: ly:stream-event? obj

Is obj a Stream_event object?

Function: ly:string-percent-encode str

Encode all characters in string str with hexadecimal percent escape sequences, with the following exceptions: characters -, ., /, and _; and characters in ranges 0-9, A-Z, and a-z.

Function: ly:string-substitute a b s

Replace string a by string b in string s.

Function: ly:success str rest

A Scheme callable function to issue a success message str. The message is formatted with format and rest.

Function: ly:system-font-load name

Load the OpenType system font ‘name.otf’. Fonts loaded with this command must contain three additional SFNT font tables called LILC, LILF, and LILY, needed for typesetting musical elements. Currently, only the Emmentaler and the Emmentaler-Brace fonts fulfill these requirements.

Note that only ly:font-get-glyph and derived code (like \lookup) can access glyphs from the system fonts; text strings are handled exclusively via the Pango interface.

Function: ly:text-interface::interpret-markup

Convert a text markup into a stencil. Takes three arguments, layout, props, and markup.

layout is a \layout block; it may be obtained from a grob with ly:grob-layout. props is an alist chain, i.e. a list of alists. This is typically obtained with (ly:grob-alist-chain grob (ly:output-def-lookup layout 'text-font-defaults)). markup is the markup text to be processed.

Function: ly:translator? x

Is x a Translator object?

Function: ly:translator-context trans

Return the context of the translator object trans.

Function: ly:translator-description me

Return an alist of properties of translator me.

Function: ly:translator-group? x

Is x a Translator_group object?

Function: ly:translator-name trans

Return the type name of the translator object trans. The name is a symbol.

Function: ly:transpose-key-alist l pit

Make a new key alist of l transposed by pitch pit.

Function: ly:truncate-list! lst i

Take at most the first i of list lst.

Function: ly:ttf->pfa ttf-file-name idx

Convert the contents of a TrueType font file to PostScript Type 42 font, returning it as a string. The optional idx argument is useful for TrueType collections (TTC) only; it specifies the font index within the TTC. The default value of idx is 0.

Function: ly:ttf-ps-name ttf-file-name idx

Extract the PostScript name from a TrueType font. The optional idx argument is useful for TrueType collections (TTC) only; it specifies the font index within the TTC. The default value of idx is 0.

Function: ly:unit

Return the unit used for lengths as a string.

Function: ly:usage

Print usage message.

Function: ly:version

Return the current lilypond version as a list, e.g., (1 3 127 uu1).

Function: ly:warning str rest

A Scheme callable function to issue the warning str. The message is formatted with format and rest.

Function: ly:wide-char->utf-8 wc

Encode the Unicode codepoint wc, an integer, as UTF-8.


B. Cheat sheet

Syntax

Description

Example

1 2 8 16

durations

[image of music]

c4. c4..

augmentation dots

[image of music]

c d e f g a b

scale

[image of music]

fis bes

alteration

[image of music]

\clef treble \clef bass

clefs

[image of music]

\time 3/4 \time 4/4

time signature

[image of music]

r4 r8

rest

[image of music]

d ~ d

tie

[image of music]

\key es \major

key signature

[image of music]

note'

raise octave

[image of music]

note,

lower octave

[image of music]

c( d e)

slur

[image of music]

c\( c( d) e\)

phrasing slur

[image of music]

a8[ b]

beam

[image of music]

<< \new Staff ... >>

more staves

[image of music]

c-> c-.

articulations

[image of music]

c2\mf c\sfz

dynamics

[image of music]

a\< a a\!

crescendo

[image of music]

a\> a a\!

decrescendo

[image of music]

< >

chord

[image of music]

\partial 8

pickup / upbeat

[image of music]

\times 2/3 {f g a}

triplets

[image of music]

\grace

grace notes

[image of music]

\lyricmode { twinkle }

entering lyrics

twinkle

\new Lyrics

printing lyrics

[image of music]

twin -- kle

lyric hyphen

[image of music]

\chordmode { c:dim f:maj7 }

chords

[image of music]

\context ChordNames

printing chord names

[image of music]

<<{e f} \\ {c d}>>

polyphony

[image of music]

s4 s8 s16

spacer rests


C. LilyPond 文法

この付録は、構文解析プログラムからの出力である、LilyPond 文法についての記述です。

Grammar

    1 lilypond: /* empty */
    2         | lilypond toplevel_expression
    3         | lilypond assignment
    4         | lilypond error
    5         | lilypond "\invalid"

    6 toplevel_expression: lilypond_header
    7                    | book_block
    8                    | bookpart_block
    9                    | score_block
   10                    | composite_music
   11                    | full_markup
   12                    | full_markup_list
   13                    | output_def

   14 embedded_scm: SCM_TOKEN
   15             | SCM_IDENTIFIER

   16 lilypond_header_body: /* empty */
   17                     | lilypond_header_body assignment

   18 lilypond_header: "\header" '{' lilypond_header_body '}'

   19 assignment_id: STRING
   20              | LYRICS_STRING

   21 assignment: assignment_id '=' identifier_init
   22           | assignment_id property_path '=' identifier_init
   23           | embedded_scm

   24 identifier_init: score_block
   25                | book_block
   26                | bookpart_block
   27                | output_def
   28                | context_def_spec_block
   29                | music
   30                | post_event
   31                | number_expression
   32                | string
   33                | embedded_scm
   34                | full_markup
   35                | full_markup_list
   36                | DIGIT
   37                | context_modification

   38 context_def_spec_block: "\context" '{' context_def_spec_body '}'

   39 context_def_spec_body: /* empty */
   40                      | CONTEXT_DEF_IDENTIFIER
   41                      | context_def_spec_body 
                               "\grobdescriptions" 
                               embedded_scm 
   42                      | context_def_spec_body context_mod
   43                      | context_def_spec_body context_modification

   44 book_block: "\book" '{' book_body '}'

   45 book_body: /* empty */
   46          | BOOK_IDENTIFIER
   47          | book_body paper_block
   48          | book_body bookpart_block
   49          | book_body score_block
   50          | book_body composite_music
   51          | book_body full_markup
   52          | book_body full_markup_list
   53          | book_body lilypond_header
   54          | book_body error

   55 bookpart_block: "\bookpart" '{' bookpart_body '}'

   56 bookpart_body: /* empty */
   57              | BOOK_IDENTIFIER
   58              | bookpart_body paper_block
   59              | bookpart_body score_block
   60              | bookpart_body composite_music
   61              | bookpart_body full_markup
   62              | bookpart_body full_markup_list
   63              | bookpart_body lilypond_header
   64              | bookpart_body error

   65 score_block: "\score" '{' score_body '}'

   66 score_body: music
   67           | SCORE_IDENTIFIER
   68           | score_body lilypond_header
   69           | score_body output_def
   70           | score_body error

   71 paper_block: output_def

   72 output_def: output_def_body '}'

   73 output_def_head: "\paper"
   74                | "\midi"
   75                | "\layout"

   76 output_def_head_with_mode_switch: output_def_head

   77 output_def_body: output_def_head_with_mode_switch '{'
   78                | output_def_head_with_mode_switch 
                         '{' 
                         OUTPUT_DEF_IDENTIFIER 
   79                | output_def_body assignment
   80                | output_def_body context_def_spec_block
   81                | output_def_body error

   82 tempo_event: "\tempo" steno_duration '=' tempo_range
   83            | "\tempo" scalar steno_duration '=' tempo_range
   84            | "\tempo" scalar

   85 music_list: /* empty */
   86           | music_list music
   87           | music_list embedded_scm
   88           | music_list error

   89 music: simple_music
   90      | composite_music

   91 alternative_music: /* empty */
   92                  | "\alternative" '{' music_list '}'

   93 repeated_music: "\repeat" 
                        simple_string 
                        unsigned_number 
                        music 
                        alternative_music 

   94 sequential_music: "\sequential" '{' music_list '}'
   95                 | '{' music_list '}'

   96 simultaneous_music: "\simultaneous" '{' music_list '}'
   97                   | "<<" music_list ">>"

   98 simple_music: event_chord
   99             | MUSIC_IDENTIFIER
  100             | music_property_def
  101             | context_change

  103 context_modification: "\with"  '{' context_mod_list '}'
  104                     | "\with" CONTEXT_MOD_IDENTIFIER
  105                     | CONTEXT_MOD_IDENTIFIER

  106 optional_context_mod: /* empty */
  107                     | context_modification

  108 context_mod_list: /* empty */
  109                 | context_mod_list context_mod
  110                 | context_mod_list CONTEXT_MOD_IDENTIFIER

  111 composite_music: prefix_composite_music
  112                | grouped_music_list

  113 grouped_music_list: simultaneous_music
  114                   | sequential_music

  115 function_scm_argument: embedded_scm
  116                      | simple_string

  117 function_arglist_music_last: EXPECT_MUSIC function_arglist music

  118 function_arglist_nonmusic_last: EXPECT_MARKUP 
                                        function_arglist 
                                        full_markup 
  119                               | EXPECT_MARKUP 
                                        function_arglist 
                                        simple_string 
  120                               | EXPECT_SCM 
                                        function_arglist 
                                        function_scm_argument 

  121 function_arglist_nonmusic: EXPECT_NO_MORE_ARGS
  122                          | EXPECT_MARKUP 
                                   function_arglist_nonmusic 
                                   full_markup 
  123                          | EXPECT_MARKUP 
                                   function_arglist_nonmusic 
                                   simple_string 
  124                          | EXPECT_SCM 
                                   function_arglist_nonmusic 
                                   function_scm_argument 

  125 function_arglist: EXPECT_NO_MORE_ARGS
  126                 | function_arglist_music_last
  127                 | function_arglist_nonmusic_last

  128 generic_prefix_music_scm: MUSIC_FUNCTION function_arglist

  129 optional_id: /* empty */
  130            | '=' simple_string

  131 prefix_composite_music: generic_prefix_music_scm
  132                       | "\context" 
                                simple_string 
                                optional_id 
                                optional_context_mod 
                                music 
  133                       | "\new" 
                                simple_string 
                                optional_id 
                                optional_context_mod 
                                music 
  134                       | "\times" fraction music
  135                       | repeated_music
  136                       | "\transpose" 
                                pitch_also_in_chords 
                                pitch_also_in_chords 
                                music 
  137                       | mode_changing_head grouped_music_list
  138                       | mode_changing_head_with_context 
                                optional_context_mod 
                                grouped_music_list 
  139                       | relative_music
  140                       | re_rhythmed_music

  141 mode_changing_head: "\notemode"
  142                   | "\drummode"
  143                   | "\figuremode"
  144                   | "\chordmode"
  145                   | "\lyricmode"

  146 mode_changing_head_with_context: "\drums"
  147                                | "\figures"
  148                                | "\chords"
  149                                | "\lyrics"

  150 relative_music: "\relative" absolute_pitch music
  151               | "\relative" composite_music

  153 new_lyrics: "\addlyrics"  grouped_music_list

  155 new_lyrics: "\addlyrics"  MUSIC_IDENTIFIER

  157 new_lyrics: new_lyrics "\addlyrics"  grouped_music_list

  159 new_lyrics: new_lyrics "\addlyrics"  MUSIC_IDENTIFIER

  160 re_rhythmed_music: grouped_music_list new_lyrics
  161                  | MUSIC_IDENTIFIER new_lyrics

  163 re_rhythmed_music: "\lyricsto" simple_string  music

  164 context_change: "\change" STRING '=' STRING

  165 property_path_revved: embedded_scm
  166                     | property_path_revved embedded_scm

  167 property_path: property_path_revved

  168 property_operation: STRING '=' scalar
  169                   | "\unset" simple_string
  170                   | "\override" simple_string property_path '=' scalar
  171                   | "\revert" simple_string embedded_scm

  172 context_def_mod: "\consists"
  173                | "\remove"
  174                | "\accepts"
  175                | "\defaultchild"
  176                | "\denies"
  177                | "\alias"
  178                | "\type"
  179                | "\description"
  180                | "\name"

  181 context_mod: property_operation
  182            | context_def_mod STRING
  183            | context_def_mod embedded_scm

  184 context_prop_spec: simple_string
  185                  | simple_string '.' simple_string

  186 simple_music_property_def: "\override" 
                                   context_prop_spec 
                                   property_path 
                                   '=' 
                                   scalar 
  187                          | "\revert" context_prop_spec embedded_scm
  188                          | "\set" context_prop_spec '=' scalar
  189                          | "\unset" context_prop_spec

  190 music_property_def: simple_music_property_def
  191                   | "\once" simple_music_property_def

  192 string: STRING
  193       | STRING_IDENTIFIER
  194       | string '+' string

  195 simple_string: STRING
  196              | LYRICS_STRING
  197              | STRING_IDENTIFIER

  198 scalar: string
  199       | LYRICS_STRING
  200       | bare_number
  201       | embedded_scm
  202       | full_markup
  203       | DIGIT

  204 event_chord: simple_chord_elements post_events
  205            | CHORD_REPETITION optional_notemode_duration post_events
  206            | MULTI_MEASURE_REST optional_notemode_duration post_events
  207            | command_element
  208            | note_chord_element

  209 note_chord_element: chord_body optional_notemode_duration post_events

  210 chord_body: "<" chord_body_elements ">"

  211 chord_body_elements: /* empty */
  212                    | chord_body_elements chord_body_element

  213 chord_body_element: pitch 
                            exclamations 
                            questions 
                            octave_check 
                            post_events 
  214                   | DRUM_PITCH post_events
  215                   | music_function_chord_body

  216 music_function_identifier_musicless_prefix: MUSIC_FUNCTION

  217 music_function_chord_body: music_function_identifier_musicless_prefix 
                                   EXPECT_MUSIC 
                                   function_arglist_nonmusic 
                                   chord_body_element 
  218                          | music_function_identifier_musicless_prefix 
                                   function_arglist_nonmusic 

  219 music_function_event: music_function_identifier_musicless_prefix 
                              EXPECT_MUSIC 
                              function_arglist_nonmusic 
                              post_event 
  220                     | music_function_identifier_musicless_prefix 
                              function_arglist_nonmusic 

  221 command_element: command_event
  222                | "\skip" duration_length
  223                | "\["
  224                | "\]"
  225                | "\"
  226                | '|'
  227                | "\partial" duration_length
  228                | "\time" fraction
  229                | "\mark" scalar

  230 command_event: "\~"
  231              | "\mark" "\default"
  232              | tempo_event
  233              | "\key" "\default"
  234              | "\key" NOTENAME_PITCH SCM_IDENTIFIER

  235 post_events: /* empty */
  236            | post_events post_event

  237 post_event: direction_less_event
  238           | script_dir music_function_event
  239           | "--"
  240           | "__"
  241           | script_dir direction_reqd_event
  242           | script_dir direction_less_event
  243           | string_number_event

  244 string_number_event: E_UNSIGNED

  245 direction_less_char: '['
  246                    | ']'
  247                    | '~'
  248                    | '('
  249                    | ')'
  250                    | "\!"
  251                    | "\("
  252                    | "\)"
  253                    | "\>"
  254                    | "\<"

  255 direction_less_event: direction_less_char
  256                     | EVENT_IDENTIFIER
  257                     | tremolo_type

  258 direction_reqd_event: gen_text_def
  259                     | script_abbreviation

  260 octave_check: /* empty */
  261             | '='
  262             | '=' sub_quotes
  263             | '=' sup_quotes

  264 sup_quotes: '''
  265           | sup_quotes '''

  266 sub_quotes: ','
  267           | sub_quotes ','

  268 steno_pitch: NOTENAME_PITCH
  269            | NOTENAME_PITCH sup_quotes
  270            | NOTENAME_PITCH sub_quotes

  271 steno_tonic_pitch: TONICNAME_PITCH
  272                  | TONICNAME_PITCH sup_quotes
  273                  | TONICNAME_PITCH sub_quotes

  274 pitch: steno_pitch

  275 pitch_also_in_chords: pitch
  276                     | steno_tonic_pitch

  277 gen_text_def: full_markup
  278             | string
  279             | DIGIT

  280 script_abbreviation: '^'
  281                    | '+'
  282                    | '-'
  283                    | '|'
  284                    | ">"
  285                    | '.'
  286                    | '_'

  287 script_dir: '_'
  288           | '^'
  289           | '-'

  290 absolute_pitch: steno_pitch

  291 duration_length: multiplied_duration

  292 optional_notemode_duration: /* empty */
  293                           | multiplied_duration

  294 steno_duration: bare_unsigned dots
  295               | DURATION_IDENTIFIER dots

  296 multiplied_duration: steno_duration
  297                    | multiplied_duration '*' bare_unsigned
  298                    | multiplied_duration '*' FRACTION

  299 fraction: FRACTION
  300         | UNSIGNED '/' UNSIGNED

  301 dots: /* empty */
  302     | dots '.'

  303 tremolo_type: ':'
  304             | ':' bare_unsigned

  305 bass_number: DIGIT
  306            | UNSIGNED
  307            | STRING
  308            | full_markup

  309 figured_bass_alteration: '-'
  310                        | '+'
  311                        | '!'

  312 bass_figure: "_"
  313            | bass_number
  314            | bass_figure ']'
  315            | bass_figure figured_bass_alteration
  316            | bass_figure figured_bass_modification

  317 figured_bass_modification: "\+"
  318                          | "\!"
  319                          | '/'
  320                          | "\"

  321 br_bass_figure: bass_figure
  322               | '[' bass_figure

  323 figure_list: /* empty */
  324            | figure_list br_bass_figure

  325 figure_spec: FIGURE_OPEN figure_list FIGURE_CLOSE

  326 optional_rest: /* empty */
  327              | "\rest"

  328 simple_element: pitch 
                        exclamations 
                        questions 
                        octave_check 
                        optional_notemode_duration 
                        optional_rest 
  329               | DRUM_PITCH optional_notemode_duration
  330               | RESTNAME optional_notemode_duration
  331               | lyric_element optional_notemode_duration

  332 simple_chord_elements: simple_element
  333                      | new_chord
  334                      | figure_spec optional_notemode_duration

  335 lyric_element: lyric_markup
  336              | LYRICS_STRING

  337 new_chord: steno_tonic_pitch optional_notemode_duration
  338          | steno_tonic_pitch 
                   optional_notemode_duration 
                   chord_separator 
                   chord_items 

  339 chord_items: /* empty */
  340            | chord_items chord_item

  341 chord_separator: ":"
  342                | "^"
  343                | "/" steno_tonic_pitch
  344                | "/+" steno_tonic_pitch

  345 chord_item: chord_separator
  346           | step_numbers
  347           | CHORD_MODIFIER

  348 step_numbers: step_number
  349             | step_numbers '.' step_number

  350 step_number: bare_unsigned
  351            | bare_unsigned '+'
  352            | bare_unsigned "-"

  353 tempo_range: bare_unsigned
  354            | bare_unsigned '~' bare_unsigned

  355 number_expression: number_expression '+' number_term
  356                  | number_expression '-' number_term
  357                  | number_term

  358 number_term: number_factor
  359            | number_factor '*' number_factor
  360            | number_factor '/' number_factor

  361 number_factor: '-' number_factor
  362              | bare_number

  363 bare_number: UNSIGNED
  364            | REAL
  365            | NUMBER_IDENTIFIER
  366            | REAL NUMBER_IDENTIFIER
  367            | UNSIGNED NUMBER_IDENTIFIER

  368 bare_unsigned: UNSIGNED
  369              | DIGIT

  370 unsigned_number: bare_unsigned
  371                | NUMBER_IDENTIFIER

  372 exclamations: /* empty */
  373             | exclamations '!'

  374 questions: /* empty */
  375          | questions '?'

  376 lyric_markup: LYRIC_MARKUP_IDENTIFIER

  378 lyric_markup: LYRIC_MARKUP  markup_top

  379 full_markup_list: MARKUPLINES_IDENTIFIER

  381 full_markup_list: "\markuplines"  markup_list

  382 full_markup: MARKUP_IDENTIFIER

  384 full_markup: "\markup"  markup_top

  385 markup_top: markup_list
  386           | markup_head_1_list simple_markup
  387           | simple_markup

  388 markup_list: MARKUPLINES_IDENTIFIER
  389            | markup_composed_list
  390            | markup_braced_list
  391            | markup_command_list

  392 markup_composed_list: markup_head_1_list markup_braced_list

  393 markup_braced_list: '{' markup_braced_list_body '}'

  394 markup_braced_list_body: /* empty */
  395                        | markup_braced_list_body markup
  396                        | markup_braced_list_body markup_list

  397 markup_command_list: MARKUP_LIST_FUNCTION markup_command_list_arguments

  398 markup_command_basic_arguments: EXPECT_MARKUP_LIST 
                                        markup_command_list_arguments 
                                        markup_list 
  399                               | EXPECT_SCM 
                                        markup_command_list_arguments 
                                        embedded_scm 
  400                               | EXPECT_NO_MORE_ARGS

  401 markup_command_list_arguments: markup_command_basic_arguments
  402                              | EXPECT_MARKUP 
                                       markup_command_list_arguments 
                                       markup 

  403 markup_head_1_item: MARKUP_FUNCTION 
                            EXPECT_MARKUP 
                            markup_command_list_arguments 

  404 markup_head_1_list: markup_head_1_item
  405                   | markup_head_1_list markup_head_1_item

  406 simple_markup: STRING
  407              | MARKUP_IDENTIFIER
  408              | LYRIC_MARKUP_IDENTIFIER
  409              | STRING_IDENTIFIER

  411 simple_markup: "\score" 0 '{' score_body '}'
  412              | MARKUP_FUNCTION markup_command_basic_arguments

  413 markup: markup_head_1_list simple_markup
  414       | simple_markup


Terminals, with rules where they appear



"-" (319) 352
"--" (340) 239
"/" (320) 343
"/+" (316) 344
":" (318) 341
"<" (321) 210
"<<" (323) 97
">" (322) 210 284
">>" (324) 97
"\!" (329) 250 318
"\" (325) 225 320
"\(" (331) 251
"\)" (328) 252
"\+" (334) 317
"\<" (333) 254
"\>" (326) 253
"\[" (330) 223
"\]" (332) 224
"\accepts" (261) 174
"\addlyrics" (259) 153 155 157 159
"\alias" (262) 177
"\alternative" (263) 92
"\book" (264) 44
"\bookpart" (265) 55
"\C[haracter]" (327)
"\change" (266) 164
"\chordmode" (267) 144
"\chords" (268) 148
"\consists" (269) 172
"\context" (270) 38 132
"\default" (271) 231 233
"\defaultchild" (272) 175
"\denies" (273) 176
"\description" (274) 179
"\drummode" (275) 142
"\drums" (276) 146
"\figuremode" (277) 143
"\figures" (278) 147
"\grobdescriptions" (279) 41
"\header" (280) 18
"\invalid" (281) 5
"\key" (282) 233 234
"\layout" (283) 75
"\lyricmode" (284) 145
"\lyrics" (285) 149
"\lyricsto" (286) 163
"\mark" (287) 229 231
"\markup" (288) 384
"\markuplines" (289) 381
"\midi" (290) 74
"\name" (291) 180
"\new" (315) 133
"\notemode" (292) 141
"\octave" (293)
"\once" (294) 191
"\override" (295) 170 186
"\paper" (296) 73
"\partial" (297) 227
"\relative" (298) 150 151
"\remove" (299) 173
"\repeat" (300) 93
"\rest" (301) 327
"\revert" (302) 171 187
"\score" (303) 65 411
"\sequential" (304) 94
"\set" (305) 188
"\simultaneous" (306) 96
"\skip" (307) 222
"\tempo" (308) 82 83 84
"\time" (314) 228
"\times" (309) 134
"\transpose" (310) 136
"\type" (311) 178
"\unset" (312) 169 189
"\with" (313) 103 104
"\~" (335) 230
"^" (317) 342
"_" (339) 312
"__" (336) 240
$end (0) 0
'!' (33) 311 373
''' (39) 264 265
'(' (40) 248
')' (41) 249
'*' (42) 297 298 359
'+' (43) 194 281 310 351 355
',' (44) 266 267
'-' (45) 282 289 309 356 361
'.' (46) 185 285 302 349
'/' (47) 300 319 360
':' (58) 303 304
'=' (61) 21 22 82 83 130 164 168 170 186 188 261 262 263
'?' (63) 375
'[' (91) 245 322
']' (93) 246 314
'^' (94) 280 288
'_' (95) 286 287
'{' (123) 18 38 44 55 65 77 78 92 94 95 96 103 393 411
'|' (124) 226 283
'}' (125) 18 38 44 55 65 72 92 94 95 96 103 393 411
'~' (126) 247 354
BOOK_IDENTIFIER (352) 46 57
CHORD_MODIFIER (354) 347
CHORD_REPETITION (355) 205
CHORDMODIFIER_PITCH (353)
CHORDMODIFIERS (341)
CONTEXT_DEF_IDENTIFIER (356) 40
CONTEXT_MOD_IDENTIFIER (357) 104 105 110
DIGIT (344) 36 203 279 305 369
DRUM_PITCH (358) 214 329
DURATION_IDENTIFIER (359) 295
E_UNSIGNED (345) 244
error (256) 4 54 64 70 81 88
EVENT_IDENTIFIER (360) 256
EXPECT_MARKUP (347) 118 119 122 123 402 403
EXPECT_MARKUP_LIST (350) 398
EXPECT_MUSIC (348) 117 217 219
EXPECT_NO_MORE_ARGS (351) 121 125 400
EXPECT_SCM (349) 120 124 399
FIGURE_CLOSE (337) 325
FIGURE_OPEN (338) 325
FRACTION (361) 298 299
LYRIC_MARKUP (342) 378
LYRIC_MARKUP_IDENTIFIER (363) 376 408
LYRICS_STRING (362) 20 196 199 336
MARKUP_FUNCTION (364) 403 412
MARKUP_IDENTIFIER (366) 382 407
MARKUP_LIST_FUNCTION (365) 397
MARKUPLINES_IDENTIFIER (367) 379 388
MULTI_MEASURE_REST (343) 206
MUSIC_FUNCTION (368) 128 216
MUSIC_IDENTIFIER (369) 99 155 159 161
NOTENAME_PITCH (370) 234 268 269 270
NUMBER_IDENTIFIER (371) 365 366 367 371
OUTPUT_DEF_IDENTIFIER (372) 78
PREC_BOT (260)
PREC_TOP (258)
REAL (373) 364 366
RESTNAME (374) 330
SCM_IDENTIFIER (375) 15 234
SCM_TOKEN (376) 14
SCORE_IDENTIFIER (377) 67
STRING (378) 19 164 168 182 192 195 307 406
STRING_IDENTIFIER (379) 193 197 409
TONICNAME_PITCH (380) 271 272 273
UNARY_MINUS (381)
UNSIGNED (346) 300 306 363 367 368

Nonterminals, with rules where they appear


absolute_pitch (240)
    on left: 290, on right: 150
alternative_music (173)
    on left: 91 92, on right: 93
assignment (155)
    on left: 21 22 23, on right: 3 17 79
assignment_id (154)
    on left: 19 20, on right: 21 22
bare_number (269)
    on left: 363 364 365 366 367, on right: 200 362
bass_number (248)
    on left: 305 306 307 308, on right: 313
book_block (159)
    on left: 44, on right: 7 25
bookpart_block (161)
    on left: 55, on right: 8 26 48
br_bass_figure (252)
    on left: 321 322, on right: 324
chord_body (216)
    on left: 210, on right: 209
chord_body_element (218)
    on left: 213 214 215, on right: 212 217
chord_body_elements (217)
    on left: 211 212, on right: 210 212
chord_item (262)
    on left: 345 346 347, on right: 340
chord_items (260)
    on left: 339 340, on right: 338 340
chord_separator (261)
    on left: 341 342 343 344, on right: 338 345
command_event (223)
    on left: 230 231 232 233 234, on right: 221
composite_music (182)
    on left: 111 112, on right: 10 50 60 90 151
context_change (202)
    on left: 164, on right: 101
context_def_spec_block (157)
    on left: 38, on right: 28 80
context_mod (207)
    on left: 181 182 183, on right: 42 109
context_mod_list (181)
    on left: 108 109 110, on right: 103 109 110
context_modification (178)
    on left: 103 104 105, on right: 37 43 107
context_prop_spec (208)
    on left: 184 185, on right: 186 187 188 189
direction_less_event (228)
    on left: 255 256 257, on right: 237 242
direction_reqd_event (229)
    on left: 258 259, on right: 241
dots (246)
    on left: 301 302, on right: 294 295 302
duration_length (241)
    on left: 291, on right: 222 227
event_chord (214)
    on left: 204 205 206 207 208, on right: 98
exclamations (272)
    on left: 372 373, on right: 213 328 373
figure_list (253)
    on left: 323 324, on right: 324 325
figure_spec (254)
    on left: 325, on right: 334
figured_bass_alteration (249)
    on left: 309 310 311, on right: 315
figured_bass_modification (251)
    on left: 317 318 319 320, on right: 316
fraction (245)
    on left: 299 300, on right: 134 228
full_markup_list (276)
    on left: 379 381, on right: 12 35 52 62
function_arglist_music_last (185)
    on left: 117, on right: 126
function_arglist_nonmusic_last (186)
    on left: 118 119 120, on right: 127
function_scm_argument (184)
    on left: 115 116, on right: 120 124
gen_text_def (237)
    on left: 277 278 279, on right: 258
generic_prefix_music_scm (189)
    on left: 128, on right: 131
lilypond (149)
    on left: 1 2 3 4 5, on right: 0 2 3 4 5
lilypond_header (153)
    on left: 18, on right: 6 53 63 68
lilypond_header_body (152)
    on left: 16 17, on right: 17 18
lyric_element (258)
    on left: 335 336, on right: 331
lyric_markup (274)
    on left: 376 378, on right: 335
markup (292)
    on left: 413 414, on right: 395 402
markup_braced_list (283)
    on left: 393, on right: 390 392
markup_braced_list_body (284)
    on left: 394 395 396, on right: 393 395 396
markup_command_list (285)
    on left: 397, on right: 391
markup_composed_list (282)
    on left: 392, on right: 389
markup_head_1_item (288)
    on left: 403, on right: 404 405
markup_head_1_list (289)
    on left: 404 405, on right: 386 392 405 413
markup_list (281)
    on left: 388 389 390 391, on right: 381 385 396 398
markup_top (280)
    on left: 385 386 387, on right: 378 384
mode_changing_head (192)
    on left: 141 142 143 144 145, on right: 137
multiplied_duration (244)
    on left: 296 297 298, on right: 291 293 297 298
music_function_chord_body (220)
    on left: 217 218, on right: 215
music_function_event (221)
    on left: 219 220, on right: 238
music_list (171)
    on left: 85 86 87 88, on right: 86 87 88 92 94 95 96 97
music_property_def (210)
    on left: 190 191, on right: 100
new_chord (259)
    on left: 337 338, on right: 333
new_lyrics (195)
    on left: 153 155 157 159, on right: 157 159 160 161
note_chord_element (215)
    on left: 209, on right: 208
number_expression (266)
    on left: 355 356 357, on right: 31 355 356
number_factor (268)
    on left: 361 362, on right: 358 359 360 361
number_term (267)
    on left: 358 359 360, on right: 355 356 357
octave_check (230)
    on left: 260 261 262 263, on right: 213 328
optional_context_mod (180)
    on left: 106 107, on right: 132 133 138
optional_id (190)
    on left: 129 130, on right: 132 133
optional_rest (255)
    on left: 326 327, on right: 328
output_def (166)
    on left: 72, on right: 13 27 69 71
output_def_body (169)
    on left: 77 78 79 80 81, on right: 72 79 80 81
output_def_head (167)
    on left: 73 74 75, on right: 76
output_def_head_with_mode_switch (168)
    on left: 76, on right: 77 78
paper_block (165)
    on left: 71, on right: 47 58
pitch (235)
    on left: 274, on right: 213 275 328
pitch_also_in_chords (236)
    on left: 275 276, on right: 136
post_events (224)
    on left: 235 236, on right: 204 205 206 209 213 214 236
property_operation (205)
    on left: 168 169 170 171, on right: 181
property_path (204)
    on left: 167, on right: 22 170 186
property_path_revved (203)
    on left: 165 166, on right: 166 167
questions (273)
    on left: 374 375, on right: 213 328 375
re_rhythmed_music (200)
    on left: 160 161 163, on right: 140
relative_music (194)
    on left: 150 151, on right: 139
repeated_music (174)
    on left: 93, on right: 135
score_block (163)
    on left: 65, on right: 9 24 49 59
score_body (164)
    on left: 66 67 68 69 70, on right: 65 68 69 70 411
script_dir (239)
    on left: 287 288 289, on right: 238 241 242
sequential_music (175)
    on left: 94 95, on right: 114
simple_chord_elements (257)
    on left: 332 333 334, on right: 204
simple_element (256)
    on left: 328 329 330 331, on right: 332
simple_music (177)
    on left: 98 99 100 101, on right: 89
simultaneous_music (176)
    on left: 96 97, on right: 113
steno_duration (243)
    on left: 294 295, on right: 82 83 296
steno_pitch (233)
    on left: 268 269 270, on right: 274 290
step_number (264)
    on left: 350 351 352, on right: 348 349
step_numbers (263)
    on left: 348 349, on right: 346 349
string (211)
    on left: 192 193 194, on right: 32 194 198 278
string_number_event (226)
    on left: 244, on right: 243
sub_quotes (232)
    on left: 266 267, on right: 262 267 270 273
sup_quotes (231)
    on left: 264 265, on right: 263 265 269 272
tempo_event (170)
    on left: 82 83 84, on right: 232
tempo_range (265)
    on left: 353 354, on right: 82 83
toplevel_expression (150)
    on left: 6 7 8 9 10 11 12 13, on right: 2
tremolo_type (247)
    on left: 303 304, on right: 257
unsigned_number (271)
    on left: 370 371, on right: 93

D. GNU Free Documentation License

Version 1.3, 3 November 2008

 
Copyright © 2000, 2001, 2002, 2007, 2008 Free Software Foundation, Inc.
http://fsf.org/

Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
  1. PREAMBLE

    The purpose of this License is to make a manual, textbook, or other functional and useful document free in the sense of freedom: to assure everyone the effective freedom to copy and redistribute it, with or without modifying it, either commercially or noncommercially. Secondarily, this License preserves for the author and publisher a way to get credit for their work, while not being considered responsible for modifications made by others.

    This License is a kind of “copyleft”, which means that derivative works of the document must themselves be free in the same sense. It complements the GNU General Public License, which is a copyleft license designed for free software.

    We have designed this License in order to use it for manuals for free software, because free software needs free documentation: a free program should come with manuals providing the same freedoms that the software does. But this License is not limited to software manuals; it can be used for any textual work, regardless of subject matter or whether it is published as a printed book. We recommend this License principally for works whose purpose is instruction or reference.

  2. APPLICABILITY AND DEFINITIONS

    This License applies to any manual or other work, in any medium, that contains a notice placed by the copyright holder saying it can be distributed under the terms of this License. Such a notice grants a world-wide, royalty-free license, unlimited in duration, to use that work under the conditions stated herein. The “Document”, below, refers to any such manual or work. Any member of the public is a licensee, and is addressed as “you”. You accept the license if you copy, modify or distribute the work in a way requiring permission under copyright law.

    A “Modified Version” of the Document means any work containing the Document or a portion of it, either copied verbatim, or with modifications and/or translated into another language.

    A “Secondary Section” is a named appendix or a front-matter section of the Document that deals exclusively with the relationship of the publishers or authors of the Document to the Document’s overall subject (or to related matters) and contains nothing that could fall directly within that overall subject. (Thus, if the Document is in part a textbook of mathematics, a Secondary Section may not explain any mathematics.) The relationship could be a matter of historical connection with the subject or with related matters, or of legal, commercial, philosophical, ethical or political position regarding them.

    The “Invariant Sections” are certain Secondary Sections whose titles are designated, as being those of Invariant Sections, in the notice that says that the Document is released under this License. If a section does not fit the above definition of Secondary then it is not allowed to be designated as Invariant. The Document may contain zero Invariant Sections. If the Document does not identify any Invariant Sections then there are none.

    The “Cover Texts” are certain short passages of text that are listed, as Front-Cover Texts or Back-Cover Texts, in the notice that says that the Document is released under this License. A Front-Cover Text may be at most 5 words, and a Back-Cover Text may be at most 25 words.

    A “Transparent” copy of the Document means a machine-readable copy, represented in a format whose specification is available to the general public, that is suitable for revising the document straightforwardly with generic text editors or (for images composed of pixels) generic paint programs or (for drawings) some widely available drawing editor, and that is suitable for input to text formatters or for automatic translation to a variety of formats suitable for input to text formatters. A copy made in an otherwise Transparent file format whose markup, or absence of markup, has been arranged to thwart or discourage subsequent modification by readers is not Transparent. An image format is not Transparent if used for any substantial amount of text. A copy that is not “Transparent” is called “Opaque”.

    Examples of suitable formats for Transparent copies include plain ASCII without markup, Texinfo input format, LaTeX input format, SGML or XML using a publicly available DTD, and standard-conforming simple HTML, PostScript or PDF designed for human modification. Examples of transparent image formats include PNG, XCF and JPG. Opaque formats include proprietary formats that can be read and edited only by proprietary word processors, SGML or XML for which the DTD and/or processing tools are not generally available, and the machine-generated HTML, PostScript or PDF produced by some word processors for output purposes only.

    The “Title Page” means, for a printed book, the title page itself, plus such following pages as are needed to hold, legibly, the material this License requires to appear in the title page. For works in formats which do not have any title page as such, “Title Page” means the text near the most prominent appearance of the work’s title, preceding the beginning of the body of the text.

    The “publisher” means any person or entity that distributes copies of the Document to the public.

    A section “Entitled XYZ” means a named subunit of the Document whose title either is precisely XYZ or contains XYZ in parentheses following text that translates XYZ in another language. (Here XYZ stands for a specific section name mentioned below, such as “Acknowledgements”, “Dedications”, “Endorsements”, or “History”.) To “Preserve the Title” of such a section when you modify the Document means that it remains a section “Entitled XYZ” according to this definition.

    The Document may include Warranty Disclaimers next to the notice which states that this License applies to the Document. These Warranty Disclaimers are considered to be included by reference in this License, but only as regards disclaiming warranties: any other implication that these Warranty Disclaimers may have is void and has no effect on the meaning of this License.

  3. VERBATIM COPYING

    You may copy and distribute the Document in any medium, either commercially or noncommercially, provided that this License, the copyright notices, and the license notice saying this License applies to the Document are reproduced in all copies, and that you add no other conditions whatsoever to those of this License. You may not use technical measures to obstruct or control the reading or further copying of the copies you make or distribute. However, you may accept compensation in exchange for copies. If you distribute a large enough number of copies you must also follow the conditions in section 3.

    You may also lend copies, under the same conditions stated above, and you may publicly display copies.

  4. COPYING IN QUANTITY

    If you publish printed copies (or copies in media that commonly have printed covers) of the Document, numbering more than 100, and the Document’s license notice requires Cover Texts, you must enclose the copies in covers that carry, clearly and legibly, all these Cover Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on the back cover. Both covers must also clearly and legibly identify you as the publisher of these copies. The front cover must present the full title with all words of the title equally prominent and visible. You may add other material on the covers in addition. Copying with changes limited to the covers, as long as they preserve the title of the Document and satisfy these conditions, can be treated as verbatim copying in other respects.

    If the required texts for either cover are too voluminous to fit legibly, you should put the first ones listed (as many as fit reasonably) on the actual cover, and continue the rest onto adjacent pages.

    If you publish or distribute Opaque copies of the Document numbering more than 100, you must either include a machine-readable Transparent copy along with each Opaque copy, or state in or with each Opaque copy a computer-network location from which the general network-using public has access to download using public-standard network protocols a complete Transparent copy of the Document, free of added material. If you use the latter option, you must take reasonably prudent steps, when you begin distribution of Opaque copies in quantity, to ensure that this Transparent copy will remain thus accessible at the stated location until at least one year after the last time you distribute an Opaque copy (directly or through your agents or retailers) of that edition to the public.

    It is requested, but not required, that you contact the authors of the Document well before redistributing any large number of copies, to give them a chance to provide you with an updated version of the Document.

  5. MODIFICATIONS

    You may copy and distribute a Modified Version of the Document under the conditions of sections 2 and 3 above, provided that you release the Modified Version under precisely this License, with the Modified Version filling the role of the Document, thus licensing distribution and modification of the Modified Version to whoever possesses a copy of it. In addition, you must do these things in the Modified Version:

    1. Use in the Title Page (and on the covers, if any) a title distinct from that of the Document, and from those of previous versions (which should, if there were any, be listed in the History section of the Document). You may use the same title as a previous version if the original publisher of that version gives permission.
    2. List on the Title Page, as authors, one or more persons or entities responsible for authorship of the modifications in the Modified Version, together with at least five of the principal authors of the Document (all of its principal authors, if it has fewer than five), unless they release you from this requirement.
    3. State on the Title page the name of the publisher of the Modified Version, as the publisher.
    4. Preserve all the copyright notices of the Document.
    5. Add an appropriate copyright notice for your modifications adjacent to the other copyright notices.
    6. Include, immediately after the copyright notices, a license notice giving the public permission to use the Modified Version under the terms of this License, in the form shown in the Addendum below.
    7. Preserve in that license notice the full lists of Invariant Sections and required Cover Texts given in the Document’s license notice.
    8. Include an unaltered copy of this License.
    9. Preserve the section Entitled “History”, Preserve its Title, and add to it an item stating at least the title, year, new authors, and publisher of the Modified Version as given on the Title Page. If there is no section Entitled “History” in the Document, create one stating the title, year, authors, and publisher of the Document as given on its Title Page, then add an item describing the Modified Version as stated in the previous sentence.
    10. Preserve the network location, if any, given in the Document for public access to a Transparent copy of the Document, and likewise the network locations given in the Document for previous versions it was based on. These may be placed in the “History” section. You may omit a network location for a work that was published at least four years before the Document itself, or if the original publisher of the version it refers to gives permission.
    11. For any section Entitled “Acknowledgements” or “Dedications”, Preserve the Title of the section, and preserve in the section all the substance and tone of each of the contributor acknowledgements and/or dedications given therein.
    12. Preserve all the Invariant Sections of the Document, unaltered in their text and in their titles. Section numbers or the equivalent are not considered part of the section titles.
    13. Delete any section Entitled “Endorsements”. Such a section may not be included in the Modified Version.
    14. Do not retitle any existing section to be Entitled “Endorsements” or to conflict in title with any Invariant Section.
    15. Preserve any Warranty Disclaimers.

    If the Modified Version includes new front-matter sections or appendices that qualify as Secondary Sections and contain no material copied from the Document, you may at your option designate some or all of these sections as invariant. To do this, add their titles to the list of Invariant Sections in the Modified Version’s license notice. These titles must be distinct from any other section titles.

    You may add a section Entitled “Endorsements”, provided it contains nothing but endorsements of your Modified Version by various parties—for example, statements of peer review or that the text has been approved by an organization as the authoritative definition of a standard.

    You may add a passage of up to five words as a Front-Cover Text, and a passage of up to 25 words as a Back-Cover Text, to the end of the list of Cover Texts in the Modified Version. Only one passage of Front-Cover Text and one of Back-Cover Text may be added by (or through arrangements made by) any one entity. If the Document already includes a cover text for the same cover, previously added by you or by arrangement made by the same entity you are acting on behalf of, you may not add another; but you may replace the old one, on explicit permission from the previous publisher that added the old one.

    The author(s) and publisher(s) of the Document do not by this License give permission to use their names for publicity for or to assert or imply endorsement of any Modified Version.

  6. COMBINING DOCUMENTS

    You may combine the Document with other documents released under this License, under the terms defined in section 4 above for modified versions, provided that you include in the combination all of the Invariant Sections of all of the original documents, unmodified, and list them all as Invariant Sections of your combined work in its license notice, and that you preserve all their Warranty Disclaimers.

    The combined work need only contain one copy of this License, and multiple identical Invariant Sections may be replaced with a single copy. If there are multiple Invariant Sections with the same name but different contents, make the title of each such section unique by adding at the end of it, in parentheses, the name of the original author or publisher of that section if known, or else a unique number. Make the same adjustment to the section titles in the list of Invariant Sections in the license notice of the combined work.

    In the combination, you must combine any sections Entitled “History” in the various original documents, forming one section Entitled “History”; likewise combine any sections Entitled “Acknowledgements”, and any sections Entitled “Dedications”. You must delete all sections Entitled “Endorsements.”

  7. COLLECTIONS OF DOCUMENTS

    You may make a collection consisting of the Document and other documents released under this License, and replace the individual copies of this License in the various documents with a single copy that is included in the collection, provided that you follow the rules of this License for verbatim copying of each of the documents in all other respects.

    You may extract a single document from such a collection, and distribute it individually under this License, provided you insert a copy of this License into the extracted document, and follow this License in all other respects regarding verbatim copying of that document.

  8. AGGREGATION WITH INDEPENDENT WORKS

    A compilation of the Document or its derivatives with other separate and independent documents or works, in or on a volume of a storage or distribution medium, is called an “aggregate” if the copyright resulting from the compilation is not used to limit the legal rights of the compilation’s users beyond what the individual works permit. When the Document is included in an aggregate, this License does not apply to the other works in the aggregate which are not themselves derivative works of the Document.

    If the Cover Text requirement of section 3 is applicable to these copies of the Document, then if the Document is less than one half of the entire aggregate, the Document’s Cover Texts may be placed on covers that bracket the Document within the aggregate, or the electronic equivalent of covers if the Document is in electronic form. Otherwise they must appear on printed covers that bracket the whole aggregate.

  9. TRANSLATION

    Translation is considered a kind of modification, so you may distribute translations of the Document under the terms of section 4. Replacing Invariant Sections with translations requires special permission from their copyright holders, but you may include translations of some or all Invariant Sections in addition to the original versions of these Invariant Sections. You may include a translation of this License, and all the license notices in the Document, and any Warranty Disclaimers, provided that you also include the original English version of this License and the original versions of those notices and disclaimers. In case of a disagreement between the translation and the original version of this License or a notice or disclaimer, the original version will prevail.

    If a section in the Document is Entitled “Acknowledgements”, “Dedications”, or “History”, the requirement (section 4) to Preserve its Title (section 1) will typically require changing the actual title.

  10. TERMINATION

    You may not copy, modify, sublicense, or distribute the Document except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense, or distribute it is void, and will automatically terminate your rights under this License.

    However, if you cease all violation of this License, then your license from a particular copyright holder is reinstated (a) provisionally, unless and until the copyright holder explicitly and finally terminates your license, and (b) permanently, if the copyright holder fails to notify you of the violation by some reasonable means prior to 60 days after the cessation.

    Moreover, your license from a particular copyright holder is reinstated permanently if the copyright holder notifies you of the violation by some reasonable means, this is the first time you have received notice of violation of this License (for any work) from that copyright holder, and you cure the violation prior to 30 days after your receipt of the notice.

    Termination of your rights under this section does not terminate the licenses of parties who have received copies or rights from you under this License. If your rights have been terminated and not permanently reinstated, receipt of a copy of some or all of the same material does not give you any rights to use it.

  11. FUTURE REVISIONS OF THIS LICENSE

    The Free Software Foundation may publish new, revised versions of the GNU Free Documentation License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. See http://www.gnu.org/copyleft/.

    Each version of the License is given a distinguishing version number. If the Document specifies that a particular numbered version of this License “or any later version” applies to it, you have the option of following the terms and conditions either of that specified version or of any later version that has been published (not as a draft) by the Free Software Foundation. If the Document does not specify a version number of this License, you may choose any version ever published (not as a draft) by the Free Software Foundation. If the Document specifies that a proxy can decide which future versions of this License can be used, that proxy’s public statement of acceptance of a version permanently authorizes you to choose that version for the Document.

  12. RELICENSING

    “Massive Multiauthor Collaboration Site” (or “MMC Site”) means any World Wide Web server that publishes copyrightable works and also provides prominent facilities for anybody to edit those works. A public wiki that anybody can edit is an example of such a server. A “Massive Multiauthor Collaboration” (or “MMC”) contained in the site means any set of copyrightable works thus published on the MMC site.

    “CC-BY-SA” means the Creative Commons Attribution-Share Alike 3.0 license published by Creative Commons Corporation, a not-for-profit corporation with a principal place of business in San Francisco, California, as well as future copyleft versions of that license published by that same organization.

    “Incorporate” means to publish or republish a Document, in whole or in part, as part of another Document.

    An MMC is “eligible for relicensing” if it is licensed under this License, and if all works that were first published under this License somewhere other than this MMC, and subsequently incorporated in whole or in part into the MMC, (1) had no cover texts or invariant sections, and (2) were thus incorporated prior to November 1, 2008.

    The operator of an MMC Site may republish an MMC contained in the site under CC-BY-SA on the same site at any time before August 1, 2009, provided the MMC is eligible for relicensing.

ADDENDUM: How to use this License for your documents

To use this License in a document you have written, include a copy of the License in the document and put the following copyright and license notices just after the title page:

 
  Copyright (C)  year  your name.
  Permission is granted to copy, distribute and/or modify this document
  under the terms of the GNU Free Documentation License, Version 1.3
  or any later version published by the Free Software Foundation;
  with no Invariant Sections, no Front-Cover Texts, and no Back-Cover
  Texts.  A copy of the license is included in the section entitled ``GNU
  Free Documentation License''.

If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts, replace the “with…Texts.” line with this:

 
    with the Invariant Sections being list their titles, with
    the Front-Cover Texts being list, and with the Back-Cover Texts
    being list.

If you have Invariant Sections without Cover Texts, or some other combination of the three, merge those two alternatives to suit the situation.

If your document contains nontrivial examples of program code, we recommend releasing these examples in parallel under your choice of free software license, such as the GNU General Public License, to permit their use in free software.


E. LilyPond コマンド インデックス

このインデックスは、すべての LilyPond コマンドとキーワードをリストアップしていて、それらの使い方について説明しているマニュアルのセクションへのリンクがあります。各リンクは 2 つのパートに分かれています。最初のパートは、マニュアルの中でコマンドあるいはキーワードが出現する場所へのリンクです。2 番目のパートは、マニュアルの中でコマンドあるいはキーワードが出現するセクションの先頭へのリンクです。

行き先:   !   '   ,   -   .   /   :   <   =   >   ?   [   \   ]   ^   _   |   ~  
A   B   C   D   E   F   G   H   I   J   K   L   M   N   O   P   Q   R   S   T   U   V   W   X  
インデックス エントリ セクション

!
!臨時記号

'
'絶対オクターブ入力

,
,絶対オクターブ入力

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

.
.演奏時間

/
/Extended and altered chords
/+Extended and altered chords

:
:トレモロの繰り返し

<
<和音の音符
<...>和音の音符

=
=オクターブ チェック

>
>和音の音符

?
?臨時記号

[
[手動連桁

\
\!強弱記号
\(フレージング スラー
\)フレージング スラー
\<強弱記号
\>強弱記号
\abs-fontsizeA.9.1 Font
\accentアーティキュレーションと装飾
\accepts5.1.6 Defining new contexts
\accepts5.1.6 Defining new contexts
\accepts5.1.7 Aligning contexts
\addChordShapePredefined fret diagrams
\addInstrumentDefinition楽器名
\addlyricsAligning lyrics to a melody
\addlyricsAutomatic syllable durations
\addlyricsUsing \addlyrics
\addQuote他のボイスを引用する
\aeolian調号
\afterGrace装飾小音符
\aikenHeadsシェイプ符頭
\aikenHeadsMinorシェイプ符頭
\alias5.1.6 Defining new contexts
\allowPageTurn定義済みコマンド
\alternative1.4.1 長い繰り返し
\arpeggioアルペジオ
\arpeggioArrowDownアルペジオ
\arpeggioArrowUpアルペジオ
\arpeggioBracketアルペジオ
\arpeggioNormalアルペジオ
\arpeggioParenthesisアルペジオ
\arpeggioParenthesisDashedアルペジオ
\arrow-headマークアップ内部でのグラフィック記譜法
\arrow-headA.9.3 Graphic
\ascendensGregorian square neume ligatures
\ascendens定義済みコマンド
\auctumGregorian square neume ligatures
\auctum定義済みコマンド
\augmentum定義済みコマンド
\autoBeamOff自動連桁
\autoBeamOn自動連桁
\autochangeChanging staff automatically
\backslashed-digitA.9.6 Other
\balloonGrobTextバルーン ヘルプ
\balloonLengthOffバルーン ヘルプ
\balloonLengthOnバルーン ヘルプ
\balloonTextバルーン ヘルプ
\bar小節線
\barSelected Snippets
\barNumberCheck小節と小節番号のチェック
\beamA.9.3 Graphic
\bendAfterFall と Doit
\boldフォントとフォント サイズを選択する
\boldA.9.1 Font
\book3.1.2 Multiple scores in a book
\book3.1.2 Multiple scores in a book
\book3.1.5 File structure
\bookOutputName3.1.4 Output file names
\bookOutputSuffix3.1.4 Output file names
\bookpart3.1.2 Multiple scores in a book
\bookpart3.1.5 File structure
\bookpart4.3.2 Page breaking
\boxマークアップ内部でのグラフィック記譜法
\boxA.9.1 Font
\bracket新たな強弱記号
\bracketマークアップ内部でのグラフィック記譜法
\bracketA.9.3 Graphic
\break定義済みコマンド
\breatheブレス記号
\breve演奏時間
\breve休符
\cadenzaOff無韻律の音楽
\cadenzaOn無韻律の音楽
\caesura定義済みコマンド
\capsA.9.1 Font
\cavumGregorian square neume ligatures
\cavum定義済みコマンド
\center-alignテキスト揃え
\center-alignA.9.2 Align
\center-columnテキスト揃え
\center-columnA.9.2 Align
\changeChanging staff manually
\charA.9.6 Other
\chordGlissandoDefault tablatures
\chordmode参照
\chordmode参照
\chordmodePredefined fret diagrams
\circleマークアップ内部でのグラフィック記譜法
\circleA.9.3 Graphic
\clef音部記号
\cm5.4.4 Distances and measurements
\codaアーティキュレーションと装飾
\columnテキスト揃え
\columnA.9.2 Align
\column-linesA.10 Text markup list commands
\combineマークアップ内部でのグラフィック記譜法
\combineA.9.2 Align
\compressFullBarRests小節単位の休符
\compressFullBarRests小節単位の休符
\concatA.9.2 Align
\consists5.1.6 Defining new contexts
\context5.1.2 Creating contexts
\contextStringTuningsCustom tablatures
\cr強弱記号
\cresc強弱記号
\crescHairpin強弱記号
\crescTextCresc強弱記号
\cueDuring合図音符をフォーマットする
\customTabClefA.9.4 Music
\decr強弱記号
\decresc強弱記号
\defaultTimeSignature拍子
\deminutumGregorian square neume ligatures
\deminutum定義済みコマンド
\denies5.1.6 Defining new contexts
\denies5.1.6 Defining new contexts
\denies5.1.7 Aligning contexts
\descendensGregorian square neume ligatures
\descendens定義済みコマンド
\dim強弱記号
\dimHairpin強弱記号
\dimTextDecr強弱記号
\dimTextDecresc強弱記号
\dimTextDim強弱記号
\dir-columnA.9.2 Align
\displayLilyMusic3.3.4 Displaying LilyPond notation
\divisioMaior定義済みコマンド
\divisioMaxima定義済みコマンド
\divisioMinima定義済みコマンド
\dorian調号
\dotsDown演奏時間
\dotsNeutral演奏時間
\dotsUp演奏時間
\doubleflatA.9.4 Music
\doublesharpA.9.4 Music
\downbowアーティキュレーションと装飾
\downbowBowing indications
\downmordentアーティキュレーションと装飾
\downprallアーティキュレーションと装飾
\draw-circleマークアップ内部でのグラフィック記譜法
\draw-circleA.9.3 Graphic
\draw-hlineA.9.3 Graphic
\draw-lineマークアップ内部でのグラフィック記譜法
\draw-lineA.9.3 Graphic
\drummode新たに譜をインスタンス化する
\dynamic新たな強弱記号
\dynamicA.9.1 Font
\dynamicDown強弱記号
\dynamicNeutral強弱記号
\dynamicUp強弱記号
\easyHeadsOff演奏を容易にする記譜法の符頭
\easyHeadsOn演奏を容易にする記譜法の符頭
\epsfileマークアップ内部でのグラフィック記譜法
\epsfileA.9.3 Graphic
\espressivoアーティキュレーションと装飾
\espressivo強弱記号
\expandFullBarRests小節単位の休符
\expandFullBarRests小節単位の休符
\eyeglassesA.9.6 Other
\f強弱記号
\featherDurations羽状の連桁
\fermataアーティキュレーションと装飾
\fermataMarkup小節単位の休符
\fermataMarkup小節単位の休符
\fermataMarkupアーティキュレーションと装飾
\ff強弱記号
\fff強弱記号
\ffff強弱記号
\fffff強弱記号
\fill-lineテキスト揃え
\fill-lineA.9.2 Align
\fill-with-patternA.9.2 Align
\filled-boxマークアップ内部でのグラフィック記譜法
\filled-boxA.9.3 Graphic
\finalis定義済みコマンド
\finger運指の指示
\fingerA.9.1 Font
\flageoletアーティキュレーションと装飾
\flatA.9.4 Music
\flexa定義済みコマンド
\fontCapsA.9.1 Font
\fontsizeフォントとフォント サイズを選択する
\fontsizeA.9.1 Font
\footnoteA.9.6 Other
\fp強弱記号
\fractionA.9.6 Other
\frenchChords定義済みコマンド
\fret-diagramFret diagram markups
\fret-diagramA.9.5 Instrument Specific Markup
\fret-diagram-terseFret diagram markups
\fret-diagram-terseA.9.5 Instrument Specific Markup
\fret-diagram-verboseFret diagram markups
\fret-diagram-verboseA.9.5 Instrument Specific Markup
\frompropertyA.9.6 Other
\funkHeadsシェイプ符頭
\funkHeadsMinorシェイプ符頭
\general-alignテキスト揃え
\general-alignA.9.2 Align
\germanChords定義済みコマンド
\glissandoグリッサンド
\grace装飾小音符
\halfopenアーティキュレーションと装飾
\halignテキスト揃え
\halignA.9.2 Align
\harmonicHarmonics
\harmonicDefault tablatures
\harmonicByFretDefault tablatures
\harmonicByRatioDefault tablatures
\harmonicsOffHarmonics
\harmonicsOnHarmonics
\harp-pedalA.9.5 Instrument Specific Markup
\hbracketマークアップ内部でのグラフィック記譜法
\hbracketA.9.3 Graphic
\hcenter-inA.9.2 Align
\header3.1.5 File structure
\hideKeySignatureBagpipe definitions
\hideNotes隠された音符
\hideSplitTiedTabNotesDefault tablatures
\hideStaffSwitchStaff-change lines
\hspaceA.9.2 Align
\huge記譜フォント サイズを選択する
\hugeフォントとフォント サイズを選択する
\hugeA.9.1 Font
\improvisationOff即興
\improvisationOff旋律のリズムを示す
\improvisationOn即興
\improvisationOn旋律のリズムを示す
\in5.4.4 Distances and measurements
\inclinatumGregorian square neume ligatures
\inclinatum定義済みコマンド
\include3.3.1 Including LilyPond files
\instrumentSwitch楽器名
\inversion転回
\ionian調号
\italianChords定義済みコマンド
\italicフォントとフォント サイズを選択する
\italicA.9.1 Font
\justified-lines複数ページにわたるマークアップ
\justified-linesA.10 Text markup list commands
\justifyテキスト揃え
\justifyA.9.2 Align
\justify-fieldA.9.2 Align
\justify-stringA.9.2 Align
\keepWithTagUsing tags
\key調号
\keyシェイプ符頭
\killCues合図音符をフォーマットする
\label定義済みコマンド
\laissezVibrerタイ
\large記譜フォント サイズを選択する
\largeフォントとフォント サイズを選択する
\largeA.9.1 Font
\largerフォントとフォント サイズを選択する
\largerフォントとフォント サイズを選択する
\largerA.9.1 Font
\layout3.1.5 File structure
\layout4.2.1 The \layout block
\left-alignテキスト揃え
\left-alignA.9.2 Align
\left-braceA.9.6 Other
\left-columnA.9.2 Align
\lheelアーティキュレーションと装飾
\lineA.9.2 Align
\lineaGregorian square neume ligatures
\linea定義済みコマンド
\lineprallアーティキュレーションと装飾
\locrian調号
\longa演奏時間
\longa休符
\longfermataアーティキュレーションと装飾
\lookupA.9.6 Other
\lowerテキスト揃え
\lowerA.9.2 Align
\ltoeアーティキュレーションと装飾
\lydian調号
\lyricmodeEntering lyrics
\lyricmodeAligning lyrics to a melody
\lyricstoAligning lyrics to a melody
\lyricstoAutomatic syllable durations
\lyricstoUsing \lyricsto
\magnifyフォントとフォント サイズを選択する
\magnifyA.9.1 Font
\major調号
\makeClustersクラスタ
\makeStringTuningCustom tablatures
\marcatoアーティキュレーションと装飾
\markリハーサル記号
\markテキスト マーク
\markalphabetA.9.6 Other
\markletterA.9.6 Other
\markupテキスト マーク
\markup独立したテキスト
\markup独立したテキスト
\markupテキスト マークアップの導入部
\markuplines独立したテキスト
\markuplines複数ページにわたるマークアップ
\markuplines参照
\maxima演奏時間
\maxima休符
\mediumA.9.1 Font
\melismaMultiple notes to one syllable
\melismaEndMultiple notes to one syllable
\mergeDifferentlyDottedOff衝突の解決
\mergeDifferentlyDottedOn衝突の解決
\mergeDifferentlyHeadedOff衝突の解決
\mergeDifferentlyHeadedOn衝突の解決
\mf強弱記号
\midi3.1.5 File structure
\minor調号
\mixolydian調号
\mm5.4.4 Distances and measurements
\modalInversionModal inversion
\modalTransposeModal transposition
\mordentアーティキュレーションと装飾
\mp強弱記号
\musicglyphリハーサル記号
\musicglyphA.9.4 Music
\name5.1.6 Defining new contexts
\naturalA.9.4 Music
\new5.1.2 Creating contexts
\noBeam手動連桁
\noBreak定義済みコマンド
\noPageBreak定義済みコマンド
\noPageTurn定義済みコマンド
\normal-size-subA.9.1 Font
\normal-size-superA.9.1 Font
\normal-textA.9.1 Font
\normalsize記譜フォント サイズを選択する
\normalsizeフォントとフォント サイズを選択する
\normalsizeA.9.1 Font
\noteA.9.4 Music
\note-by-numberA.9.4 Music
\nullテキスト揃え
\nullA.9.6 Other
\numberA.9.1 Font
\numericTimeSignature拍子
\octaveCheckオクターブ チェック
\on-the-flyA.9.6 Other
\once5.3.3 The \override command
\oneVoice単一譜の多声
\openアーティキュレーションと装飾
\openBowing indications
\oriscusGregorian square neume ligatures
\oriscus定義済みコマンド
\ottavaオッターバ囲み
\override参照
\overrideA.9.6 Other
\override in \lyricmodeEntering lyrics
\override-linesA.10 Text markup list commands
\overrideTimeSignatureSettings拍子
\p強弱記号
\pad-aroundマークアップ内部でのグラフィック記譜法
\pad-aroundA.9.2 Align
\pad-markupマークアップ内部でのグラフィック記譜法
\pad-markupA.9.2 Align
\pad-to-boxマークアップ内部でのグラフィック記譜法
\pad-to-boxA.9.2 Align
\pad-xマークアップ内部でのグラフィック記譜法
\pad-xA.9.2 Align
\page-linkA.9.6 Other
\page-ref定義済みコマンド
\page-refA.9.6 Other
\pageBreak定義済みコマンド
\pageTurn定義済みコマンド
\paper3.1.5 File structure
\paper4.1.2 Paper size and automatic scaling
\parallelMusic音楽を並列に記述する
\parenthesize括弧
\parenthesizeA.9.3 Graphic
\partcombine自動パート結合
\partial上拍
\partial1.4.1 長い繰り返し
\partial通常の繰り返し
\pathA.9.3 Graphic
\patternA.9.6 Other
\pes定義済みコマンド
\phrasingSlurDashedフレージング スラー
\phrasingSlurDashPatternフレージング スラー
\phrasingSlurDottedフレージング スラー
\phrasingSlurDownフレージング スラー
\phrasingSlurHalfDashedフレージング スラー
\phrasingSlurHalfSolidフレージング スラー
\phrasingSlurNeutralフレージング スラー
\phrasingSlurSolidフレージング スラー
\phrasingSlurUpフレージング スラー
\phrygian調号
\pitchedTrillトリル
\portatoアーティキュレーションと装飾
\postscriptマークアップ内部でのグラフィック記譜法
\postscriptA.9.3 Graphic
\powerChordsIndicating power chords
\pp強弱記号
\ppp強弱記号
\pppp強弱記号
\ppppp強弱記号
\prallアーティキュレーションと装飾
\pralldownアーティキュレーションと装飾
\prallmordentアーティキュレーションと装飾
\prallprallアーティキュレーションと装飾
\prallupアーティキュレーションと装飾
\predefinedFretboardsOffAutomatic fret diagrams
\predefinedFretboardsOnAutomatic fret diagrams
\pt5.4.4 Distances and measurements
\put-adjacentA.9.2 Align
\quilismaGregorian square neume ligatures
\quilisma定義済みコマンド
\quoteDuring他のボイスを引用する
\quoteDuring合図音符をフォーマットする
\raiseテキスト揃え
\raiseA.9.2 Align
\relative相対オクターブ入力
\relative参照
\relative参照
\relativeChanging staff automatically
\RemoveEmptyStaves譜を隠す
\RemoveEmptyStaves譜を隠す
\removeWithTagUsing tags
\repeat1.4.1 長い繰り返し
\repeat percentパーセント繰り返し
\repeat tremoloトレモロの繰り返し
\repeatTieタイ
\repeatTie通常の繰り返し
\repeatTieRepeats with alternative endings
\rest休符
\retrograde逆行
\reverseturnアーティキュレーションと装飾
\revert5.3.3 The \override command
\revertTimeSignatureSettings定義済みコマンド
\rfz強弱記号
\rheelアーティキュレーションと装飾
\right-alignテキスト揃え
\right-alignA.9.2 Align
\right-braceA.9.6 Other
\right-columnA.9.2 Align
\rightHandFingerRight-hand fingerings
\romanA.9.1 Font
\rotateA.9.2 Align
\rounded-boxマークアップ内部でのグラフィック記譜法
\rounded-boxA.9.3 Graphic
\rtoeアーティキュレーションと装飾
\sacredHarpHeadsシェイプ符頭
\sacredHarpHeadsMinorシェイプ符頭
\sansA.9.1 Font
\scaleA.9.3 Graphic
\scaleDurations演奏時間を変更する
\scaleDurations複合拍子記譜法
\score3.1.1 Structure of a score
\score3.1.5 File structure
\scoreA.9.4 Music
\segnoアーティキュレーションと装飾
\semiflatA.9.4 Music
\semiGermanChords定義済みコマンド
\semisharpA.9.4 Music
\sesquiflatA.9.4 Music
\sesquisharpA.9.4 Music
\set自動連桁の振る舞いを設定する
\set5.3.2 The \set command
\sf強弱記号
\sff強弱記号
\sfz強弱記号
\sharpA.9.4 Music
\shiftOff衝突の解決
\shiftOn衝突の解決
\shiftOnn衝突の解決
\shiftOnnn衝突の解決
\shortfermataアーティキュレーションと装飾
\showKeySignatureBagpipe definitions
\showStaffSwitchStaff-change lines
\signumcongruentiaeアーティキュレーションと装飾
\simpleA.9.1 Font
\skip不可視の休符
\skipRepeats with alternative endings
\slashed-digitA.9.6 Other
\slurDashedスラー
\slurDashPatternスラー
\slurDottedスラー
\slurDownスラー
\slurHalfDashedスラー
\slurHalfSolidスラー
\slurNeutralスラー
\slurSolidスラー
\slurUpスラー
\small記譜フォント サイズを選択する
\smallフォントとフォント サイズを選択する
\smallA.9.1 Font
\smallCapsA.9.1 Font
\smallerフォントとフォント サイズを選択する
\smallerフォントとフォント サイズを選択する
\smallerA.9.1 Font
\snappizzicatoアーティキュレーションと装飾
\sostenutoOffPiano pedals
\sostenutoOnPiano pedals
\southernHarmonyHeadsシェイプ符頭
\southernHarmonyHeadsMinorシェイプ符頭
\sp強弱記号
\spp強弱記号
\staccatissimoアーティキュレーションと装飾
\staccatoアーティキュレーションと装飾
\startGroup分析の囲み
\startStaff譜シンボル
\startStaffオッシア譜
\startTrillSpanトリル
\stemDown符幹
\stemNeutral符幹
\stemUp符幹
\stencilA.9.6 Other
\stopGroup分析の囲み
\stoppedアーティキュレーションと装飾
\stopStaff譜シンボル
\stopStaffオッシア譜
\stopStaff譜を隠す
\stopTrillSpanトリル
\storePredefinedDiagramPredefined fret diagrams
\strophaGregorian square neume ligatures
\stropha定義済みコマンド
\strutA.9.6 Other
\subフォントとフォント サイズを選択する
\subA.9.1 Font
\superフォントとフォント サイズを選択する
\superA.9.1 Font
\sustainOffPiano pedals
\sustainOnPiano pedals
\tabChordRepetitionDefault tablatures
\tabFullNotationDefault tablatures
\table-of-contents定義済みコマンド
\table-of-contentsA.10 Text markup list commands
\tagUsing tags
\taorBagpipe definitions
\teeny記譜フォント サイズを選択する
\teenyフォントとフォント サイズを選択する
\teenyA.9.1 Font
\tempoメトロノーム記号
\tenutoアーティキュレーションと装飾
\textA.9.1 Font
\textLengthOff小節単位の休符
\textLengthOffテキスト スクリプト
\textLengthOn小節単位の休符
\textLengthOnテキスト スクリプト
\textSpannerDownテキスト スパナ
\textSpannerNeutralテキスト スパナ
\textSpannerUpテキスト スパナ
\thumbアーティキュレーションと装飾
\thumb運指の指示
\tied-lyricA.9.4 Music
\tieDashedタイ
\tieDottedタイ
\tieDownタイ
\tieNeutralタイ
\tieSolidタイ
\tieUpタイ
\time拍子
\time自動連桁の振る舞いを設定する
\times連符
\times複合拍子記譜法
\tiny記譜フォント サイズを選択する
\tinyフォントとフォント サイズを選択する
\tinyA.9.1 Font
\tocItem定義済みコマンド
\translateテキスト揃え
\translateA.9.2 Align
\translate-scaledテキスト揃え
\translate-scaledA.9.2 Align
\transparentA.9.6 Other
\transpose参照
\transpose移調
\transpose参照
\transposedCueDuring合図音符をフォーマットする
\transposition楽器の移調
\transposition他のボイスを引用する
\treCordePiano pedals
\triangleマークアップ内部でのグラフィック記譜法
\triangleA.9.3 Graphic
\trillアーティキュレーションと装飾
\trillトリル
\tupletDown連符
\tupletNeutral連符
\tupletUp連符
\turnアーティキュレーションと装飾
\tweak5.3.4 The \tweak command
\type5.1.6 Defining new contexts
\typewriterA.9.1 Font
\unaCordaPiano pedals
\underlineフォントとフォント サイズを選択する
\underlineA.9.1 Font
\unfoldRepeats3.5.4 Repeats in MIDI
\unHideNotes隠された音符
\unset5.3.2 The \set command
\upbowアーティキュレーションと装飾
\upbowBowing indications
\upmordentアーティキュレーションと装飾
\upprallアーティキュレーションと装飾
\uprightA.9.1 Font
\varcodaアーティキュレーションと装飾
\vcenterA.9.2 Align
\verbatim-fileA.9.6 Other
\verylongfermataアーティキュレーションと装飾
\virgaGregorian square neume ligatures
\virga定義済みコマンド
\virgula定義済みコマンド
\voiceFourStyleボイス スタイル
\voiceNeutralStyleボイス スタイル
\voiceOne単一譜の多声
\voiceOne ... \voiceFour単一譜の多声
\voiceOneStyleボイス スタイル
\voiceThreeStyleボイス スタイル
\voiceTwoStyleボイス スタイル
\vspaceA.9.2 Align
\walkerHeadsシェイプ符頭
\walkerHeadsMinorシェイプ符頭
\whiteoutA.9.6 Other
\with5.1.4 Modifying context plug-ins
\with-colorオブジェクトに色を付ける
\with-colorA.9.6 Other
\with-dimensionsA.9.6 Other
\with-linkA.9.6 Other
\with-urlA.9.3 Graphic
\woodwind-diagramA.9.5 Instrument Specific Markup
\wordwrapテキスト揃え
\wordwrapA.9.2 Align
\wordwrap-fieldA.9.2 Align
\wordwrap-internalA.10 Text markup list commands
\wordwrap-lines複数ページにわたるマークアップ
\wordwrap-linesA.10 Text markup list commands
\wordwrap-stringA.9.2 Align
\wordwrap-string-internalA.10 Text markup list commands

]
]手動連桁

^
^Extended and altered chords

_
_Multiple syllables to one note

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

~
~タイ

A
accepts5.1.6 Defining new contexts
addChordShapePredefined fret diagrams
addInstrumentDefinition楽器名
addQuote他のボイスを引用する
aeolian調号
afterGrace装飾小音符
aikenHeadsシェイプ符頭
aikenHeadsMinorシェイプ符頭
alias5.1.6 Defining new contexts
alignAboveContext5.1.7 Aligning contexts
alignBelowContext5.1.7 Aligning contexts
annotate-spacing4.6.1 Displaying spacing
arpeggioアルペジオ
arpeggioArrowDownアルペジオ
arpeggioArrowUpアルペジオ
arpeggioBracketアルペジオ
arpeggioNormalアルペジオ
arpeggioParenthesisアルペジオ
arpeggioParenthesisDashedアルペジオ
arrow-headマークアップ内部でのグラフィック記譜法
augCommon chords
auto-first-page-number\paper variables for page numbering
autoBeaming自動連桁の振る舞いを設定する
autoBeamOff自動連桁
autoBeamOn自動連桁
autochangeChanging staff automatically

B
balloonGrobTextバルーン ヘルプ
balloonLengthOffバルーン ヘルプ
balloonLengthOnバルーン ヘルプ
balloonTextバルーン ヘルプ
Balloon_engraverバルーン ヘルプ
banjo-c-tuningBanjo tablatures
banjo-modal-tuningBanjo tablatures
banjo-open-d-tuningBanjo tablatures
banjo-open-dm-tuningBanjo tablatures
bar小節線
barSelected Snippets
barCheckSynchronize小節と小節番号のチェック
BarNumber小節番号
barNumberCheck小節と小節番号のチェック
barNumberVisibility小節番号
bartypeSelected Snippets
base-shortest-duration4.5.1 Horizontal spacing overview
baseMoment自動連桁の振る舞いを設定する
beamExceptions自動連桁の振る舞いを設定する
beatStructure自動連桁の振る舞いを設定する
bendAfterFall と Doit
binding-offset\paper variables for two-sided mode
blank-after-score-page-force\paper variables for page breaking
blank-last-page-force\paper variables for page breaking
blank-page-force\paper variables for page breaking
boldフォントとフォント サイズを選択する
bottom-margin4.1.3 Fixed vertical spacing \paper variables
boxマークアップ内部でのグラフィック記譜法
bracket新たな強弱記号
bracketマークアップ内部でのグラフィック記譜法
bracketPiano pedals
breakableSelected Snippets
breatheブレス記号
breve演奏時間
breve休符

C
cadenzaOff無韻律の音楽
cadenzaOn無韻律の音楽
center-alignテキスト揃え
center-columnテキスト揃え
changeChanging staff manually
check-consistency\paper variables for widths and margins
chordChangesSelected Snippets
chordmode参照
chordmode参照
chordmodePredefined fret diagrams
chordNameExceptionsCustomizing chord names
chordNameLowercaseMinorCustomizing chord names
ChordNamesPredefined fret diagrams
chordNameSeparatorCustomizing chord names
chordNoteNamerCustomizing chord names
chordPrefixSpacerCustomizing chord names
chordRootNamerCustomizing chord names
chordsPrinting chord names
circleマークアップ内部でのグラフィック記譜法
clef音部記号
colorオブジェクトに色を付ける
columnテキスト揃え
combineマークアップ内部でのグラフィック記譜法
common-shortest-duration4.5.1 Horizontal spacing overview
Completion_heads_engraver自動音符分割
compressFullBarRests小節単位の休符
compressFullBarRests小節単位の休符
consists5.1.6 Defining new contexts
contextStringTuningsCustom tablatures
controlpitchオクターブ チェック
cr強弱記号
cresc強弱記号
crescHairpin強弱記号
crescTextCresc強弱記号
cross特殊な符頭
cross-staffCross-staff stems
cueDuring合図音符をフォーマットする
currentBarNumber小節番号
currentBarNumber時間管理

D
decr強弱記号
decresc強弱記号
default自動臨時記号
default自動臨時記号
default-staff-staff-spacingWithin-system spacing properties
defaultBarTypeSelected Snippets
defaultTimeSignature拍子
denies5.1.6 Defining new contexts
dim強弱記号
dimCommon chords
dimHairpin強弱記号
dimTextDecr強弱記号
dimTextDecresc強弱記号
dimTextDim強弱記号
dodecaphonic自動臨時記号
dorian調号
dotsDown演奏時間
dotsNeutral演奏時間
dotsUp演奏時間
draw-circleマークアップ内部でのグラフィック記譜法
draw-lineマークアップ内部でのグラフィック記譜法
drummode新たに譜をインスタンス化する
DrumStaff新たに譜をインスタンス化する
dynamic新たな強弱記号
dynamicDown強弱記号
DynamicLineSpanner強弱記号
dynamicNeutral強弱記号
dynamicUp強弱記号

E
easyHeadsOff演奏を容易にする記譜法の符頭
easyHeadsOn演奏を容易にする記譜法の符頭
epsfileマークアップ内部でのグラフィック記譜法
espressivo強弱記号
expandFullBarRests小節単位の休符
expandFullBarRests小節単位の休符
extra-offsetWithin-system spacing properties

F
f強弱記号
featherDurations羽状の連桁
fermataMarkup小節単位の休符
fermataMarkup小節単位の休符
ff強弱記号
fff強弱記号
ffff強弱記号
fffff強弱記号
fill-lineテキスト揃え
filled-boxマークアップ内部でのグラフィック記譜法
finger運指の指示
first-page-number\paper variables for page numbering
flag-styleCross-staff stems
followVoiceStaff-change lines
font-interface記譜フォント サイズを選択する
font-interfaceフォントの説明
font-size記譜フォント サイズを選択する
font-size記譜フォント サイズを選択する
fontsizeフォントとフォント サイズを選択する
fontSize記譜フォント サイズを選択する
forget自動臨時記号
four-string-banjoBanjo tablatures
fp強弱記号
fret-diagramFret diagram markups
fret-diagram-interfaceFret diagram markups
fret-diagram-terseFret diagram markups
fret-diagram-verboseFret diagram markups
FretBoardsPredefined fret diagrams
funkHeadsシェイプ符頭
funkHeadsMinorシェイプ符頭

G
general-alignテキスト揃え
glissandoグリッサンド
grace装飾小音符
GregorianTranscriptionStaff新たに譜をインスタンス化する
gridIntervalグリッド ライン
Grid_line_span_engraverグリッド ライン
Grid_point_engraverグリッド ライン
grow-direction羽状の連桁

H
halignテキスト揃え
hbracketマークアップ内部でのグラフィック記譜法
hideKeySignatureBagpipe definitions
hideNotes隠された音符
hideStaffSwitchStaff-change lines
horizontal-shift\paper variables for shifts and indents
Horizontal_bracket_engraver分析の囲み
huge記譜フォント サイズを選択する
hugeフォントとフォント サイズを選択する

I
improvisationOff即興
improvisationOff旋律のリズムを示す
improvisationOn即興
improvisationOn旋律のリズムを示す
indent楽器名
indent\paper variables for shifts and indents
indent4.5.4 Line length
inner-margin\paper variables for two-sided mode
instrumentSwitch楽器名
ionian調号
italicフォントとフォント サイズを選択する

J
justified-lines複数ページにわたるマークアップ
justifyテキスト揃え

K
key調号
keyシェイプ符頭
killCues合図音符をフォーマットする

L
laissezVibrerタイ
large記譜フォント サイズを選択する
largeフォントとフォント サイズを選択する
largerフォントとフォント サイズを選択する
largerフォントとフォント サイズを選択する
last-bottom-spacingList of flexible vertical spacing \paper variables
layout file4.2.2 Setting the staff size
left-alignテキスト揃え
left-margin\paper variables for widths and margins
lengthCross-staff stems
line-width\paper variables for widths and margins
line-width4.5.4 Line length
locrian調号
longa演奏時間
longa休符
lowerテキスト揃え
ly:minimal-breaking4.3.5 Minimal page breaking
ly:optimal-breaking4.3.3 Optimal page breaking
ly:page-turn-breaking4.3.4 Optimal page turning
lydian調号

M
mCommon chords
magnifyフォントとフォント サイズを選択する
magstep記譜フォント サイズを選択する
magstep5.4.4 Distances and measurements
majCommon chords
major調号
major seven symbols定義済みコマンド
majorSevenSymbolCustomizing chord names
make-dynamic-script新たな強弱記号
make-pango-font-treeドキュメント全体のフォント
makeClustersクラスタ
makeStringTuningCustom tablatures
markリハーサル記号
markテキスト マーク
markupテキスト マーク
markup独立したテキスト
markup独立したテキスト
markupテキスト マークアップの導入部
markup-markup-spacingList of flexible vertical spacing \paper variables
markup-system-spacingList of flexible vertical spacing \paper variables
markuplines独立したテキスト
markuplines複数ページにわたるマークアップ
markuplines参照
max-systems-per-page\paper variables for line breaking
maxima演奏時間
maxima休符
measureLength自動連桁の振る舞いを設定する
measureLength時間管理
measurePosition上拍
measurePosition時間管理
MensuralStaff新たに譜をインスタンス化する
mergeDifferentlyDottedOff衝突の解決
mergeDifferentlyDottedOn衝突の解決
mergeDifferentlyHeadedOff衝突の解決
mergeDifferentlyHeadedOn衝突の解決
mf強弱記号
min-systems-per-page\paper variables for line breaking
minimum-Y-extentWithin-system spacing properties
minimumFretDefault tablatures
minimumFretAutomatic fret diagrams
minimumPageTurnLength4.3.4 Optimal page turning
minimumRepeatLengthForPageTurn4.3.4 Optimal page turning
minor調号
mixedPiano pedals
mixolydian調号
modalInversionModal inversion
modalTransposeModal transposition
modern自動臨時記号
modern-cautionary自動臨時記号
modern-voice自動臨時記号
modern-voice-cautionary自動臨時記号
mp強弱記号
MultiMeasureRestText小節単位の休符
musicglyphリハーサル記号

N
name5.1.6 Defining new contexts
neo-modern自動臨時記号
neo-modern-cautionary自動臨時記号
neo-modern-voice自動臨時記号
neo-modern-voice-cautionary自動臨時記号
no-reset自動臨時記号
noBeam手動連桁
nonstaff-nonstaff-spacingWithin-system spacing properties
nonstaff-relatedstaff-spacingWithin-system spacing properties
nonstaff-unrelatedstaff-spacingWithin-system spacing properties
normalsize記譜フォント サイズを選択する
normalsizeフォントとフォント サイズを選択する
Note_heads_engraver自動音符分割
nullテキスト揃え
numericTimeSignature拍子

O
octaveCheckオクターブ チェック
oneVoice単一譜の多声
ottavaオッターバ囲み
outer-margin\paper variables for two-sided mode
outside-staff-horizontal-padding4.4.3 Vertical collision avoidance
outside-staff-padding4.4.3 Vertical collision avoidance
outside-staff-priority4.4.3 Vertical collision avoidance

P
p強弱記号
pad-aroundマークアップ内部でのグラフィック記譜法
pad-markupマークアップ内部でのグラフィック記譜法
pad-to-boxマークアップ内部でのグラフィック記譜法
pad-xマークアップ内部でのグラフィック記譜法
page-breaking\paper variables for page breaking
page-breaking-system-system-spacing\paper variables for page breaking
page-count\paper variables for page breaking
page-spacing-weightMiscellaneous \paper variables
paper-height4.1.3 Fixed vertical spacing \paper variables
paper-width\paper variables for widths and margins
parallelMusic音楽を並列に記述する
parenthesize括弧
partcombine自動パート結合
partial上拍
pedalSustainStylePiano pedals
percentパーセント繰り返し
phrasingSlurDashedフレージング スラー
phrasingSlurDashPatternフレージング スラー
phrasingSlurDottedフレージング スラー
phrasingSlurDownフレージング スラー
phrasingSlurHalfDashedフレージング スラー
phrasingSlurHalfSolidフレージング スラー
phrasingSlurNeutralフレージング スラー
phrasingSlurSolidフレージング スラー
phrasingSlurUpフレージング スラー
phrygian調号
piano自動臨時記号
piano-cautionary自動臨時記号
PianoStaffReferences for keyboards
PianoStaffChanging staff automatically
pipeSymbol小節と小節番号のチェック
pitchedTrillトリル
Pitch_squash_engraver旋律のリズムを示す
postscriptマークアップ内部でのグラフィック記譜法
powerChordsIndicating power chords
pp強弱記号
ppp強弱記号
pppp強弱記号
ppppp強弱記号
predefinedFretboardsOffAutomatic fret diagrams
predefinedFretboardsOnAutomatic fret diagrams
print-all-headersMiscellaneous \paper variables
print-first-page-number\paper variables for page numbering
print-page-number\paper variables for page numbering

Q
quotedCueEventTypesSelected Snippets
quotedEventTypesSelected Snippets
quoteDuring他のボイスを引用する
quoteDuring合図音符をフォーマットする

R
r休符
R小節単位の休符
ragged-bottom4.1.3 Fixed vertical spacing \paper variables
ragged-last\paper variables for widths and margins
ragged-last4.5.4 Line length
ragged-last-bottom4.1.3 Fixed vertical spacing \paper variables
ragged-right\paper variables for widths and margins
ragged-right4.5.4 Line length
raiseテキスト揃え
relative相対オクターブ入力
relative参照
relative参照
relativeChanging staff automatically
repeatCommands手動の繰り返し記号
repeatTieタイ
rest休符
retrograde逆行
rfz強弱記号
rgb-colorオブジェクトに色を付ける
RhythmicStaff新たに譜をインスタンス化する
right-alignテキスト揃え
right-margin\paper variables for widths and margins
rightHandFingerRight-hand fingerings
rounded-boxマークアップ内部でのグラフィック記譜法

S
s不可視の休符
sacredHarpHeadsシェイプ符頭
sacredHarpHeadsMinorシェイプ符頭
scaleDurations演奏時間を変更する
scaleDurations複合拍子記譜法
score-markup-spacingList of flexible vertical spacing \paper variables
score-system-spacingList of flexible vertical spacing \paper variables
self-alignment-XWithin-system spacing properties
set自動連桁の振る舞いを設定する
set-accidental-style自動臨時記号
set-octavationオッターバ囲み
sf強弱記号
sff強弱記号
sfz強弱記号
shiftOff衝突の解決
shiftOn衝突の解決
shiftOnn衝突の解決
shiftOnnn衝突の解決
short-indent楽器名
short-indent\paper variables for shifts and indents
show-available-fonts個々に登録するフォント
showFirstLength3.4.2 Skipping corrected music
showKeySignatureBagpipe definitions
showLastLength3.4.2 Skipping corrected music
showStaffSwitchStaff-change lines
skip不可視の休符
skipTypesetting3.4.2 Skipping corrected music
slurDashedスラー
slurDashPatternスラー
slurDottedスラー
slurDownスラー
slurHalfDashedスラー
slurHalfSolidスラー
slurNeutralスラー
slurSolidスラー
slurUpスラー
small記譜フォント サイズを選択する
smallフォントとフォント サイズを選択する
smallerフォントとフォント サイズを選択する
smallerフォントとフォント サイズを選択する
sostenutoOffPiano pedals
sostenutoOnPiano pedals
southernHarmonyHeadsシェイプ符頭
southernHarmonyHeadsMinorシェイプ符頭
sp強弱記号
spacing4.5.1 Horizontal spacing overview
spp強弱記号
staff-affinityWithin-system spacing properties
staff-staff-spacingWithin-system spacing properties
Staff.midiInstrumentInstrument names
staffgroup-staff-spacingWithin-system spacing properties
Staff_symbol_engraver譜を隠す
start-repeat手動の繰り返し記号
startGroup分析の囲み
startStaff譜シンボル
startStaffオッシア譜
startTrillSpanトリル
StemCross-staff stems
stem-spacing-correction4.5.1 Horizontal spacing overview
stemDown符幹
stemLeftBeamCount手動連桁
stemNeutral符幹
stemRightBeamCount手動連桁
stemUp符幹
stopGroup分析の囲み
stopStaff譜シンボル
stopStaffオッシア譜
stopStaff譜を隠す
stopTrillSpanトリル
storePredefinedDiagramPredefined fret diagrams
StringTuningsCustom tablatures
stringTuningsPredefined fret diagrams
subフォントとフォント サイズを選択する
suggestAccidentalsAnnotational accidentals (musica ficta)
superフォントとフォント サイズを選択する
susExtended and altered chords
sustainOffPiano pedals
sustainOnPiano pedals
system-count\paper variables for line breaking
system-separator-markupMiscellaneous \paper variables
system-system-spacingList of flexible vertical spacing \paper variables
systems-per-page\paper variables for line breaking

T
TabStaff新たに譜をインスタンス化する
TabStaffDefault tablatures
TabVoiceDefault tablatures
taorBagpipe definitions
teaching自動臨時記号
teeny記譜フォント サイズを選択する
teenyフォントとフォント サイズを選択する
tempoメトロノーム記号
textPiano pedals
textLengthOffテキスト スクリプト
textLengthOn小節単位の休符
textLengthOnテキスト スクリプト
textLenthOff小節単位の休符
textSpannerDownテキスト スパナ
textSpannerNeutralテキスト スパナ
textSpannerUpテキスト スパナ
thumb運指の指示
tieDashedタイ
tieDottedタイ
tieDownタイ
tieNeutralタイ
tieSolidタイ
tieUpタイ
time拍子
time自動連桁の振る舞いを設定する
times連符
times複合拍子記譜法
timeSignatureFraction複合拍子記譜法
tiny記譜フォント サイズを選択する
tinyフォントとフォント サイズを選択する
top-margin4.1.3 Fixed vertical spacing \paper variables
top-markup-spacingList of flexible vertical spacing \paper variables
top-system-spacingList of flexible vertical spacing \paper variables
translateテキスト揃え
translate-scaledテキスト揃え
transpose参照
transpose移調
transpose参照
transposedCueDuring合図音符をフォーマットする
transposition楽器の移調
transposition他のボイスを引用する
treCordePiano pedals
tremoloトレモロの繰り返し
tremoloFlagsトレモロの繰り返し
triangleマークアップ内部でのグラフィック記譜法
trillトリル
tupletDown連符
tupletNeutral連符
TupletNumberSelected Snippets
tupletNumberFormatFunctionSelected Snippets
tupletSpannerDurationSelected Snippets
tupletUp連符
two-sided\paper variables for two-sided mode
type5.1.6 Defining new contexts

U
unaCordaPiano pedals
underlineフォントとフォント サイズを選択する
unfold繰り返しを描き出す
unHideNotes隠された音符

V
VaticanaStaff新たに譜をインスタンス化する
VerticalAxisGroupWithin-system spacing properties
voice自動臨時記号
Voice単一譜の多声
voice自動臨時記号
voiceOne単一譜の多声

W
walkerHeadsシェイプ符頭
walkerHeadsMinorシェイプ符頭
whichBarSelected Snippets
with-colorオブジェクトに色を付ける
wordwrapテキスト揃え
wordwrap-lines複数ページにわたるマークアップ

X
X-offsetWithin-system spacing properties
x11-colorオブジェクトに色を付ける
x11-color参照

行き先:   !   '   ,   -   .   /   :   <   =   >   ?   [   \   ]   ^   _   |   ~  
A   B   C   D   E   F   G   H   I   J   K   L   M   N   O   P   Q   R   S   T   U   V   W   X  

F. LilyPond インデックス

すべての LilyPond コマンドとキーワードに加えて、このインデックスは、それらに関連する音楽用語や単語をリストアップしていて、そのトピックスについて説明しているマニュアルのセクションへのリンクがあります。各リンクは 2 つのパートに分かれています。最初のパートは、マニュアルの中でトピックスが出現する場所へのリンクです。2 番目のパートは、マニュアルの中でトピックスが出現するセクションの先頭へのリンクです。

行き先:   !   '   ,   -   .   /   1   8   :   <   =   >   ?   [   \   ]   ^   _   |   ~                               調    
A   B   C   D   E   F   G   H   I   J   K   L   M   N   O   P   Q   R   S   T   U   V   W   X  
インデックス エントリ セクション

!
!臨時記号

'
'絶対オクターブ入力

,
,絶対オクターブ入力

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

.
.演奏時間

/
/Extended and altered chords
/+Extended and altered chords

1
15maオッターバ囲み

8
8vaオッターバ囲み
8veオッターバ囲み

:
:トレモロの繰り返し

<
<和音の音符
<...>和音の音符

=
=オクターブ チェック

>
>和音の音符

?
?臨時記号

[
[手動連桁

\
\!強弱記号
\(フレージング スラー
\)フレージング スラー
\<強弱記号
\>強弱記号
\abs-fontsizeA.9.1 Font
\accentアーティキュレーションと装飾
\accepts5.1.6 Defining new contexts
\accepts5.1.6 Defining new contexts
\accepts5.1.7 Aligning contexts
\addChordShapePredefined fret diagrams
\addInstrumentDefinition楽器名
\addlyricsAligning lyrics to a melody
\addlyricsAutomatic syllable durations
\addlyricsUsing \addlyrics
\addQuote他のボイスを引用する
\aeolian調号
\afterGrace装飾小音符
\aikenHeadsシェイプ符頭
\aikenHeadsMinorシェイプ符頭
\alias5.1.6 Defining new contexts
\allowPageTurn定義済みコマンド
\alternative1.4.1 長い繰り返し
\arpeggioアルペジオ
\arpeggioArrowDownアルペジオ
\arpeggioArrowUpアルペジオ
\arpeggioBracketアルペジオ
\arpeggioNormalアルペジオ
\arpeggioParenthesisアルペジオ
\arpeggioParenthesisDashedアルペジオ
\arrow-headマークアップ内部でのグラフィック記譜法
\arrow-headA.9.3 Graphic
\ascendensGregorian square neume ligatures
\ascendens定義済みコマンド
\auctumGregorian square neume ligatures
\auctum定義済みコマンド
\augmentum定義済みコマンド
\autoBeamOff自動連桁
\autoBeamOff and \partcombine (\autoBeamOff と \partcombine)Selected Snippets
\autoBeamOn自動連桁
\autochangeChanging staff automatically
\backslashed-digitA.9.6 Other
\balloonGrobTextバルーン ヘルプ
\balloonLengthOffバルーン ヘルプ
\balloonLengthOnバルーン ヘルプ
\balloonTextバルーン ヘルプ
\bar小節線
\barSelected Snippets
\barNumberCheck小節と小節番号のチェック
\beamA.9.3 Graphic
\bendAfterFall と Doit
\boldフォントとフォント サイズを選択する
\boldA.9.1 Font
\book3.1.2 Multiple scores in a book
\book3.1.2 Multiple scores in a book
\book3.1.5 File structure
\bookOutputName3.1.4 Output file names
\bookOutputSuffix3.1.4 Output file names
\bookpart3.1.2 Multiple scores in a book
\bookpart3.1.5 File structure
\bookpart4.3.2 Page breaking
\boxマークアップ内部でのグラフィック記譜法
\boxA.9.1 Font
\bracket新たな強弱記号
\bracketマークアップ内部でのグラフィック記譜法
\bracketA.9.3 Graphic
\break定義済みコマンド
\breatheブレス記号
\breve演奏時間
\breve休符
\cadenzaOff無韻律の音楽
\cadenzaOn無韻律の音楽
\caesura定義済みコマンド
\capsA.9.1 Font
\cavumGregorian square neume ligatures
\cavum定義済みコマンド
\center-alignテキスト揃え
\center-alignA.9.2 Align
\center-columnテキスト揃え
\center-columnA.9.2 Align
\changeChanging staff manually
\charA.9.6 Other
\chordGlissandoDefault tablatures
\chordmode参照
\chordmode参照
\chordmodePredefined fret diagrams
\circleマークアップ内部でのグラフィック記譜法
\circleA.9.3 Graphic
\clef音部記号
\cm5.4.4 Distances and measurements
\codaアーティキュレーションと装飾
\columnテキスト揃え
\columnA.9.2 Align
\column-linesA.10 Text markup list commands
\combineマークアップ内部でのグラフィック記譜法
\combineA.9.2 Align
\compressFullBarRests小節単位の休符
\compressFullBarRests小節単位の休符
\concatA.9.2 Align
\consists5.1.6 Defining new contexts
\context5.1.2 Creating contexts
\contextStringTuningsCustom tablatures
\cr強弱記号
\cresc強弱記号
\crescHairpin強弱記号
\crescTextCresc強弱記号
\cueDuring合図音符をフォーマットする
\customTabClefA.9.4 Music
\decr強弱記号
\decresc強弱記号
\defaultTimeSignature拍子
\deminutumGregorian square neume ligatures
\deminutum定義済みコマンド
\denies5.1.6 Defining new contexts
\denies5.1.6 Defining new contexts
\denies5.1.7 Aligning contexts
\descendensGregorian square neume ligatures
\descendens定義済みコマンド
\dim強弱記号
\dimHairpin強弱記号
\dimTextDecr強弱記号
\dimTextDecresc強弱記号
\dimTextDim強弱記号
\dir-columnA.9.2 Align
\displayLilyMusic3.3.4 Displaying LilyPond notation
\divisioMaior定義済みコマンド
\divisioMaxima定義済みコマンド
\divisioMinima定義済みコマンド
\dorian調号
\dotsDown演奏時間
\dotsNeutral演奏時間
\dotsUp演奏時間
\doubleflatA.9.4 Music
\doublesharpA.9.4 Music
\downbowアーティキュレーションと装飾
\downbowBowing indications
\downmordentアーティキュレーションと装飾
\downprallアーティキュレーションと装飾
\draw-circleマークアップ内部でのグラフィック記譜法
\draw-circleA.9.3 Graphic
\draw-hlineA.9.3 Graphic
\draw-lineマークアップ内部でのグラフィック記譜法
\draw-lineA.9.3 Graphic
\drummode新たに譜をインスタンス化する
\dynamic新たな強弱記号
\dynamicA.9.1 Font
\dynamicDown強弱記号
\dynamicNeutral強弱記号
\dynamicUp強弱記号
\easyHeadsOff演奏を容易にする記譜法の符頭
\easyHeadsOn演奏を容易にする記譜法の符頭
\epsfileマークアップ内部でのグラフィック記譜法
\epsfileA.9.3 Graphic
\espressivoアーティキュレーションと装飾
\espressivo強弱記号
\expandFullBarRests小節単位の休符
\expandFullBarRests小節単位の休符
\eyeglassesA.9.6 Other
\f強弱記号
\featherDurations羽状の連桁
\fermataアーティキュレーションと装飾
\fermataMarkup小節単位の休符
\fermataMarkup小節単位の休符
\fermataMarkupアーティキュレーションと装飾
\ff強弱記号
\fff強弱記号
\ffff強弱記号
\fffff強弱記号
\fill-lineテキスト揃え
\fill-lineA.9.2 Align
\fill-with-patternA.9.2 Align
\filled-boxマークアップ内部でのグラフィック記譜法
\filled-boxA.9.3 Graphic
\finalis定義済みコマンド
\finger運指の指示
\fingerA.9.1 Font
\flageoletアーティキュレーションと装飾
\flatA.9.4 Music
\flexa定義済みコマンド
\fontCapsA.9.1 Font
\fontsizeフォントとフォント サイズを選択する
\fontsizeA.9.1 Font
\footnoteA.9.6 Other
\fp強弱記号
\fractionA.9.6 Other
\frenchChords定義済みコマンド
\fret-diagramFret diagram markups
\fret-diagramA.9.5 Instrument Specific Markup
\fret-diagram-terseFret diagram markups
\fret-diagram-terseA.9.5 Instrument Specific Markup
\fret-diagram-verboseFret diagram markups
\fret-diagram-verboseA.9.5 Instrument Specific Markup
\frompropertyA.9.6 Other
\funkHeadsシェイプ符頭
\funkHeadsMinorシェイプ符頭
\general-alignテキスト揃え
\general-alignA.9.2 Align
\germanChords定義済みコマンド
\glissandoグリッサンド
\grace装飾小音符
\halfopenアーティキュレーションと装飾
\halignテキスト揃え
\halignA.9.2 Align
\harmonicHarmonics
\harmonicDefault tablatures
\harmonicByFretDefault tablatures
\harmonicByRatioDefault tablatures
\harmonicsOffHarmonics
\harmonicsOnHarmonics
\harp-pedalA.9.5 Instrument Specific Markup
\hbracketマークアップ内部でのグラフィック記譜法
\hbracketA.9.3 Graphic
\hcenter-inA.9.2 Align
\header3.1.5 File structure
\hideKeySignatureBagpipe definitions
\hideNotes隠された音符
\hideSplitTiedTabNotesDefault tablatures
\hideStaffSwitchStaff-change lines
\hspaceA.9.2 Align
\huge記譜フォント サイズを選択する
\hugeフォントとフォント サイズを選択する
\hugeA.9.1 Font
\improvisationOff即興
\improvisationOff旋律のリズムを示す
\improvisationOn即興
\improvisationOn旋律のリズムを示す
\in5.4.4 Distances and measurements
\inclinatumGregorian square neume ligatures
\inclinatum定義済みコマンド
\include3.3.1 Including LilyPond files
\instrumentSwitch楽器名
\inversion転回
\ionian調号
\italianChords定義済みコマンド
\italicフォントとフォント サイズを選択する
\italicA.9.1 Font
\justified-lines複数ページにわたるマークアップ
\justified-linesA.10 Text markup list commands
\justifyテキスト揃え
\justifyA.9.2 Align
\justify-fieldA.9.2 Align
\justify-stringA.9.2 Align
\keepWithTagUsing tags
\key調号
\keyシェイプ符頭
\killCues合図音符をフォーマットする
\label定義済みコマンド
\laissezVibrerタイ
\large記譜フォント サイズを選択する
\largeフォントとフォント サイズを選択する
\largeA.9.1 Font
\largerフォントとフォント サイズを選択する
\largerフォントとフォント サイズを選択する
\largerA.9.1 Font
\layout3.1.5 File structure
\layout4.2.1 The \layout block
\left-alignテキスト揃え
\left-alignA.9.2 Align
\left-braceA.9.6 Other
\left-columnA.9.2 Align
\lheelアーティキュレーションと装飾
\lineA.9.2 Align
\lineaGregorian square neume ligatures
\linea定義済みコマンド
\lineprallアーティキュレーションと装飾
\locrian調号
\longa演奏時間
\longa休符
\longfermataアーティキュレーションと装飾
\lookupA.9.6 Other
\lowerテキスト揃え
\lowerA.9.2 Align
\ltoeアーティキュレーションと装飾
\lydian調号
\lyricmodeEntering lyrics
\lyricmodeAligning lyrics to a melody
\lyricstoAligning lyrics to a melody
\lyricstoAutomatic syllable durations
\lyricstoUsing \lyricsto
\magnifyフォントとフォント サイズを選択する
\magnifyA.9.1 Font
\major調号
\makeClustersクラスタ
\makeStringTuningCustom tablatures
\marcatoアーティキュレーションと装飾
\markリハーサル記号
\markテキスト マーク
\markalphabetA.9.6 Other
\markletterA.9.6 Other
\markupテキスト マーク
\markup独立したテキスト
\markup独立したテキスト
\markupテキスト マークアップの導入部
\markuplines独立したテキスト
\markuplines複数ページにわたるマークアップ
\markuplines参照
\maxima演奏時間
\maxima休符
\mediumA.9.1 Font
\melismaMultiple notes to one syllable
\melismaEndMultiple notes to one syllable
\mergeDifferentlyDottedOff衝突の解決
\mergeDifferentlyDottedOn衝突の解決
\mergeDifferentlyHeadedOff衝突の解決
\mergeDifferentlyHeadedOn衝突の解決
\mf強弱記号
\midi3.1.5 File structure
\minor調号
\mixolydian調号
\mm5.4.4 Distances and measurements
\modalInversionModal inversion
\modalTransposeModal transposition
\mordentアーティキュレーションと装飾
\mp強弱記号
\musicglyphリハーサル記号
\musicglyphA.9.4 Music
\name5.1.6 Defining new contexts
\naturalA.9.4 Music
\new5.1.2 Creating contexts
\noBeam手動連桁
\noBreak定義済みコマンド
\noPageBreak定義済みコマンド
\noPageTurn定義済みコマンド
\normal-size-subA.9.1 Font
\normal-size-superA.9.1 Font
\normal-textA.9.1 Font
\normalsize記譜フォント サイズを選択する
\normalsizeフォントとフォント サイズを選択する
\normalsizeA.9.1 Font
\noteA.9.4 Music
\note-by-numberA.9.4 Music
\nullテキスト揃え
\nullA.9.6 Other
\numberA.9.1 Font
\numericTimeSignature拍子
\octaveCheckオクターブ チェック
\on-the-flyA.9.6 Other
\once5.3.3 The \override command
\oneVoice単一譜の多声
\openアーティキュレーションと装飾
\openBowing indications
\oriscusGregorian square neume ligatures
\oriscus定義済みコマンド
\ottavaオッターバ囲み
\override参照
\overrideA.9.6 Other
\override in \lyricmodeEntering lyrics
\override-linesA.10 Text markup list commands
\overrideTimeSignatureSettings拍子
\p強弱記号
\pad-aroundマークアップ内部でのグラフィック記譜法
\pad-aroundA.9.2 Align
\pad-markupマークアップ内部でのグラフィック記譜法
\pad-markupA.9.2 Align
\pad-to-boxマークアップ内部でのグラフィック記譜法
\pad-to-boxA.9.2 Align
\pad-xマークアップ内部でのグラフィック記譜法
\pad-xA.9.2 Align
\page-linkA.9.6 Other
\page-ref定義済みコマンド
\page-refA.9.6 Other
\pageBreak定義済みコマンド
\pageTurn定義済みコマンド
\paper3.1.5 File structure
\paper4.1.2 Paper size and automatic scaling
\parallelMusic音楽を並列に記述する
\parenthesize括弧
\parenthesizeA.9.3 Graphic
\partcombine自動パート結合
\partcombine and \autoBeamOff (\partcombine と \autoBeamOff)Selected Snippets
\partial上拍
\partial1.4.1 長い繰り返し
\partial通常の繰り返し
\pathA.9.3 Graphic
\patternA.9.6 Other
\pes定義済みコマンド
\phrasingSlurDashedフレージング スラー
\phrasingSlurDashPatternフレージング スラー
\phrasingSlurDottedフレージング スラー
\phrasingSlurDownフレージング スラー
\phrasingSlurHalfDashedフレージング スラー
\phrasingSlurHalfSolidフレージング スラー
\phrasingSlurNeutralフレージング スラー
\phrasingSlurSolidフレージング スラー
\phrasingSlurUpフレージング スラー
\phrygian調号
\pitchedTrillトリル
\portatoアーティキュレーションと装飾
\postscriptマークアップ内部でのグラフィック記譜法
\postscriptA.9.3 Graphic
\powerChordsIndicating power chords
\pp強弱記号
\ppp強弱記号
\pppp強弱記号
\ppppp強弱記号
\prallアーティキュレーションと装飾
\pralldownアーティキュレーションと装飾
\prallmordentアーティキュレーションと装飾
\prallprallアーティキュレーションと装飾
\prallupアーティキュレーションと装飾
\predefinedFretboardsOffAutomatic fret diagrams
\predefinedFretboardsOnAutomatic fret diagrams
\pt5.4.4 Distances and measurements
\put-adjacentA.9.2 Align
\quilismaGregorian square neume ligatures
\quilisma定義済みコマンド
\quoteDuring他のボイスを引用する
\quoteDuring合図音符をフォーマットする
\raiseテキスト揃え
\raiseA.9.2 Align
\relative相対オクターブ入力
\relative参照
\relative参照
\relativeChanging staff automatically
\RemoveEmptyStaves譜を隠す
\RemoveEmptyStaves譜を隠す
\removeWithTagUsing tags
\repeat1.4.1 長い繰り返し
\repeat percentパーセント繰り返し
\repeat tremoloトレモロの繰り返し
\repeatTieタイ
\repeatTie通常の繰り返し
\repeatTieRepeats with alternative endings
\rest休符
\retrograde逆行
\reverseturnアーティキュレーションと装飾
\revert5.3.3 The \override command
\revertTimeSignatureSettings定義済みコマンド
\rfz強弱記号
\rheelアーティキュレーションと装飾
\right-alignテキスト揃え
\right-alignA.9.2 Align
\right-braceA.9.6 Other
\right-columnA.9.2 Align
\rightHandFingerRight-hand fingerings
\romanA.9.1 Font
\rotateA.9.2 Align
\rounded-boxマークアップ内部でのグラフィック記譜法
\rounded-boxA.9.3 Graphic
\rtoeアーティキュレーションと装飾
\sacredHarpHeadsシェイプ符頭
\sacredHarpHeadsMinorシェイプ符頭
\sansA.9.1 Font
\scaleA.9.3 Graphic
\scaleDurations演奏時間を変更する
\scaleDurations複合拍子記譜法
\score3.1.1 Structure of a score
\score3.1.5 File structure
\scoreA.9.4 Music
\segnoアーティキュレーションと装飾
\semiflatA.9.4 Music
\semiGermanChords定義済みコマンド
\semisharpA.9.4 Music
\sesquiflatA.9.4 Music
\sesquisharpA.9.4 Music
\set自動連桁の振る舞いを設定する
\set5.3.2 The \set command
\sf強弱記号
\sff強弱記号
\sfz強弱記号
\sharpA.9.4 Music
\shiftOff衝突の解決
\shiftOn衝突の解決
\shiftOnn衝突の解決
\shiftOnnn衝突の解決
\shortfermataアーティキュレーションと装飾
\showKeySignatureBagpipe definitions
\showStaffSwitchStaff-change lines
\signumcongruentiaeアーティキュレーションと装飾
\simpleA.9.1 Font
\skip不可視の休符
\skipRepeats with alternative endings
\slashed-digitA.9.6 Other
\slurDashedスラー
\slurDashPatternスラー
\slurDottedスラー
\slurDownスラー
\slurHalfDashedスラー
\slurHalfSolidスラー
\slurNeutralスラー
\slurSolidスラー
\slurUpスラー
\small記譜フォント サイズを選択する
\smallフォントとフォント サイズを選択する
\smallA.9.1 Font
\smallCapsA.9.1 Font
\smallerフォントとフォント サイズを選択する
\smallerフォントとフォント サイズを選択する
\smallerA.9.1 Font
\snappizzicatoアーティキュレーションと装飾
\sostenutoOffPiano pedals
\sostenutoOnPiano pedals
\southernHarmonyHeadsシェイプ符頭
\southernHarmonyHeadsMinorシェイプ符頭
\sp強弱記号
\spp強弱記号
\staccatissimoアーティキュレーションと装飾
\staccatoアーティキュレーションと装飾
\startGroup分析の囲み
\startStaff譜シンボル
\startStaffオッシア譜
\startTrillSpanトリル
\stemDown符幹
\stemNeutral符幹
\stemUp符幹
\stencilA.9.6 Other
\stopGroup分析の囲み
\stoppedアーティキュレーションと装飾
\stopStaff譜シンボル
\stopStaffオッシア譜
\stopStaff譜を隠す
\stopTrillSpanトリル
\storePredefinedDiagramPredefined fret diagrams
\strophaGregorian square neume ligatures
\stropha定義済みコマンド
\strutA.9.6 Other
\subフォントとフォント サイズを選択する
\subA.9.1 Font
\superフォントとフォント サイズを選択する
\superA.9.1 Font
\sustainOffPiano pedals
\sustainOnPiano pedals
\tabChordRepetitionDefault tablatures
\tabFullNotationDefault tablatures
\table-of-contents定義済みコマンド
\table-of-contentsA.10 Text markup list commands
\tagUsing tags
\taorBagpipe definitions
\teeny記譜フォント サイズを選択する
\teenyフォントとフォント サイズを選択する
\teenyA.9.1 Font
\tempoメトロノーム記号
\tenutoアーティキュレーションと装飾
\textA.9.1 Font
\textLengthOff小節単位の休符
\textLengthOffテキスト スクリプト
\textLengthOn小節単位の休符
\textLengthOnテキスト スクリプト
\textSpannerDownテキスト スパナ
\textSpannerNeutralテキスト スパナ
\textSpannerUpテキスト スパナ
\thumbアーティキュレーションと装飾
\thumb運指の指示
\tied-lyricA.9.4 Music
\tieDashedタイ
\tieDottedタイ
\tieDownタイ
\tieNeutralタイ
\tieSolidタイ
\tieUpタイ
\time拍子
\time自動連桁の振る舞いを設定する
\times連符
\times複合拍子記譜法
\tiny記譜フォント サイズを選択する
\tinyフォントとフォント サイズを選択する
\tinyA.9.1 Font
\tocItem定義済みコマンド
\translateテキスト揃え
\translateA.9.2 Align
\translate-scaledテキスト揃え
\translate-scaledA.9.2 Align
\transparentA.9.6 Other
\transpose参照
\transpose移調
\transpose参照
\transposedCueDuring合図音符をフォーマットする
\transposition楽器の移調
\transposition他のボイスを引用する
\treCordePiano pedals
\triangleマークアップ内部でのグラフィック記譜法
\triangleA.9.3 Graphic
\trillアーティキュレーションと装飾
\trillトリル
\tupletDown連符
\tupletNeutral連符
\tupletUp連符
\turnアーティキュレーションと装飾
\tweak5.3.4 The \tweak command
\type5.1.6 Defining new contexts
\typewriterA.9.1 Font
\unaCordaPiano pedals
\underlineフォントとフォント サイズを選択する
\underlineA.9.1 Font
\unfoldRepeats3.5.4 Repeats in MIDI
\unHideNotes隠された音符
\unset5.3.2 The \set command
\upbowアーティキュレーションと装飾
\upbowBowing indications
\upmordentアーティキュレーションと装飾
\upprallアーティキュレーションと装飾
\uprightA.9.1 Font
\varcodaアーティキュレーションと装飾
\vcenterA.9.2 Align
\verbatim-fileA.9.6 Other
\verylongfermataアーティキュレーションと装飾
\virgaGregorian square neume ligatures
\virga定義済みコマンド
\virgula定義済みコマンド
\voiceFourStyleボイス スタイル
\voiceNeutralStyleボイス スタイル
\voiceOne単一譜の多声
\voiceOne ... \voiceFour単一譜の多声
\voiceOneStyleボイス スタイル
\voiceThreeStyleボイス スタイル
\voiceTwoStyleボイス スタイル
\vspaceA.9.2 Align
\walkerHeadsシェイプ符頭
\walkerHeadsMinorシェイプ符頭
\whiteoutA.9.6 Other
\with5.1.4 Modifying context plug-ins
\with-colorオブジェクトに色を付ける
\with-colorA.9.6 Other
\with-dimensionsA.9.6 Other
\with-linkA.9.6 Other
\with-urlA.9.3 Graphic
\woodwind-diagramA.9.5 Instrument Specific Markup
\wordwrapテキスト揃え
\wordwrapA.9.2 Align
\wordwrap-fieldA.9.2 Align
\wordwrap-internalA.10 Text markup list commands
\wordwrap-lines複数ページにわたるマークアップ
\wordwrap-linesA.10 Text markup list commands
\wordwrap-stringA.9.2 Align
\wordwrap-string-internalA.10 Text markup list commands

]
]手動連桁

^
^Extended and altered chords

_
_Multiple syllables to one note

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

~
~タイ

A
a due参照
a due part (二重奏パート)自動パート結合
absolute (絶対)絶対オクターブ入力
absolute dynamics (絶対強弱記号)強弱記号
absolute octave entry (絶対オクターブ入力)絶対オクターブ入力
absolute octave specification (絶対オクターブ指定)絶対オクターブ入力
accelerando in MIDISupported in MIDI
accent参照
accent (アクセント)アーティキュレーションと装飾
accentusA.11 List of articulations
accepts5.1.6 Defining new contexts
acciaccaturaA.16 Available music functions
acciaccatura (アッチャカトゥーラ)装飾小音符
acciaccatura, multi-note (複数音符のアッチャカトゥーラ)既知の問題と警告
Accidental参照
accidental参照
Accidental参照
accidental参照
accidental (臨時記号)臨時記号
accidental on tied note (タイで結ばれた音符への臨時記号)臨時記号
accidental style (臨時記号スタイル)自動臨時記号
accidental style, cautionary, modern voice (modern-voice-cautionary 臨時記号スタイル)自動臨時記号
accidental style, default (default 臨時記号スタイル)自動臨時記号
accidental style, default (デフォルトの臨時記号スタイル)自動臨時記号
accidental style, forget (forget 臨時記号スタイル)自動臨時記号
accidental style, modern (modern 臨時記号スタイル)自動臨時記号
accidental style, modern (modern 臨時記号スタイル)自動臨時記号
accidental style, modern voice cautionary (modern-voice-cautionary 臨時記号スタイル)自動臨時記号
accidental style, modern-cautionary (modern-cautionary 臨時記号スタイル)自動臨時記号
accidental style, neo-modern (neo-modern 臨時記号スタイル)自動臨時記号
accidental style, neo-modern-cautionary (neo-modern-cautionary 臨時記号スタイル)自動臨時記号
accidental style, neo-modern-voice (neo-modern-voice 臨時記号スタイル)自動臨時記号
accidental style, neo-modern-voice-cautionary (neo-modern-voice-cautionary 臨時記号スタイル)自動臨時記号
accidental style, no reset (no-reset 臨時記号スタイル)自動臨時記号
accidental style, piano (ピアノ臨時記号スタイル)自動臨時記号
accidental style, piano cautionary (piano-cautionary 臨時記号スタイル)自動臨時記号
accidental style, teaching (teaching 臨時記号スタイル)自動臨時記号
accidental style, voice (voice 臨時記号スタイル)自動臨時記号
accidental style, voice, modern cautionary (modern-voice-cautionary 臨時記号スタイル)自動臨時記号
accidental, cautionary (忠告の臨時記号)臨時記号
accidental, forced for pitched trill (ピッチを持つトリルに強制的に臨時記号を付ける)トリル
Accidental, musica fictaAnnotational accidentals (musica ficta)
accidental, parenthesized (括弧に囲まれた臨時記号)臨時記号
accidental, quarter-tone (4 分音臨時記号)参照
accidental, reminder (親切の臨時記号)臨時記号
accidental-interface参照
accidental-suggestion-interface参照
AccidentalCautionary参照
AccidentalPlacement参照
accidentalsMensural accidentals and key signatures
accidentalsGregorian accidentals and key signatures
accidentals (臨時記号)自動臨時記号
Accidentals and key signatures参照
accidentals and simultaneous notes (臨時記号と同時発生する音符)参照
accidentals in chords (和音の中の臨時記号)参照
accidentals, automatic (自動臨時記号)自動臨時記号
accidentals, modern (modern 臨時記号)自動臨時記号
accidentals, modern cautionary style (modern-cautionary 臨時記号スタイル)自動臨時記号
accidentals, modern style (modern 臨時記号スタイル)自動臨時記号
accidentals, multivoice (マルチボイス臨時記号)自動臨時記号
accidentals, piano (ピアノ臨時記号)自動臨時記号
accidentals, piano cautionary (piano-cautionary 臨時記号)自動臨時記号
AccidentalSuggestion参照
AccidentalSuggestion参照
Accidental_engraver参照
Accidental_engraver参照
Accidental_engraver参照
accordion2.2.3 Accordion
accordion discant symbolsDiscant symbols
accordion shift symbolsDiscant symbols
accordion shiftsDiscant symbols
addChordShapePredefined fret diagrams
addChordShapeA.16 Available music functions
adding a white background to textA.9.6 Other
adding custom fret diagramsPredefined fret diagrams
addInstrumentDefinition楽器名
addInstrumentDefinitionA.16 Available music functions
additions, in chordsExtended and altered chords
addQuote他のボイスを引用する
addQuoteA.16 Available music functions
adjusting staff symbol5.4.5 Staff symbol properties
adjusting staff symbol (譜シンボルを調節する)譜シンボル
aeolian調号
aeolian (エオリアン)調号
afterGrace装飾小音符
afterGraceA.16 Available music functions
afterGraceFractionparser variable
Aiken shape note heads (Aiken のシェイプ符頭)シェイプ符頭
aikenHeadsシェイプ符頭
aikenHeadsMinorシェイプ符頭
al niente参照
al niente (アル ニエンテ)Selected Snippets
alias5.1.6 Defining new contexts
align to objectsUsing the break-alignable-interface
alignAboveContext5.1.7 Aligning contexts
alignBelowContext5.1.7 Aligning contexts
Aligning lyrics to a melody参照
Aligning lyrics to a melody参照
aligning markup text (マークアップ テキストを揃える)テキスト揃え
aligning markups (マークアップを揃える)テキスト揃え
aligning text (テキストを揃える)テキスト揃え
aligning to cadenza (カデンツァに揃える)カデンツァに揃える
alignment, text, commands (テキスト揃えのコマンド)テキスト揃え
alistalist
All layout objects参照
All layout objects参照
All layout objects参照
allowPageTurnA.16 Available music functions
altered chordsExtended and altered chords
alternate ending in written-out repeats (描き出される繰り返しの中にある入れ替え部分)繰り返しを描き出す
alternate endings1.4.1 長い繰り返し
alternative endings and lyricsRepeats with alternative endings
alternative endings with ties (タイを持つ繰り返しの入れ替え部分)通常の繰り返し
alternative melody, switching toSwitching to an alternative melody
alto clef (アルト音部記号)音部記号
Amazing Grace bagpipe exampleBagpipe example
Ambitus参照
ambitus参照
ambitus参照
ambitus (音域)音域
ambitus-interface参照
AmbitusAccidental参照
AmbitusLine参照
AmbitusNoteHead参照
Ambitus_engraver参照
amount of staff lines (譜線の本数)譜シンボル
An extra staff appears参照
anacrucis in a repeat (繰り返しの中にある弱拍)通常の繰り返し
anacrusis参照
anacrusis (弱拍)上拍
analysis, musicologica (音楽学的分析)l分析の囲み
ancient clef (古代音部記号)音部記号
angled hairpinsRotating layout objects
annotate-spacing4.6.1 Displaying spacing
anthems2.1.5 Choral
applyContextA.16 Available music functions
applyMusicA.16 Available music functions
applyOutputA.16 Available music functions
appoggiaturaA.16 Available music functions
appoggiatura (アッポジャトゥーラ)装飾小音符
Arabic key signaturesArabic key signatures
Arabic musicReferences for Arabic music
Arabic music exampleArabic music example
Arabic music templateArabic music example
Arabic note namesArabic note names
Arabic semi-flat symbolArabic note names
Arabic time signaturesArabic time signatures
arpeggioアルペジオ
Arpeggio参照
arpeggio (アルペジオ)アルペジオ
arpeggio symbols, special (特殊なアルペジオ シンボル)アルペジオ
arpeggio, cross-staff parenthesis-style (譜を跨ぐ括弧スタイルのアルペジオ)既知の問題と警告
arpeggio, parenthesis-style, cross-staff (譜を跨ぐ括弧スタイルのアルペジオ)既知の問題と警告
arpeggioArrowDownアルペジオ
arpeggioArrowUpアルペジオ
arpeggioBracketアルペジオ
arpeggioNormalアルペジオ
arpeggioParenthesisアルペジオ
arpeggioParenthesisDashedアルペジオ
arrow-headマークアップ内部でのグラフィック記譜法
Articlulate scriptsSupported in MIDI
articulation-eventSelected Snippets
articulationsGregorian articulation signs
articulations (アーティキュレーション)アーティキュレーションと装飾
articulations in MIDISupported in MIDI
artificial harmonicsHarmonics
assertBeamQuantA.16 Available music functions
assertBeamSlopeA.16 Available music functions
associatedVoiceAligning lyrics to a melody
associatedVoiceAutomatic syllable durations
associatedVoiceSwitching to an alternative melody
association listalist
augCommon chords
auto-first-page-number\paper variables for page numbering
autobeam (自動連桁)自動連桁の振る舞いを設定する
autoBeaming自動連桁の振る舞いを設定する
autobeaming properties for time signatures (拍子のための自動連桁プロパティ)拍子
autoBeamOff自動連桁
autoBeamOn自動連桁
autochangeChanging staff automatically
autochangeA.16 Available music functions
autochange and relative musicChanging staff automatically
AutoChangeMusic参照
automatic accidentals (自動臨時記号)自動臨時記号
automatic beam generation (自動連桁生成)自動連桁の振る舞いを設定する
automatic beams, tuning (自動連桁を調整する)自動連桁の振る舞いを設定する
automatic chord diagramsAutomatic fret diagrams
automatic fret diagramsAutomatic fret diagrams
automatic part combining (自動パート結合)自動パート結合
automatic staff changesChanging staff automatically
automaticBarsSpecial considerations
Auto_beam_engraver参照
Auto_beam_engraver参照
available fonts, listing (利用可能なフォントをリストアップする)個々に登録するフォント

B
Backend5.2.1 Navigating the program reference
Backend参照
Backend参照
backslashed digitsA.9.6 Other
bagpipeBagpipe definitions
bagpipe exampleBagpipe example
balloon (バルーン)バルーン ヘルプ
balloon help (バルーン ヘルプ)バルーン ヘルプ
balloon-interface参照
balloonGrobTextバルーン ヘルプ
balloonGrobTextA.16 Available music functions
balloonLengthOffバルーン ヘルプ
balloonLengthOnバルーン ヘルプ
balloonTextバルーン ヘルプ
balloonTextA.16 Available music functions
BalloonTextItem参照
Balloon_engraverバルーン ヘルプ
banjo tablature2.4 Fretted string instruments
banjo tablaturesBanjo tablatures
banjo tuningsBanjo tablatures
banjo-c-tuningBanjo tablatures
banjo-modal-tuningBanjo tablatures
banjo-open-d-tuningBanjo tablatures
banjo-open-dm-tuningBanjo tablatures
bar小節線
barSelected Snippets
barA.16 Available music functions
bar check (小節チェック)小節と小節番号のチェック
bar lines (小節線)小節線
bar lines, closing (閉じの小節線)小節線
bar lines, default, changing (デフォルトの小節線を変更する)小節線
bar lines, double (2 重小節線)小節線
bar lines, invisible (不可視の小節線)小節線
bar lines, manual (手動の小節線)小節線
bar lines, suppressingSpecial considerations
bar lines, symbols on (小節線上のシンボル)テキスト マーク
bar lines, turning off (小節線を付けない)無韻律の音楽
bar number (小節番号)時間管理
bar number alignmentSelected Snippets
bar number check (小節番号チェック)小節と小節番号のチェック
bar number collision (小節番号の衝突)参照
bar number, formatSelected Snippets
bar numbering, turning off (小節の付番を off にする)無韻律の音楽
bar numbers (小節番号)小節番号
bar numbers, regular spacing 規則的な間隔で小節番号を譜刻する小節番号
bar-line-interfaceA.14 All context properties
barCheckSynchronize小節と小節番号のチェック
baritone clef (バリトン音部記号)音部記号
BarLine参照
BarNumber小節番号
BarNumber既知の問題と警告
barNumberCheck小節と小節番号のチェック
barNumberCheckA.16 Available music functions
barNumberVisibility小節番号
barre indicationsFret diagram markups
bartypeSelected Snippets
Bartók pizzicatoSnap (Bartók) pizzicato
Bar_engraver参照
Bar_number_engraver参照
base-shortest-duration4.5.1 Horizontal spacing overview
baseMoment自動連桁の振る舞いを設定する
bass clef (ヘ音記号、バス音部記号)音部記号
bass note, for chordsExtended and altered chords
Bass, figuredIntroduction to figured bass
Bass, thoroughIntroduction to figured bass
BassFigure参照
BassFigure参照
BassFigureAlignment参照
BassFigureAlignment参照
BassFigureBracket参照
BassFigureBracket参照
BassFigureContinuation参照
BassFigureContinuation参照
BassFigureLine参照
BassFigureLine参照
Basso continuoIntroduction to figured bass
bayati参照
Beam参照
Beam参照
Beam参照
Beam参照
Beam参照
beam, last in polyphonic voice (多声ボイスの最後の連桁)Selected Snippets
beam, last in score (楽譜の最後の連桁)Selected Snippets
beam-interface参照
beam-interface参照
beam-interface参照
BeamEvent参照
BeamEvent参照
beamExceptions自動連桁の振る舞いを設定する
BeamForbidEvent参照
BeamForbidEvent参照
beaming in cadenzas (カデンツァでの連桁)無韻律の音楽
beaming in polymetric meter (複合拍での連桁)複合拍子記譜法
beaming in polymetric music (複合拍子音楽での連桁)複合拍子記譜法
beaming in unmetered music (無韻律の音楽での連桁)無韻律の音楽
beaming, time signature default properties (連桁と拍子のデフォルト プロパティ)拍子
beams and line breaks (連桁と改行)Selected Snippets
beams and melismata (連桁とメリスマ)自動連桁
beams, cross-staffChanging staff manually
beams, custom rules for (連桁のためのカスタム規則)自動連桁
beams, feathered (羽状の連桁)羽状の連桁
beams, manual (手動連桁)自動連桁
beams, manual (手動連桁)手動連桁
beams, setting rules for (連桁の規則を設定する)自動連桁
beams, subdividing (連桁をサブ グループ化する)Selected Snippets
Beam_engraver参照
Beam_engraver参照
beats per minute (1 分毎の拍数)メトロノーム記号
beats, grouping (拍をグループ化する)Selected Snippets
beatStructure自動連桁の振る舞いを設定する
beginners’ music (初心者のための楽譜)演奏を容易にする記譜法の符頭
bendAfterFall と Doit
bendAfterA.16 Available music functions
binding gutter\paper variables for two-sided mode
binding-offset\paper variables for two-sided mode
bisbiglandoReferences for harps
Bisonparser
blank-after-score-page-force\paper variables for page breaking
blank-last-page-force\paper variables for page breaking
blank-page-force\paper variables for page breaking
BNFparser
boldフォントとフォント サイズを選択する
bookOutputNameA.16 Available music functions
bookOutputSuffixA.16 Available music functions
bottom-margin4.1.3 Fixed vertical spacing \paper variables
bowing indicationsBowing indications
boxマークアップ内部でのグラフィック記譜法
brace参照
brace, vertical (垂直の波括弧)譜をグループ化する
braces, nesting of (波括弧をネストする)ネストされた譜グループ
braces, various sizes (さまざまなサイズの波括弧)フォントの説明
bracket新たな強弱記号
bracketマークアップ内部でのグラフィック記譜法
bracketPiano pedals
bracket, horizontal (水平の囲み)分析の囲み
bracket, phrasing (プレージングの囲み)分析の囲み
bracket, vertical (垂直の角括弧)譜をグループ化する
bracket, volta (volta 囲み)手動の繰り返し記号
brackets (囲み、角括弧)分析の囲み
brackets, angle (山括弧)和音の音符
brackets, nesting of (角括弧をネストする)ネストされた譜グループ
break-align-symbolsUsing the break-alignable-interface
break-visibilityUsing break-visibility
breakableSelected Snippets
breakbeforeDefault layout of book and score title blocks
breaking lines4.3.1 Line breaking
breaking pages4.5.4 Line length
breaks in unmetered music (無韻律の音楽での改行、改ページ)参照
breath marks (ブレス記号)ブレス記号
breatheブレス記号
breatheA.16 Available music functions
BreathingEvent参照
BreathingSign参照
BreathingSign参照
Breathing_sign_engraver参照
breve演奏時間
breve休符
breve rest (二全休符)休符
broken chord (変則和音)アルペジオ
Bézier control pointsModifying ties and slurs
Bézier curvesModifying ties and slurs

C
C clef (C 音部記号)音部記号
cadenza参照
cadenza参照
cadenza (カデンツァ)無韻律の音楽
cadenza (カデンツァ)カデンツァに揃える
cadenza line breaks (カデンツァでの改行)参照
cadenza page breaks (カデンツァでの改ページ)参照
cadenza, aligning to (カデンツァに揃える)カデンツァに揃える
cadenza, beaming in (カデンツァでの連桁)無韻律の音楽
cadenzaOff無韻律の音楽
cadenzaOn無韻律の音楽
caesura参照
caesura参照
callbackcallback
Callback functions参照
capoFret diagram markups
cautionary accidental (忠告の臨時記号)臨時記号
cautionary accidental style, piano (piano-cautionary 臨時記号スタイル)自動臨時記号
cautionary accidentals, piano (piano-cautionary 臨時記号)自動臨時記号
center-alignテキスト揃え
center-columnテキスト揃え
centered dynamics in piano musicReferences for keyboards
centering a column of textA.9.2 Align
centering markup on the page (マークアップをページの中央に揃える)テキスト揃え
centering text on the page (テキストをページの中央に揃える)テキスト揃え
changeChanging staff manually
changing direction of text columnsA.9.2 Align
changing fonts (フォントを変更する)フォントとフォント サイズを選択する
changing instrument names (楽器名を変更する)楽器名
changing properties5.3.2 The \set command
changing staff automaticallyChanging staff automatically
changing staff manuallyChanging staff manually
chants2.1.7 Chants psalms and hymns
character namesCharacter names
check-consistency\paper variables for widths and margins
choir staff (合唱譜)譜をグループ化する
ChoirStaff参照
ChoirStaff参照
ChoirStaff参照
choral tenor clef音部記号
chord参照
chord参照
chord参照
chord chords2.7.1 Chord mode
chord diagramsFret diagram markups
chord diagramsPredefined fret diagrams
chord diagrams, automaticAutomatic fret diagrams
chord glissandiDefault tablatures
chord inversionsExtended and altered chords
chord modeChord mode overview
chord namesChord mode overview
chord namesPrinting chord names
Chord names in MIDISupported in MIDI
chord names with fret diagramsPredefined fret diagrams
chord qualityCommon chords
chord shapes for fretted instrumentsPredefined fret diagrams
chord steps, alteringExtended and altered chords
chord, broken (変則和音)アルペジオ
chord, modifying one note in5.3.4 The \tweak command
chordChangesSelected Snippets
chordGlissandoA.16 Available music functions
chordmode参照
chordmode参照
chordmodePredefined fret diagrams
ChordName参照
chordNameExceptionsCustomizing chord names
chordNameLowercaseMinorCustomizing chord names
ChordNamesPredefined fret diagrams
ChordNames参照
chordNameSeparatorCustomizing chord names
chordNoteNamerCustomizing chord names
chordPrefixSpacerCustomizing chord names
chordRootNamerCustomizing chord names
chordsPrinting chord names
chords (和音)和音の音符
chords and relative octave entry (和音と相対オクターブ入力)相対オクターブ入力
chords and ties (和音とタイ)タイ
chords, accidentals in (和音の中の臨時記号)参照
chords, cross-staffCross-staff stems
chords, fingering (和音の運指法)運指の指示
chords, jazzCustomizing chord names
chords, powerIndicating power chords
chords, relative pitch (相対ピッチと和音)和音の音符
chords, splitting across staves with \autochange既知の問題と警告
chords, suppressing repeatedSelected Snippets
Chord_name_engraver参照
Christian Harmony note headsシェイプ符頭
church mode参照
church modes (チャーチ モード)調号
church restSelected Snippets
circleマークアップ内部でのグラフィック記譜法
circling textA.9.3 Graphic
circulusA.11 List of articulations
Clef参照
clef音部記号
clefA.16 Available music functions
clef (音部記号)臨時記号
clef (音部記号)音部記号
clef, alto (アルト音部記号)音部記号
clef, ancient (古代音部記号)音部記号
clef, baritone (バリトン音部記号)音部記号
clef, bass (ヘ音記号、バス音部記号)音部記号
clef, C (C 音部記号)音部記号
clef, F (F 音部記号)音部記号
clef, french (フレンチ (バイオリン) 音部記号)音部記号
clef, G (G 音部記号)音部記号
clef, mezzosoprano (メゾソプラノ音部記号)音部記号
clef, moderntabCustom tablatures
clef, percussionBasic percussion notation
clef, soprano (ソプラノ音部記号)音部記号
clef, subbass (低バス音部記号)音部記号
clef, tabCustom tablatures
clef, tenor (テノール音部記号)音部記号
clef, transposing (音部を移調する)音部記号
clef, treble (高音部記号)音部記号
clef, varbaritone (変形バリトン音部記号)音部記号
clef, violin (バイオリン音部記号)音部記号
clef, visibility following explicit changeSpecial considerations
clef-interface参照
clefsMensural clefs
clefsGregorian clefs
clefs, visibility of octavationSpecial considerations
Clef_engraver参照
closing bar lines (閉じの小節線)小節線
closureclosure
cluster参照
cluster (クラスタ)クラスタ
ClusterSpanner参照
ClusterSpannerBeacon参照
Cluster_spanner_engraver参照
codaA.11 List of articulations
coda (コーダ)リハーサル記号
coda (コーダ)アーティキュレーションと装飾
coda on bar line (小節線上のコーダ)テキスト マーク
collision, bar number (小節番号の衝突)参照
collisions (衝突)衝突の解決
collisions, cross-staff voicesChanging staff manually
colorオブジェクトに色を付ける
color in chords (和音の中で色を付ける)参照
color, rgb (RGB カラー)オブジェクトに色を付ける
colored notes (色付きの音符)オブジェクトに色を付ける
colored notes in chords (和音の中にある色付きの音符)参照
colored objects (色付きのオブジェクト)オブジェクトに色を付ける
coloring notes (音符に色を付ける)オブジェクトに色を付ける
coloring objectsPainting objects white
coloring objects (オブジェクトに色を付ける)オブジェクトに色を付ける
coloring textA.9.6 Other
coloring voices (ボイスに色を付ける)ボイス スタイル
colors (色)オブジェクトに色を付ける
Colors, list ofNormal colors
columnテキスト揃え
columns, text (縦に積み重ねたテキスト)テキスト揃え
combineマークアップ内部でのグラフィック記譜法
combining parts (パート結合)自動パート結合
comma intervalsReferences for Turkish classical music
Command line options for3.4.3 Alternative output formats
Common Practice Period参照
Common Practice Period参照
common-shortest-duration4.5.1 Horizontal spacing overview
Completion_heads_engraver自動音符分割
compound time signaturesSelected Snippets
compoundMeterA.16 Available music functions
compressFullBarRests小節単位の休符
compressFullBarRests小節単位の休符
compressing music (音楽を圧縮する)演奏時間を変更する
concatenating textA.9.2 Align
concert pitch参照
condensing rests (休符をまとめる)既知の問題と警告
consists5.1.6 Defining new contexts
Context, creating5.1.2 Creating contexts
ContextChange参照
ContextsWithin-system spacing properties
Contexts参照
Contexts参照
Contexts参照
Contexts5.1.4 Modifying context plug-ins
Contexts and engravers参照
contexts, defining new5.1.6 Defining new contexts
contexts, keeping alive5.1.3 Keeping contexts alive
contexts, layout order5.4.3 Context layout order
contexts, lifetime5.1.3 Keeping contexts alive
contexts, nested5.1.7 Aligning contexts
contextStringTuningA.16 Available music functions
contextStringTuningsCustom tablatures
control pitch (ピッチの制御)オクターブ チェック
control points, tweaking既知の問題と警告
controlling general text alignmentA.9.2 Align
controlpitchオクターブ チェック
copyright sign3.3.3 Text encoding
cr強弱記号
creating contexts5.1.2 Creating contexts
creating empty text objectsA.9.6 Other
creating horizontal spaces in textA.9.2 Align
creating text fractionsA.9.6 Other
creating vertical spaces in textA.9.2 Align
creating vertical spaces in textA.9.6 Other
cresc強弱記号
crescendo参照
crescendo (クレッシェンド)強弱記号
crescHairpin強弱記号
crescTextCresc強弱記号
cross特殊な符頭
cross note heads (×の符頭)特殊な符頭
cross staff chordsCross-staff stems
cross staff lineStaff-change lines
cross staff notesCross-staff stems
cross staff stemsCross-staff stems
cross-staffCross-staff stems
cross-staff beamsChanging staff manually
cross-staff chordsCross-staff stems
cross-staff collisionsChanging staff manually
cross-staff lineStaff-change lines
cross-staff notesChanging staff manually
cross-staff notesCross-staff stems
cross-staff parenthesis-style arpeggio (譜を跨ぐ括弧スタイルのアルペジオ)既知の問題と警告
cross-staff stemsCross-staff stems
cross-staff tremolo (譜を跨ぐトレモロ)参照
cue notes (合図音符)合図音符をフォーマットする
cue notes (演奏指示音符)他のボイスを引用する
cue notes, formatting (合図音符をフォーマットする)合図音符をフォーマットする
cue notes, removing (合図音符を削除する)合図音符をフォーマットする
cue-notes参照
cueClefA.16 Available music functions
cueClefUnsetA.16 Available music functions
cueDuring合図音符をフォーマットする
cueDuringA.16 Available music functions
cueDuringWithClefA.16 Available music functions
cues (合図)合図音符をフォーマットする
cues (演奏指示)他のボイスを引用する
cues, formatting (合図をフォーマットする)合図音符をフォーマットする
cues, musicalMusical cues
CueVoice参照
CueVoice参照
currentBarNumber小節番号
currentBarNumber時間管理
custodesCustodes
custom fret diagramsFret diagram markups
custom fret diagrams, addingPredefined fret diagrams
custom rehearsal mark (リハーサル記号のカスタム)リハーサル記号
custom string tuningsCustom tablatures
customized fret diagramFret diagram markups
customizing chord namesCustomizing chord names
custos参照
Custos参照
custos参照

D
D.S al Fine (ここで曲の先頭に戻り、Fine で終わる)リハーサル記号
dampened notes on fretted instrumentsIndicating harmonics and dampened notes
dashed phrasing slur (破線のフレージング スラー)フレージング スラー
dashed slur (破線のスラー)スラー
dashed ties (破線のタイ)タイ
deadNoteA.16 Available music functions
decorating text (テキストを飾り付ける)マークアップ内部でのグラフィック記譜法
decr強弱記号
decresc強弱記号
decrescendo参照
decrescendo (デクレッシェンド)強弱記号
default自動臨時記号
default自動臨時記号
default accidental style (default 臨時記号スタイル)自動臨時記号
default accidental style (デフォルトの臨時記号スタイル)自動臨時記号
default bar lines, changing (デフォルトの小節線を変更する)小節線
default note duration (デフォルトの音符演奏時間)演奏時間
default note names (デフォルトの音符名)臨時記号
default-staff-staff-spacingWithin-system spacing properties
defaultBarTypeSelected Snippets
defaultNoteHeadsA.16 Available music functions
defaultTimeSignature拍子
Default_bar_line_engraver参照
denies5.1.6 Defining new contexts
diagram, fret, customizedFret diagram markups
diagrams, chord for fretted instrumentsFret diagram markups
diagrams, fretFret diagram markups
diagrams, fret, transposingPredefined fret diagrams
diamond note heads (ダイアモンド形の符頭)特殊な符頭
diamond-shaped note headsHarmonics
dim強弱記号
dimCommon chords
dimHairpin強弱記号
diminuendo (ディミヌエンド)強弱記号
dimTextDecr強弱記号
dimTextDecresc強弱記号
dimTextDim強弱記号
discant symbols, accordionDiscant symbols
Displaying music expressions5.3.4 The \tweak command
Displaying music expressions参照
displayLilyMusicA.16 Available music functions
displayMusicA.16 Available music functions
distance between staves4.4.1 Flexible vertical spacing within systems
distances, absolute5.4.4 Distances and measurements
distances, scaled5.4.4 Distances and measurements
divided lyricsDivisi lyrics
divisio参照
divisionesDivisiones
dodecaphonic自動臨時記号
dodecaphonic accidental style (dodecaphonic 臨時記号スタイル)自動臨時記号
dodecaphonic style, neo-modern (neo-modern 12 音スタイル)自動臨時記号
doit参照
doits (Doit)Fall と Doit
dorian調号
dorian (ドリアン)調号
DotColumn参照
Dots参照
dotsDown演奏時間
dotsNeutral演奏時間
dotsUp演奏時間
dotted notes (付点音符)演奏時間
dotted phrasing slurs (点線のフレージング スラー)フレージング スラー
dotted slur (点線のスラー)スラー
dotted ties (点線のタイ)タイ
double bar lines (2 重小節線)小節線
double flat参照
double flat (ダブル フラット)臨時記号
double sharp参照
double sharp (ダブル シャープ)臨時記号
double time signatures (2 重拍子)複合拍子記譜法
double-dotted notes (2 重付点音符)演奏時間
DoublePercentRepeat参照
DoublePercentRepeatCounter参照
down bow indicationBowing indications
downbowA.11 List of articulations
downbow (ダウンボー、下弓)アーティキュレーションと装飾
downmordentA.11 List of articulations
downprallA.11 List of articulations
draw-circleマークアップ内部でのグラフィック記譜法
draw-lineマークアップ内部でのグラフィック記譜法
drawing a line across a pageA.9.3 Graphic
drawing beams within textA.9.3 Graphic
drawing boxes with rounded cornersA.9.3 Graphic
drawing boxes with rounded corners around textA.9.3 Graphic
drawing circles within textA.9.3 Graphic
drawing graphic objects (グラフィック オブジェクトを描く)マークアップ内部でのグラフィック記譜法
drawing lines within textA.9.3 Graphic
drawing pathsA.9.3 Graphic
drawing solid boxes within textA.9.3 Graphic
drawing staff symbol5.4.5 Staff symbol properties
drawing staff symbol (譜シンボルを描く)譜シンボル
drawing triangles within textA.9.3 Graphic
drum staff (ドラム譜)新たに譜をインスタンス化する
drummode新たに譜をインスタンス化する
drumsBasic percussion notation
drumsPercussion staves
DrumStaff新たに譜をインスタンス化する
DrumStaff参照
DrumVoice参照
Duration names notes and rests参照
duration, default (デフォルトの演奏時間)演奏時間
durations, of notes (音符の演奏時間)演奏時間
durations, scaling (演奏時間を伸縮する)演奏時間を変更する
dynamic新たな強弱記号
dynamic marks, multiple on one note (1 つの音符に複数の強弱記号をつける)強弱記号
dynamic marks, new (新たな強弱記号)新たな強弱記号
dynamic-eventSelected Snippets
dynamicDown強弱記号
DynamicLineSpanner強弱記号
DynamicLineSpanner参照
dynamicNeutral強弱記号
Dynamics参照
dynamics (強弱記号)強弱記号
dynamics, absolute (絶対強弱記号)強弱記号
dynamics, centered in keyboard musicReferences for keyboards
dynamics, editorial (注釈の強弱記号)新たな強弱記号
dynamics, parenthesis (括弧の強弱記号)新たな強弱記号
dynamics, vertical positioning (強弱記号の垂直方向の位置)強弱記号
DynamicText参照
dynamicUp強弱記号

E
easy notation (演奏を容易にする記譜法)演奏を容易にする記譜法の符頭
easy play note heads (演奏を容易にする符頭)演奏を容易にする記譜法の符頭
easyHeadsOff演奏を容易にする記譜法の符頭
easyHeadsOn演奏を容易にする記譜法の符頭
editorial dynamics (注釈の強弱記号)新たな強弱記号
embedded graphics (埋め込みグラフィック)マークアップ内部でのグラフィック記譜法
embedding graphic objects (グラフィック オブジェクトを埋め込む)マークアップ内部でのグラフィック記譜法
empty staves (空の譜)譜を隠す
encapsulated postscript output3.4.3 Alternative output formats
enclosing text in a box with rounded cornersA.9.3 Graphic
enclosing text within a boxA.9.1 Font
end repeat (繰り返しの終了)手動の繰り返し記号
endSpannersA.16 Available music functions
Engravers and Performers参照
Engravers and Performers5.1.4 Modifying context plug-ins
engravers, including in contexts5.1.6 Defining new contexts
entering lyricsEntering lyrics
Episema参照
EpisemaEvent参照
Episema_engraver参照
EPS output3.4.3 Alternative output formats
epsfileマークアップ内部でのグラフィック記譜法
espressivo強弱記号
espressivo (表現的な)アーティキュレーションと装飾
espressivo articulation (表現的なアーティキュレーション)強弱記号
exceptions, chord names.Selected Snippets
expandFullBarRests小節単位の休符
expandFullBarRests小節単位の休符
expanding music (音楽を伸長する)演奏時間を変更する
explicitClefVisibilitySpecial considerations
explicitKeySignatureVisibilitySpecial considerations
expressions, markup (マークアップ表記)テキスト マークアップの導入部
extended chordsExtended and altered chords
extenderExtenders and hyphens
extra-offsetWithin-system spacing properties

F
f強弱記号
F clef (F 音部記号)音部記号
fall参照
falls (Fall)Fall と Doit
featherDurations羽状の連桁
featherDurationsA.16 Available music functions
feathered beams (羽状の連桁)羽状の連桁
fermataA.11 List of articulations
fermata (フェルマータ)リハーサル記号
fermata (フェルマータ)アーティキュレーションと装飾
fermata on bar line (小節線上のフェルマータ)テキスト マーク
fermata on multi-measure rest (複数小節にまたがる休符上のフェルマータ)小節単位の休符
fermataMarkup小節単位の休符
fermataMarkup小節単位の休符
Feta fontA.7 The Feta font
ff強弱記号
fff強弱記号
ffff強弱記号
fffff強弱記号
fifth参照
figured bass参照
Figured bassIntroduction to figured bass
figured bass参照
figured bass alignment定義済みコマンド
figured bass extender lines定義済みコマンド
FiguredBass参照
FiguredBass参照
FiguredBass参照
fill-lineテキスト揃え
filled-boxマークアップ内部でのグラフィック記譜法
finalisDivisiones
finding available fonts (利用可能なフォントを見つける)個々に登録するフォント
finger運指の指示
finger change (指を変える)運指の指示
finger-interface5.2.2 Layout interfaces
Fingering参照
Fingering参照
Fingering5.2.1 Navigating the program reference
Fingering5.2.1 Navigating the program reference
Fingering5.2.1 Navigating the program reference
Fingering5.2.1 Navigating the program reference
Fingering5.2.2 Layout interfaces
Fingering5.2.2 Layout interfaces
fingering (運指法)運指の指示
fingering chords (和音の運指法)運指の指示
fingering instructions for chords (和音の運指指示)運指の指示
fingering vs. string numbersString number indications
fingering-event参照
fingering-event5.2.1 Navigating the program reference
fingering-event5.2.1 Navigating the program reference
FingeringEvent参照
FingeringEvent5.2.1 Navigating the program reference
fingerings and multi-measure rests (運指記号と複数小節にまたがる休符)参照
fingerings, adding to fret diagramsAutomatic fret diagrams
fingerings, right hand for fretted instrumentsRight-hand fingerings
Fingering_engraver参照
Fingering_engraver5.2.1 Navigating the program reference
Fingering_engraver5.2.1 Navigating the program reference
Fingering_engraver5.2.1 Navigating the program reference
Fingering_engraver5.2.3 Determining the grob property
first-page-number\paper variables for page numbering
Fixing overlappingChanging staff manually
Fixing overlapping notationChanging staff manually
Fixing overlapping notation参照
flag参照
flag参照
flag-styleCross-staff stems
flageoletA.11 List of articulations
flageolet (フラジョレット)アーティキュレーションと装飾
flagsMensural flags
flat参照
flat (フラット)臨時記号
flat, double (ダブル フラット)臨時記号
Flexlexer
follow voiceStaff-change lines
followVoiceStaff-change lines
fontglyph
font families (フォント ファミリ)フォントとフォント サイズを選択する
font families, setting (フォント ファミリを設定する)ドキュメント全体のフォント
font size (notation) (フォント サイズ (記譜法))記譜フォント サイズを選択する
font size (notation) scaling (フォント サイズ (記譜法) の調整)記譜フォント サイズを選択する
font size (notation), standard (標準フォント サイズ (記譜法))記譜フォント サイズを選択する
font size (フォント サイズ)フォントとフォント サイズを選択する
font size, setting4.2.2 Setting the staff size
font switching (フォントの切り換え)フォントとフォント サイズを選択する
Font, FetaA.7 The Feta font
font-interface記譜フォント サイズを選択する
font-interfaceフォントの説明
font-interfaceA.9.6 Other
font-size記譜フォント サイズを選択する
font-size記譜フォント サイズを選択する
fonts, changing for entire document (ドキュメント全体のフォントを変更する)ドキュメント全体のフォント
fonts, explained (フォントの説明)フォントの説明
fonts, finding available (利用可能なフォントを見つける)個々に登録するフォント
fonts, non-text in markup (マークアップ内の非テキスト フォント)フォントの説明
fontSize記譜フォント サイズを選択する
fontsizeフォントとフォント サイズを選択する
foot marks (フット マーク、足記号)アーティキュレーションと装飾
footnoteA.16 Available music functions
footnoteGrobA.16 Available music functions
Forbid_line_break_engraver参照
forget自動臨時記号
forget accidental style (forget 臨時記号スタイル)自動臨時記号
format, rehearsal mark (リハーサル記号のフォーマット)リハーサル記号
formatting in lyricsEntering lyrics
Formatting textA.15 Layout properties
Formatting textA.15 Layout properties
four bar music.4.3.1 Line breaking
Four-part SATB vocal scoreReferences for choral
Four-part SATB vocal score参照
four-string-banjoBanjo tablatures
fp強弱記号
fragments (楽譜の一部分)他のボイスを引用する
fragments (楽譜の一部分)合図音符をフォーマットする
framing text (テキストにフレームを付ける)マークアップ内部でのグラフィック記譜法
french clef (フレンチ (バイオリン) 音部記号)音部記号
Frenched score参照
Frenched staff参照
Frenched staff参照
Frenched staves参照
fretDefault tablatures
fret diagram, customizedFret diagram markups
fret diagramsFret diagram markups
fret diagramsPredefined fret diagrams
fret diagrams with chord namesPredefined fret diagrams
fret diagrams, adding customPredefined fret diagrams
fret diagrams, adding fingeringsAutomatic fret diagrams
fret diagrams, automaticAutomatic fret diagrams
fret diagrams, customFret diagram markups
fret diagrams, mandolinPredefined fret diagrams
fret diagrams, transposingPredefined fret diagrams
fret diagrams, ukulelePredefined fret diagrams
fret-diagramFret diagram markups
fret-diagram markupFret diagram markups
fret-diagram-interfaceFret diagram markups
fret-diagram-interface参照
fret-diagram-interfacePredefined fret diagrams
fret-diagram-interface参照
fret-diagram-interfaceAutomatic fret diagrams
fret-diagram-interface参照
fret-diagram-terseFret diagram markups
fret-diagram-terse markupFret diagram markups
fret-diagram-verboseFret diagram markups
fret-diagram-verbose markupFret diagram markups
FretBoardsPredefined fret diagrams
fretted instruments, chord shapesPredefined fret diagrams
fretted instruments, dampened notesIndicating harmonics and dampened notes
fretted instruments, harmonicsIndicating harmonics and dampened notes
fretted instruments, indicating position and barringIndicating position and barring
fretted instruments, predefined string tuningsCustom tablatures
fretted instruments, right hand fingeringsRight-hand fingerings
full-measure rests (小節単位の休符)小節単位の休符
Funk shape note headsシェイプ符頭
funkHeadsシェイプ符頭
funkHeadsMinorシェイプ符頭

G
G clef (G 音部記号)音部記号
general-alignテキスト揃え
ghost notes (ゴースト音符)括弧
glissandoグリッサンド
Glissando参照
Glissando参照
glissando (グリッサンド)グリッサンド
global variableparser variable
glyphglyph
glyphs, music (音楽的図柄)リハーサル記号
grace装飾小音符
graceA.16 Available music functions
grace notes参照
grace notes (装飾小音符)装飾小音符
grace notes and lyricsAdding syllables to grace notes
grace notes within tuplet brackets (連符囲み内の装飾小音符)参照
grace notes, changing layout settings (装飾小音符のレイアウト設定を変更する)装飾小音符
grace notes, following (装飾小音符を後ろに配置する)装飾小音符
grace notes, tweaking (装飾小音符を調整する)装飾小音符
grace-note synchronization (装飾小音符の同期)既知の問題と警告
GraceMusic参照
Grace_beam_engraver参照
Grace_engraver参照
Grace_spacing_engraver参照
grammar for LilyPondparser
grand staff参照
grand staff (グランド譜)譜をグループ化する
GrandStaff参照
GrandStaff参照
graphic notation (グラフィック記譜法)マークアップ内部でのグラフィック記譜法
graphic objects, drawing (グラフィック オブジェクトを描く)マークアップ内部でのグラフィック記譜法
graphic objects, embedding (グラフィック オブジェクトを埋め込む)マークアップ内部でのグラフィック記譜法
graphical object interfacesinterface
Graphical Object Interfaces参照
graphical objectsgrob
graphics, embedding (グラフィックを埋め込む)マークアップ内部でのグラフィック記譜法
graphics, embedding (グラフィックを埋め込む)マークアップ内部でのグラフィック記譜法
Gregorian square neumes ligaturesGregorian square neume ligatures
Gregorian transcription staff (グレゴリア編曲譜)新たに譜をインスタンス化する
GregorianTranscriptionStaff新たに譜をインスタンス化する
grid lines (グリッド ライン)グリッド ライン
grid-line-interface参照
grid-point-interface参照
gridIntervalグリッド ライン
GridLine参照
GridPoint参照
Grid_line_span_engraverグリッド ライン
Grid_point_engraverグリッド ライン
grob5.2.2 Layout interfaces
grobgrob
grob properties参照
grob-interface5.2.2 Layout interfaces
grob-interface5.2.2 Layout interfaces
grob-interface参照
grob-interface参照
grobs, overwritingPainting objects white
grobs, visibility of5.4.7 Visibility of objects
grouping beats (拍をグループ化する)Selected Snippets
grow-direction羽状の連桁
guitar chord charts (ギター コード表)旋律のリズムを示す
guitar note heads (ギターの符頭)特殊な符頭
guitar strumming rhythms, showing (ギターのつま弾き (ストラム) のリズムを示す)旋律のリズムを示す
guitar tablature2.4 Fretted string instruments
gutter\paper variables for two-sided mode

H
Hairpin参照
hairpin参照
hairpin (ヘアピン)強弱記号
hairpins, angledRotating layout objects
Hal Leonard演奏を容易にする記譜法の符頭
halfopenA.11 List of articulations
halignテキスト揃え
harmonic indications in tablature notationDefault tablatures
harmonic note heads (和音の符頭)特殊な符頭
Harmonica Sacra note headsシェイプ符頭
harmonicByFretA.16 Available music functions
harmonicByRatioA.16 Available music functions
harmonicNoteA.16 Available music functions
harmonics参照
harmonics on fretted instrumentsIndicating harmonics and dampened notes
harmonics, artificialHarmonics
harmonics, naturalHarmonics
harmonicsOnA.16 Available music functions
harp pedal diagramsHarp pedals
harp pedalsHarp pedals
harpsReferences for harps
hbracketマークアップ内部でのグラフィック記譜法
help, balloon (バルーン ヘルプ)バルーン ヘルプ
hidden notes隠された音符
hideKeySignatureBagpipe definitions
hideNotes隠された音符
hideStaffSwitchStaff-change lines
hiding ancient staves (古代譜を隠す)譜を隠す
hiding of staves (譜を隠す)譜を隠す
hiding rhythmic staves (リズム譜を隠す)譜を隠す
horizontal bracket (水平の囲み)分析の囲み
horizontal spacing4.5 Horizontal spacing
horizontal text alignment (テキストを水平方向に揃える)テキスト揃え
horizontal-bracket-interface参照
horizontal-shift\paper variables for shifts and indents
HorizontalBracket参照
horizontally centering textA.9.2 Align
Horizontal_bracket_engraver分析の囲み
How LilyPond input files work参照
How LilyPond input files work参照
hufnagel2.9 Ancient notation
hufnagel2.9.1 Overview of the supported styles
huge記譜フォント サイズを選択する
hugeフォントとフォント サイズを選択する
hymns2.1.7 Chants psalms and hymns
hyphensExtenders and hyphens

I
I'm hearing VoicesPercussion staves
ictusA.11 List of articulations
images, embedding (画像を埋め込む)マークアップ内部でのグラフィック記譜法
immutable objectsimmutable
immutable propertiesimmutable
importing stencils into textA.9.6 Other
improvisation (即興)即興
improvisationOff即興
improvisationOff旋律のリズムを示す
improvisationOn即興
improvisationOn旋律のリズムを示す
include-settingsUsing global settings
including files3.3.1 Including LilyPond files
indent楽器名
indent\paper variables for shifts and indents
indent4.5.4 Line length
indicating No Chord in ChordNamesPrinting chord names
indicating position and barring for fretted instrumentsIndicating position and barring
inlining an Encapsulated PostScript imageA.9.3 Graphic
inner-margin\paper variables for two-sided mode
inserting music into textA.9.4 Music
inserting PostScript directly into textA.9.3 Graphic
inserting URL links into textA.9.3 Graphic
instrument namesInstrument names
instrument names (楽器名)楽器名
instrument names, adding to other contexts (楽器名を他のコンテキストに付け加える)楽器名
instrument names, centering (楽器名を中央揃えする)楽器名
instrument names, changing (楽器名を変更する)楽器名
instrument names, short (短縮楽器名)楽器名
instrument switch (楽器を切り換える)楽器名
instrument-specific-markup-interface参照
instrument-specific-markup-interfaceA.9.6 Other
InstrumentName参照
instruments, transposing (移調楽器)移調
InstrumentSwitch参照
instrumentSwitch楽器名
instrumentSwitchA.16 Available music functions
interfaceinterface
interface, layout5.2.2 Layout interfaces
Interfaces for programmers参照
interleaved music (間奏)音楽を並列に記述する
Internals Reference5. Changing defaults
interval参照
inversionA.16 Available music functions
inversion (転回)転回
inversion, modalModal inversion
invisible notes隠された音符
invisible rest (不可視の休符)不可視の休符
invisible stem (不可視の符幹)符幹
Invoking lilypond3.4.1 Extracting fragments of music
ionian調号
ionian (アイオニアン)調号
iraq参照
italicフォントとフォント サイズを選択する
item-interface5.2.2 Layout interfaces

J
jazz chordsCustomizing chord names
justified text (両端揃えのテキスト)テキスト揃え
justified-lines複数ページにわたるマークアップ
justifyテキスト揃え
justifying lines of textA.10 Text markup list commands
justifying textA.9.2 Align

K
keep tagged musicUsing tags
keepWithTagA.16 Available music functions
key調号
keyシェイプ符頭
key signature参照
key signature参照
key signature (調号)臨時記号
key signature (調号)調号
key signature, visibility following explicit changeSpecial considerations
key-cancellation-interface参照
key-signature-interface参照
keyboard instrument stavesReferences for keyboards
keyboard music, centering dynamicsReferences for keyboards
KeyCancellation参照
KeyChangeEvent参照
keyed instrument stavesReferences for keyboards
KeySignature参照
KeySignature参照
KeySignature参照
KeySignature参照
Key_engraver参照
Key_performer参照
killCues合図音符をフォーマットする
killCuesA.16 Available music functions
kirchenpausenSelected Snippets
kurd参照

L
labelA.16 Available music functions
laissez vibrer参照
laissez vibrer (レセ ヴィブレ)タイ
laissezVibrerタイ
LaissezVibrerTie参照
LaissezVibrerTieColumn参照
landscapeSetting paper size
languageA.16 Available music functions
language, note names in other (他の言語での音符名)他の言語での音符名
language, pitch names in other (他の言語でのピッチ名)他の言語での音符名
languageRestoreA.16 Available music functions
languageSaveAndChangeA.16 Available music functions
large記譜フォント サイズを選択する
largeフォントとフォント サイズを選択する
largerフォントとフォント サイズを選択する
largerフォントとフォント サイズを選択する
last-bottom-spacingList of flexible vertical spacing \paper variables
layersPainting objects white
layout file4.2.2 Setting the staff size
layout interface5.2.2 Layout interfaces
layout objectsgrob
ledger line参照
ledger lines, setting (加線を設定する)譜シンボル
ledger-line-spanner-interface参照
LedgerLineSpanner参照
Ledger_line_engraver参照
left aligning textA.9.2 Align
left-alignテキスト揃え
left-margin\paper variables for widths and margins
lengthCross-staff stems
Length and thickness of objects5.4.4 Distances and measurements
Length and thickness of objects参照
length of notes (音符の長さ)演奏時間
lexerlexer
lheelA.11 List of articulations
ligature参照
ligature参照
ligature参照
ligature参照
ligature参照
LigaturesLigatures
ligatures in textA.9.2 Align
line参照
line breaks4.3.1 Line breaking
line breaks (改行)小節線
line breaks and beams (改行と連桁)Selected Snippets
line breaks in cadenzas (カデンツァでの改行)参照
line breaks in unmetered music (無韻律の音楽での改行)参照
line, cross-staffStaff-change lines
line, staff-changeStaff-change lines
line, staff-change followerStaff-change lines
line-spanner-interface参照
line-width\paper variables for widths and margins
line-width4.5.4 Line length
LineBreakEvent参照
lineprallA.11 List of articulations
lines, grid (グリッド ライン)グリッド ライン
lines, vertical between staves (譜の間の垂直な線)グリッド ライン
List of colorsNormal colors
listing available fonts (利用可能なフォントをリストアップする)個々に登録するフォント
Literature listCustomizing chord names
Literature list参照
locrian調号
locrian (ロクリアン)調号
longa演奏時間
longa休符
longa rest (四全休符)休符
longfermataA.11 List of articulations
lowerテキスト揃え
lowering textA.9.2 Align
ltoeA.11 List of articulations
ly:add-context-modA.18 Scheme functions
ly:add-file-name-alistA.18 Scheme functions
ly:add-interfaceA.18 Scheme functions
ly:add-listenerA.18 Scheme functions
ly:add-optionA.18 Scheme functions
ly:all-grob-interfacesA.18 Scheme functions
ly:all-optionsA.18 Scheme functions
ly:all-stencil-expressionsA.18 Scheme functions
ly:assoc-getA.18 Scheme functions
ly:axis-group-interface::add-elementA.18 Scheme functions
ly:beam-score-countA.18 Scheme functions
ly:book-add-bookpart!A.18 Scheme functions
ly:book-add-score!A.18 Scheme functions
ly:book-book-partsA.18 Scheme functions
ly:book-headerA.18 Scheme functions
ly:book-paperA.18 Scheme functions
ly:book-processA.18 Scheme functions
ly:book-process-to-systemsA.18 Scheme functions
ly:book-scoresA.18 Scheme functions
ly:box?A.18 Scheme functions
ly:bpA.18 Scheme functions
ly:bracketA.18 Scheme functions
ly:broadcastA.18 Scheme functions
ly:camel-case->lisp-identifierA.18 Scheme functions
ly:chain-assoc-getA.18 Scheme functions
ly:cmA.18 Scheme functions
ly:command-line-codeA.18 Scheme functions
ly:command-line-optionsA.18 Scheme functions
ly:command-line-verbose?A.18 Scheme functions
ly:connect-dispatchersA.18 Scheme functions
ly:context-current-momentA.18 Scheme functions
ly:context-event-sourceA.18 Scheme functions
ly:context-events-belowA.18 Scheme functions
ly:context-findA.18 Scheme functions
ly:context-grob-definitionA.18 Scheme functions
ly:context-idA.18 Scheme functions
ly:context-nameA.18 Scheme functions
ly:context-nowA.18 Scheme functions
ly:context-parentA.18 Scheme functions
ly:context-propertyA.18 Scheme functions
ly:context-property-where-definedA.18 Scheme functions
ly:context-pushpop-propertyA.18 Scheme functions
ly:context-set-property!A.18 Scheme functions
ly:context-unset-propertyA.18 Scheme functions
ly:context?A.18 Scheme functions
ly:default-scaleA.18 Scheme functions
ly:dimension?A.18 Scheme functions
ly:dir?A.18 Scheme functions
ly:dispatcher?A.18 Scheme functions
ly:duration->stringA.18 Scheme functions
ly:duration-dot-countA.18 Scheme functions
ly:duration-factorA.18 Scheme functions
ly:duration-lengthA.18 Scheme functions
ly:duration-logA.18 Scheme functions
ly:duration<?A.18 Scheme functions
ly:duration?A.18 Scheme functions
ly:effective-prefixA.18 Scheme functions
ly:encode-string-for-pdfA.18 Scheme functions
ly:engraver-announce-end-grobA.18 Scheme functions
ly:engraver-make-grobA.18 Scheme functions
ly:errorA.18 Scheme functions
ly:eval-simple-closureA.18 Scheme functions
ly:event-deep-copyA.18 Scheme functions
ly:event-propertyA.18 Scheme functions
ly:event-set-property!A.18 Scheme functions
ly:expand-environmentA.18 Scheme functions
ly:exportA.18 Scheme functions
ly:find-fileA.18 Scheme functions
ly:font-config-add-directoryA.18 Scheme functions
ly:font-config-add-fontA.18 Scheme functions
ly:font-config-display-fontsA.18 Scheme functions
ly:font-config-get-font-fileA.18 Scheme functions
ly:font-design-sizeA.18 Scheme functions
ly:font-file-nameA.18 Scheme functions
ly:font-get-glyphA.18 Scheme functions
ly:font-glyph-name-to-charcodeA.18 Scheme functions
ly:font-glyph-name-to-indexA.18 Scheme functions
ly:font-index-to-charcodeA.18 Scheme functions
ly:font-magnificationA.18 Scheme functions
ly:font-metric?A.18 Scheme functions
ly:font-nameA.18 Scheme functions
ly:font-sub-fontsA.18 Scheme functions
ly:formatA.18 Scheme functions
ly:format-outputA.18 Scheme functions
ly:get-all-function-documentationA.18 Scheme functions
ly:get-all-translatorsA.18 Scheme functions
ly:get-context-modsA.18 Scheme functions
ly:get-listened-event-classesA.18 Scheme functions
ly:get-optionA.18 Scheme functions
ly:gettextA.18 Scheme functions
ly:grob-alist-chainA.18 Scheme functions
ly:grob-array->listA.18 Scheme functions
ly:grob-array-lengthA.18 Scheme functions
ly:grob-array-refA.18 Scheme functions
ly:grob-array?A.18 Scheme functions
ly:grob-basic-propertiesA.18 Scheme functions
ly:grob-chain-callbackA.18 Scheme functions
ly:grob-common-refpointA.18 Scheme functions
ly:grob-common-refpoint-of-arrayA.18 Scheme functions
ly:grob-default-fontA.18 Scheme functions
ly:grob-extentA.18 Scheme functions
ly:grob-interfacesA.18 Scheme functions
ly:grob-layoutA.18 Scheme functions
ly:grob-objectA.18 Scheme functions
ly:grob-originalA.18 Scheme functions
ly:grob-parentA.18 Scheme functions
ly:grob-pq<?A.18 Scheme functions
ly:grob-propertiesA.18 Scheme functions
ly:grob-propertyA.18 Scheme functions
ly:grob-property-dataA.18 Scheme functions
ly:grob-relative-coordinateA.18 Scheme functions
ly:grob-robust-relative-extentA.18 Scheme functions
ly:grob-script-priority-lessA.18 Scheme functions
ly:grob-set-nested-property!A.18 Scheme functions
ly:grob-set-object!A.18 Scheme functions
ly:grob-set-parent!A.18 Scheme functions
ly:grob-set-property!A.18 Scheme functions
ly:grob-staff-positionA.18 Scheme functions
ly:grob-suicide!A.18 Scheme functions
ly:grob-systemA.18 Scheme functions
ly:grob-translate-axis!A.18 Scheme functions
ly:grob?A.18 Scheme functions
ly:gulp-fileA.18 Scheme functions
ly:hash-table-keysA.18 Scheme functions
ly:inchA.18 Scheme functions
ly:input-both-locationsA.18 Scheme functions
ly:input-file-line-char-columnA.18 Scheme functions
ly:input-location?A.18 Scheme functions
ly:input-messageA.18 Scheme functions
ly:interpret-music-expressionA.18 Scheme functions
ly:interpret-stencil-expressionA.18 Scheme functions
ly:intlog2A.18 Scheme functions
ly:is-listened-event-classA.18 Scheme functions
ly:item-break-dirA.18 Scheme functions
ly:item?A.18 Scheme functions
ly:iterator?A.18 Scheme functions
ly:lexer-keywordsA.18 Scheme functions
ly:lily-lexer?A.18 Scheme functions
ly:lily-parser?A.18 Scheme functions
ly:listener?A.18 Scheme functions
ly:make-bookA.18 Scheme functions
ly:make-book-partA.18 Scheme functions
ly:make-dispatcherA.18 Scheme functions
ly:make-durationA.18 Scheme functions
ly:make-global-contextA.18 Scheme functions
ly:make-global-translatorA.18 Scheme functions
ly:make-listenerA.18 Scheme functions
ly:make-momentA.18 Scheme functions
ly:make-musicA.18 Scheme functions
ly:make-music-functionA.18 Scheme functions
ly:make-output-defA.18 Scheme functions
ly:make-page-label-markerA.18 Scheme functions
ly:make-page-permission-markerA.18 Scheme functions
ly:make-pango-description-stringA.18 Scheme functions
ly:make-paper-outputterA.18 Scheme functions
ly:make-pitchA.18 Scheme functions
ly:make-probA.18 Scheme functions
ly:make-scaleA.18 Scheme functions
ly:make-scoreA.18 Scheme functions
ly:make-simple-closureA.18 Scheme functions
ly:make-stencilA.18 Scheme functions
ly:make-stream-eventA.18 Scheme functions
ly:messageA.18 Scheme functions
ly:minimal-breaking4.3.5 Minimal page breaking
ly:minimal-breakingA.18 Scheme functions
ly:mmA.18 Scheme functions
ly:module->alistA.18 Scheme functions
ly:module-copyA.18 Scheme functions
ly:modules-lookupA.18 Scheme functions
ly:moment-addA.18 Scheme functions
ly:moment-divA.18 Scheme functions
ly:moment-grace-denominatorA.18 Scheme functions
ly:moment-grace-numeratorA.18 Scheme functions
ly:moment-main-denominatorA.18 Scheme functions
ly:moment-main-numeratorA.18 Scheme functions
ly:moment-modA.18 Scheme functions
ly:moment-mulA.18 Scheme functions
ly:moment-subA.18 Scheme functions
ly:moment<?A.18 Scheme functions
ly:moment?A.18 Scheme functions
ly:music-compressA.18 Scheme functions
ly:music-deep-copyA.18 Scheme functions
ly:music-duration-compressA.18 Scheme functions
ly:music-duration-lengthA.18 Scheme functions
ly:music-function-extractA.18 Scheme functions
ly:music-function?A.18 Scheme functions
ly:music-lengthA.18 Scheme functions
ly:music-list?A.18 Scheme functions
ly:music-mutable-propertiesA.18 Scheme functions
ly:music-output?A.18 Scheme functions
ly:music-propertyA.18 Scheme functions
ly:music-set-property!A.18 Scheme functions
ly:music-transposeA.18 Scheme functions
ly:music?A.18 Scheme functions
ly:note-column-accidentalsA.18 Scheme functions
ly:note-column-dot-columnA.18 Scheme functions
ly:note-head::stem-attachmentA.18 Scheme functions
ly:number->stringA.18 Scheme functions
ly:optimal-breaking4.3.3 Optimal page breaking
ly:optimal-breakingA.18 Scheme functions
ly:option-usageA.18 Scheme functions
ly:otf->cffA.18 Scheme functions
ly:otf-font-glyph-infoA.18 Scheme functions
ly:otf-font-table-dataA.18 Scheme functions
ly:otf-font?A.18 Scheme functions
ly:otf-glyph-countA.18 Scheme functions
ly:otf-glyph-listA.18 Scheme functions
ly:output-def-cloneA.18 Scheme functions
ly:output-def-lookupA.18 Scheme functions
ly:output-def-parentA.18 Scheme functions
ly:output-def-scopeA.18 Scheme functions
ly:output-def-set-variable!A.18 Scheme functions
ly:output-def?A.18 Scheme functions
ly:output-descriptionA.18 Scheme functions
ly:output-formatsA.18 Scheme functions
ly:outputter-closeA.18 Scheme functions
ly:outputter-dump-stencilA.18 Scheme functions
ly:outputter-dump-stringA.18 Scheme functions
ly:outputter-moduleA.18 Scheme functions
ly:outputter-output-schemeA.18 Scheme functions
ly:outputter-portA.18 Scheme functions
ly:page-marker?A.18 Scheme functions
ly:page-turn-breaking4.3.4 Optimal page turning
ly:page-turn-breakingA.18 Scheme functions
ly:pango-font-physical-fontsA.18 Scheme functions
ly:pango-font?A.18 Scheme functions
ly:paper-book-headerA.18 Scheme functions
ly:paper-book-pagesA.18 Scheme functions
ly:paper-book-paperA.18 Scheme functions
ly:paper-book-performancesA.18 Scheme functions
ly:paper-book-scopesA.18 Scheme functions
ly:paper-book-systemsA.18 Scheme functions
ly:paper-book?A.18 Scheme functions
ly:paper-fontsA.18 Scheme functions
ly:paper-get-fontA.18 Scheme functions
ly:paper-get-numberA.18 Scheme functions
ly:paper-outputscaleA.18 Scheme functions
ly:paper-score-paper-systemsA.18 Scheme functions
ly:paper-system-minimum-distanceA.18 Scheme functions
ly:paper-system?A.18 Scheme functions
ly:parse-fileA.18 Scheme functions
ly:parser-clear-errorA.18 Scheme functions
ly:parser-cloneA.18 Scheme functions
ly:parser-define!A.18 Scheme functions
ly:parser-errorA.18 Scheme functions
ly:parser-has-error?A.18 Scheme functions
ly:parser-include-stringA.18 Scheme functions
ly:parser-lexerA.18 Scheme functions
ly:parser-lookupA.18 Scheme functions
ly:parser-output-nameA.18 Scheme functions
ly:parser-parse-stringA.18 Scheme functions
ly:parser-set-note-namesA.18 Scheme functions
ly:parser-set-repetition-functionA.18 Scheme functions
ly:parser-set-repetition-symbolA.18 Scheme functions
ly:performance-writeA.18 Scheme functions
ly:pfb->pfaA.18 Scheme functions
ly:pitch-alterationA.18 Scheme functions
ly:pitch-diffA.18 Scheme functions
ly:pitch-negateA.18 Scheme functions
ly:pitch-notenameA.18 Scheme functions
ly:pitch-octaveA.18 Scheme functions
ly:pitch-quartertonesA.18 Scheme functions
ly:pitch-semitonesA.18 Scheme functions
ly:pitch-stepsA.18 Scheme functions
ly:pitch-transposeA.18 Scheme functions
ly:pitch<?A.18 Scheme functions
ly:pitch?A.18 Scheme functions
ly:pointer-group-interface::add-grobA.18 Scheme functions
ly:position-on-line?A.18 Scheme functions
ly:prob-immutable-propertiesA.18 Scheme functions
ly:prob-mutable-propertiesA.18 Scheme functions
ly:prob-propertyA.18 Scheme functions
ly:prob-property?A.18 Scheme functions
ly:prob-set-property!A.18 Scheme functions
ly:prob-type?A.18 Scheme functions
ly:prob?A.18 Scheme functions
ly:programming-errorA.18 Scheme functions
ly:progressA.18 Scheme functions
ly:property-lookup-statsA.18 Scheme functions
ly:protectsA.18 Scheme functions
ly:ptA.18 Scheme functions
ly:register-stencil-expressionA.18 Scheme functions
ly:relative-group-extentA.18 Scheme functions
ly:reset-all-fontsA.18 Scheme functions
ly:round-filled-boxA.18 Scheme functions
ly:round-filled-polygonA.18 Scheme functions
ly:run-translatorA.18 Scheme functions
ly:score-add-output-def!A.18 Scheme functions
ly:score-embedded-formatA.18 Scheme functions
ly:score-error?A.18 Scheme functions
ly:score-headerA.18 Scheme functions
ly:score-musicA.18 Scheme functions
ly:score-output-defsA.18 Scheme functions
ly:score-set-header!A.18 Scheme functions
ly:score?A.18 Scheme functions
ly:set-default-scaleA.18 Scheme functions
ly:set-grob-modification-callbackA.18 Scheme functions
ly:set-middle-C!A.18 Scheme functions
ly:set-optionA.18 Scheme functions
ly:set-property-cache-callbackA.18 Scheme functions
ly:simple-closure?A.18 Scheme functions
ly:skyline-pair?A.18 Scheme functions
ly:skyline?A.18 Scheme functions
ly:slur-score-countA.18 Scheme functions
ly:smob-protectsA.18 Scheme functions
ly:solve-spring-rod-problemA.18 Scheme functions
ly:source-file?A.18 Scheme functions
ly:spanner-boundA.18 Scheme functions
ly:spanner-broken-intoA.18 Scheme functions
ly:spanner-set-bound!A.18 Scheme functions
ly:spanner?A.18 Scheme functions
ly:spawnA.18 Scheme functions
ly:staff-symbol-line-thicknessA.18 Scheme functions
ly:staff-symbol-staff-spaceA.18 Scheme functions
ly:start-environmentA.18 Scheme functions
ly:stderr-redirectA.18 Scheme functions
ly:stencil-addA.18 Scheme functions
ly:stencil-aligned-toA.18 Scheme functions
ly:stencil-combine-at-edgeA.18 Scheme functions
ly:stencil-empty?A.18 Scheme functions
ly:stencil-exprA.18 Scheme functions
ly:stencil-extentA.18 Scheme functions
ly:stencil-fontsA.18 Scheme functions
ly:stencil-in-colorA.18 Scheme functions
ly:stencil-rotateA.18 Scheme functions
ly:stencil-rotate-absoluteA.18 Scheme functions
ly:stencil-scaleA.18 Scheme functions
ly:stencil-translateA.18 Scheme functions
ly:stencil-translate-axisA.18 Scheme functions
ly:stencil?A.18 Scheme functions
ly:stream-event?A.18 Scheme functions
ly:string-percent-encodeA.18 Scheme functions
ly:string-substituteA.18 Scheme functions
ly:successA.18 Scheme functions
ly:system-font-loadA.18 Scheme functions
ly:text-interface::interpret-markupA.18 Scheme functions
ly:translator-contextA.18 Scheme functions
ly:translator-descriptionA.18 Scheme functions
ly:translator-group?A.18 Scheme functions
ly:translator-nameA.18 Scheme functions
ly:translator?A.18 Scheme functions
ly:transpose-key-alistA.18 Scheme functions
ly:truncate-list!A.18 Scheme functions
ly:ttf->pfaA.18 Scheme functions
ly:ttf-ps-nameA.18 Scheme functions
ly:unitA.18 Scheme functions
ly:usageA.18 Scheme functions
ly:versionA.18 Scheme functions
ly:warningA.18 Scheme functions
ly:wide-char->utf-8A.18 Scheme functions
lydian調号
lydian (リディアン)調号
LyricCombineMusic参照
LyricCombineMusic参照
LyricExtender参照
LyricHyphen参照
Lyrics参照
Lyrics参照
Lyrics参照
Lyrics参照
Lyrics参照
LyricsA.14 All context properties
LyricsA.14 All context properties
lyrics and beaming (歌詞と連桁)自動連桁の振る舞いを設定する
lyrics and melodiesAutomatic syllable durations
lyrics and tied notesRepeats with alternative endings
lyrics assigned to one voice (1 つのボイスに代入される歌詞)単一譜の多声
lyrics on grace notesAdding syllables to grace notes
lyrics punctuationEntering lyrics
lyrics, aligning to a melodyAligning lyrics to a melody
lyrics, aligning with sporadic melody5.1.3 Keeping contexts alive
lyrics, dividedDivisi lyrics
lyrics, enteringEntering lyrics
lyrics, formattingEntering lyrics
Lyrics, increasing space betweenPlacing syllables horizontally
lyrics, keeping inside margin (歌詞をマージン内に収める)参照
lyrics, positioningPlacing lyrics vertically
lyrics, repeatingLyrics and repeats
lyrics, repeats with alternative endingsRepeats with alternative endings
lyrics, skip (歌詞をスキップする)不可視の休符
lyrics, skipping notesRepeats with alternative endings
lyrics, using variablesWorking with lyrics and variables
LyricText参照
LyricText参照
LyricText参照

M
mCommon chords
magnifyフォントとフォント サイズを選択する
magnifying textA.9.1 Font
magstep記譜フォント サイズを選択する
magstep5.4.4 Distances and measurements
majCommon chords
major調号
major (メジャー)調号
major seven symbols定義済みコマンド
majorSevenSymbolCustomizing chord names
makam参照
makamTurkish note names
makamlar参照
makamlar参照
make-dynamic-script新たな強弱記号
make-pango-font-treeドキュメント全体のフォント
makeClustersクラスタ
makeClustersA.16 Available music functions
makeDefaultStringTuningsA.16 Available music functions
makeStringTuningCustom tablatures
makeStringTuningA.16 Available music functions
manual bar lines (手動の小節線)小節線
manual beams (手動連桁)自動連桁
manual beams (手動連桁)手動連桁
manual beams, direction shorthand for (手動連桁の向きを指定する短縮記譜法)手動連桁
manual beams, grace notes (装飾小音符の手動連桁)手動連桁
manual measure lines (手動の小節線)小節線
manual rehearsal mark (手動のリハーサル記号)リハーサル記号
manual repeat mark (手動の繰り返し記号)手動の繰り返し記号
manual staff changesChanging staff manually
maqam参照
maqamsReferences for Arabic music
marcatoA.11 List of articulations
marcato (マルカート)アーティキュレーションと装飾
margin, text running over (マージンからはみ出すテキスト)参照
markリハーサル記号
markテキスト マーク
mark, phrasing (フレーズ記号)フレージング スラー
mark, rehearsal (リハーサル記号)リハーサル記号
mark, rehearsal, format (リハーサル記号のフォーマット)リハーサル記号
mark, rehearsal, manual (手動でリハーサル記号をセットする)リハーサル記号
mark, rehearsal, style (リハーサル記号のスタイル)リハーサル記号
MarkEvent参照
MarkEvent参照
marks, tex (テキスト マーク)tテキスト マーク
markupテキスト マーク
markup独立したテキスト
markup独立したテキスト
markupテキスト マークアップの導入部
markup (マークアップ)テキスト マークアップの導入部
Markup construction in Scheme新たな強弱記号
Markup construction in Scheme参照
markup expressions (マークアップ表記)テキスト マークアップの導入部
markup mode, quoted text (マークアップ モードでの引用譜で囲まれたテキスト)テキスト マークアップの導入部
markup mode, special characters (マークアップ モードでの特殊文字)テキスト マークアップの導入部
markup on multi-measure rest (複数小節にまたがる休符上のマークアップ)小節単位の休符
markup syntax (マークアップ構文)テキスト マークアップの導入部
markup text (マークアップ テキスト)テキスト マークアップの導入部
markup text alignment commands (マークアップ テキスト揃えのコマンド)テキスト揃え
markup text padding (マークアップ テキスト パディング)マークアップ内部でのグラフィック記譜法
markup text, aligning (マークアップ テキストを揃える)テキスト揃え
markup text, decorating (マークアップ テキストを飾り付ける)マークアップ内部でのグラフィック記譜法
markup text, framing (マークアップ テキストにフレームを付ける)マークアップ内部でのグラフィック記譜法
markup text, justified (両端揃えのマークアップ テキスト)テキスト揃え
markup text, multi-page (複数ページにわたるマークアップ テキスト)複数ページにわたるマークアップ
markup text, wordwrapped (折り返しされたマークアップ テキスト)テキスト揃え
markup, centering on the page (マークアップをページの中央に揃える)テキスト揃え
markup, multi-line (複数行にわたるマークアップ)テキスト揃え
markup, multi-page (複数ページにわたるマークアップ)複数ページにわたるマークアップ
markup, music notation inside (マークアップ内部の音楽記譜法)マークアップ内部での音楽記譜法
markup, score inside (マークアップ内部の楽譜)マークアップ内部での音楽記譜法
markup-markup-spacingList of flexible vertical spacing \paper variables
markup-system-spacingList of flexible vertical spacing \paper variables
markuplines独立したテキスト
markuplines複数ページにわたるマークアップ
markuplines参照
markups, aligning (マークアップを揃える)テキスト揃え
Mark_engraver参照
Mark_engraver参照
max-systems-per-page\paper variables for line breaking
maxima演奏時間
maxima休符
maxima rest (八全休符)休符
measure check (小節チェック)小節と小節番号のチェック
measure groupings (小節をグループ化する)Selected Snippets
measure lines (小節線)小節線
measure lines, invisible (不可視の小節線)小節線
measure lines, manual (手動の小節線)小節線
measure number (小節番号)時間管理
measure number and repeats (小節番号と繰り返し)既知の問題と警告
measure number check (小節番号チェック)小節と小節番号のチェック
measure number, formatSelected Snippets
measure numbers (小節番号)小節番号
measure repeats (小節の繰り返し)パーセント繰り返し
measure sub-grouping (小節をサブ グループ化する)Selected Snippets
measure, change length (小節の長さの変更)上拍
measure, partial (部分小節)上拍
measureLength自動連桁の振る舞いを設定する
measureLength時間管理
measurePosition上拍
measurePosition時間管理
Medicaea, Editio2.9 Ancient notation
Medicaea, Editio2.9.1 Overview of the supported styles
medium intervalsReferences for Arabic music
melismaMultiple notes to one syllable
melisma参照
melismataMultiple notes to one syllable
melismata, beams (メリスマと連桁)自動連桁
melody rhythms, showing (旋律のリズムを示す)旋律のリズムを示す
mensural2.9 Ancient notation
mensural2.9.1 Overview of the supported styles
Mensural ligaturesWhite mensural ligatures
mensural music, transcription ofSelected Snippets
mensural notation参照
mensural notation参照
mensural notation参照
mensural notation参照
mensural notation参照
mensural notation参照
mensural notation参照
mensural notation参照
mensural notation参照
mensural notation参照
MensuralStaff新たに譜をインスタンス化する
MensuralStaffContextMensural contexts
MensuralVoiceContextMensural contexts
mensuration signMensural time signatures
mensurstriche layoutSelected Snippets
mergeDifferentlyDottedOff衝突の解決
mergeDifferentlyDottedOn衝突の解決
mergeDifferentlyHeadedOff衝突の解決
mergeDifferentlyHeadedOn衝突の解決
merging notes (音符に余白を設ける)衝突の解決
merging textA.9.2 Align
meter参照
meter (拍)拍子
meter style (拍スタイル)拍子
meter, polymetric (複合韻律拍)複合拍子記譜法
metronome参照
metronome mark参照
metronome mark (メトロノーム記号)メトロノーム記号
metronome marking with text (テキストを持つメトロノーム記号)メトロノーム記号
MetronomeMark参照
metronomic indication参照
mezzosoprano clef (メゾソプラノ音部記号)音部記号
mf強弱記号
microtones (微分音)他の言語での音符名
Microtones in MIDISupported in MIDI
MIDI楽器の移調
MIDI3.5 MIDI output
MIDI block3.5.2 MIDI block
MIDI context definitions3.5.2 MIDI block
MIDI transposition (MIDI の移調)楽器の移調
MIDI, articulationsSupported in MIDI
MIDI, chord namesSupported in MIDI
MIDI, microtonesSupported in MIDI
MIDI, PitchesSupported in MIDI
MIDI, quarter tonesSupported in MIDI
MIDI, RhythmsSupported in MIDI
min-systems-per-page\paper variables for line breaking
minimum-Y-extentWithin-system spacing properties
minimumFretDefault tablatures
minimumFretAutomatic fret diagrams
minimumPageTurnLength4.3.4 Optimal page turning
minimumRepeatLengthForPageTurn4.3.4 Optimal page turning
minor調号
minor (マイナー)調号
mirroring markupA.9.3 Graphic
mixedPiano pedals
mixolydian調号
mixolydian (ミクソリディアン)調号
modal inversionModal inversion
modal transformations様式的な移調
modal transpositionModal transposition
modalInversionModal inversion
modalInversionA.16 Available music functions
modalTransposeModal transposition
modalTransposeA.16 Available music functions
modeparser variable
modern自動臨時記号
modern accidental style (modern 臨時記号スタイル)自動臨時記号
modern accidental style (modern 臨時記号スタイル)自動臨時記号
modern accidental style (modern 臨時記号スタイル)自動臨時記号
modern accidentals (modern 臨時記号)自動臨時記号
modern cautionary accidental style (modern-cautionary 臨時記号スタイル)自動臨時記号
modern style accidentals (modern 臨時記号スタイル)自動臨時記号
modern style accidentals (modern 臨時記号スタイル)自動臨時記号
modern style cautionary accidentals (modern-cautionary 臨時記号スタイル)自動臨時記号
modern-cautionary自動臨時記号
modern-cautionary accidental style (modern-cautionary 臨時記号スタイル)自動臨時記号
modern-voice自動臨時記号
modern-voice-cautionary自動臨時記号
moderntab clefCustom tablatures
modes (モード)調号
modifiers, in chords.Common chords
mordentA.11 List of articulations
mordent (モルデント)アーティキュレーションと装飾
movements, multiple3.1.2 Multiple scores in a book
mp強弱記号
multi-line markup (複数行にわたるマークアップ)テキスト揃え
multi-line text (複数行にわたるテキスト)テキスト揃え
multi-measure rest参照
multi-measure rest with markup (マークアップを持つ複数小節にまたがる休符)小節単位の休符
multi-measure rest, attaching fermata (複数小節にまたがる休符にフェルマータを付ける)小節単位の休符
multi-measure rest, attaching text (複数小節にまたがる休符にテキストを付ける)小節単位の休符
multi-measure rest, contracting (複数小節にまたがる休符をまとめる)小節単位の休符
multi-measure rest, expanding (複数小節にまたがる休符を展開する)小節単位の休符
multi-measure rest, script (複数小節にまたがる休符上のスクリプト)小節単位の休符
multi-measure rests (複数の小節にまたがる休符)小節単位の休符
multi-measure rests and fingerings (運指記号と複数小節にまたがる休符)参照
multi-measure rests, positioningSelected Snippets
multi-note acciaccatura (複数音符のアッチャカトゥーラ)既知の問題と警告
multi-page markup (複数ページにわたるマークアップ)複数ページにわたるマークアップ
MultiMeasureRest参照
MultiMeasureRestNumber参照
MultiMeasureRestText小節単位の休符
multiple dynamic marks on one note (1 つの音符に複数の強弱記号をつける)強弱記号
multiple phrasing slurs (多重フレージング スラー)フレージング スラー
multiple slurs (多重スラー)スラー
multiple voices衝突の解決
multivoice accidentals (マルチボイス)自動臨時記号
Music definitions5.2.1 Navigating the program reference
Music expressions explained参照
Music functions5.6 Using music functions
Music functions5.6.1 Substitution function syntax
Music functions参照
music glyphs (音楽的図柄)リハーサル記号
music inside markup (マークアップ内部の音楽)マークアップ内部での音楽記譜法
music, beginners’ (初心者のための楽譜)演奏を容易にする記譜法の符頭
music, unmetered (無韻律の音楽)時間管理
Musica fictaAnnotational accidentals (musica ficta)
musical cuesMusical cues
musicglyphリハーサル記号
musicMapA.16 Available music functions
musicological analysis (音楽学的分析)分析の囲み
musicQuotesparser variable
mutable objectsmutable
mutable propertiesmutable

N
N.C. symbolPrinting chord names
name5.1.6 Defining new contexts
name of singerAdding singers’ names to stanzas
names, characterCharacter names
Naming conventions of objects and properties参照
Naming conventions of objects and properties参照
natural harmonicsHarmonics
natural pitch (ナチュラル ピッチ)臨時記号
natural sign (ナチュラル記号)臨時記号
neo-modern自動臨時記号
neo-modern accidental style (neo-modern 臨時記号スタイル)自動臨時記号
neo-modern-cautionary自動臨時記号
neo-modern-cautionary accidental style (neo-modern-cautionary 臨時記号スタイル)自動臨時記号
neo-modern-voice自動臨時記号
neo-modern-voice accidental style (neo-modern-voice 臨時記号スタイル)自動臨時記号
neo-modern-voice-cautionary自動臨時記号
neo-modern-voice-cautionary accidental style (neo-modern-voice-cautionary 臨時記号スタイル)自動臨時記号
neomensural2.9.1 Overview of the supported styles
nested contexts5.1.7 Aligning contexts
nested repeat (ネストされた繰り返し)既知の問題と警告
nested staff brackets (ネストされた譜の角括弧)ネストされた譜グループ
nesting of staves (譜をネストする)ネストされた譜グループ
new contexts5.1.2 Creating contexts
new dynamic marks (新たな強弱記号)新たな強弱記号
New markup list command definition参照
new staff (新しい譜)新たに譜をインスタンス化する
New_fingering_engraver参照
New_fingering_engraver5.2.1 Navigating the program reference
niente, al (アル ニエンテ)Selected Snippets
no chord symbolPrinting chord names
no reset accidental style (no-reset 臨時記号スタイル)自動臨時記号
no-reset自動臨時記号
noBeam手動連桁
non-ASCII characters3.3.3 Text encoding
non-empty texts (空ではないテキスト)テキスト スクリプト
non-musical symbols (音楽要素ではないシンボル)マークアップ内部でのグラフィック記譜法
non-text fonts in markup (マークアップ内の非テキスト フォント)フォントの説明
NonMusicalPaperColumn参照
nonstaff-nonstaff-spacingWithin-system spacing properties
nonstaff-relatedstaff-spacingWithin-system spacing properties
nonstaff-unrelatedstaff-spacingWithin-system spacing properties
noPageBreakA.16 Available music functions
noPageTurnA.16 Available music functions
normal repeat1.4.1 長い繰り返し
normalsize記譜フォント サイズを選択する
normalsizeフォントとフォント サイズを選択する
notation font size (記譜フォント サイズ)記譜フォント サイズを選択する
notation inside markup (マークアップ内部の記譜法)マークアップ内部での音楽記譜法
notation, explaining (記譜法を説明する)バルーン ヘルプ
notation, graphic (グラフィック記譜法)マークアップ内部でのグラフィック記譜法
note cluster (音符のクラスタ)クラスタ
note collisions (音符の衝突)衝突の解決
note duration, default (デフォルトの音符演奏時間)演奏時間
note durations (音符の演奏時間)演奏時間
note grouping bracket (音符グループ化囲み)分析の囲み
note head参照
note head stylesA.8 Note head styles
note head styles (符頭のスタイル)特殊な符頭
note heads (符頭)記譜フォント サイズを選択する
note heads, Aiken (Aiken の符頭)シェイプ符頭
note heads, ancientMensural note heads
note heads, Christian Harmonyシェイプ符頭
note heads, cross (×の符頭)特殊な符頭
note heads, diamond (ダイアモンド形の符頭)特殊な符頭
note heads, diamond-shapedHarmonics
note heads, easy notation (演奏を容易にする記譜法の符頭)演奏を容易にする記譜法の符頭
note heads, easy play (演奏を容易にする符頭)演奏を容易にする記譜法の符頭
note heads, Funkシェイプ符頭
note heads, guitar (ギターの符頭)特殊な符頭
note heads, harmonic (和音の符頭)特殊な符頭
note heads, Harmonica Sacraシェイプ符頭
note heads, improvisation (即興の符頭)即興
note heads, parlato (語りの符頭)特殊な符頭
note heads, practice (練習のための符頭)演奏を容易にする記譜法の符頭
note heads, sacred harp (セイクリッド ハープの符頭)シェイプ符頭
note heads, shape (シェイプ符頭)シェイプ符頭
note heads, slashed (スラッシュ形の符頭)即興
note heads, Southern Harmonyシェイプ符頭
note heads, special (特別な符頭)特殊な符頭
note heads, Walkerシェイプ符頭
note lengths (音符の長さ)演奏時間
note names, default (デフォルトの音符名)臨時記号
note names, Dutch (オランダ語での音符名)臨時記号
note names, other languages (他の言語での音符名)他の言語での音符名
note value参照
note-collision-interfaceA.15 Layout properties
note-collision-interfaceA.15 Layout properties
note-collision-interfaceA.15 Layout properties
note-event参照
note-event参照
note-event参照
note-head-interface参照
note-head-interface参照
note-head-interface参照
NoteCollision参照
NoteColumn参照
NoteHead参照
NoteHead参照
NoteHead参照
notes within text by log and dot-countA.9.4 Music
notes within text by stringA.9.4 Music
notes, colored (色付きの音符)オブジェクトに色を付ける
notes, colored in chords (和音の中にある色付きの音符)参照
notes, cross-staffChanging staff manually
notes, cross-staffCross-staff stems
notes, dotted (付点音符)演奏時間
notes, double-dotted (2 重付点音符)演奏時間
notes, ghost (ゴースト音符)括弧
notes, hidden隠された音符
notes, invisible隠された音符
notes, parenthesized (括弧で囲まれた音符)括弧
notes, smaller合図音符をフォーマットする
notes, splitting (音符を分割する)自動音符分割
notes, transparent隠された音符
notes, transposition of (音符の移調)移調
NoteSpacing参照
NoteSpacing4.5.1 Horizontal spacing overview
NoteSpacing参照
Note_heads_engraver自動音符分割
Note_heads_engraver参照
Note_heads_engraver参照
Note_heads_engraver参照
Note_heads_engraver5.1.6 Defining new contexts
Note_head_line_engraver参照
Note_spacing_engraver参照
nullテキスト揃え
number of staff lines (譜線の本数)譜シンボル
numbers, bar (小節番号)小節番号
numbers, measure (小節番号)小節番号
numericTimeSignature拍子

O
Objects and interfaces参照
Objects and interfaces参照
objects, colored (色付きのオブジェクト)オブジェクトに色を付ける
objects, coloringPainting objects white
objects, overwritingPainting objects white
objects, rotatingRotating layout objects
objects, visibility of5.4.7 Visibility of objects
ocatve specification, relative (相対オクターブ指定)相対オクターブ入力
octavated clefs, visibility ofSpecial considerations
OctavateEight参照
octavation参照
octavation (オクタベーション)オッターバ囲み
octave changing mark (オクターブ変更記号)絶対オクターブ入力
octave check (オクターブ チェック)オクターブ チェック
octave correction (オクターブ修正)オクターブ チェック
octave entry, absolute (絶対オクターブ入力)絶対オクターブ入力
octave entry, relative (相対オクターブ入力)相対オクターブ入力
octave specification, absolute (絶対オクターブ指定)絶対オクターブ入力
octaveCheckオクターブ チェック
octaveCheckA.16 Available music functions
oneVoice単一譜の多声
openA.11 List of articulations
open (オープン)アーティキュレーションと装飾
open string indicationBowing indications
operation, inversion (転回操作)転回
operation, modal inversionModal inversion
operation, retrograde (逆行操作)逆行
operation, transpositionModal transposition
operations, modal様式的な移調
Optical spacing4.5.1 Horizontal spacing overview
Optical spacing参照
oratorio2.1.5 Choral
orchestral strings2.3 Unfretted string instruments
organ pedal marks (オルガン ペダル記号)アーティキュレーションと装飾
OrganizingUsing variables
Organizing pieces with variables参照
Organizing pieces with variables参照
orientationSetting paper size
ornamentation (装飾)アーティキュレーションと装飾
ornaments (装飾)アーティキュレーションと装飾
ornaments (装飾音)装飾小音符
ossia参照
ossia (オッシア)オッシア譜
ossia (オッシア)譜を隠す
Other sources of informationExtending notation and tuning systems
Other sources of information参照
Other sources of information3.3.1 Including LilyPond files
Other sources of information3.3.1 Including LilyPond files
Other sources of information参照
Other sources of informationInstallation Instructions for MacOS
Other sources of information参照
Other sources of information3.5.2 MIDI block
Other sources of informationDynamic marks
Other sources of information5.2.2 Layout interfaces
Other sources of information参照
Other uses for tweaksReferences for keyboards
Other uses for tweaks参照
ottavaオッターバ囲み
ottavaA.16 Available music functions
ottava (オッターバ)オッターバ囲み
ottava-bracket-interface参照
OttavaBracket参照
Ottava_spanner_engraver参照
Ottoman musicReferences for Turkish classical music
outer-margin\paper variables for two-sided mode
output-countparser variable
output-defoutput-def
output-suffixparser variable
outside-staff-horizontal-padding4.4.3 Vertical collision avoidance
outside-staff-padding4.4.3 Vertical collision avoidance
outside-staff-priority4.4.3 Vertical collision avoidance
overridePropertyA.16 Available music functions
OverrideProperty参照
overrides in lyric modeEntering lyrics
overrides, reverting5.3.3 The \override command
overrideTimeSignatureSettingsA.16 Available music functions
overriding for only one moment5.3.3 The \override command
overriding properties within text markupA.9.6 Other
overwriting objectsPainting objects white

P
p強弱記号
pad-aroundマークアップ内部でのグラフィック記譜法
pad-markupマークアップ内部でのグラフィック記譜法
pad-to-boxマークアップ内部でのグラフィック記譜法
pad-xマークアップ内部でのグラフィック記譜法
padding5.2.3 Determining the grob property
padding around text (テキストの周りのパディング)マークアップ内部でのグラフィック記譜法
padding textA.9.2 Align
padding text horizontallyA.9.2 Align
page breaks4.5.4 Line length
page breaks in cadenzas (カデンツァでの改ページ)参照
page breaks in unmetered music (無韻律の音楽での改ページ)参照
page layout4.5.4 Line length
page numbers, auto-numbering\paper variables for page numbering
page numbers, specify the first\paper variables for page numbering
page numbers, suppress\paper variables for page numbering
page size4.1.2 Paper size and automatic scaling
page-breaking\paper variables for page breaking
page-breaking-system-system-spacing\paper variables for page breaking
page-count\paper variables for page breaking
page-spacing-weightMiscellaneous \paper variables
pageBreakA.16 Available music functions
pageTurnA.16 Available music functions
palmMuteA.16 Available music functions
palmMuteOnA.16 Available music functions
Pangoフォントの説明
paper size4.1.2 Paper size and automatic scaling
paper-height4.1.3 Fixed vertical spacing \paper variables
paper-width\paper variables for widths and margins
parallel music (並列な音楽)音楽を並列に記述する
parallelMusic音楽を並列に記述する
parallelMusicA.16 Available music functions
parentheses (括弧)括弧
parentheses-interface参照
ParenthesesItem参照
Parenthesis_engraver参照
parenthesize括弧
parenthesizeA.16 Available music functions
parenthesized accidental (括弧に囲まれた臨時記号)臨時記号
parlatoSpoken music
parlato note heads (語りの符頭)特殊な符頭
parserparser
parser variableparser variable
parseStringResultparser variable
part参照
part combiner (パート結合)自動パート結合
part songs2.1.5 Choral
partcombine自動パート結合
partcombineA.16 Available music functions
partcombineForceA.16 Available music functions
partCombineListenerparser variable
PartCombineMusic参照
partial上拍
partial measure (部分小節)上拍
paths, drawingA.9.3 Graphic
pause mark (休止記号)ブレス記号
pedal diagrams, harpHarp pedals
pedal indication stylesPiano pedals
pedal indication, bracketPiano pedals
pedal indication, mixedPiano pedals
pedal indication, textPiano pedals
pedal marks, organ (オルガン ペダル記号)アーティキュレーションと装飾
pedal sustain stylePiano pedals
pedal, sostenutoPiano pedals
pedal, sustainPiano pedals
pedals, harpHarp pedals
pedals, pianoPiano pedals
pedalSustainStylePiano pedals
percentパーセント繰り返し
percent repeat参照
percent repeats (パーセント繰り返し)パーセント繰り返し
PercentRepeat参照
PercentRepeatCounter参照
PercentRepeatedMusic参照
percussionBasic percussion notation
percussionPercussion staves
percussion clefBasic percussion notation
percussion staff (打楽器譜)新たに譜をインスタンス化する
Petrucci2.9 Ancient notation
Petrucci2.9.1 Overview of the supported styles
phrasing bracket (プレージングの囲み)分析の囲み
phrasing marks (フレーズ記号)フレージング スラー
phrasing slur (フレージング スラー)スラー
phrasing slur, dashed (破線のフレージング スラー)フレージング スラー
phrasing slur, defining dash patternsフレージング スラー
phrasing slur, dotted (点線のフレージング スラー)フレージング スラー
phrasing slur, half solid and half dashed (半分が実線で半分が破線のフレージング スラー)フレージング スラー
phrasing slurs (フレージング スラー)フレージング スラー
phrasing slurs, multiple (多重フレージング スラー)フレージング スラー
phrasing slurs, simultaneous (同時進行のフレージング スラー)フレージング スラー
phrasing, in lyricsMultiple notes to one syllable
PhrasingSlur参照
phrasingSlurDashedフレージング スラー
phrasingSlurDashPatternフレージング スラー
phrasingSlurDashPatternA.16 Available music functions
phrasingSlurDottedフレージング スラー
phrasingSlurDownフレージング スラー
phrasingSlurHalfDashedフレージング スラー
phrasingSlurHalfSolidフレージング スラー
phrasingSlurNeutralフレージング スラー
phrasingSlurSolidフレージング スラー
phrasingSlurUpフレージング スラー
phrygian調号
phrygian (フリジアン)調号
piano自動臨時記号
piano accidental style (ピアノ臨時記号スタイル)自動臨時記号
piano accidentals (ピアノ臨時記号)自動臨時記号
piano cautionary accidental style (piano-cautionary 臨時記号スタイル)自動臨時記号
piano cautionary accidentals (piano-cautionary 臨時記号)自動臨時記号
piano music, centering dynamicsReferences for keyboards
piano pedalsPiano pedals
piano staff (ピアノ譜)譜をグループ化する
piano stavesReferences for keyboards
piano-cautionary自動臨時記号
PianoPedalBracket参照
PianoStaffReferences for keyboards
PianoStaffChanging staff automatically
PianoStaff参照
PianoStaff参照
PianoStaff参照
PianoStaff参照
Piano_pedal_engraver参照
pickup in a repeat (繰り返しの中にあるピックアップ)通常の繰り返し
pickup measure (ピックアップ小節)上拍
pipeSymbol小節と小節番号のチェック
Pitch names参照
Pitch names参照
Pitch names参照
Pitch names参照
Pitch names参照
pitch names (ピッチ名)絶対オクターブ入力
pitch names, other languages (他の言語でのピッチ名)他の言語での音符名
pitch range (ピッチ範囲)音域
pitched trill with forced accidental (ピッチを持つトリルに強制的に臨時記号を付ける)トリル
pitched trills (ピッチを持つトリル)トリル
pitchedTrillトリル
pitchedTrillA.16 Available music functions
pitches (ピッチ)絶対オクターブ入力
Pitches in MIDISupported in MIDI
pitches, transposition of (ピッチの移調)移調
pitchnamesparser variable
Pitch_squash_engraver旋律のリズムを示す
Pitch_squash_engraver参照
Pitch_squash_engraver5.1.6 Defining new contexts
Pitch_squash_engraverA.14 All context properties
pizzicato, BartókSnap (Bartók) pizzicato
pizzicato, snapSnap (Bartók) pizzicato
placement of lyricsPlacing lyrics vertically
placing horizontal brackets around textA.9.3 Graphic
placing parentheses around textA.9.3 Graphic
placing vertical brackets around textA.9.3 Graphic
pointAndClickOffA.16 Available music functions
pointAndClickOnA.16 Available music functions
polymetric参照
polymetric参照
polymetric scores5.1.4 Modifying context plug-ins
polymetric signatures (複合韻律)複合拍子記譜法
polymetric time signature参照
polyphonic music (多声の音楽)衝突の解決
polyphony参照
polyphony, single-staff (単一譜の多声)単一譜の多声
portato参照
portato (ポルタート)アーティキュレーションと装飾
positioning multi-measure restsSelected Snippets
postscriptマークアップ内部でのグラフィック記譜法
power chord参照
power chordsIndicating power chords
powerChordsIndicating power chords
pp強弱記号
ppp強弱記号
pppp強弱記号
ppppp強弱記号
practice note heads (練習のための符頭)演奏を容易にする記譜法の符頭
prallA.11 List of articulations
prall (プラル)アーティキュレーションと装飾
prall, down (ダウン プラル)アーティキュレーションと装飾
prall, up (アップ プラル)アーティキュレーションと装飾
pralldownA.11 List of articulations
prallmordentA.11 List of articulations
prallmordent (プラルモルデント)アーティキュレーションと装飾
prallprallA.11 List of articulations
prallprall (プラルプラル)アーティキュレーションと装飾
prallupA.11 List of articulations
predefined string tunings for fretted instrumentsCustom tablatures
predefinedFretboardsOffAutomatic fret diagrams
predefinedFretboardsOnAutomatic fret diagrams
prima volta1.4.1 長い繰り返し
print-all-headersMiscellaneous \paper variables
print-first-page-number\paper variables for page numbering
print-page-number\paper variables for page numbering
printing chord namesPrinting chord names
printing orderPainting objects white
printing reserved characters (予約文字を譜刻する)テキスト マークアップの導入部
printing special characters (特殊文字を譜刻する)テキスト マークアップの導入部
probprob
properties5.3.2 The \set command
Properties found in interfaces参照
Properties of layout objects参照
properties, grob参照
property objectprob
PropertySet参照
psalms2.1.7 Chants psalms and hymns
punctuation in lyricsEntering lyrics
putting space around textA.9.2 Align

Q
quarter tone参照
quarter tones (4 分音)臨時記号
Quarter tones in MIDISupported in MIDI
quarter-tone accidental (4 分音臨時記号)参照
quoted text (引用符で囲まれたテキスト)テキスト スクリプト
quoted text in markup mode (マークアップ モードでの引用譜で囲まれたテキスト)テキスト マークアップの導入部
quotedCueEventTypesSelected Snippets
quotedEventTypesSelected Snippets
quoteDuring他のボイスを引用する
quoteDuring合図音符をフォーマットする
quoteDuringA.16 Available music functions
QuoteMusic参照
quotes in lyricsEntering lyrics
quotes, in lyricsMultiple syllables to one note
quoting other voices (他のボイスを引用する)他のボイスを引用する
quoting other voices (他のボイスを引用する)合図音符をフォーマットする

R
R小節単位の休符
r休符
ragged-bottom4.1.3 Fixed vertical spacing \paper variables
ragged-last\paper variables for widths and margins
ragged-last4.5.4 Line length
ragged-last-bottom4.1.3 Fixed vertical spacing \paper variables
ragged-right\paper variables for widths and margins
ragged-right4.5.4 Line length
railroad tracksSelected Snippets
raiseテキスト揃え
raising textA.9.2 Align
rallentando in MIDISupported in MIDI
range of pitches (ピッチの範囲)音域
rast参照
Ratisbona, Editio2.9.1 Overview of the supported styles
Real music exampleReferences for keyboards
Real music example参照
referencing page labels in textA.9.6 Other
referencing page numbers in textA.9.6 Other
referencing page numbers in textA.9.6 Other
regular line breaks4.3.1 Line breaking
rehearsal mark format (リハーサル記号のフォーマット)リハーサル記号
rehearsal mark style (リハーサル記号のスタイル)リハーサル記号
rehearsal mark, manual (手動でリハーサル記号をセットする)リハーサル記号
rehearsal marks (リハーサル記号)リハーサル記号
RehearsalMark参照
RehearsalMark参照
relative相対オクターブ入力
relative参照
relative参照
relativeChanging staff automatically
relative (相対)相対オクターブ入力
relative music and autochangeChanging staff automatically
relative octave entry (相対オクターブ入力)相対オクターブ入力
relative octave entry and chords (相対オクターブ入力と和音)相対オクターブ入力
relative octave entry and transposition (相対オクターブ入力と移調)参照
relative octave specification (相対オクターブ指定)相対オクターブ入力
relative pitch, chords (和音と相対ピッチ)和音の音符
RelativeOctaveCheck参照
RelativeOctaveMusic参照
religious music2.1.7 Chants psalms and hymns
reminder accidental (親切の臨時記号)臨時記号
removals, in chordsExtended and altered chords
remove tagged musicUsing tags
removeWithTagA.16 Available music functions
removing cue notes (合図音符を削除する)合図音符をフォーマットする
removing cues (合図を削除する)合図音符をフォーマットする
renaissance music)Selected Snippets
repeat参照
repeat and measure number (繰り返しと小節番号)既知の問題と警告
repeat and slur (繰り返しとスラー)既知の問題と警告
repeat bars (繰り返しの小節線)小節線
repeat number, changing (繰り返しの回数を変更する)手動の繰り返し記号
repeat timing information (繰り返しタイミング情報)既知の問題と警告
repeat volta, changing (繰り返し volta を変更する)手動の繰り返し記号
repeat with alternate endings1.4.1 長い繰り返し
repeat with anacrucis (弱拍を持つ繰り返し)通常の繰り返し
repeat with pickup (ピックアップを持つ繰り返し)通常の繰り返し
repeat with upbeat (上拍を持つ繰り返し)通常の繰り返し
repeat, ambiguous (あいまいな繰り返し)既知の問題と警告
repeat, end (繰り返しの終了)手動の繰り返し記号
repeat, manual (手動の繰り返し)手動の繰り返し記号
repeat, measure (小節の繰り返し)パーセント繰り返し
repeat, nested (ネストされた繰り返し)既知の問題と警告
repeat, normal1.4.1 長い繰り返し
repeat, percent (パーセント繰り返し)パーセント繰り返し
repeat, short (短い繰り返し)パーセント繰り返し
repeat, start (繰り返しの開始)手動の繰り返し記号
repeat, tremolo (トレモロの繰り返し)トレモロの繰り返し
repeat, unfold (繰り返しを展開する)繰り返しを描き出す
repeatCommands手動の繰り返し記号
RepeatedMusic参照
RepeatedMusic参照
RepeatedMusic参照
repeating lyrics with alternative endingsRepeats with alternative endings
repeating ties (タイを含む繰り返し)タイ
repeats (繰り返し)小節線
repeats and lyricsLyrics and repeats
repeats in MIDI3.5.4 Repeats in MIDI
repeats with ties (タイを持つ繰り返し)通常の繰り返し
repeats, written-out (繰り返しを描き出す)繰り返しを描き出す
RepeatSlash参照
repeatTieタイ
repetitious music (反復の多い音楽)繰り返しを描き出す
reserved characters, printing (予約文字を譜刻する)テキスト マークアップの導入部
resetRelativeOctaveA.16 Available music functions
resizing of staves (譜をリサイズする)オッシア譜
rest休符
Rest参照
rest (休符)休符
rest, churchSelected Snippets
rest, collisions of (休符の衝突)既知の問題と警告
rest, condensing ordinary (通常の休符をまとめる)既知の問題と警告
rest, entering durations (休符の演奏時間を入力する)休符
rest, full-measure (小節単位の休符)小節単位の休符
rest, invisible (不可視の休符)不可視の休符
rest, multi-measure (複数の小節にまたがる休符)小節単位の休符
rest, multi-measure (複数小節の休符)休符
rest, specifying vertical position (休符の垂直方向の位置を指定する)休符
rest, whole for a full measure (小節に対する全休符)小節単位の休符
rest, whole-measure (全休符)休符
rest-eventSelected Snippets
RestCollision参照
restoring default properties for time signatures (拍子をデフォルト プロパティに戻す)定義済みコマンド
rests, ancientMensural rests
retrograde逆行
retrogradeA.16 Available music functions
retrograde transformation (逆行変換)逆行
reverseturnA.11 List of articulations
reverseturn (逆ターン)アーティキュレーションと装飾
reverting overrides5.3.3 The \override command
RevertProperty参照
revertTimeSignatureSettingsA.16 Available music functions
rfz強弱記号
rgb color (RGB カラー)オブジェクトに色を付ける
rgb-colorオブジェクトに色を付ける
rheelA.11 List of articulations
rhythmic staff (リズム譜)新たに譜をインスタンス化する
RhythmicStaff新たに譜をインスタンス化する
RhythmicStaff参照
RhythmicStaff参照
Rhythms in MIDISupported in MIDI
rhythms, showing melody (旋律のリズムを示す)旋律のリズムを示す
right aligning textA.9.2 Align
right hand fingerings for fretted instrumentsRight-hand fingerings
right-alignテキスト揃え
right-margin\paper variables for widths and margins
rightHandFingerRight-hand fingerings
rightHandFingerA.16 Available music functions
root of chordCommon chords
rotating objectsRotating layout objects
rotating textA.9.2 Align
rounded-boxマークアップ内部でのグラフィック記譜法
rtoeA.11 List of articulations
Running a function on all layout objects5.1.2 Creating contexts

S
s不可視の休符
sacred harp note heads (セイクリッド ハープの符頭)シェイプ符頭
sacredHarpHeadsシェイプ符頭
sacredHarpHeadsMinorシェイプ符頭
SATB2.1.5 Choral
scalable vector graphics output3.4.3 Alternative output formats
scaleDurations演奏時間を変更する
scaleDurations複合拍子記譜法
scaleDurationsA.16 Available music functions
scaling durations (演奏時間を伸縮する)演奏時間を変更する
scaling markupA.9.3 Graphic
scaling textA.9.2 Align
Scheme objectsmob
Scheme tutorial5. Changing defaults
Scheme variableparser variable
scordatura参照
Score参照
ScoreA.14 All context properties
ScoreA.14 All context properties
score inside markup (マークアップ内部の楽譜)マークアップ内部での音楽記譜法
Score is a (single) compound musical expression参照
score-markup-spacingList of flexible vertical spacing \paper variables
score-system-spacingList of flexible vertical spacing \paper variables
Scores and parts3.3.1 Including LilyPond files
Scores and parts参照
Scottish highland bagpipeBagpipe definitions
Scriptアーティキュレーションと装飾
Script参照
Script参照
script on multi-measure rest (複数小節にまたがる休符上のスクリプト)小節単位の休符
ScriptEvent参照
scripts (スクリプト)アーティキュレーションと装飾
Script_engraver参照
seconda volta1.4.1 長い繰り返し
segnoA.11 List of articulations
segno (セーニョ)小節線
segno (セーニョ)リハーサル記号
segno (セーニョ)アーティキュレーションと装飾
segno on bar line (小節線上のセーニョ)テキスト マーク
selecting font size (notation) (フォント サイズ (記譜法) を選択する)記譜フォント サイズを選択する
self-alignment-interface5.2.2 Layout interfaces
self-alignment-interface5.5.1 Aligning objects
self-alignment-XWithin-system spacing properties
semai参照
Semai formArabic time signatures
semi-flat (半フラット)他の言語での音符名
Semi-flat symbol appearanceArabic note names
semi-flats (半フラット)臨時記号
semi-sharp (半シャープ)他の言語での音符名
semi-sharps (半シャープ)臨時記号
semicirculusA.11 List of articulations
separate text (独立したテキスト)独立したテキスト
sesqui-flat (1.5 フラット)他の言語での音符名
sesqui-sharp (1.5 シャープ)他の言語での音符名
set自動連桁の振る舞いを設定する
set-accidental-style自動臨時記号
set-octavationオッターバ囲み
setting extent of text objectsA.9.6 Other
setting horizontal text alignmentA.9.2 Align
setting of ledger lines (加線の設定)譜シンボル
Setting simple songsReferences for vocal music
Setting simple songs参照
setting subscript in standard font sizeA.9.1 Font
setting superscript in standard font sizeA.9.1 Font
seventh chordsCommon chords
sf強弱記号
sff強弱記号
sfz強弱記号
shape notes (シェイプ ノート)シェイプ符頭
shared propertiesimmutable
sharp参照
sharp (シャープ)臨時記号
sharp, double (ダブル シャープ)臨時記号
shift note (音符のシフト)衝突の解決
shift rest, automatic (自動的な休符のシフト)衝突の解決
shiftDurationsA.16 Available music functions
shifting voices (ボイスをずらす)衝突の解決
shiftOff衝突の解決
shiftOn衝突の解決
shiftOnn衝突の解決
shiftOnnn衝突の解決
short-indent楽器名
short-indent\paper variables for shifts and indents
shortfermataA.11 List of articulations
show-available-fonts個々に登録するフォント
showFirstLength3.4.2 Skipping corrected music
showKeySignatureBagpipe definitions
showLastLength3.4.2 Skipping corrected music
showStaffSwitchStaff-change lines
side-position-interface5.2.2 Layout interfaces
side-position-interface5.5.1 Aligning objects
signatures, polymetric (複合韻律)複合拍子記譜法
signumcongruentiaeA.11 List of articulations
sikah参照
simile参照
simple closureclosure
simple text stringsA.9.1 Font
simple text strings with tie charactersA.9.4 Music
simultaneous notes and accidentals (同時発生する音符と臨時記号)参照
simultaneous phrasing slurs (同時進行のフレージング スラー)フレージング スラー
simultaneous slurs (同時進行のスラー)スラー
singer nameAdding singers’ names to stanzas
single-staff polyphony (単一譜の多声)単一譜の多声
skip不可視の休符
skip (スキップ)不可視の休符
SkipMusic参照
skipping notes in lyricsRepeats with alternative endings
skipTypesetting3.4.2 Skipping corrected music
slashed digitsA.9.6 Other
slashed note heads (スラッシュ形の符頭)即興
slides in tablature notationDefault tablatures
slur参照
Slur参照
Slur参照
slur and repeat (スラーと繰り返し)既知の問題と警告
slur style (スラーのスタイル)スラー
slur, dashed (破線のスラー)スラー
slur, dashed phrasing (破線のフレージング スラー)フレージング スラー
slur, defining dash patterns (スラーの破線パターンを定義する)スラー
slur, defining dash patterns for phrasing (フレージング スラーの破線パターンを定義する)フレージング スラー
slur, dotted (点線のスラー)スラー
slur, dotted phrasing (点線のフレージング スラー)フレージング スラー
slur, half dashed and half solid (半分が破線で半分が実線のスラー)スラー
slur, half solid and half dashed phrasing (半分が実線で半分が破線のフレージング スラー)フレージング スラー
slur, phrasing (フレージング スラー)スラー
slur, phrasing (フレージング スラー)フレージング スラー
slur, phrasing, defining dash patterns (フレージング スラーの破線パターンを定義する)フレージング スラー
slur, solid (実線のスラー)スラー
slurDashedスラー
slurDashPatternスラー
slurDashPatternA.16 Available music functions
slurDottedスラー
slurDownスラー
slurHalfDashedスラー
slurHalfSolidスラー
slurNeutralスラー
slurs (スラー)スラー
slurs, above notes (音符の上にスラーを配置する)スラー
slurs, below notes (音符の下にスラーを配置する)スラー
slurs, manual placement (手動でスラーを配置する)スラー
slurs, modifyingModifying ties and slurs
slurs, multiple (多重スラー)スラー
slurs, multiple phrasing (多重フレージング スラー)フレージング スラー
slurs, simultaneous (同時進行のスラー)スラー
slurs, simultaneous phrasing (同時進行のフレージング スラー)フレージング スラー
slurSolidスラー
slurUpスラー
small記譜フォント サイズを選択する
smallフォントとフォント サイズを選択する
smallerフォントとフォント サイズを選択する
smallerフォントとフォント サイズを選択する
smaller notes合図音符をフォーマットする
smobsmob
snap pizzicatoSnap (Bartók) pizzicato
snappizzicatoA.11 List of articulations
Solesmes2.9.1 Overview of the supported styles
solid slur (実線のスラー)スラー
solo part (ソロ パート)自動パート結合
Songs参照
Songs参照
soprano clef (ソプラノ音部記号)音部記号
sos.Piano pedals
sostenuto pedalPiano pedals
SostenutoEvent参照
sostenutoOffPiano pedals
sostenutoOnPiano pedals
SostenutoPedal参照
SostenutoPedalLineSpanner参照
Sound3.5 MIDI output
Southern Harmony note headsシェイプ符頭
southernHarmonyHeadsシェイプ符頭
southernHarmonyHeadsMinorシェイプ符頭
sp強弱記号
space between staves4.4.1 Flexible vertical spacing within systems
space inside systems4.4.1 Flexible vertical spacing within systems
spacer note (空白音符)不可視の休符
spacer rest (空白休符)不可視の休符
spaces in lyricsEntering lyrics
spaces, in lyricsMultiple syllables to one note
spacing4.5.1 Horizontal spacing overview
Spacing lyricsPlacing syllables horizontally
spacing of ledger lines (加線の間隔)譜シンボル
spacing, display of layout4.6.1 Displaying spacing
spacing, horizontal4.5 Horizontal spacing
spacing, vertical4.4 Vertical spacing
spacing-spanner-interfaceA.15 Layout properties
spacing-spanner-interfaceA.15 Layout properties
SpacingSpanner4.5.1 Horizontal spacing overview
SpacingSpanner4.5.1 Horizontal spacing overview
SpacingSpanner参照
SpacingSpanner参照
spacingTweaksA.16 Available music functions
SpanBar参照
special arpeggio symbols (特殊なアルペジオ シンボル)アルペジオ
special characters in markup mode (マークアップ モードでの特殊文字)テキスト マークアップの導入部
special characters, printing (特殊文字を譜刻する)テキスト マークアップの導入部
special note heads (特別な符頭)特殊な符頭
splitting notes (音符を分割する)自動音符分割
spp強弱記号
SprechgesangSpoken music
Square neumes ligaturesGregorian square neume ligatures
staccatissimoA.11 List of articulations
staccatissimo (スタッカーティシモ)アーティキュレーションと装飾
staccato参照
staccato (スタッカート)アーティキュレーションと装飾
stacking text in a columnA.9.2 Align
staff参照
Staff参照
Staff参照
staff参照
Staff参照
staff参照
Staff参照
Staff参照
Staff参照
Staff参照
Staff参照
Staff参照
Staff4.5.1 Horizontal spacing overview
StaffA.14 All context properties
staff change lineStaff-change lines
staff changes, automaticChanging staff automatically
staff changes, manualChanging staff manually
staff distance4.4.1 Flexible vertical spacing within systems
staff group (譜グループ)譜をグループ化する
staff initiation (譜の開始)新たに譜をインスタンス化する
staff instantiation (譜のインスタンス化)新たに譜をインスタンス化する
staff line, thickness of (譜線の太さ)譜シンボル
staff lines, amount of (譜線の本数)譜シンボル
staff lines, number of (譜線の本数)譜シンボル
staff size, setting4.2.2 Setting the staff size
staff switchingStaff-change lines
staff symbol, drawing (譜シンボルを描く)譜シンボル
staff symbol, setting of5.4.5 Staff symbol properties
staff symbol, setting of (譜シンボルを設定する)譜シンボル
staff, choir (合唱譜)譜をグループ化する
staff, drum (ドラム譜)新たに譜をインスタンス化する
staff, empty (空の譜)譜を隠す
staff, Frenchedオッシア譜
staff, grand (グランド譜)譜をグループ化する
staff, hiding (譜を隠す)譜を隠す
staff, multiple (複数の譜)譜をグループ化する
staff, nested (ネストされた譜)ネストされた譜グループ
staff, new (新しい譜)新たに譜をインスタンス化する
staff, percussion (打楽器譜)新たに譜をインスタンス化する
staff, piano (ピアノ譜)譜をグループ化する
staff, resizing of (譜をリサイズする)オッシア譜
staff, single (単一の譜)新たに譜をインスタンス化する
staff, starting (譜の開始)譜シンボル
staff, stopping (譜の停止)譜シンボル
staff-affinityWithin-system spacing properties
staff-change lineStaff-change lines
staff-staff-spacingWithin-system spacing properties
staff-symbol-interface譜シンボル
staff-symbol-interface参照
Staff.midiInstrumentInstrument names
StaffGroup既知の問題と警告
StaffGroup参照
StaffGroup参照
staffgroup-staff-spacingWithin-system spacing properties
StaffGrouper参照
StaffGrouperWithin-system spacing properties
StaffGrouper参照
StaffGrouper参照
StaffGrouper5.3.6 Modifying alists
StaffSpacing参照
StaffSymbol参照
StaffSymbol参照
StaffSymbol参照
StaffSymbol4.2.2 Setting the staff size
Staff_symbol_engraver譜を隠す
standalone text (孤立したテキスト)独立したテキスト
standard font size (notation) (標準フォント サイズ (記譜法))記譜フォント サイズを選択する
stanza numberAdding stanza numbers
StanzaNumber参照
start of system (システムの開始)譜をグループ化する
start repeat (繰り返しの開始)手動の繰り返し記号
start staff lines (譜線の譜刻を開始する)譜シンボル
start-repeat手動の繰り返し記号
startGroup分析の囲み
starting a staff (譜の開始)譜シンボル
startStaff譜シンボル
startStaffオッシア譜
startTrillSpanトリル
staves参照
staves, keyboard instrumentsReferences for keyboards
staves, keyed instrumentsReferences for keyboards
staves, multiple (複数の譜)譜をグループ化する
staves, nested (ネストされた譜)ネストされた譜グループ
staves, pianoReferences for keyboards
StemCross-staff stems
Stem参照
stem (符幹)符幹
stem, direction (符幹の向き)符幹
stem, down (符幹を下向きにする)符幹
stem, invisible (不可視の符幹)符幹
stem, neutral (符幹の向きを元に戻す)符幹
stem, up (符幹を上向きにする)符幹
stem, with slash (スラッシュ付きの符幹)装飾小音符
stem-interface参照
stem-spacing-correction4.5.1 Horizontal spacing overview
stemDown符幹
stemLeftBeamCount手動連桁
stemNeutral符幹
stemRightBeamCount手動連桁
stems, cross-staffCross-staff stems
stemUp符幹
Stem_engraver参照
Stem_engraver参照
stencilstencil
stencil, removingRemoving the stencil
stop staff lines (譜線の譜刻を停止する)譜シンボル
stopGroup分析の囲み
stoppedアーティキュレーションと装飾
stoppedA.11 List of articulations
stopping a staff (譜の停止)譜シンボル
stopStaff譜シンボル
stopStaffオッシア譜
stopStaff譜を隠す
stopTrillSpanトリル
storePredefinedDiagramPredefined fret diagrams
storePredefinedDiagramA.16 Available music functions
string numbersString number indications
String quartetReferences for unfretted strings
String quartet参照
string vs. fingering numbersString number indications
string, indicating openBowing indications
StringNumber参照
strings, orchestral2.3 Unfretted string instruments
strings, writing for2.3 Unfretted string instruments
StringTuningsCustom tablatures
stringTuningsPredefined fret diagrams
StrokeFinger参照
strumming rhythms, showing (つま弾き (ストラム) のリズムを示す)旋律のリズムを示す
Style sheetsUsing global settings
Style sheets参照
style, rehearsal mark (リハーサル記号のスタイル)リハーサル記号
style, slur (スラーのスタイル)スラー
styledNoteHeadsA.16 Available music functions
styles, note heads (符頭のスタイル)特殊な符頭
styles, voice (ボイス スタイル)ボイス スタイル
subフォントとフォント サイズを選択する
subbass clef (低バス音部記号)音部記号
subscript (下付き文字)フォントとフォント サイズを選択する
subscript textA.9.1 Font
suggestAccidentalsAnnotational accidentals (musica ficta)
superフォントとフォント サイズを選択する
superscript (上付き文字)フォントとフォント サイズを選択する
superscript textA.9.1 Font
susExtended and altered chords
sustain pedalPiano pedals
sustain pedal stylePiano pedals
SustainEvent参照
sustainOffPiano pedals
sustainOnPiano pedals
SustainPedal参照
SustainPedalLineSpanner参照
SVG output3.4.3 Alternative output formats
switching fonts (フォントを切り換える)フォントとフォント サイズを選択する
switching instruments (楽器を切り換える)楽器名
syllable durations, automaticAutomatic syllable durations
symbols, non-musical (音楽要素ではないシンボル)マークアップ内部でのグラフィック記譜法
syntax, markup (マークアップ構文)テキスト マークアップの導入部
system (システム)譜をグループ化する
system separator markSeparating systems
system start delimiters (システム開始の境界線)譜をグループ化する
system start delimiters, nested (ネストされたシステムの開始境界線)ネストされた譜グループ
system-count\paper variables for line breaking
system-separator-markupMiscellaneous \paper variables
system-system-spacingList of flexible vertical spacing \paper variables
systems-per-page\paper variables for line breaking
SystemStartBar参照
SystemStartBar参照
SystemStartBrace参照
SystemStartBrace参照
SystemStartBracket参照
SystemStartBracket参照
SystemStartSquare参照
SystemStartSquare参照
sytle, slur (スラーのスタイル)スラー

T
tab clefCustom tablatures
tabChordRepetitionA.16 Available music functions
tablature2.4 Fretted string instruments
tablature (タブ譜)新たに譜をインスタンス化する
tablature and harmonic indicationsDefault tablatures
tablature and slidesDefault tablatures
tablature, banjo2.4 Fretted string instruments
tablature, banjoCustom tablatures
tablature, banjoBanjo tablatures
tablature, bassCustom tablatures
tablature, bass guitarCustom tablatures
tablature, celloCustom tablatures
tablature, custom string tuningsCustom tablatures
tablature, double bassCustom tablatures
tablature, guitar2.4 Fretted string instruments
tablature, guitarCustom tablatures
tablature, mandolinCustom tablatures
tablature, predefined string tuningsCustom tablatures
tablature, ukuleleCustom tablatures
tablature, violaCustom tablatures
tablature, violinCustom tablatures
tablatures, basicDefault tablatures
tablatures, customCustom tablatures
tablatures, defaultDefault tablatures
TabNoteHead参照
TabStaff新たに譜をインスタンス化する
TabStaffDefault tablatures
tabstaff (タブ譜)新たに譜をインスタンス化する
TabVoiceDefault tablatures
Tab_note_heads_engraver参照
tagA.16 Available music functions
taorBagpipe definitions
taqasim参照
teaching自動臨時記号
teaching accidental style (teaching 臨時記号スタイル)自動臨時記号
teeny記譜フォント サイズを選択する
teenyフォントとフォント サイズを選択する
Template Arabic musicArabic music example
tempoメトロノーム記号
tempo (テンポ)メトロノーム記号
tempo indication参照
tempo marks within tuplet brackets (連符囲み内でのテンポ記号)既知の問題と警告
tenor clef (テノール音部記号)音部記号
tenor clef, choral音部記号
tenuto参照
tenuto (テヌート)アーティキュレーションと装飾
textPiano pedals
text alignment commands (テキスト揃えのコマンド)テキスト揃え
text columns, left-alignedA.9.2 Align
text columns, right-alignedA.9.2 Align
text in columns (縦に積み重ねたテキスト)テキスト揃え
text in volta bracket (volta 囲みの中にあるテキスト)手動の繰り返し記号
text items, non-empty (空ではないテキスト アイテム)テキスト スクリプト
text marks (テキスト マーク)テキスト マーク
text markup (テキスト マークアップ)テキスト マークアップの導入部
text on bar line (小節線上のテキスト)テキスト マーク
text on multi-measure rest (複数小節にまたがる休符上のテキスト)小節単位の休符
text outside margin (マージンからはみ出すテキスト)参照
text padding (テキスト パディング)マークアップ内部でのグラフィック記譜法
Text scripts (テキスト スクリプト)テキスト スクリプト
text size (テキスト サイズ)フォントとフォント サイズを選択する
Text spanners (テキスト スパナ)テキスト スパナ
text spread over multiple pages (複数ページに広がるテキスト)複数ページにわたるマークアップ
text, aligning (テキストを揃える)テキスト揃え
text, centering on the page (テキストをページの中央に揃える)テキスト揃え
text, decorating (テキストを飾り付ける)マークアップ内部でのグラフィック記譜法
text, framing (テキストにフレームを付ける)マークアップ内部でのグラフィック記譜法
text, horizontal alignment (テキストを水平方向に揃える)テキスト揃え
text, justified (両端揃えのテキスト)テキスト揃え
text, keeping inside margin (テキストをマージン内に収める)参照
text, multi-line (複数行にわたるテキスト)テキスト揃え
Text, other languages (他の言語のテキスト)1.8.1 テキストを記述する
text, separate (独立したテキスト)独立したテキスト
text, standalone (孤立したテキスト)独立したテキスト
text, top-level (最上位レベルのテキスト)独立したテキスト
text, vertical alignment (テキストを垂直方向に揃える)テキスト揃え
text, wordwrapped (折り返しされたテキスト)テキスト揃え
text-interface5.2.2 Layout interfaces
text-interfaceA.9.6 Other
text-script-interface5.2.2 Layout interfaces
textLengthOffテキスト スクリプト
textLengthOn小節単位の休符
textLengthOnテキスト スクリプト
textLenthOff小節単位の休符
TextScript参照
TextScript参照
TextScript参照
TextScript参照
TextScript参照
TextScript参照
TextScript参照
TextScript参照
TextScript参照
TextSpanner参照
TextSpanner参照
textSpannerDownテキスト スパナ
textSpannerNeutralテキスト スパナ
textSpannerUpテキスト スパナ
The Feta fontA.9.4 Music
thickness of staff lines (譜線の太さ)譜シンボル
Thorough bassIntroduction to figured bass
thumb運指の指示
thumb markingアーティキュレーションと装飾
thumb-script (サム-スクリプト)運指の指示
Tie参照
tie参照
tie参照
tie (タイ)タイ
TieColumn参照
tied note, accidental (タイで結ばれた音符への臨時記号)臨時記号
tieDashedタイ
tieDashPatternA.16 Available music functions
tieDottedタイ
tieDownタイ
tieNeutralタイ
ties and chords (タイと和音)タイ
ties and volta brackets (タイと volta 囲み)タイ
ties in alternative endings (繰り返しの入れ替え部分の中にあるタイ)通常の繰り返し
ties in repeats (繰り返しの中にあるタイ)通常の繰り返し
ties, appearance (タイの見た目)タイ
ties, dashed (破線のタイ)タイ
ties, dotted (点線のタイ)タイ
ties, in lyricsMultiple syllables to one note
ties, laissez vibrer (レセ ヴィブレのタイ)タイ
ties, modifyingModifying ties and slurs
ties, placement (タイの配置)タイ
ties, repeating (タイを含む繰り返し)タイ
tieSolidタイ
tieUpタイ
time拍子
time自動連桁の振る舞いを設定する
time administration (時間管理)時間管理
time signature参照
time signature (拍子)拍子
time signature default settings (拍子のデフォルト設定)拍子
time signature properties, restoring default values (拍子プロパティをデフォルト値に戻す)定義済みコマンド
time signature style (拍子スタイル)拍子
time signature, compoundSelected Snippets
time signature, visibility of (拍子の可視性)拍子
time signaturesMensural time signatures
time signatures, double (2 重拍子)複合拍子記譜法
Time signatures, multiple5.1.4 Modifying context plug-ins
time signatures, polymetric (複合拍子)複合拍子記譜法
times連符
times複合拍子記譜法
TimeScaledMusic参照
TimeSignature参照
TimeSignature参照
timeSignatureFraction複合拍子記譜法
timing (within the score) ((楽譜内での) タイミング)時間管理
timing information and repeats (タイミング情報と繰り返し)既知の問題と警告
Timing_translator参照
Timing_translator参照
Timing_translator参照
Timing_translator参照
Timing_translator参照
Timing_translatorA.14 All context properties
tiny記譜フォント サイズを選択する
tinyフォントとフォント サイズを選択する
tocItemA.16 Available music functions
TopLilyPond — 記譜法リファレンス
TopLilyPond — 記譜法リファレンス
Top5. Changing defaults
top-level text (最上位レベルのテキスト)独立したテキスト
top-margin4.1.3 Fixed vertical spacing \paper variables
top-markup-spacingList of flexible vertical spacing \paper variables
top-system-spacingList of flexible vertical spacing \paper variables
toplevel-bookpartsparser variable
toplevel-scoresparser variable
transcription of mensural musicSelected Snippets
transformation, retrograde (逆行変換)逆行
transformations, modal様式的な移調
translateテキスト揃え
translate-scaledテキスト揃え
translating textA.9.2 Align
translating textA.9.2 Align
Translation5.2.1 Navigating the program reference
transparent notes隠された音符
transparent, making objectsMaking objects transparent
transpose参照
transpose移調
transpose参照
transpose (移調)移調
transposedCueDuring合図音符をフォーマットする
transposedCueDuringA.16 Available music functions
TransposedMusic参照
transposing (移調)移調
transposing clefs (音部を移調する)音部記号
transposing fret diagramsPredefined fret diagrams
transposing instrument参照
transposing instrument参照
transposing instrument (移調楽器)楽器の移調
transposing instruments (移調楽器)移調
transposition楽器の移調
transposition他のボイスを引用する
transpositionA.16 Available music functions
transposition (移調)移調
transposition and relative octave entry (移調と相対オクターブ入力)参照
transposition of notes (音符の移調)移調
transposition of pitches (ピッチの移調)移調
transposition, instrument (楽器の移調)楽器の移調
transposition, MIDI (MIDI の移調)楽器の移調
transposition, modalModal transposition
tre cordePiano pedals
treble clef (ト音記号、高音部記号)音部記号
treCordePiano pedals
tremoloトレモロの繰り返し
tremolo (トレモロ)トレモロの繰り返し
tremolo beams (トレモロの連桁)トレモロの繰り返し
tremolo marks (トレモロ記号)トレモロの繰り返し
tremolo, cross-staff (譜を跨ぐトレモロ)参照
tremoloFlagsトレモロの繰り返し
triadsCommon chords
triangleマークアップ内部でのグラフィック記譜法
trillトリル
trill (トリル)アーティキュレーションと装飾
trill, pitched with forced accidental (ピッチを持つトリルに強制的に臨時記号を付ける)トリル
trills (トリル)トリル
trills in MIDISupported in MIDI
trills, pitched (ピッチを持つトリル)トリル
TrillSpanner参照
TrillSpanner参照
triplet参照
triplet formatting (3 連符のフォーマット)Selected Snippets
triplets (3 連符)連符
Tunable context propertiesMultiple notes to one syllable
Tunable context properties参照
Tunable context properties5.3.2 The \set command
Tunable context properties参照
tuning automatic beaming (自動連桁を調整する)自動連桁の振る舞いを設定する
tuning, non-WesternExtending notation and tuning systems
tunings, banjoBanjo tablatures
tuplet参照
tuplet bracket placement (連符囲みの配置)連符
tuplet formatting (連符のフォーマット)Selected Snippets
Tuplet number changes (連符の数の変更)Selected Snippets
TupletBracket参照
tupletDown連符
tupletNeutral連符
TupletNumberSelected Snippets
tupletNumberFormatFunctionSelected Snippets
tuplets (連符)連符
tupletSpannerDurationSelected Snippets
tupletUp連符
Turkish musicReferences for Turkish classical music
Turkish note namesTurkish note names
turnA.11 List of articulations
turn (ターン)アーティキュレーションと装飾
turns in MIDISupported in MIDI
tweakA.16 Available music functions
tweaking5.3.4 The \tweak command
tweaking control points既知の問題と警告
tweaking grace notes (装飾小音符を調整する)装飾小音符
Tweaking methods5.3.4 The \tweak command
Tweaking methods参照
Tweaking output5. Changing defaults
Tweaking output参照
tweaks in a variable既知の問題と警告
tweaks in lyrics既知の問題と警告
two-sided\paper variables for two-sided mode
type5.1.6 Defining new contexts
typefaceglyph
typeset text (テキストの譜刻)テキスト マークアップの導入部

U
U.C.Piano pedals
ukuleleFret diagram markups
una cordaPiano pedals
unaCordaPiano pedals
UnaCordaEvent参照
UnaCordaPedal参照
UnaCordaPedalLineSpanner参照
unbreakable-spanner-interface参照
underlineフォントとフォント サイズを選択する
underlining textA.9.1 Font
unfold繰り返しを描き出す
unfold music (音楽を展開する)繰り返しを描き出す
unfold music with alternate endings (入れ替え部分のある音楽を展開する)繰り返しを描き出す
unfold repeat (繰り返しを展開する)繰り返しを描き出す
unfold repeat with alternate endings (入れ替え部分のある繰り返しを展開する)繰り返しを描き出す
UnfoldedRepeatedMusic参照
UnfoldedRepeatedMusic参照
unfoldRepeatsA.16 Available music functions
unHideNotes隠された音符
Unicode3.3.3 Text encoding
unmetered music (無韻律の音楽)無韻律の音楽
unmetered music (無韻律の音楽)時間管理
unmetered music, beaming in (無韻律の音楽での連桁)無韻律の音楽
unmetered music, line breaks (無韻律の音楽での改行)参照
unmetered music, page breaks (無韻律の音楽での改ページ)参照
up bow indicationBowing indications
upbeat (上拍)上拍
upbeat in a repeat (繰り返しの中にある上拍)通常の繰り返し
upbowA.11 List of articulations
upbow (アップボー、上弓)アーティキュレーションと装飾
upmordentA.11 List of articulations
upprallA.11 List of articulations
UTF-83.3.3 Text encoding

V
varbaritone clef (変形バリトン音部記号)音部記号
varcodaアーティキュレーションと装飾
varcodaA.11 List of articulations
variables3.1.5 File structure
variables, use ofUsing variables
Vaticana, Editio2.9 Ancient notation
Vaticana, Editio2.9.1 Overview of the supported styles
VaticanaStaff新たに譜をインスタンス化する
VaticanaStaffContextGregorian chant contexts
VaticanaVoiceContextGregorian chant contexts
vertical lines between staves (譜の間の垂直な線)グリッド ライン
vertical positioning of dynamics (強弱記号の垂直方向の位置)強弱記号
vertical spacing4.4 Vertical spacing
vertical spacing4.5.4 Line length
vertical text alignment (テキストを垂直方向に揃える)テキスト揃え
VerticalAxisGroupWithin-system spacing properties
VerticalAxisGroup参照
VerticalAxisGroupWithin-system spacing properties
VerticalAxisGroup参照
VerticalAxisGroup参照
VerticalAxisGroup参照
VerticalAxisGroup参照
vertically centering textA.9.2 Align
verylongfermataA.11 List of articulations
violin clef (バイオリン音部記号)音部記号
Visibility and color of objects参照
Visibility and color of objects5.1.4 Modifying context plug-ins
Visibility and color of objects5.4.7 Visibility of objects
Visibility and color of objectsUsing break-visibility
Visibility and color of objects参照
visibility of objects5.4.7 Visibility of objects
visibility of octavated clefsSpecial considerations
Vocal ensemblesPlacing lyrics vertically
Vocal ensembles参照
Vocal ensemblesReferences for choral
Vocal ensembles参照
Vocal ensembles参照
Vocal ensemblesPointing a psalm
Vocal ensembles参照
Vocal ensembles5.1.7 Aligning contexts
voice自動臨時記号
Voice単一譜の多声
Voice参照
voice自動臨時記号
Voice参照
Voice既知の問題と警告
Voice参照
Voice参照
Voice参照
Voice4.5.1 Horizontal spacing overview
Voice5.2.3 Determining the grob property
voice (ボイス)単一譜の多声
voice accidental style (voice 臨時記号スタイル)自動臨時記号
voice styles (ボイス スタイル)ボイス スタイル
voice, followingStaff-change lines
VoiceFollower参照
VoiceFollower参照
voiceOne単一譜の多声
voices, dividedDivided voices
voices, multiple (複数のボイス)衝突の解決
voices, multiple (複数のボイス)衝突の解決
volta参照
volta bracket (volta 囲み)手動の繰り返し記号
volta bracket with text (テキストを持つ volta 囲み)手動の繰り返し記号
volta brackets and ties (volta 囲みとタイ)タイ
volta, prima1.4.1 長い繰り返し
volta, seconda1.4.1 長い繰り返し
VoltaBracket参照
VoltaBracket参照
VoltaRepeatedMusic参照
VoltaRepeatedMusic参照
Volta_engraver参照

W
Walker shape note headsシェイプ符頭
walkerHeadsシェイプ符頭
walkerHeadsMinorシェイプ符頭
whichBarSelected Snippets
White mensural ligaturesWhite mensural ligatures
whitespace3.1.5 File structure
whole rest for a full measure (小節に対する全休符)小節単位の休符
wind instrumentsReferences for wind instruments
with-colorオブジェクトに色を付ける
Within-staff objects5.4.2 Direction and placement
withMusicPropertyA.16 Available music functions
wordwrapテキスト揃え
wordwrap-lines複数ページにわたるマークアップ
wordwrapped text (折り返しされたテキスト)テキスト揃え
Working on input files参照
writing music in parallel (音楽を並列に記述する)音楽を並列に記述する
written-out repeats (繰り返しを描き出す)繰り返しを描き出す

X
X-offsetWithin-system spacing properties
x11 color (X11 カラー)オブジェクトに色を付ける
x11 color (X11 カラー)参照
x11-colorオブジェクトに色を付ける
x11-color参照
xNoteA.16 Available music functions
xNotesOnA.16 Available music functions

その他の情報源参照

アーティキュレーションと強弱記号参照

エングラーバの説明参照
エングラーバを追加 / 削除する参照

オクターブ移調 (octave transposition)音部記号
オブジェクトのサイズ参照
オブジェクトの可視性と色参照
オブジェクトの可視性と色参照
オブジェクトの可視性と色参照
オブジェクトの衝突参照
オブジェクトの配置アーティキュレーションと装飾
オブジェクトの配置テキスト スクリプト
オブジェクトの配置参照
オブジェクトの長さと太さ参照
オブジェクトを移動させるテキスト揃え
オブジェクトを移動させる参照

コンテキストとエングラーバ単一譜の多声

ネストされない括弧とタイ参照
ネストされない括弧とタイ参照

ボイスを明示的にインスタンス化する単一譜の多声
ボイスを明示的にインスタンス化する参照

マニュアルLilyPond — 記譜法リファレンス
マニュアルLilyPond — 記譜法リファレンス

余計な譜が表示される通常の繰り返し
余計な譜が表示される繰り返しを描き出す

同時に演奏する複数の音符参照

変数を用いて楽曲を編成する参照

実際の音楽からの例衝突の解決

私はボイスを聴いている参照

臨時記号と調号臨時記号
臨時記号と調号参照
臨時記号と調号調号
臨時記号と調号参照

調
調整手段参照

音楽を保持するボイス既知の問題と警告
音楽を保持するボイス参照
音楽を保持するボイス参照
音楽表記をネストするオッシア譜
音楽表記をネストする参照
音符を組み合わせて和音にする参照

行き先:   !   '   ,   -   .   /   1   8   :   <   =   >   ?   [   \   ]   ^   _   |   ~                               調    
A   B   C   D   E   F   G   H   I   J   K   L   M   N   O   P   Q   R   S   T   U   V   W   X  

脚注

[1] Scheme tutorial, contains a short tutorial on entering numbers, lists, strings, and symbols in Scheme.


目次


このドキュメントについて

This document was generated by Graham Percival on 7 月 26, 2011 using texi2html 1.82.

ナビゲーション パネルの中にあるボタンには以下のような意味があります:

ボタン 名前 行き先 1.2.3 からの行き先
[]
[ << ] 大きく戻る この章あるいは前の章の先頭 1
[]
[トップ] トップ ドキュメントの表紙 (先頭)  
[目次] 目次 目次  
[インデックス] インデックス インデックス  
[ ? ] 情報 情報 (ヘルプ)  
[]
[ >> ] 大きく進む 次の章 2
[]
[]
[ < ] 戻る 前のセクション 1.2.2
[]
[ 上へ ] 上のセクション 1.2
[]
[ > ] 進む 次のセクション 1.2.4

この表で、 行き先 は、現在の位置が以下のような構造を持つドキュメントの サブサブセクション 1-2-3 であると仮定しています:


他の言語: English, deutsch, español, français

LilyPond — 記譜法リファレンス