@c -*- coding: utf-8; mode: texinfo; documentlanguage: ja -*-
@ignore
    Translation of GIT committish: 0cc270b871321ae5aa8622cea8d8262aafd16641

    When revising a translation, copy the HEAD committish of the
    version that you are working on.  For details, see the Contributors'
    Guide, node Updating translation committishes..
@end ignore

@c \version "2.23.1"

@c Translators: Tomohiro Tatejima, Yoshiki Sawada, Hiroshi Fukuhara
@c Translation status: post-GDP

@node Fretted string instruments
@section フレットのある弦楽器

@lilypondfile[quote]{snippets/fretted-headword.ly}

このセクションでは、@c
フレットのある弦楽器に特有の記譜法のいくつかの側面について説明します。

@cindex tablature (タブ譜)
@cindex tablature, guitar (ギター タブ譜)
@cindex tablature, banjo (バンジョー タブ譜)
@cindex guitar tablature (ギター タブ譜)
@cindex banjo tablature (バンジョー タブ譜)


@node Common notation for fretted strings
@subsection フレットのある弦楽器で共通の記譜法

このセクションでは、フレットのある弦楽器で共通する記譜法について説明します。


@node References for fretted strings
@unnumberedsubsubsec フレットのある弦楽器のためのリファレンス

フレットのある弦楽器の演奏は通常、単一の譜で、@c
伝統的な音楽記譜法あるいはタブ譜で記譜されます。@c
これら 2 つが組み合わされることがあり、@c
特にポピュラー音楽では伝統的な記譜法の譜の上に@c
コード ダイアグラムを配置することが一般的です。@c
ギターとバンジョーは移調楽器であり、楽譜よりも 1 オクターブ下の音を出します。@c
これらの楽器のための楽譜は音部記号 @code{"treble_8"}
(あるいは、正しい MIDI 出力を得るために @code{\transposition c})
を使うべきです。@c
フレットのある弦楽器に関係する他のいくつかの要素は他の場所でカバーされています:

@itemize
@item 運指は @ref{Fingering instructions} で説明しています。

@item @notation{レセ ヴィブレ} (@notation{Laissez vibrer}) タイは、@c
アルペジオとトレモロで使われるタイと同様に、@ref{Ties} で説明しています。

@item 複数のボイスを処理するための説明は、@ref{Collision resolution}
にあります。

@item ハーモニクス指示についての説明は、@ref{Harmonics} にあります。

@end itemize

@morerefs
記譜法リファレンス:
@ref{Fingering instructions},
@ref{Ties},
@ref{Collision resolution},
@ref{Instrument names},
@ref{Writing music in parallel},
@ref{Arpeggio},
@ref{List of articulations},
@ref{Clef},
@ref{Instrument transpositions}


@node String number indications
@unnumberedsubsubsec 弦番号の指示

@cindex string number (弦番号)
@cindex string vs. fingering number (弦 vs. 指番号)
@cindex fingering vs. string number (運指 vs. 弦番号)

音符の後に @code{\@var{number}} を付けることによって、演奏する音符の弦を@c
指示することができます。

@lilypond[verbatim,quote,fragment]
\clef "treble_8"
c4\5 e\4 g2\3
<c\5 e\4 g\3>1
@end lilypond

運指と弦の指示を一緒に使う場合、@c
明示的に作成された和音の中にある場合に @emph{のみ}、
それら 2 要素を記述する順序で配置を制御することができます:
和音全体や和音の @emph{中にない} 単独の音符に適用される場合、@c
運指記号は異なるメカニズムで配置されます。

@lilypond[verbatim,quote,fragment]
\clef "treble_8"
g4\3-0
g-0\3
<g\3-0>
<g-0\3>
@end lilypond

@funindex \arabicStringNumbers
@funindex \romanStringNumbers

弦番号も、フレットの無い弦楽器の慣習のように@c
ロマン数字で表示したり、譜の上ではなく下に配置することができます。

@lilypond[verbatim,quote,fragment]
\clef "treble_8"
c'2\2
a\3
\romanStringNumbers
c'\2
\set stringNumberOrientations = #'(down)
a\3
\arabicStringNumbers
g1\4
@end lilypond

@snippets

@c XXX also included in `editorial.itely'
@lilypondfile[verbatim,quote,texidoc,doctitle]
{snippets/controlling-the-placement-of-chord-fingerings.ly}

@c XXX also included in `editorial.itely'
@lilypondfile[verbatim,quote,texidoc,doctitle]
{snippets/allowing-fingerings-to-be-printed-inside-the-staff.ly}

@predefined
@code{\arabicStringNumbers},
@code{\romanStringNumbers}.
@endpredefined

@morerefs
記譜法リファレンス:
@ref{Fingering instructions}

コード断片集:
@rlsr{Fretted string instruments}

内部リファレンス:
@rinternals{StringNumber},
@rinternals{Fingering}


@node Default tablatures
@unnumberedsubsubsec デフォルトのタブ譜

@cindex tablature, basic (基本的なタブ譜)
@cindex tablature, default (デフォルトのタブ譜)

@funindex TabStaff
@funindex TabVoice

弦をはじく楽器の楽譜は、しばしばタブ譜で記譜されます。@c
伝統的な記譜法ではピッチが符頭で記述されるのに対して、@c
数字 (あるいは、歴史上存在する楽譜では文字のような記号) で記述されます。@c
タブ譜では、譜線は演奏される音符の弦を意味し、@c
譜線上に配置される数字は対応する弦で押さえるべきフレットを意味します。@c
同時に弾く音符は垂直方向に揃えられていることに注意してください。

デフォルトでは、弦 1 は一番上の弦であり、@c
@code{TabStaff} の一番上の線に対応します。@c
@code{TabStaff} のチューニングは、デフォルトでは、@c
標準ギター (6 弦) のチューニングです。@c
音符は、@code{TabStaff} コンテキストと @code{TabVoice} コンテキストを用いて、@c
タブ譜として譜刻されます。@c
筆記体のタブ譜の音部記号が自動的に付け加えられます。

@lilypond[quote,ragged-right,verbatim]
\new TabStaff \relative {
  a,8 a' <c e> a
  d,8 a' <d f> a
}
@end lilypond

デフォルトのタブ譜は、音符の演奏時間や他の音楽記号
-- 例えば、表現記号など --
を保持しません。

@lilypond[quote,ragged-right,verbatim]
symbols = {
  \time 3/4
  c4-.^"Allegro" d( e)
  f4-.\f g a^\fermata
  \mark \default
  c8_.\<\( c16 c~ 2\!
  c'2.\prall\)
}

\score {
  <<
    \new Staff { \clef "G_8" \symbols }
    \new TabStaff { \symbols }
  >>
}
@end lilypond

@funindex \tabFullNotation

伝統的な記譜法で用いられるすべての音楽記号をタブ譜に表示させるには、@c
@code{TabStaff} コンテキスト内でコマンド @code{\tabFullNotation} を適用@c
する必要があります。@c
四分音符と区別するために、@c
半音符には 2 重線の符幹が付けられるということを覚えておいてください。

@lilypond[quote,ragged-right,verbatim]
symbols = {
  \time 3/4
  c4-.^"Allegro" d( e)
  f4-.\f g a^\fermata
  \mark \default
  c8_.\<\( c16 c~ 2\!
  c'2.\prall\)
}

\score {
  \new TabStaff {
    \tabFullNotation
    \symbols
  }
}
@end lilypond

@cindex fret

@funindex minimumFret
@funindex restrainOpenStrings

デフォルトでは、ピッチはフレット ボードの最も低い演奏ポジション
(ファースト ポジション) に割り当てられます。@c
自動的に開放弦が優先されます。@c
ピッチを弾く弦を指定したい場合は、ピッチ名に弦番号指示を付け加えます。@c
弦番号指示を伝統的な記譜法の譜に譜刻したくないのであれば、@c
弦番号指示のステンシルを上書きすることでそうできます。@c
通常、@code{minimumFret} の値を使って演奏ポジションを定義する方が@c
入力しやすいです。@c
@code{minimumFret} のデフォルト値は 0 です。

@code{minimumFret} がセットされている場合であっても、可能であれば開放弦が@c
用いられます。@c
この振る舞いは、@code{restrainOpenStrings} に @code{#t} をセットすることで@c
変更することができます。

@lilypond[quote,ragged-right,verbatim]
\layout { \omit Voice.StringNumber }
\new StaffGroup <<
   \new Staff \relative {
     \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 {
     c16 d e f g4
     c,16\5 d\5 e\4 f\4 g4\4
     \set TabStaff.minimumFret = #5
     \set TabStaff.restrainOpenStrings = ##t
     c,16 d e f g4
   }
>>
@end lilypond

@funindex \tabChordRepeats
@funindex \chordRepeats
@cindex chord, repetition (和音の繰り返し)
@cindex repetition, using @code{q} (@code{q} を用いた繰り返し)
@cindex @code{q}, chord repetition (@code{q} を用いた和音の繰り返し)

和音繰り返し記号 @code{q} を使って和音構造を繰り返すことができます。@c
この機能をタブ譜で用いる場合、弦の削除や運指番号等のイベントがやっかいです。@c
そのため、@ref{Chord repetition} を用いたタブ譜の音楽表記で@c
以下を明示的に実行したいと思うでしょう:
@example
\chordRepeats #'(string-number-event fingering-event)
@end example
このコマンドは共通するものなので、@c
@code{\tabChordRepeats} でも用いることができます。

@lilypond[quote,verbatim]
guitar = \relative {
  r8 <gis-2 cis-3 b-0>~ q4 q8~ 8 q4
}

\new StaffGroup <<
  \new Staff {
    \clef "treble_8"
    \guitar
  }
  \new TabStaff {
    \tabChordRepeats \guitar
  }
>>
@end lilypond

デフォルトでは、改行されるタイには括弧が付けられます。@c
繰り返しの差し替え部分でも同様です。

@lilypond[quote,ragged-right,verbatim]
ties = \relative {
  \repeat volta 2 {
    e'2. f4~
    2 g2~
  }
  \alternative {
     { g4 f2. }
     { g4\repeatTie c,2. }
  }
  b1~
  \break
  b1
  \bar "|."
}

\score {
  <<
    \new StaffGroup  <<
      \new Staff {
        \clef "treble_8"
        \ties
      }
      \new TabStaff {
        \ties
      }
    >>
  >>
  \layout {
  indent = #0
  ragged-right = ##t
  }
}
@end lilypond

@funindex \hideSplitTiedTabNotes

コマンド @code{\hideSplitTiedTabNotes} は、@c
括弧付きフレット番号の譜刻をキャンセルします:

@lilypond[quote,ragged-right,verbatim]
ties = \relative {
  \repeat volta 2 {
    e'2. f4~
    2 g2~ }
  \alternative {
    { g4 f2. }
    { g4\repeatTie c,2. }
  }
  b1~
  \break
  b1
  \bar "|."
}

\score {
  <<
    \new StaffGroup  <<
      \new Staff {
        \clef "treble_8"
        \ties
      }
      \new TabStaff {
      \hideSplitTiedTabNotes
        \ties
      }
    >>
  >>
  \layout {
  indent = #0
  ragged-right = ##t
  }
}
@end lilypond

@cindex harmonic indication in tablature notation (タブ譜の記譜法でのハーモニック指示)
@cindex tablature, and harmonic indications (タブ譜とハーモニック指示)
@funindex \harmonic
@funindex \harmonicByFret
@funindex \harmonicByRatio

ハーモニック指示を演奏するピッチとしてタブ譜に付け加えることができます:

@lilypond[verbatim,quote]
\layout { \omit Voice.StringNumber }
firstHarmonic = {
  d'4\4\harmonic
  g'4\3\harmonic
  b'2\2\harmonic
}
\score {
  <<
    \new Staff {
      \clef "treble_8"
      \firstHarmonic
    }
    \new TabStaff { \firstHarmonic }
  >>
}
@end lilypond

コマンド @code{\harmonic} は常に和音ではなく単一の音符
(和音の中にあることもあり得ます) にくっつける必要があります。@c
12 フレットの開放弦ハーモニクス (ナチュラル ハーモニクス) でのみ@c
意味をなします。@c
他の全てのハーモニクスは LilyPond によって算出されます。@c
これは、フレットを行う手の指が触れる弦のフレットを指示することにより@c
実現されます。

@lilypond[verbatim,quote]
fretHarmonics = {
  \harmonicByFret #5 d16\4
  \harmonicByFret #4 d16\4
  \harmonicByFret #3 d8\4
  \harmonicByFret #5 <g\3 b\2>2.
}
\score {
  <<
    \new Staff {
      \clef "treble_8"
      \fretHarmonics
    }
    \new TabStaff { \fretHarmonics }
  >>
}
@end lilypond

上記の方法の代わりに、@c
ハーモニクスの運指に弦の長さの比率を指定することによって@c
ハーモニクスを算出させることもできます。

@lilypond[verbatim,quote]
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 {
      \clef "treble_8"
      \ratioHarmonics
    }
    \new TabStaff { \ratioHarmonics }
  >>
}
@end lilypond

@snippets

@cindex stem, in tablature (タブ譜内の符幹)
@cindex tablature, and stems (タブ譜と符幹)
@cindex beam, in tablature (タブ譜内の連桁)
@cindex tablature, and beams (タブ譜と連桁)
@cindex beam, horizontal (水平な連桁)
@cindex horizontal beams (水平な連桁)
@lilypondfile[verbatim,quote,texidoc,doctitle]
{snippets/stem-and-beam-behavior-in-tablature.ly}

@cindex polyphony, in tablatures (タブ譜内の多声)
@cindex tablature, and polyphony (タブ譜と多声)
@lilypondfile[verbatim,quote,texidoc,doctitle]
{snippets/polyphony-in-tablature.ly}

@cindex tablature, and harmonics
@cindex harmonic, in tablatures
@lilypondfile[verbatim,quote,texidoc,doctitle]
{snippets/open-string-harmonics-in-tablature.ly}

@lilypondfile[verbatim,quote,texidoc,doctitle]
{snippets/fretted-string-harmonics-in-tablature.ly}

@cindex slide, in tablature notation (タブ譜の記譜法でのスライド)
@cindex tablature, and slides (タブ譜とスライド)

@lilypondfile[verbatim,quote,texidoc,doctitle]
{snippets/slides-in-tablature.ly}

@cindex chord, glissando, in tablatures (タブ譜内の和音のグリッサンド)
@cindex glissando, chords in tablatures (タブ譜内の和音のグリッサンド)
@cindex tablature, chord glissando (タブ譜と和音のグリッサンド)
@lilypondfile[verbatim,quote,texidoc,doctitle]
{snippets/chord-glissando-in-tablature.ly}

@cindex hammer on (ハンマリング オン)
@cindex pull off (プリング オフ)
@cindex tablature, hammer on (タブ譜とハンマリング オン)
@cindex tablature, pull off (タブ譜とプリング オフ)
@lilypondfile[verbatim,quote,texidoc,doctitle]
{snippets/hammer-on-and-pull-off.ly}

@lilypondfile[verbatim,quote,texidoc,doctitle]
{snippets/hammer-on-and-pull-off-using-voices.ly}

@lilypondfile[verbatim,quote,texidoc,doctitle]
{snippets/hammer-on-and-pull-off-using-chords.ly}

@morerefs
記譜法リファレンス:
@ref{Chord repetition},
@ref{Glissando},
@ref{Harmonics},
@ref{Stems},
@ref{Written-out repeats}

コード断片集:
@rlsr{Fretted string instruments}

内部リファレンス:
@rinternals{TabNoteHead},
@rinternals{TabStaff},
@rinternals{TabVoice},
@rinternals{Beam}

@knownissues
和音は特殊な方法では処理できません。@c
そのため、自動弦セレクタは和音の中にある 2 つの音符に対して@c
同じ弦を選択することが容易に起こり得ます。

@code{\partCombine} を処理するには、@c
@code{TabStaff} は特別なやり方で作成されたボイスを使う必要があります:

@lilypond[quote,ragged-right,verbatim]
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 }
  >>
>>
@end lilypond

ギターの特殊効果はハーモニクスとスライドに制限されています。


@node Custom tablatures
@unnumberedsubsubsec カスタム タブ譜

@cindex tablature, custom (カスタム タブ譜)
@cindex tablature, banjo (バンジョー タブ譜)
@cindex tablature, mandolin (マンドリン タブ譜)
@cindex tablature, guitar (ギター タブ譜)
@cindex tablature, bass guitar (バス ギター タブ譜)
@cindex tablature, ukulele (ウクレレ タブ譜)
@cindex tablature, predefined string tunings (あらかじめ定義された弦チューニングのタブ譜)
@cindex fretted instrument, predefined string tunings (あらかじめ定義された弦チューニングのフレットのある楽器)
@cindex predefined string tuning, for fretted instruments (フレットのある楽器のためにあらかじめ定義された弦チューニング)
@cindex tablature, violin (バイオリン タブ譜)
@cindex tablature, viola (ビオラ タブ譜)
@cindex tablature, cello (チェロ タブ譜)
@cindex tablature, bass (バス タブ譜)
@cindex tablature, double bass (ダブル バス タブ譜)

@funindex stringTunings

LilyPond のタブ譜は、音符に対するフレットを、@c
その音符が割り当てられている弦に基づいて、自動的に算出します。@c
フレットの算出を行うために、弦のチューニングを指定する必要があります。@c
弦のチューニングは @code{stringTunings} プロパティで指定します。

LilyPond にはあらかじめ定義された弦チューニングが用意されています
-- バンジョー、マンドリン、ギター、バス ギター、ウクレレ、バイオリン、@c
ビオラ、チェロ、それにダブル バス用があります。@c
LilyPond は、あらかじめ定義されたチューニングに対して、@c
適切な移調をセットします。@c
以下の例はバス ギター用であり、@c
記述されている音符よりも 1 オクターブ低く演奏されます。

@lilypond[quote,ragged-right,verbatim]
<<
  \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
    }
  }
>>
@end lilypond

デフォルトの弦チューニングは @code{guitar-tuning} で、@c
これは標準の EADGBE チューニングです。@c
他のあらかじめ定義されたチューニングには、@c
@code{guitar-open-g-tuning}, @code{mandolin-tuning} それに
@code{banjo-open-g-tuning} があります。@c
あらかじめ定義された弦チューニングは @file{ly/string-tunings-init.ly} の中に@c
あります。

@funindex \stringTuning
@cindex tablature, custom string tunings (カスタム弦チューニングのタブ譜)
@cindex custom string tuning (カスタム弦チューニング)

望みに応じて任意の弦チューニングを作成することができます。@c
@code{\stringTuning} 関数を用いて弦チューニングを定義し、@c
カレント コンテキストの @code{stringTunings} としてセットすることができます。

@code{\stringTuning} の引数は、@c
チューニングにおける各弦のピッチを定義する和音構造です。@c
和音構造は絶対オクターブ モードにする必要があります
-- @ref{Absolute octave entry} を参照してください。@c
和音の中で、@c
一番大きな番号を持つ弦 (一般的に低い音の弦) が最初に来る必要があります。@c
例えば、@code{a''}, @code{d''}, @code{g'}, それに @code{c'} のピッチを持つ
4 弦の楽器用の弦チューニングを定義することができます:

@lilypond[quote,verbatim]

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
  }
>>
@end lilypond

@code{FretBoards} で @code{stringTunings} プロパティ用いることで、@c
自動的にフレット ダイアグラムを算出させることもできます。

弦チューニングは、@c
あらかじめ定義されたフレット ダイアグラムに対するハッシュ キーの一部@c
として使われます

上記の例を、以下のように書き換えることができます:

@lilypond[quote,verbatim]
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
  }
>>
@end lilypond

内部的には、弦チューニングは弦ピッチの Scheme リストです
-- それぞれの弦ピッチは各弦に対するピッチで、@c
弦番号 1 から N の順に並んでいて、@c
弦 1 はタブ譜の最上段、弦 N はタブ譜の最下段となります。@c
通常、このリストは高いピッチから低いピッチの順になりますが、@c
いくつかの楽器 (例えば、ウクレレ) の弦はピッチの高低順に並んでいません。@c

弦チューニング リストの中の弦ピッチは 1 つ 1 つが
LilyPond ピッチ オブジェクトです。@c
ピッチ オブジェクトは Scheme 関数 @code{ly:make-pitch}
(@rinternals{Scheme functions} を参照してください) で作成されます。@c

@code{\stringTuning} は和音構造から弦チューニング リストを作成します。

LilyPond は、@code{TabStaff} の行数と自動的に算出される @code{FretBoard} の弦数
(これは @code{stringTunings} の要素数です) を自動的に算出します。

すべての @code{TabStaff} コンテキストに同じカスタム チューニングを@c
適用するには、@c
下記のようにします:

@example
\layout @{
  \context @{
    \TabStaff
    stringTunings = \stringTuning <c' g' d'' a''>
  @}
@}
@end example


@cindex moderntab clef (現代タブ譜の音部記号)
@cindex clef, moderntab (現代タブ譜の音部記号)
@cindex clef, tab (タブ譜の音部記号)
@cindex tab clef (タブ譜の音部記号)

現代タブ譜の音部記号を使うこともできます。

@lilypond[quote,ragged-right,verbatim]
\new TabStaff {
  \clef moderntab
  <a, e a>1
  \break
  \clef tab
  <a, e a>1
}
@end lilypond

現代タブ譜の音部記号は、4 から 7 弦までのタブ譜をサポートします。

@cindex microtone, tab (タブ譜での微分音)
@cindex quarter-tone, tab (タブ譜での 4 分音)
@cindex tab microtones (タブ譜での微分音)
@cindex tab quarter-tones (タブ譜での 4 分音)

@code{TabStaff} は 4 分音のような微分音に対応しています。このような音は@c
ベンディングを使って演奏されます。
@code{supportNonIntegerFret = ##t} が Score コンテキストにセットされている@c
必要があります。しかしながら、微分音は @code{FretBoards} では@c
サポートされていません。

@lilypond[quote,ragged-right,verbatim]
\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
>>
@end lilypond

@morerefs
記譜法リファレンス:
@ref{Absolute octave entry},
@ref{Predefined fret diagrams}.

インストールされているファイル:
@file{ly/string-tunings-init.ly}
@file{scm/tablature.scm}

コード断片集:
@rlsr{Fretted string instruments}

内部リファレンス:
@rinternals{Tab_note_heads_engraver},
@rinternals{Scheme functions}.

@knownissues
ウクレレなどのように弦がピッチ順に並んでいない楽器では、大抵の場合、
タブ譜の自動算出は正しく機能しません。


@node Fret diagram markups
@unnumberedsubsubsec フレット ダイアグラム マークアップ

@cindex fret diagram (フレット ダイアグラム)
@cindex chord diagram (コード ダイアグラム)
@cindex diagram, fret (フレット ダイアグラム)
@cindex diagram, chord for fretted instruments (フレットのある楽器のためのコード ダイアグラム)
@cindex fret diagram, custom (カスタム フレット ダイアグラム)
@cindex custom fret diagram (カスタム フレット ダイアグラム)

フレット ダイアグラムを注釈のマークアップとして楽譜に追加することができます。@c
このマークアップは記譜するフレット ダイアグラムについての情報を保持します。@c
フレット ダイアグラムのマークアップ インターフェイスは 3 種類あります:
標準、簡易、それに冗長です。@c
これら 3 種類のインターフェイスが作り出すマークアップは等価ですが、@c
そのマークアップ文字列が持つ情報量は異なります。@c
フレット ダイアグラムを定義するのに用いられるマークアップ文字列の文法@c
についての詳細は、@ref{Instrument-specific markup} を参照してください。

標準フレット ダイアグラムのマークアップ文字列は、@c
弦の上に配置されるドットの弦番号とフレット番号を示します。@c
さらに、開放弦と消音 (ミュート) 弦を示すこともできます。

@lilypond[quote, verbatim]
<<
  \new ChordNames {
    \chordmode {
      c1 d:m
    }
  }
  \new 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;"
    }
  }
>>
@end lilypond

@cindex barre indication (バレー指示)

フレット ダイアグラム マークアップ文字列のダイアグラムに、@c
バレー指示を追加することができます。

@lilypond[quote, verbatim]
<<
  \new ChordNames {
     \chordmode {
       f1 g
     }
  }
  \new 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;"
    }
  }
>>
@end lilypond

@cindex fret diagram, markup (フレット ダイアグラムのマークアップ)
@cindex ukulele (ウクレレ)

@funindex \fret-diagram

フレット ダイアグラムのサイズ、それにダイアグラムの中のフレット数を@c
フレット ダイアグラム マークアップ文字列の中で変更することができます。

@lilypond[quote, verbatim]
<<
  \new ChordNames {
     \chordmode {
       f1 g
     }
  }
  \new 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;"
    }
  }
>>
@end lilypond

バンジョーやウクレレなどの弦数に合わせて、@c
フレット ダイアグラム マークアップ文字列で@c
フレット ダイアグラムの弦数を変更することができます。

@c KEEP LY
@lilypond[quote, verbatim]
<<
  \new ChordNames {
    \chordmode {
      a1
    }
  }
  \new Staff {
    % ウクレレの 'A' コード
    a'1^\markup {
      \fret-diagram "w:4;4-2-2;3-1-1;2-o;1-o;"
    }
  }
>>
@end lilypond

フレット ダイアグラム マークアップ文字列で運指の指示を追加して、@c
配置を制御することができます。

@lilypond[quote, verbatim]
<<
  \new ChordNames {
    \chordmode {
      c1 d:m
    }
  }
  \new 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;"
    }
  }
>>
@end lilypond

フレット ダイアグラム マークアップ文字列でドットの大きさと位置を制御することができます。

@lilypond[quote, verbatim]
<<
  \new ChordNames {
    \chordmode {
      c1 d:m
    }
  }
  \new 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;"
    }
  }
>>
@end lilypond

@cindex left-handed fret diagram (左利き用のフレット ダイアグラム)
@cindex fret diagram (フレット ダイアグラム), left-handed (左利き)

フレット ダイアグラムは左利き用に譜刻できます。

@lilypond[verbatim,quote]
\markup
  \center-column {
    "C"
    "(left-handed)"
     \override #`(fret-diagram-details . ((handedness . ,LEFT)))
     \fret-diagram "6-x;5-3-3;4-2-2;3-o;2-1;1-o;"
  }
@end lilypond

@cindex fret-diagram-terse markup (fret-diagram-terse マークアップ)

@funindex \fret-diagram-terse

fret-diagram-terse マークアップ文字列は弦番号を省略します。@c
弦番号はセミコロンで示します。@c
ダイアグラムの弦毎にセミコロンを記述します。@c
最初のセミコロンは最高の弦番号に対応し、@c
最後のセミコロンは第 1 弦に対応します。@c
消音弦、開放弦、それにフレット番号を示すことができます。

@lilypond[quote, verbatim]
<<
  \new ChordNames {
    \chordmode {
      c1 d:m
    }
  }
  \new 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;"
    }
  }
>>
@end lilypond

fret-diagram-terse マークアップ文字列にバレー指示を含めることができます。

@lilypond[quote, verbatim]
<<
  \new ChordNames {
    \chordmode {
      f1 g
    }
  }
  \new 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-);"
    }
  }
>>
@end lilypond

fret-diagram-terse マークアップ文字列に運指の指示を含めることができます。

@c Need to use override to enable fingerings to show this -- can we do so?
@lilypond[quote, verbatim]
<<
  \new ChordNames {
    \chordmode {
      c1 d:m
    }
  }
  \new 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;"
    }
  }
>>
@end lilypond

fret-diagram-terse マークアップを使っている時、@c
他のフレット ダイアグラム プロパティの調節には
@code{\override} を用いる必要があります。

fret-diagram-terse マークアップでは、1 つの弦につき
1 つの指示しか追加できません。1 つの弦につき@c
複数の指示を追加したい場合には、標準のフレット ダイアグラムか、@c
fret-diagram-verbose を使用してください。

@cindex fret-diagram-verbose markup (fret-diagram-verbose マークアップ)
@cindex capo (カポ)

@funindex \fret-diagram-verbose

fret-diagram-verbose マークアップ文字列のフォーマットは Scheme リストです。@c
リストの各要素はフレット ダイアグラム上に配置する要素を示しています。

@lilypond[quote, verbatim]
<<
    \new ChordNames {
      \chordmode {
        c1 d:m
      }
    }
  \new 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)
      )
    }
  }
>>
@end lilypond

fret-diagram-verbose マークアップ文字列に運指の指示とバレー指示を@c
含めることができます。@c
fret-diagram-verbose インターフェイスに特有なこととして、
カポ指示をフレット ダイアグラム上に配置することができます。@c
カポ指示はすべての弦に重なる太い線です。@c
カポを持つフレットは、フレット ダイアグラムの中の最も低いフレットです。

運指の指示を含むドットは、括弧付きのものも含めて色を付けることができます。@c
括弧の色も独立に変更することができます。

マークアップはドットの中にも配置することができます。

@c \override is necessary to make fingering visible
@lilypond[quote, verbatim]
<<
    \new ChordNames {
      \chordmode {
        f1 g c c b
      }
    }
  \new 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 g c' e' g'>1^\markup {
      \fret-diagram-verbose #'(
        (capo 3)
        (mute 6)
        (place-fret 4 5 1)
        (place-fret 3 5 2)
        (place-fret 2 5 3)
      )
    }
    \override Voice.TextScript.size = 1.4
    <c g c' e' g'>1^\markup {
      \fret-diagram-verbose #'(
        (place-fret 6 3 1 red parenthesized default-paren-color)
        (place-fret 5 3 1 inverted)
        (place-fret 4 5 2 blue parenthesized)
        (place-fret 3 5 3 blue)
        (place-fret 2 5 4 blue)
        (place-fret 1 3 1 inverted)
      )
    }
    \override Voice.TextScript.size = 1.5
    <b, fis b dis' fis'>1^\markup 
      \override #'(fret-diagram-details . ((finger-code . in-dot)))
      \fret-diagram-verbose #`(
        (place-fret 5 2 1)
        (place-fret 4 4 "fis" red)
        (place-fret 3 4 "b" red)
        (place-fret
          2 4
          ,#{ \markup
                \concat {
                  \vcenter "d"
                  \fontsize #-5
                  \musicglyph "accidentals.sharp"} #}
          red)
        (place-fret 1 2 1)
      )
  }
>>
@end lilypond

fret-diagram-verbose マークアップを使っている時、@c
他のフレット ダイアグラム プロパティの調節には
@code{\override} を用いる必要があります。


@ignore
The following example shows the three fret diagram markup
interfaces, along with examples of common tweaks.  For example,
the size of the verbose fret diagram is reduced to 0.75, and the
finger indications are specified to appear below the diagram.  The
terse diagram includes tweaks to specify placement of finger code
and color of dots.

@lilypond[verbatim,ragged-right,quote]
\new Voice {
  \clef "treble_8"
  d4^\markup {
    \fret-diagram "6-x;5-x;4-o;3-2;2-3;1-2;"
  }
  d4 d d
  fis^\markup
    \override #'((size . 0.75) (finger-code . below-string))
    \fret-diagram-verbose #'((place-fret 6 2 1) (barre 6 1 2)
                             (place-fret 5 4 3)
                             (place-fret 4 4 4)
                             (place-fret 3 3 2)
                             (place-fret 2 2 1)
                             (place-fret 1 2 1))
  fis4 fis fis
  c^\markup
    \override #'((dot-radius . 0.35) (finger-code . in-dot)
                 (dot-color . white))
    \fret-diagram-terse "x;3-1-(;5-2;5-3;5-4;3-1-);"
  c4 c c
}
@end lilypond
@end ignore

@cindex customized fret diagram (カスタマイズされたフレット ダイアグラム)
@cindex fret diagram, customized (カスタマイズされたフレット ダイアグラム)
@cindex diagram, fret, customized (カスタマイズされたフレット ダイアグラム)

@funindex fret-diagram-interface

ユーザの好みに応じて、@c
@code{fret-diagram-interface} プロパティで@c
フレット ダイアグラムのグラフィック レイアウトをカスタマイズすることが可能です。
詳細は、@rinternals{fret-diagram-interface} を参照してください。@c
フレット ダイアグラム マークアップ用のインターフェイス プロパティは
@code{Voice.TextScript} に属します。

@snippets

@cindex fret diagram, changing orientation (フレット ダイアグラムの向きを変更する)
@cindex orientation of fret diagram, changing (フレット ダイアグラムの向きを変更する)
@lilypondfile[verbatim,quote,texidoc,doctitle]
{snippets/changing-fret-orientations.ly}

@cindex fret diagram, customized (フレット ダイアグラムのカスタマイズ)
@cindex custom fret diagram (カスタム フレット ダイアグラム)
@lilypondfile[verbatim,quote,texidoc,doctitle]
{snippets/customizing-markup-fret-diagrams.ly}

@morerefs
記譜法リファレンス:
@ref{Instrument-specific markup}

コード断片集:
@rlsr{Fretted string instruments}

内部リファレンス:
@rinternals{fret-diagram-interface}


@node Predefined fret diagrams
@unnumberedsubsubsec あらかじめ定義されたフレット ダイアグラム

@cindex fret diagram (フレット ダイアグラム)
@cindex fret diagram, ukulele (ウクレレのフレット ダイアグラム)
@cindex fret diagram, mandolin (マンドリンのフレット ダイアグラム)
@cindex chord diagram (コード ダイアグラム)

@funindex FretBoards
@funindex stringTunings

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

@lilypond[verbatim, ragged-right, quote]
\include "predefined-guitar-fretboards.ly"
\new FretBoards {
  \chordmode {
    c1 d
  }
}
@end lilypond

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

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

@lilypond[verbatim, ragged-right, quote]
\include "predefined-ukulele-fretboards.ly"

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

\new ChordNames {
  \myChords
}

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

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

@lilypond[verbatim, ragged-right, quote]
\include "predefined-mandolin-fretboards.ly"

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

\new ChordNames {
  \myChords
}

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

コードのピッチを入力する方法は、同時進行する音楽として入力するか、@c
コード モード (@ref{Chord mode overview} を参照してください)
を用いて入力するかのどちらかです。

@lilypond[verbatim, ragged-right,quote]
\include "predefined-guitar-fretboards.ly"
\new FretBoards {
  \chordmode { c1 }
  <c' e' g'>1
}
@end lilypond

@cindex chord name, with fret diagrams
@cindex fret diagram, with chord names

@funindex ChordNames
@funindex \chordmode

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

@lilypond[verbatim, ragged-right, quote]
\include "predefined-guitar-fretboards.ly"
mychords = \chordmode {
  c1 f g
}

<<
  \new ChordNames {
    \mychords
  }
  \new FretBoards {
    \mychords
  }
>>
@end lilypond

@cindex transposing fret diagram (フレット ダイアグラムを移調させる)
@cindex fret diagram, transposing (フレット ダイアグラムを移調させる)
@cindex diagram, fret, transposing (フレット ダイアグラムを移調させる)

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

@lilypond[verbatim, ragged-right, quote]
\include "predefined-guitar-fretboards.ly"
mychords = \chordmode {
  c1 f g
}

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


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

@lilypond[verbatim, ragged-right, quote]
\include "predefined-guitar-fretboards.ly"
mychords = \chordmode {
  c1 c:maj9
}

<<
  \new ChordNames {
    \mychords
  }
  \new FretBoards {
    \mychords
  }
>>
@end lilypond

@cindex fret diagram, adding custom (カスタム フレット ダイアグラムを追加する)
@cindex custom fret diagram, adding (カスタム フレット ダイアグラムを追加する)
@cindex adding custom fret diagram (カスタム フレット ダイアグラムを追加する)

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

@lilypond[verbatim, ragged-right, quote]
\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
  }
>>
@end lilypond

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

@lilypond[verbatim, ragged-right, quote]
\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
  }
>>
@end lilypond

@cindex fretted instrument, chord shape (フレットのある楽器のコード シェイプ)
@cindex chord shape, for fretted instrument (フレットのある楽器のコード シェイプ)

@funindex \addChordShape
@funindex \storePredefinedDiagram

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

@c KEEP LY
@lilypond[verbatim, ragged-right, quote]
\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
  }
>>
@end lilypond

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

@snippets

@cindex fretboard fret diagram, customized (フレットボードのフレット ダイアグラムをカスタマイズする)
@cindex custom fretboard fret diagram (カスタム フレットボード フレット ダイアグラム)
@lilypondfile[verbatim,quote,texidoc,doctitle]
{snippets/customizing-fretboard-fret-diagrams.ly}

@cindex fretboard, define predefined (既定のフレットボードを定義する)
@cindex define predefined fretboard (フレットボードを定義する)
@lilypondfile[verbatim,quote,texidoc,doctitle]
{snippets/setting-up-predefined-fretboards-for-other-instruments.ly}

@cindex chord, suppressing repeated (繰り返しの和音を抑制する)
@cindex repeated chords, suppressing (繰り返しの和音を抑制する)
@cindex suppressing repeated chords (繰り返しの和音を抑制する)
@funindex chordChanges
@lilypondfile[verbatim,quote,texidoc,doctitle,ragged-right]
{snippets/chord-changes-for-fretboards.ly}

@cindex fretboard, alternate table (他のフレットボード テーブル)
@cindex alternate fretboard table (他のフレットボード テーブル)
@funindex predefinedDiagramTable
@funindex \storePredefinedDiagram
@lilypondfile[verbatim,quote,texidoc,doctitle]
{snippets/fretboards-alternate-tables.ly}

@morerefs
記譜法リファレンス:
@ref{Custom tablatures},
@ref{Automatic fret diagrams},
@ref{Chord mode overview},
@ref{Predefined fretboard diagrams}

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

コード断片集:
@rlsr{Fretted string instruments}

内部リファレンス:
@rinternals {fret-diagram-interface}


@node Automatic fret diagrams
@unnumberedsubsubsec 自動フレット ダイアグラム

@cindex fret diagram, automatic (自動フレット ダイアグラム)
@cindex chord diagram, automatic (自動コード ダイアグラム)
@cindex automatic fret diagram (自動フレット ダイアグラム)
@cindex automatic chord diagram (自動コード ダイアグラム)

@code{FretBoards} コンテキストを用いて、@c
入力された音符からフレット ダイアグラムを自動的に作成することができます。@c
アクティブな @code{stringTunings} で入力された音符に対して@c
あらかじめ定義されたダイアグラムが用意されていない場合、@c
このコンテキストはその音符を演奏するために使用する弦とフレットを算出します。

@lilypond[quote,ragged-right,verbatim]
<<
  \new ChordNames {
    \chordmode {
      f1 g
    }
  }
  \new FretBoards {
    <f, c f a c' f'>1
    <g,\6 b, d g b g'>1
  }
  \new Staff {
    \clef "treble_8"
    <f, c f a c' f'>1
    <g, b, d g b' g'>1
  }
>>
@end lilypond

@funindex \predefinedFretboardsOff
@funindex \predefinedFretboardsOn

デフォルトではあらかじめ定義されたダイアグラムは読み込まれないため、@c
フレット ダイアグラムの自動算出がデフォルトの振る舞いとなります。@c
一旦デフォルトのダイアグラムが読み込まれると、@c
あらかじめ定義されたコマンドで自動算出を有効または無効にすることができます:

@lilypond[quote,ragged-right,verbatim]

\storePredefinedDiagram #default-fret-table
                        <c e g c' e'>
                        #guitar-tuning
                        "x;3-1-(;5-2;5-3;5-4;3-1-1-);"
<<
  \new ChordNames {
    \chordmode {
      c1 c c
    }
  }
  \new FretBoards {
    <c e g c' e'>1
    \predefinedFretboardsOff
    <c e g c' e'>1
    \predefinedFretboardsOn
    <c e g c' e'>1
  }
  \new Staff {
    \clef "treble_8"
    <c e g c' e'>1
    <c e g c' e'>1
    <c e g c' e'>1
  }
>>
@end lilypond


フレットボード算出機能が適切なダイアグラムを算出できないことがあります。@c
これは、手動で音符を弦に割り当てることにより修復できることがあります。@c
多くの場合、手動で割り当てる必要のある音符は 1 つだけです。@c
その音符を手動で割り当てると、@c
他の音符は @code{FretBoards} コンテキストにより適切に配置されます。

@cindex fret diagram, adding fingering (フレット ダイアグラムに運指を追加する)
@cindex fingering, adding to fret diagram (フレット ダイアグラムに運指を追加する)

@code{FretBoard} フレット ダイアグラムに運指を追加することができます。

@lilypond[quote, verbatim]
<<
  \new ChordNames {
    \chordmode {
      c1 d:m
    }
  }
  \new FretBoards {
    <c-3 e-2 g c'-1 e'>1
    <d a-2 d'-3 f'-1>1
  }
  \new Staff {
    \clef "treble_8"
    <c e g c' e'>1
    <d a d' f'>1
  }
>>
@end lilypond

@funindex minimumFret

@code{FretBoard} コンテキストの弦とフレットを算出する際に使用される@c
最小フレットを @code{minimumFret} プロパティでセットすることができます。
property.

@lilypond[quote, verbatim]
<<
  \new ChordNames {
    \chordmode {
      d1:m d:m
    }
  }
  \new FretBoards {
    <d a d' f'>1
    \set FretBoards.minimumFret = #5
    <d a d' f'>1
  }
  \new Staff {
    \clef "treble_8"
    <d a d' f'>1
    <d a d' f'>1
  }
>>
@end lilypond

@code{TabStaff} コンテキストと同様に、@c
@code{FretBoards} コンテキストの弦とフレットは
@code{stringTunings} プロパティに依存します。@c
@code{stringTunings} プロパティについての情報は、@c
@ref{Custom tablatures} を参照してください。

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

@predefined
@code{\predefinedFretboardsOff},
@code{\predefinedFretboardsOn}
@endpredefined

@morerefs
記譜法リファレンス:
@ref{Custom tablatures}

コード断片集:
@rlsr{Fretted string instruments}

内部リファレンス:
@rinternals {fret-diagram-interface}

@knownissues
自動フレットボード算出機能は、@c
モノトーン チューニングではない楽器では適切に機能しません。


@node Right-hand fingerings
@unnumberedsubsubsec 右手の運指

@cindex fretted instrument, right-hand fingering (フレットのある楽器での右手の運指)
@cindex fingerings, right-hand, for fretted instrument (フレットのある楽器での右手の運指)
@cindex right-hand fingering, for fretted instrument (フレットのある楽器での右手の運指)

@funindex \rightHandFinger

右手の運指 @var{p-i-m-a} は後に数字が続く @code{\rightHandFinger} を用いて@c
入力する必要があります。

@warning{Scheme 表記で数字を入力する場合、数字の後にくるもの (閉じ括弧 @code{>}
等であっても) の前にスペースを置くことを忘れないで下さい。}

@lilypond[quote,verbatim,fragment]
\clef "treble_8"
c4\rightHandFinger #1
e\rightHandFinger #2
g\rightHandFinger #3
c'\rightHandFinger #4
<c\rightHandFinger #1 e\rightHandFinger #2
 g\rightHandFinger #3 c'\rightHandFinger #4 >1
@end lilypond

入力しやすくするために、@code{\rightHandFinger} を短縮することができます。
例えば、@code{RH} に短縮します:

@example
RH=#rightHandFinger
@end example


@snippets

@cindex placement, right-hand fingering (右手の運指の配置)
@cindex right-hand fingering, placement (右手の運指の配置)
@cindex fingering, right-hand, placement (右手の運指の配置)
@funindex strokeFingerOrientations
@lilypondfile[verbatim,quote,texidoc,doctitle]
{snippets/placement-of-right-hand-fingerings.ly}

@lilypondfile[verbatim,quote,texidoc,doctitle]
{snippets/fingerings,-string-indications,-and-right-hand-fingerings.ly}

@morerefs
コード断片集:
@rlsr{Fretted string instruments}

内部リファレンス:
@rinternals{StrokeFinger}


@node Guitar
@subsection ギター

ギターに関する記譜の問題の大部分は、@c
フレットのある楽器全般のセクションで十分にカバーされています。@c
しかしながら、ここでは 2, 3 の価値のあることをカバーします。@c
歌詞の上にコード指示を配置しただけの歌集タイプのドキュメントを@c
作成したいと望むユーザが時々います。@c
LilyPond は楽譜譜刻プログラムなので、@c
音楽記譜を持たないドキュメントの作成には推奨できません。@c
ワード プロセッサ、テキスト エディタ、@c
経験のあるユーザであれば GuitarTeX のような譜刻プログラムの方が適しています。


@node Indicating position and barring
@unnumberedsubsubsec ポジションとバレーの指示

@cindex indicating position and barring for fretted instrument (フレットのある楽器でのポジションとバレーの指示)
@cindex fretted instrument, indicating position and barring (フレットのある楽器でのポジションとバレーの指示)

以下の例は、楽譜にギターのポジションとバレーの指示を含める方法を示しています。

@lilypond[quote,ragged-right,verbatim,fragment]
\relative {
  \clef "treble_8"
  b,16 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
}
@end lilypond

@morerefs
記譜法リファレンス:
@ref{Text spanners}

コード断片集:
@rlsr{Fretted string instruments},
@rlsr{Expressive marks}


@node Indicating harmonics and dampened notes
@unnumberedsubsubsec ハーモニクスとデッド ノートの指示

@cindex fretted instrument, dampened note (フレットのある楽器のデッド ノート)
@cindex fretted instrument, harmonics (フレットのある楽器のハーモニクス)
@cindex dampened note, on fretted instrument (フレットのある楽器のデッド ノート)
@cindex harmonics, on fretted instrument (フレットのある楽器のハーモニクス)

デッド ノートやハーモニクスを示すための特殊な符頭を使うことができます。@c
通常、ハーモニクスにはテキスト マークアップによる説明も付け加えます。

@lilypond[quote,ragged-right,verbatim]
\relative {
  \clef "treble_8"
  \override NoteHead.style = #'harmonic-mixed
  d'8^\markup { \italic \fontsize #-2 "harm. 12" } <g b>4
}
@end lilypond

デッド ノート (ゴースト ノートとも呼ばれます) が@c
通常の譜とタブ譜でサポートされます:

@lilypond[quote,ragged-right,verbatim]
music = \relative {
  < a\3 \deadNote c\2 a'\1 >4
  < b\3 \deadNote d\2 b'\1 >
  < c\3 \deadNote e\2 c'\1 >
  \deadNotesOn
  \tuplet 3/2 { g8 b e }
  \deadNotesOff
  < a,\3 c\2 e\1 >1
}
\new StaffGroup <<
  \new Staff {
    \clef "treble_8"
    \music
  }
  \new TabStaff {
    \music
  }
>>
@end lilypond

もう 1 つの演奏テクニックに @notation{パーム ミュート}
(特に、エレキ ギターで使用されます) があります。@c
弦を弾く手の平で弦にミュートをかけます (訳者: 手の平＝パーム(palm))。@c
LilyPond は、符頭を三角形に変更することで、@c
パーム ミュートの音符記譜をサポートします。

@c KEEP LY
@lilypond[quote,ragged-right,verbatim]
\new Voice { % 警告: 楽曲の先頭に palmMuteOn がある場合、
             % palmMuteOff を正しく機能させるには Voice を
             % 明示的にインスタンス化する必要があります。
  \relative c, {
    \clef "G_8"
    \palmMuteOn
    e8^\markup { \musicglyph "noteheads.s2do"  = 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
  }
}
@end lilypond

@morerefs
コード断片集:
@rlsr{Fretted string instruments}

記譜法リファレンス:
@ref{Special note heads},
@ref{Note head styles}


@node Indicating power chords
@unnumberedsubsubsec パワー コードの指示

@cindex power chord (パワー コード)
@cindex chord, power (パワー コード)

パワー コードのそのシンボルをコード モードの中、あるいは和音構造として@c
譜刻することができます。五度は通常、他のコード (メジャーあるいは@c
マイナー トライアド) では省略されますが、例外として、これらの@c
コード ネームでは明示されます。

@lilypond[quote,ragged-right,verbatim]
ChordsAndSymbols = {
  \chordmode {
    e,,1:5
    a,,:5.8
    \set TabStaff.restrainOpenStrings = ##t
    \set minimumFret = #8
    c,:5
    f,:5.8
  }
  \set minimumFret = #2
  \set restrainOpenStrings = ##f
  <a, e> <a cis' e'>
  <g d' g'>
}
\score {
  <<
    \new ChordNames {
    \ChordsAndSymbols
    }
    \new Staff {
      \clef "treble_8"
      \ChordsAndSymbols
    }
    \new TabStaff {
      \ChordsAndSymbols
    }
  >>
}
@end lilypond

@morerefs
音楽用語集:
@rglos{power chord}

記譜法リファレンス:
@ref{Extended and altered chords},
@ref{Printing chord names}

コード断片集:
@rlsr{Fretted string instruments}


@need 1500
@node Banjo
@subsection バンジョー


@node Banjo tablatures
@unnumberedsubsubsec バンジョーのタブ譜

@cindex banjo tablature (バンジョーのタブ譜)
@cindex tablature, banjo (バンジョーのタブ譜)

LilyPond は 5 弦バンジョーの基本的なサポートを提供します。@c
5 弦バンジョーのタブ譜を作成するときは、@c
5 番目の弦のフレット番号を正しく取得するために@c
バンジョー タブ譜フォーマット関数を使用してください:

@c due to crazy intervals of banjo music, absolute pitch is recommended

@lilypond[quote,ragged-right,verbatim]
music = {
  g8 d' g'\5 a b g e d' |
  g4 d''8\5 b' a'\2 g'\5 e'\2 d' |
  g4
}

<<
  \new Staff \with { \omit StringNumber }
  { \clef "treble_8"  \music }
  \new TabStaff \with {
    tablatureFormat = #fret-number-tablature-format-banjo
    stringTunings = #banjo-open-g-tuning
  }
  { \music }
>>
@end lilypond

@cindex banjo tuning (バンジョーのチューニング)
@cindex tuning, banjo (バンジョーのチューニング)

@funindex banjo-c-tuning
@funindex banjo-modal-tuning
@funindex banjo-open-d-tuning
@funindex banjo-open-dm-tuning
@funindex four-string-banjo

5 弦バンジョーの一般的なチューニングのいくつかは、あらかじめ定義されています:
@code{banjo-c-tuning} (gCGBD), @code{banjo-modal-tuning} (gDGCD),
@code{banjo-open-d-tuning} (aDF#AD) それに @code{banjo-open-dm-tuning}
(aDFAD) です。

@code{four-string-banjo} 関数を用いて、@c
これらを 4 弦バンジョーのチューニングに変換することができます:

@example
\set TabStaff.stringTunings = #(four-string-banjo banjo-c-tuning)
@end example

@morerefs
インストールされているファイル:
@file{ly/string-tunings-init.ly}

コード断片集:
@rlsr{Fretted string instruments}


@need 1500
@node Lute
@subsection リュート


@node Lute tablatures
@unnumberedsubsubsec リュートのタブ譜

@cindex lute tablature (リュートのタブ譜)
@cindex tablature, lute (リュートのタブ譜)

LilyPond はリュートのタブ譜をサポートします。

低音弦を追加するには、@code{additionalBassString} にピッチをセットします。@c
一番下の線より下に、a, /a, //a, ///a, 4, 5 などのように表示されます。


@code{tablatureFormat} には @code{fret-letter-tablature-format} を@c
使用するべきです。更なるカスタマイズには @code{fretLabels} を使います。

@lilypond[quote,ragged-right,verbatim]
m = { f'4 d' a f d a, g, fis, e, d, c,  \bar "|." }

\score {
  <<
    \new Staff { \clef bass \cadenzaOn  \m }
    \new TabStaff \m
  >>
  \layout {
    \context {
      \Score
      tablatureFormat = #fret-letter-tablature-format
    }
    \context {
      \TabStaff
      stringTunings = \stringTuning <a, d f a d' f'>
      additionalBassStrings = \stringTuning <c, d, e, fis, g,>
      fretLabels = #'("a" "b" "r" "d" "e" "f" "g" "h" "i" "k")
    }
  }
}
@end lilypond

@cindex lute tuning (リュートのチューニング)
@cindex tuning, lute (リュートのチューニング)

@knownissues
@code{FretBoards} を @code{additionalBassStrings} と同時に使うことは@c
サポートしておらず、期待に沿わない結果となります。
