1.6.3 パートを記述する

このセクションでは、テンポ指示と楽器名を楽譜に挿入する方法について説明します。他のボイスを引用する方法と、演奏指示音符を譜刻する方法についても記述します。


楽器名

Staff, PianoStaff, StaffGroup, GrandStaff それに ChoirStaff コンテキストの中にある譜の左側に、楽器名を譜刻することができます。instrumentName の値が最初の行の譜に対して使用され、shortInstrumentName の値がそれに続くすべての行の譜に対して使用されます。

\new Staff \with {
  instrumentName = #"Violin "
  shortInstrumentName = #"Vln. "
}
{ c4.. g'16 c4.. g'16 \break | c1 }

[image of music]

\markup を用いて、より複雑な楽器名を作成することができます:

\new Staff \with {
  instrumentName = \markup {
    \column { "Clarinetti"
      \line { "in B" \smaller \flat }
    }
  }
}
{ c4 c,16 d e f g2 }

[image of music]

2 つ以上の譜コンテキストがグループ化されている場合、デフォルトでは楽器名と短縮楽器名は中央揃えされます。複数行にわたる楽器名を中央揃えするには、\center-column を用いる必要があります:

<<
  \new Staff \with {
    instrumentName = #"Flute"
  }
  { f2 g4 f }
  \new Staff \with {
    instrumentName = \markup {
      \center-column { "Clarinet"
        \line { "in B" \smaller \flat }
      }
    }
  }
  { c4 b c2 }
>>

[image of music]

しかしながら、楽器名が長い場合、indent 設定と short-indent 設定の値を増やさない限り、譜グループの中にある楽器名は中央揃えされません。これらの設定についての詳細は シフトとインデントのための \paper 変数 を参照してください。

\relative c'' {
  <<
    \new Staff \with {
      instrumentName = #"Alto Flute in G"
      shortInstrumentName = #"Flt."
    }
    {
      f2 g4 f \break
      g4 f g2
    }
    \new Staff \with {
      instrumentName = #"Clarinet"
      shortInstrumentName = #"Clar."
    }
    {
      c,4 b c2 \break
      c2 b4 c
    }
  >>
}

\layout {
  indent = 3.0\cm
  short-indent = 1.5\cm
}

[image of music]

楽器名を他のコンテキスト (ChordNamesFiguredBass など) に付け加えるには、 そのコンテキストに Instrument_name_engraver を追加する必要があります。詳細は コンテキストのプラグインを変更する を参照してください。

楽曲の途中で shortInstrumentName を変更することもできます。しかしながら、instrumentName は最初のインスタンスが譜刻され、楽曲の途中での変更は無視されます:

\new Staff \with {
  instrumentName = #"Flute"
  shortInstrumentName = #"Flt."
}
{
  c1 c c c \break
  c1 c c c \break
  \set Staff.instrumentName = #"Clarinet"
  \set Staff.shortInstrumentName = #"Clt."
  c1 c c c \break
  c1 c c c \break
}

[image of music]

楽器の 切り替え が必要な場合、切り替えのために必要とされる変更の詳細なリストを作成するために、\addInstrumentDefinition\instrumentSwitch と組み合わせて使用することがあります。\addInstrumentDefinition コマンドは 2 つの引数をとります: 識別文字列と、楽器で使用されるコンテキスト プロパティと値の連想リストです。このコマンドは最上位のスコープに配置する必要があります。\instrumentSwitch は音楽表記の中で使用され、楽器の切り替えを宣言します:

\addInstrumentDefinition #"contrabassoon"
  #`((instrumentTransposition . ,(ly:make-pitch -1 0 0))
     (shortInstrumentName . "Cbsn.")
     (clefGlyph . "clefs.F")
     (middleCPosition . 6)
     (clefPosition . 2)
     (instrumentCueName . ,(make-bold-markup "cbsn."))
     (midiInstrument . "bassoon"))

\new Staff \with {
  instrumentName = #"Bassoon"
}
\relative c' {
  \clef tenor
  \compressFullBarRests
  c2 g'
  R1*16
  \instrumentSwitch "contrabassoon"
  c,,2 g \break
  c,1 ~ | c1
}

[image of music]

参照

記譜法リファレンス: シフトとインデントのための \paper 変数, コンテキストのプラグインを変更する

コード断片集: Staff notation

内部リファレンス: InstrumentName, PianoStaff, Staff


他のボイスを引用する

あるボイスが他のボイスと同じ音符を演奏することはごく一般的なことです。例えば、第 1 バイオリンと第2バイオリンがあるパッセージで同じフレーズを演奏することがあります。これは、ボイスに他のボイスを 引用 させることで実現でき、第 2 ボイスの音楽全体を再入力する必要はありません。

最上位レベルのスコープで用いる \addQuote コマンドは一部を引用することができる音楽を定義します。

\quoteDuring コマンドを用いて、引用を開始する位置を示します。このコマンドは 2 つの引数をとります: \addQuote で定義した引用するボイスの名前と、引用部分の演奏時間を示す音楽表記です。

fluteNotes = \relative c'' {
  a4 gis g gis | b4^"quoted" r8 ais\p a4( f)
}

oboeNotes = \relative c'' {
  c4 cis c b \quoteDuring #"flute" { s1 }
}

\addQuote "flute" { \fluteNotes }

\score {
  <<
    \new Staff \with { instrumentName = "Flute" } \fluteNotes
    \new Staff \with { instrumentName = "Oboe" } \oboeNotes
  >>
}

[image of music]

\quoteDuring で使用される音楽表記が空白休符や複数小節休符ではなく音符を保持している場合、引用は多声となり、予期しない結果となる可能性があります。

fluteNotes = \relative c'' {
  a4 gis g gis | b4^"quoted" r8 ais\p a4( f)
}

oboeNotes = \relative c'' {
  c4 cis c b \quoteDuring #"flute" { e4 r8 ais b4 a }
}

\addQuote "flute" { \fluteNotes }

\score {
  <<
    \new Staff \with { instrumentName = "Flute" } \fluteNotes
    \new Staff \with { instrumentName = "Oboe" } \oboeNotes
  >>
}

[image of music]

\quoteDuring コマンドは引用されるパートと引用するパート両方の \transposition を使用して、引用されるパートと同じ響きのピッチに変換して、引用するパートの音符を作り出します。

clarinetNotes = \relative c'' {
  \transposition bes
  \key d \major
  b4 ais a ais | cis4^"quoted" r8 bis\p b4( f)
}

oboeNotes = \relative c'' {
  c4 cis c b \quoteDuring #"clarinet" { s1 }
}

\addQuote "clarinet" { \clarinetNotes }


\score {
  <<
    \new Staff \with { instrumentName = "Clarinet" } \clarinetNotes
    \new Staff \with { instrumentName = "Oboe" } \oboeNotes
  >>
}

[image of music]

デフォルトでは引用される音楽はすべてのアーティキュレーション、強弱記号、マークアップ等を含んでいます。quotedEventTypes コンテキスト プロパティを用いることで、引用される音楽から引用するオブジェクトを選択することが可能です。

fluteNotes = \relative c'' {
  a2 g2 |
  b4\<^"quoted" r8 ais a4\f( c->)
 }

oboeNotes = \relative c'' {
  c2. b4 |
  \quoteDuring #"flute" { s1 }
}

\addQuote "flute" { \fluteNotes }

\score {
  <<
    \set Score.quotedEventTypes = #'(note-event articulation-event
                                     crescendo-event rest-event
                                     slur-event dynamic-event)
    \new Staff \with { instrumentName = "Flute" } \fluteNotes
    \new Staff \with { instrumentName = "Oboe" } \oboeNotes
  >>
}

[image of music]

引用にもタグを付けることができます。タグを使用する を参照してください。

参照

記譜法リファレンス: 楽器の移調, タグを使用する

コード断片集: Staff notation

内部リファレンス: + Music classes, QuoteMusic, Voice

既知の問題と警告

\addQuote 中にある最初の Voice の内容だけが引用されます。そのため、音楽表記が \new\context Voice を含んでいても、それらの内容は引用されません。装飾小音符の引用はサポートされておらず、LilyPond がクラッシュする可能性さえあります。 ネストされた連符を引用しようとしてもうまくいきません。


合図音符をフォーマットする

合図音符をフォーマットする最も簡単な方法は、パートの中で明示的に CueVoice コンテキストを作成することです。

R1
<<
  { e2\rest r4. e8 }
  \new CueVoice {
    \stemUp d'8^"flute" c d e fis2
  }
>>
d,4 r a r

[image of music]

音部記号の変更が必要で、合図音符に適切なサイズの音部記号を譜刻する場合、\cueClef コマンドは明示的な CueVoice コンテキストと共に用いられます。その後、\cueClefUnset コマンドを用いて、オリジナルの音部記号 – 再度、適切なサイズにされた – に戻すことができます。

\clef "bass"
R1
<<
  { e2\rest r4. \cueClefUnset e,8 }
  \new CueVoice {
    \cueClef "treble" \stemUp d''8^"flute" c d e fis2
  }
>>
d,,4 r a r

[image of music]

必要があれば、CueVoice 無しで \cueClef コマンドと \cueClefUnset コマンドを用いることもできます。

\clef "bass"
R1
\cueClef "treble"
d'8^"flute" c d e fis2
\cueClefUnset
d,,4 r a r

[image of music]

もっと複雑な合図音符 – 例えば、移調を含んでいる、複数の音楽ソースからの合図音符を挿入する – の場合、\cueDuring コマンドや \cueDuringWithClef コマンドを用いることができます。これらのコマンドは \quoteDuring を特殊化したものです。\quoteDuring については、前のセクションの 他のボイスを引用する を参照してください。

構文は以下の通りです:

\cueDuring #quotename #direction #music

\cueDuringWithClef #quotename #direction #clef #music

quotename に対応する小節の音楽は CueVoice コンテキストとして追加されて music と同時進行して、多声になります。direction は引数 UP または DOWN を取り、それぞれ第 1 及び第 2 ボイスと調和して、合図音符が他のボイスに対してどのように譜刻されるかを決定します。

このコマンドは partname の該当する小節から音符と休符だけを CueVoice にコピーします。CueVoice は暗黙的に作成されて music と同時進行し、結果として多声になります。引数 voice は合図音符を第 1 ボイスとして記譜すべきか、第 2 ボイスとして記譜すべきかを決定します。UP は第 1 ボイスに相当し、DOWN は第 2 ボイスに相当します。

fluteNotes = \relative c'' {
  r2. c4 | d8 c d e fis2 | g2 d |
}

oboeNotes = \relative c'' {
  R1
  \new CueVoice { \set instrumentCueName = "flute" }
  \cueDuring #"flute" #UP { R1 }
  g2 c,
}

\addQuote "flute" { \fluteNotes }

\new Staff {
  \oboeNotes
}

[image of music]

instrumentCueName プロパティを設定することによって、\cueDuring で音楽のどの側面を引用するか調節することができます。このプロパティのデフォルト値は '(note-event rest-event tie-event beam-event tuplet-span-event) であり、音符、休符、タイ、連桁、それに連符だけが引用され、アーティキュレーション、強弱記号、マークアップ等は引用されません。

Note: 以下の例のように VoicecueDuring で始まる場合、Voice を明示的に宣言する必要があります。そうしないと音楽表記全体が CueVoice コンテキストに属してしまいます。

oboeNotes = \relative c'' {
  r2 r8 d16(\f f e g f a)
  g8 g16 g g2.
}
\addQuote "oboe" { \oboeNotes }

\new Voice \relative c'' {
  \set Score.quotedCueEventTypes = #'(note-event rest-event tie-event
                                      beam-event tuplet-span-event
                                      dynamic-event slur-event)
  \cueDuring #"oboe" #UP { R1 }
  g2 c,
}

[image of music]

一時的な CueVoice コンテキストの中の instrumentCueName プロパティを設定することで、合図を演奏する楽器の名前を表示させることができます。instrumentCueName の位置とスタイルは \instrumentSwitch オブジェクトによって制御されます – 楽器名 を参照してください。合図音符が音符記号の変更を必要とする場合、手動で変更することができますが、合図音符が終わったところで手動で元の音部記号に戻す必要がありmす。

fluteNotes = \relative c'' {
  r2. c4 d8 c d e fis2 g2 d2
}

bassoonNotes = \relative c {
  \clef bass
  R1
  \clef treble
  \new CueVoice { \set instrumentCueName = "flute" }
  \cueDuring #"flute" #UP { R1 }
  \clef bass
  g4. b8 d2
}

\addQuote "flute" { \fluteNotes }

\new Staff {
  \bassoonNotes
}

[image of music]

あるいはまた、代わりに \cueDuringWithClef 関数を用いることができます。このコマンドは追加の引数で音部の変更を指定して、合図音符に音部記号を譜刻しますが、合図音部が終了したところで元の音部記号を自動的に譜刻します。

fluteNotes = \relative c'' {
  r2. c4 d8 c d e fis2 g2 d2
}

bassoonNotes = \relative c {
  \clef bass
  R1
  \new CueVoice { \set instrumentCueName = "flute" }
  \cueDuringWithClef #"flute" #UP #"treble" { R1 }
  g4. b8 d2
}

\addQuote "flute" { \fluteNotes }

\new Staff {
  \bassoonNotes
}

[image of music]

\quoteDuring と同様に、\cueDuring は楽器の移調を考慮します。合図音符は合図を受け取る楽器のピッチで作り出され、ソース楽器の同じ響きのピッチになります。

合図音符を移調させるには \transposedCueDuring を使用します。このコマンドはコンサート ミドル C の音を表すピッチを (絶対モードで) 指定する追加の引数を取ります。これは、全く別の場所で登録された楽器から合図を取る場合に有用です。

piccoloNotes = \relative c''' {
  \clef "treble^8"
  R1
  c8 c c e g2
  c4 g g2
}

bassClarinetNotes = \relative c' {
  \key d \major
  \transposition bes,
  d4 r a r
  \transposedCueDuring #"piccolo" #UP d { R1 }
  d4 r a r
}

\addQuote "piccolo" { \piccoloNotes }

<<
  \new Staff \piccoloNotes
  \new Staff \bassClarinetNotes
>>

[image of music]

\killCues コマンドは音楽表記から合図音符を削除します。これにより、同じ音楽表記を使って合図を持つ楽器パートと楽譜を作り出すことが可能です。\killCues コマンドは \cueDuring によって引用された音符とイベントだけを削除します。合図に関連する他のマークアップ – 音部変更と引用元の楽器を識別するラベルなど – にはタグを付けて楽譜に含めるかどうかを選択することができます。タグを使用する を参照してください。

fluteNotes = \relative c'' {
  r2. c4 d8 c d e fis2 g2 d2
}

bassoonNotes = \relative c {
  \clef bass
  R1
  \tag #'part {
    \clef treble
  \new CueVoice { \set instrumentCueName = "flute" }
  }
  \cueDuring #"flute" #UP { R1 }
  \tag #'part \clef bass
  g4. b8 d2
}

\addQuote "flute" { \fluteNotes }

\new Staff {
  \bassoonNotes
}

\new StaffGroup <<
  \new Staff {
    \fluteNotes
  }
  \new Staff {
    \removeWithTag #'part { \killCues { \bassoonNotes } }
  }
>>

[image of music]

あるいはまた、音部変更や楽器ラベルを再利用するために、\addInstrumentDefinition を用いて楽器の定義に含めることができます。\addInstrumentDefinition についての説明は 楽器名 を参照してください。

参照

記譜法リファレンス: 他のボイスを引用する, 楽器の移調, 楽器名, 音部記号, 合図, タグを使用する

コード断片集: Staff notation

内部リファレンス: CueVoice, Voice

既知の問題と警告

\cueDuring を使用した場合、Voice コンテキストと CueVoice コンテキストの間で休符の衝突が発生する可能性があります。\cueDuringWithClef\transposedCueDuring を使用する場合、追加で必要となる引数は引用と向きの後に配置する必要があります。


他の言語: English, deutsch, español, français, italiano
About automatic language selection.

LilyPond — 記譜法リファレンス v2.17.97 (開発版).