[ << 専門的な記譜法 ] | [Top][Contents][Index] | [ 入出力全般 >> ] |
[ < デフォルトのタブ譜 ] | [ Up : フレットのある弦楽器で共通の記譜法 ] | [ フレット ダイアグラム マークアップ > ] |
カスタム タブ譜
LilyPond のタブ譜は、音符に対するフレットを、その音符が割り当てられている弦に基づいて、自動的に算出します。フレットの算出を行うために、弦のチューニングを指定する必要があります。弦のチューニングは stringTunings
プロパティで指定します。
LilyPond にはあらかじめ定義された弦チューニングが用意されています – バンジョー、マンドリン、ギター、バス ギター、ウクレレ、バイオリン、ビオラ、チェロ、それにダブル バス用があります。LilyPond は、あらかじめ定義されたチューニングに対して、適切な移調をセットします。以下の例はバス ギター用であり、記述されている音符よりも 1 オクターブ低く演奏されます。
<< \new Voice \with { \omit StringNumber } { \clef "bass_8" \relative { c,4 d e f } } \new TabStaff \with { stringTunings = #bass-tuning } { \relative { c,4 d e f } } >>
デフォルトの弦チューニングは guitar-tuning
で、これは標準の EADGBE チューニングです。他のあらかじめ定義されたチューニングには、guitar-open-g-tuning
, mandolin-tuning
それに
banjo-open-g-tuning
があります。あらかじめ定義された弦チューニングは ly/string-tunings-init.ly の中にあります。
望みに応じて任意の弦チューニングを作成することができます。\stringTuning
関数を用いて弦チューニングを定義し、カレント コンテキストの stringTunings
としてセットすることができます。
\stringTuning
の引数は、チューニングにおける各弦のピッチを定義する和音構造です。和音構造は絶対オクターブ モードにする必要があります
– 絶対オクターブ入力 を参照してください。和音の中で、一番大きな番号を持つ弦 (一般的に低い音の弦) が最初に来る必要があります。例えば、a''
, d''
, g'
, それに c'
のピッチを持つ
4 弦の楽器用の弦チューニングを定義することができます:
mynotes = { c'4 e' g' c'' | e''4 g'' b'' c''' } << \new Staff { \clef treble \mynotes } \new TabStaff { \set Staff.stringTunings = \stringTuning <c' g' d'' a''> \mynotes } >>
FretBoards
で stringTunings
プロパティ用いることで、自動的にフレット ダイアグラムを算出させることもできます。
弦チューニングは、あらかじめ定義されたフレット ダイアグラムに対するハッシュ キーの一部として使われます
上記の例を、以下のように書き換えることができます:
custom-tuning = \stringTuning <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 } >>
内部的には、弦チューニングは弦ピッチの Scheme リストです – それぞれの弦ピッチは各弦に対するピッチで、弦番号 1 から N の順に並んでいて、弦 1 はタブ譜の最上段、弦 N はタブ譜の最下段となります。通常、このリストは高いピッチから低いピッチの順になりますが、いくつかの楽器 (例えば、ウクレレ) の弦はピッチの高低順に並んでいません。
弦チューニング リストの中の弦ピッチは 1 つ 1 つが
LilyPond ピッチ オブジェクトです。ピッチ オブジェクトは Scheme 関数 ly:make-pitch
(Scheme functions を参照してください) で作成されます。
\stringTuning
は和音構造から弦チューニング リストを作成します。
LilyPond は、TabStaff
の行数と自動的に算出される FretBoard
の弦数
(これは stringTunings
の要素数です) を自動的に算出します。
すべての TabStaff
コンテキストに同じカスタム チューニングを適用するには、下記のようにします:
\layout { \context { \TabStaff stringTunings = \stringTuning <c' g' d'' a''> } }
現代タブ譜の音部記号を使うこともできます。
\new TabStaff { \clef moderntab <a, e a>1 \break \clef tab <a, e a>1 }
現代タブ譜の音部記号は、4 から 7 弦までのタブ譜をサポートします。
TabStaff
は 4 分音のような微分音に対応しています。このような音はベンディングを使って演奏されます。
supportNonIntegerFret = ##t
が Score コンテキストにセットされている必要があります。しかしながら、微分音は FretBoards
ではサポートされていません。
\layout { \context { \Score supportNonIntegerFret = ##t } } custom-tuning = \stringTuning <e, a, d ges beh eeh'> mus = \relative { eeses'4 eeseh ees eeh e eih eis eisih eisis } << \new Staff << \clef "G_8" \mus >> \new TabStaff \with { stringTunings = \custom-tuning } \mus >>
参照
記譜法リファレンス: 絶対オクターブ入力, あらかじめ定義されたフレット ダイアグラム.
インストールされているファイル: ly/string-tunings-init.ly scm/tablature.scm
コード断片集: Fretted strings
内部リファレンス: Tab_note_heads_engraver, Scheme functions.
既知の問題と警告
ウクレレなどのように弦がピッチ順に並んでいない楽器では、大抵の場合、 タブ譜の自動算出は正しく機能しません。
[ << 専門的な記譜法 ] | [Top][Contents][Index] | [ 入出力全般 >> ] |
[ < デフォルトのタブ譜 ] | [ Up : フレットのある弦楽器で共通の記譜法 ] | [ フレット ダイアグラム マークアップ > ] |