あらかじめ定義されたフレット ダイアグラム

フレット ダイアグラムを FretBoards コンテキストを用いて表示させることができます。デフォルトでは、 FretBoards コンテキストは参照テーブルに保存されているフレット ダイアグラムを表示します:

\include "predefined-guitar-fretboards.ly"
\new FretBoards {
  \chordmode {
    c1 d
  }
}

[image of music]

あらかじめ定義されたフレット ダイアグラムのデフォルトは ファイル predefined-guitar-fretboards.ly の中にあります。 フレット ダイアグラムは、コードのピッチと現在使われている stringTunings の値に基づいて保存されます。predefined-guitar-fretboards.ly が保持しているあらかじめ定義されたフレット ダイアグラムは、ギター用だけです。predefined-guitar-fretboards.ly の中にある例に従って、他の楽器あるいは他のチューニング用のあらかじめ定義されたフレット ダイアグラムを追加することができます。

ウクレレ用のフレット ダイアグラムはファイル predefined-ukulele-fretboards.ly の中にあります。

\include "predefined-ukulele-fretboards.ly"

myChords = \chordmode { a1 a:m a:aug }

\new ChordNames {
  \myChords
}

\new FretBoards {
  \set Staff.stringTunings = #ukulele-tuning
  \myChords
}

[image of music]

マンドリン用のフレット ダイアグラムはファイル predefined-mandolin-fretboards.ly の中にあります。

\include "predefined-mandolin-fretboards.ly"

myChords = \chordmode { c1 c:m7.5- c:aug }

\new ChordNames {
  \myChords
}

\new FretBoards {
  \set Staff.stringTunings = #mandolin-tuning
  \myChords
}

[image of music]

コードのピッチを入力する方法は、同時進行する音楽として入力するか、コード モード (和音モードの概要 を参照してください) を用いて入力するかのどちらかです。

\include "predefined-guitar-fretboards.ly"
\new FretBoards {
  \chordmode { c1 }
  <c' e' g'>1
}

[image of music]

コード ネームとフレット ダイアグラムを一緒に表示させることが一般的に行われます。これを実現するには、ChordNames コンテキストを FretBoards コンテキストと並列に配置して、両方のコンテキストに同じ音楽を与えます。

\include "predefined-guitar-fretboards.ly"
mychords = \chordmode {
  c1 f g
}

<<
  \new ChordNames {
    \mychords
  }
  \new FretBoards {
    \mychords
  }
>>

[image of music]

あらかじめ定義されたフレット ダイアグラムは、c 移調されたコードに対するダイアグラムがフレット ダイアグラム テーブルに保存されていれば、移調可能です。

\include "predefined-guitar-fretboards.ly"
mychords = \chordmode {
  c1 f g
}

mychordlist = {
  \mychords
  \transpose c e { \mychords }
}
<<
  \new ChordNames {
    \mychordlist
  }
  \new FretBoards {
    \mychordlist
  }
>>

[image of music]

ギター用のあらかじめ定義されたフレット ダイアグラム テーブルは、17 キーのそれぞれに対して 8 つのコード (major, minor, augmented, diminished, dominant seventh, major seventh, minor seventh, dominant ninth) を保持しています。ウクレレ用のあらかじめ定義されたフレット ダイアグラム テーブルは、上記のコードに加えて、3 つのコード (major sixth, suspended second, それに suspended fourth) を保持しています。あらかじめ定義されたフレット ダイアグラムの完全なリストは 定義されたフレット図 で示されています。テーブルにエントリされていないコードがある場合、FretBoards エングラーバは 自動フレット ダイアグラム で説明する自動フレット ダイアグラム機能を用いてフレット ダイアグラムを算出します。

\include "predefined-guitar-fretboards.ly"
mychords = \chordmode {
  c1 c:maj9
}

<<
  \new ChordNames {
    \mychords
  }
  \new FretBoards {
    \mychords
  }
>>

[image of music]

フレット ダイアグラムをフレット ダイアグラム テーブルに追加することができます。ダイアグラムを追加するには、ダイアグラムのハッシュ テーブル、ダイアグラムのコード、使用するチューニング、それにダイアグラムの定義を指定する必要があります。通常、ハッシュ テーブルは default-fret-table です。ダイアグラムの定義は fret-diagram-terse 定義文字列またはfret-diagram-verbose マーキング リストのどちらかです。

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

<<
  \new ChordNames {
    \mychords
  }
  \new FretBoards {
    \mychords
  }
>>

[image of music]

ピッチのオクターブを変えることで、同じコード ネームに対して異なるフレット ダイアグラムを保存することができます。オクターブを変える場合は、デフォルトのオクターブに対して少なくとも 2 オクターブ上げるか下げる必要があります。デフォルトの 1 オクターブ上または下のオクターブは、フレットボードの移調に使用されるためです。

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

<<
  \new ChordNames {
    \mychords
  }
  \new FretBoards {
    \mychords
  }
>>

[image of music]

LilyPond はフレット ダイアグラムに加えて、コード シェイプの内部リストを保存します。コード シェイプとは、押さえるフレットをネック上の別の位置にシフトすることで別のコードを演奏できるようなフレット ダイアグラムです (訳注: 日本ではよくハイコードと呼ばれます)。コード シェイプを内部リストに追加することができ、フレット ダイアグラムを定義するために使うことができます。コード シェイプはネック上の様々な位置に移動することができるため、通常は開放弦を持ちません。フレット ダイアグラムと同様に、 コード シェイプは fret-diagram-terse 文字列でも fret-diagram-verbose リストでも入力することができます。

\include "predefined-guitar-fretboards.ly"

% 新しいコード シェイプを追加します

\addChordShape #'powerf #guitar-tuning "1-1;3-3;3-4;x;x;x;"

% パワー コード シェイプを基にして、新しいコードをいくつか追加します

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

<<
  \new ChordNames {
    \mychords
  }
  \new FretBoards {
    \mychords
  }
>>

[image of music]

fret-diagram-interface のプロパティを通じて、フレット ダイアグラムのグラフィカル レイアウトをユーザの好みに応じてカスタマイズすることができます。詳細は fret-diagram-interface を参照してください。あらかじめ定義されたフレット ダイアグラムのインターフェイス プロパティはFretBoards.FretBoard に属します。

Selected Snippets

フレットボードのフレット図をカスタマイズする

フレット図のプロパティは fret-diagram-details からセットできます。FretBoardのフレット図では、オーバライドは FretBoards.FretBoard オブジェクトに適用されます。FretBoardsVoice のように最下位のコンテキストであるため、プロパティのオーバライドでは省略することができます。

\include "predefined-guitar-fretboards.ly"

\storePredefinedDiagram #default-fret-table \chordmode { c' }
                        #guitar-tuning
                        "x;1-1-(;3-2;3-3;3-4;1-1-);"

% shorthand
oo = #(define-music-function
       (grob-path value)
       (list? scheme?)
       #{ \once \override $grob-path = #value #})

<<
  \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
      \oo FretBoard.size #1.0
      \oo FretBoard.fret-diagram-details.barre-type #'straight
      \oo FretBoard.fret-diagram-details.dot-color #'black
      \oo FretBoard.fret-diagram-details.finger-code #'below-string
      c'
      \oo FretBoard.fret-diagram-details.barre-type #'none
      \oo FretBoard.fret-diagram-details.number-type #'arabic
      \oo FretBoard.fret-diagram-details.orientation #'landscape
      \oo FretBoard.fret-diagram-details.mute-string "M"
      \oo FretBoard.fret-diagram-details.label-dir #LEFT
      \oo FretBoard.fret-diagram-details.dot-color #'black
      c'
      \oo FretBoard.fret-diagram-details.finger-code #'below-string
      \oo FretBoard.fret-diagram-details.dot-radius #0.35
      \oo FretBoard.fret-diagram-details.dot-position #0.5
      \oo FretBoard.fret-diagram-details.fret-count #3
      d
    }
  }
  \new Voice {
    c'1 | c' | c' | d'
  }
>>

[image of music]

他の楽器のためのフレットボードを定義する

定義されたフレット図のリストに、標準的なギターのフレット図以外のものを追加することができます。このファイルは、ベネズエラのクアトロのために調弦といくつかのフレット図を追加する例を示しています。

このファイルは和音に運指を追加し、フレット図や TabStaff に表示する方法も示しています。五線譜には運指は表示されません。

これらのフレット図は弦の情報を含んでいるため、移調することができません。これは将来修正される予定があります。

% 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 Staff.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 =
        \musicLength 16
    }
  }
  \midi { }
}

[image of music]

フレット図の chordChange プロパティ

フレット図をコードが変わるときにだけ表示したり、行頭だけに表示したりすることができます。

\include "predefined-guitar-fretboards.ly"

\paper { tagline = ##f }

myChords = \chordmode {
  c1 c1 \break
  \set chordChanges = ##t
  c1 c1 \break
  c1 c1
}

<<
  \new ChordNames { \myChords }
  \new FretBoards { \myChords }
  \new Staff { \myChords }
>>

[image of music]

代替フレット テーブル

代替フレット テーブルを作ることができます。これらはコードの代替形を表示するために使用されます。

代替フレット テーブルを使用するには、最初にテーブルを作成する必要があります。その後、テーブルにフレット図が追加されます。

作成されたフレット テーブルは空のままでも構いませんし、既存のテーブルからコピーしてくることもできます。

予め定義されたフレット図のテーブルは \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]

参照

記譜法リファレンス: カスタム タブ譜, 自動フレット ダイアグラム, 和音モードの概要, 定義されたフレット図

インストールされているファイル: ly/predefined-guitar-fretboards.ly,
ly/predefined-guitar-ninth-fretboards.ly,
ly/predefined-ukulele-fretboards.ly,
ly/predefined-mandolin-fretboards.ly

コード断片集: Fretted strings

内部リファレンス: fret-diagram-interface


LilyPond 記譜法リファレンス v2.25.22 (development-branch).