LilyPond 記譜法リファレンス: 2.7.2 和音を表示する

### 2.7.2 和音を表示する

譜に音符を表示させるという標準の表示に加えて、コード ネームを表示させることができます。

#### コード ネームを譜刻する

コード ネームは `ChordNames` コンテキストに譜刻されます:

>     \new ChordNames {
>       \chordmode {
>         c2 f4. g8
>       }
>     }

和音は同時進行する音符としてか、和音モードを使用することで入力することができます。転回や低音の追加が無い限り入力モードに関係なく、和音と同じコード ネームが表示されます:

>     chordmusic = \relative {
>       <c' e g>2 <f bes c>
>       <f c' e g>1
>       \chordmode {
>         c2 f:sus4 c1:/f
>       }
>     }
>     <<
>       \new ChordNames {
>         \chordmusic
>       }
>       {
>         \chordmusic
>       }
>     >>

`ChordNames` コンテキストに休符が渡されると、`noChordSymbol` マークアップが表示されます。

>     <<
>       \new ChordNames \chordmode {
>         c1
>         r1
>         g1
>         c1
>       }
>       \chordmode {
>         c1
>         r1
>         g1
>         c1
>       }
>     >>

`\chords { … }` は `\new ChordNames \chordmode { … }` の短縮形です。

>     \chords {
>       c2 f4.:m g8:maj7
>     }

>     \new ChordNames {
>       \chordmode {
>         c2 f4.:m g8:maj7
>       }
>     }

#### Selected Snippets

#### コード ネームを変更時のみ表示する

デフォルトでは、入力されたすべてのコードが出力されます。この動作を変更して、コード ネームが行頭とコード変更時にのみ表示されるようにすることができます。

>     harmonies = \chordmode {
>       c1:m c:m \break c:m c:m d
>     }

>     <<
>       \new ChordNames {
>         \set chordChanges = ##t
>         \harmonies
>       }
>       \new Staff {
>         \relative c' { \harmonies }
>       }
>     >>

#### シンプル リード シート

コード ネーム、メロディ、歌詞をまとめるとリード シートとなります:

>     <<
>       \chords { c2 g:sus4 f e }
>       \new Staff \relative c'' {
>         a4 e c8 e r4
>         b2 c4( d)
>       }
>       \addlyrics { One day this shall be free __ }
>     >>

#### 参照

音楽用語集: chord

記譜法リファレンス: 音楽を並列に記述する

コード断片集: Chords

内部リファレンス: ChordNames, ChordName, Chord_name_engraver, Volta_engraver, Bar_engraver

#### 既知の問題と警告

同時進行する音として和音を入力している場合、転回や低音の追加を含む和音のコード ネームは正しく表示されません。

#### コード ネームをカスタマイズする

和音の命名規則は 1 つではありません。流儀が異なれば、同じ和音に対して異なるコード ネームを使います。コード ネームで表示される記号にも違いがあります。コード ネームで表示される名前と記号をカスタマイズすることができます。

基本となるコード ネーム命名規則はジャズ音楽用のものです。これは Klaus Ignatzek によって提唱されたものです ( Literature list を参照してください)。(他のコード ネーム命名規則は Scheme 関数で実装することができます。 コード断片集の Chords にある “Chord names alternative” に例があります。) 一般的なジャズ音楽用のコード表記のリストは、コード ネーム表 にあります。

デフォルトの命名規則は、いくつかの方法によって容易に変更することができます。まず、根音に対して異なる言語を使用するために、 `\germanChords`, `\semiGermanChords`, `\italianChords`, `\frenchChords` の定義済みコマンドを使用できます:

ドイツ歌集では短和音を接尾辞 m を伴わない小文字で記述する場合があります。これは `chordNameLowercaseMinor` プロパティを設定することで実現できます:

>     \chords {
>       \set chordNameLowercaseMinor = ##t
>       c2 d:m e:m f
>     }

コード ネームの表示を以下のプロパティを通じて調整することもできます。

`chordRootNamer`

  通常、コード ネームは根音の文字にオプションの変化を付けて表示されます。この関数がピッチから文字に変換します。新しい関数をこのプロパティにセットすることで特殊な音符名 (例えば、B コードを表すドイツ語の ‘H’) を作り出すことができます。

`majorSevenSymbol`

  このプロパティは `chordRootNamer` の出力に続けて長七和音を示すために使用されるマークアップ オブジェクトを保持します。あらかじめ定義されている選択肢は `whiteTriangleMarkup` と `blackTriangleMarkup` です。

`additionalPitchPrefix`

  コード ネームが追加のピッチを保持している場合、追加ピッチの前にテキストを付けることができます。見た目が雑然となることを避けるため、デフォルトでは追加ピッチの前にテキストは付きません。しかしながら、追加ピッチが少数の場合はテキストを付けると効果的です。

  >     \new ChordNames {
  >       <c e g d'>    % add9
  >       \set additionalPitchPrefix = "add"
  >       <c e g d'>    % add9
  >     }

`chordNoteNamer`

  コード ネームが根音以外の追加ピッチを保持している場合 (例えば追加の低音)、この関数が追加ピッチを譜刻するのにを用いられます。デフォルトでは、ピッチは `chordRootNamer` を用いて譜刻されます。`chordNoteNamer` にカスタマイズした関数をセットすることで、この振る舞いを変えることができます。例えば、低音を小文字で譜刻させることができます。

`chordNameSeparator`

  通常、コード ネームはパート毎に小さなスペースで区切られます。`chordNameSeparator` を設定することにより、区切りをお望みのマークアップに変更することができます。これはコード ネームと低音名の間の区切りには影響を与えません – この区切りをカスタマイズする場合は、`slashChordSeparator` を設定します。

  >     \chords {
  >       c4:7.9- c:7.9-/g
  >       \set chordNameSeparator = \markup { "/" }
  >       \break
  >       c4:7.9- c:7.9-/g
  >     }

`slashChordSeparator`

  和音に通常の根音とは異なる低音を持たせることができます。これは “転回” と呼ばれ、デフォルトの記譜法では主和音と低音符の間をシュラッシュで区切るためスラッシュ “スラッシュ コード” とも呼ばれます。`slashChordSeparator` のデフォルト値はスラッシュですが、お望みのマークアップに変更することができます。

  >     \chords {
  >       c4:7.9- c:7.9-/g
  >       \set slashChordSeparator = \markup { " over " }
  >       \break
  >       c4:7.9- c:7.9-/g
  >     }

`chordNameExceptions`

  このプロパティはペアのリストです。各ペアの最初の要素は和音の中に存在する音を指定するピッチのセットです。次の要素は、最初の要素で指定された和音のコード ネームを作り出すために、`chordRootNamer` の出力の後に記譜されるマークアップです。

`minorChordModifier`

  短和音は和音の根音の右側に接尾辞 ‘m’ を配置することによって記述されることが多いです。しかしながら、マイナス記号等の他の接尾辞を使う場合もあります。

  >     \chords {
  >       c4:min f:min7
  >       \set minorChordModifier = \markup { "-" }
  >       \break
  >       c4:min f:min7
  >     }

`chordPrefixSpacer`

  通常、`minorChordModifier` で指定される短和音の修飾子は和音の根音のすぐ右に譜刻されます。`chordPrefixSpacer` を設定することにより、根音と修飾子の間にスペースを置くことができます。根音が変化した場合、このスペースは配置されません。

#### 定義済みコマンド

`\whiteTriangleMarkup`, `\blackTriangleMarkup`, `\germanChords`, `\semiGermanChords`, `\italianChords`, `\frenchChords`

#### Selected Snippets

#### コード ネームの例外

特殊なコードに対して専用の表記をするためのリストを保持するのが `chordNameExceptions` プロパティです。

>     % modify maj9 and 6(add9)
>     % Exception music is chords with markups
>     chExceptionMusic = {
>       <c e g b d'>1-\markup { \super "maj9" }
>       <c e g a d'>1-\markup { \super "6(add9)" }
>     }

>     % Convert music to list and prepend to existing exceptions.
>     chExceptions = #(append
>       (sequential-music-to-chord-exceptions chExceptionMusic #t)
>       ignatzekExceptions)

>     theMusic = \chordmode {
>       g1:maj9 g1:6.9
>       \set chordNameExceptions = #chExceptions
>       g1:maj9 g1:6.9
>     }

>     \layout {
>       ragged-right = ##t
>     }

>     <<
>        \new ChordNames \theMusic
>        \new Voice \theMusic
>     >>

#### メジャー セブンスのコード ネーム

メジャー セブンスのレイアウトは `majorSevenSymbol` で調整することができます。

>     \chords {
>       c:7+
>       \set majorSevenSymbol = \markup { j7 }
>       c:7+
>     }

#### ChordNames コンテキストに小節線を追加する

`ChordNames` コンテキストに小節線を追加するには、`Bar_engraver` を追加します。

>     \new ChordNames \with {
>       \override BarLine.bar-extent = #'(-2 . 2)
>       \consists "Bar_engraver"
>     }

>     \chordmode {
>       f1:maj7 f:7 bes:7
>     }

#### 繰り返し括弧をコード ネームの下に表示する

`Volta_engraver` を対応する譜に付け加えることで、繰り返し括弧をコード ネームの下に表示できます。

>     \score {
>       <<
>         \chords {
>           c1
>           c1
>         }
>         \new Staff \with {
>           \consists "Volta_engraver"
>         }
>         {
>           \repeat volta 2 { c'1 }
>           \alternative { c' }
>         }
>       >>
>       \layout {
>         \context {
>           \Score
>           \remove "Volta_engraver"
>         }
>       }
>     }

#### コード ネームの区切り記号を変更する

コード ネームの異なる部分を区切る記号は、任意のマークアップに設定することができます。

>     \chords {
>       c:7sus4
>       \set chordNameSeparator
>         = \markup { \typewriter | }
>       c:7sus4
>     }

#### 参照

記譜法リファレンス: コード ネーム表, 一般的な和音修飾子

楽譜譜刻の自動化についてのエッセー: Literature list

インストールされているファイル: ‘`scm/chords-ignatzek-names.scm`’, ‘`scm/chord-entry.scm`’, ‘`ly/chord-modifiers-init.ly`’

コード断片集: Chords

#### 既知の問題と警告

コード ネームは、和音に含まれるピッチと `\chordmode` で入力される和音構造についての情報の両方から決定されます。和音の入力手段として同時進行するピッチを用いた場合、転回や低音により予期しないコード ネームとなります。

>     myChords = \relative c' {
>       \chordmode { c1 c/g c/f }
>       <c e g>1 <g c e> <f c' e g>
>     }
>     <<
>       \new ChordNames { \myChords }
>       \new Staff { \myChords }
>     >>

#### LilyPond — 記譜法リファレンス v2.24.4 (安定版).

- 2. 専門的な記譜法
- 3. 入出力全般
- 4. スペースの問題
- 5. デフォルトを変更する
- A. 付表
- B. カンニング ペーパー
- C. GNU Free Documentation License
- D. LilyPond コマンド インデックス
- E. LilyPond インデックス