LilyPond Music Notes

音程と音の長さ

Introductionでは楽譜作りの大枠を説明しました。実際の音符は \new Staff のかたまりとなって楽譜の中に配置されていきます。ここでは一旦 \score の枠組みは置いといて音符の並べ方を説明します。

音程は c, d, e, f, g, a, b の英語音名を小文字で書きます。英文字に続けて音符の長さを数字で指定します。c4 なら四分音符のド,g8 なら八分音符のソとなります。

半音上げる♯は英文字に “-is” を付けます。♯Cなら cis となります。同様に♭なら “-s ” を付けます。♭Gは ges となります。例外が♭Eと♭Aで,ees, aes でも構いませんがもっとシンプルに es, as と書けます。

ダブルシャープ,ダブルフラットはそれぞれ “-isis” “-eses” を付けます。

音の高さはへ音記号のドが基準で,そのオクターブ上はアポストロフィを付け c’ オクターブ下はカンマを付けて c, と書きます。2オクターブ上ならアポストロフィやカンマを2つ並べるだけです。

{c'2 g''4. g'''8 }

ただこの絶対的な音程の記述方法だと,カンマやアポストロフィだらけになってしまうので,相対的な記述するのが便利。一番最初に基準の音程を決めておくと,次の音符は自動的に一番近い高さの位置に置かれます。最初の基準は \relative で指定します。

\relative c' {c2 g'4. g''8}

上の楽譜と全く同じものが出力されます。最初にト音記号の下のドに基準を置くと,c と書いただけでその高さになります。次に g だけ書くと 下のソの方が近いのでオクターブ下のソの音符が出力されてしまいます。完全五度以上上げるためにアポストロフィが2個付けられます。さらにそのオクターブ上のソに飛ぶのに再びアポストロフィ。この相対的な音符の配置は \relative の { } 内で続きます。

\relative の後の音を省略すると,旋律最初音が基準になります。上の例は次の書き方と同じになります。

\relative {c'2 g'4. g''8}

実際の楽譜ではオクターブの跳躍は少ないので,カンマやアポストロフィ殆ど無しで自然なメロディを書いていくことができます。例えば

\new Staff {
\time 4/4
\relative c' {c4 c g' g a a g2 }
}

2つ目のドに音の長さ4が書かれていないことに注意。LilyPond では音の長さが変わらないなら数値を省略することができます。最後に二分音符に変わるので,そこが g2 と変わります。

連符

連符を入力するには \tuplet を使います。\tuplet に続けて音の長さの割合を分数で入力しますが,これが少々分かり辛い。

\tuplet 3/2 { c8[ e g] }

のとき,最初の3が連符に含まれる音符の数,次の2は二拍分の意味ですが, {} 内の音符の長さによって実際の連符の作られ方が変わります。

 \relative c' {
\tuplet 3/2 { c8[ e g] }
\tuplet 5/2 { c,8[ d e f g] }
\tuplet 3/2 { c,4 e g }
}

分母が2で3連符が八分音符の場合,8/2 = 4分音符の長さに3つの音符を含めることになります。割合が3/2で音符が四分音符なら,4/2 = 2分音符の長さに3つの音符となります。

休符

休符は r とその長さの数字で表します。r4 なら四分音符一個分の休み。長さを省略すると,前の音の長さが引き継がれます。特別な場合として,全休符は大文字の R で表します。長さを省略すると小節の長さとなります。

\relative c' { c4 r4 c d8 r e2 r2 R1 }

休符を書かず無音のスペースを楽譜に挿入するには,s を音程に用います。sに続く音の長さ分の空白が書かれます。

\relative c''{ a8[ b] s4 c8[ d] e8[ f] s2 g2 }

複数声部あるとき,それぞれの声部の縦を揃えるのに役に立ちます。

連桁とタイとスラー

LilyPond は自動的に連桁を付けますが,自分で調整したほうが見栄えよい楽譜になることもあります。八分音符を連桁で繋ぐには [ 角括弧 ] を使います。

\relative c' { c8[ c8 e8] e8[ g8 g8] e4 }

ここがLilyPondの表記方法の分かりにくいところですが,音名と長さ後に楽譜を装飾する色々な記号がくっついていきます。 [ が着いた音符で連桁が始まり,] のある音符までを繋ぎます。【ドドミ】までをひとかたまりとして連桁で繋げと指定しているのが,上の例になります。角括弧を書かなければ LilyPond が自動で連桁を付けます。楽器用の楽譜なら音符を2つずつ繋いでいくでしょう。歌パートなら全部八分音符になります。

スラーは ( カッコ ) で始まりと終わりを指定します。連桁と同じように音符の後にくっつけますが,すでに [ ] があっても構いません。次の例のように

\relative c' { c8[ c8]( e8)[ e8]( g8)[ g8] e4 }

角括弧と丸括弧の順序に関係なく,連桁とスラーが処理されます。実はLilyPondのスラーの挙動で悩むことが多いのですが,それは後ほど解説します。

タイは音符に続けて ~ (ティルダ) を付けます。当然ながらタイで繋げる次の音は前の音と同じでないといけません。

\relative c''' {g2~ g4~ g8 r8 }

タイとスラーの向きは自動的に決められます。向きを明示的に指定するには,_ (アンダースコア)か ^(サーカムフレックス)を付けます。 _( ならスラーは音符の下に付きます。^(なら上となります。