Moment's Noticeの楽譜を書く(5)
さらに整えます。
タイトルと作曲者とリズムの文字をもうちょい大きくする
こんな感じで。
\header { title = \markup {\fontsize #3 "Moment's Notice"} composer = \markup {\fontsize #3 "John Coltrane"} meter = \markup {\fontsize #3 "Swing"} tagline = "" copyright = "" }
コーダを書く
コーダを書き忘れてました。コーダの音符やリズムは通常どおり書きます。そしてリハーサルマークとして、Toコーダと、コーダマークを書きます。LilyJazzを適用したLilyPondの標準だとサイズ等がフィットしないので、myToCoda
とmyCoda
という2つのオリジナルのマークを定義します。
myToCoda = { \once \override Score.RehearsalMark #'break-visibility = #begin-of-line-invisible \once \override Score.RehearsalMark.self-alignment-X = #RIGHT \mark \markup {\fontsize #3 "to" \raise #1.4 \fontsize #-3 \musicglyph #"scripts.coda" } } myCoda = { \mark \markup { \fontsize #-3 \musicglyph #"scripts.coda"} }
そして、譜面コードの中で\myToCoda
と\myCoda
と指定します。
リハーサルマークももうちょい大きくする
リハサールマークをもうちょい大きくします。こな感じで書けばOKです。
\mark \markup {\box \fontsize #1 "A"}
でも、毎回これを書くのは面倒なので、オリジナルのコマンドを定義します。ついでに、ボックス囲みを、角が丸いタイプに変更します。
myMark = #(define-music-function (reharthalText) (markup?) #{ \mark \markup {\rounded-box \fontsize #1 #reharthalText } #})
このコマンドを使うには、譜面コードの中で\myMark "A"
と書きます。
セーニョマークを書く
Codaマークと同様に以下のオリジナルのマークを定義します。
mySegno = { \mark \markup { \fontsize #-3 \musicglyph #"scripts.segno"} }
使い方は、譜面コードの中で\mySegno
と指定します。
多くの場合、セーニョマークはリハーサルマークと位置が重なりますが、\mySegno \myMark "B"
のように書いても、後者は無視されちゃいます。そこで、セーニョマーク付きのリハーサルマークのコマンドを新たに定義します。
myMarkWithSegno = #(define-music-function (reharthalText) (markup?) #{ \mark \markup {\fontsize #-3 \musicglyph #"scripts.segno" \raise #-1.4 \rounded-box \fontsize #2 #reharthalText } #})
このコマンドを使うには、譜面コードの中で\myMarkwithSegno "A"
と書きます。
ところで、セーニョマーク→リハーサルマークの順番が一般的なんですよね?
ダルセーニョを書く
これは、譜面の音符や休符の後ろに_"D.S. al Coda."
のように書きます。なお、ToCodaは5線の上に書くけど、D.S.は5線の下に書く、という流儀でやってます。
まとめる
今までのところをまとめると、以下のようなソースコード(MomentsNotice_v4.ly)になります。ついでに一部コード間違えていたところを修正。
\version "2.19.82" #(set-global-staff-size 24) \include "incld/lilyjazz.ily" \include "incld/jazzchords.ily" \include "incld/jazzextras.ily" myToCoda = { \once \override Score.RehearsalMark #'break-visibility = #begin-of-line-invisible \once \override Score.RehearsalMark.self-alignment-X = #RIGHT \mark \markup {\fontsize #3 "to" \raise #1.4 \fontsize #-3 \musicglyph #"scripts.coda" } } myCoda = { \mark \markup { \fontsize #-3 \musicglyph #"scripts.coda"} } mySegno = { \mark \markup { \fontsize #-3 \musicglyph #"scripts.segno"} } myMark = #(define-music-function (reharthalText) (markup?) #{ \mark \markup {\rounded-box \fontsize #1 #reharthalText } #}) myMarkWithSegno = #(define-music-function (reharthalText) (markup?) #{ \mark \markup {\fontsize #-3 \musicglyph #"scripts.segno" \raise #-1.4 \rounded-box \fontsize #2 #reharthalText } #}) \header { title = \markup {\fontsize #3 "Moment's Notice"} composer = \markup {\fontsize #3 "John Coltrane"} meter = \markup {\fontsize #3 "Swing"} tagline = "" copyright = "" } \paper { indent = 0 } myMelody = \relative c'' { \clef treble \key ees \major \time 4/4 \myMark "Intro" r8 g4. g4-. g-. | g4. f8 g f r bes~ | bes1 | R | \break r8 f4. f4-. f-. | f4. ees8 f ees r aes~ | aes1 | g2 f | \break ees1 | c' | bes2 g | ees f| \break g2 ees | f4. ees8 d ees f g | \bar "||" ees1 | f | g | f| \break ees2 f | g f | ees4 r r2 | R1 | \break \myMarkWithSegno "A" \repeat volta 2 { r8 g4. g4-. r8 g~ | g4 g-. r8 g-. r4 | r8 g4. aes4-. bes-. | bes4. aes8~ aes2 | \break r8 f4. f4-. r8 f~ | f4 f-. r8 f-. r4 | r8 f4. g4-. aes-. | g2 f | \bar "||" \break } \alternative { { \myMark "B" ees1 | c' | bes2 g | ees f | \break r4 g aes2 | bes2 ces4. des8 ~ | des4. bes8 ges ees ges ees~ | ees4. f8~ f4 r | \break } { \myMark "C" ees1 | c' | bes2 g | ees f | \break g2 ees | ees f | \bar "||" } } \myMark "D" ees1 | f | g | f | \myToCoda \break ees2 f | g f | ees4 r r2 | R1_"D.S. al Coda." \bar "||" \break \myCoda ees2 f | g f | ges1 | R1 \bar "|." } myHarmonies = \chordmode { e2:min7 a:7 | f:m7 bes:7 |ees1:maj7 |aes2:min7 des:7 | d2:min7 g:7 | ees:m7 aes:7 | des1:maj7 | d2:min7.5- g:7 | c1:min7 | bes2:m7 ees:7 | aes1:maj7 |des:7 | g2:7 c:7 | f:min7 bes:7 | ees1/bes | f:min/bes | g:min/bes | f:min/bes | ees2/bes f:min/bes | g:min/bes f:min/bes | ees1 | R1 | \repeat volta 2 { e2:min7 a:7 | f:m7 bes:7 |ees1:maj7 |aes2:min7 des:7 | d2:min7 g:7 | ees:m7 aes:7 | des1:maj7 | d2:min7.5- g:7 | } \alternative { { c1:min7 | bes2:m7 ees:7 | aes1:maj7 |des:7 | g1:min7 | aes2:m7 des:7 | ges1:maj7 | f2:min7 bes:7 | } { c1:min7 | bes2:m7 ees:7 | aes1:maj7 |des:7 | g2:min7 c:7 | f:min7 bes:7| } } ees1/bes | f:min/bes | g:min/bes | f:min/bes | ees2/bes f:min/bes | g:min/bes f:min/bes | ees1 | R1 | ees2/bes f:min/bes | g:min/bes f:min/bes | ees1:9+ | R1 | } \score { << \new ChordNames { \myHarmonies } \new Voice { \myMelody } >> \layout { \override Score.BarNumber.break-visibility = #all-invisible \override Score.Clef.break-visibility = #all-invisible \override Score.KeySignature.break-visibility = #all-invisible \override Score.SystemStartBar.collapse-height = #1 \set Score.startRepeatType = "[|:" \set Score.endRepeatType = ":|]" \set Score.doubleRepeatType = ":|][|:" } }
これをコンパイルすると以下のようになりました。
リハーサルマークBやCと、1括弧や2括弧の線の関係が気に食わないですね~。これは、他の要素(リズム指定など)を追加した後に検討します。