[ << 音楽記譜法 ] | [トップ][目次][インデックス][ ? ] | [ Specialist notation >> ] | ||
[ < 譜を隠す ] | [ 上へ : 譜の記譜法 ] | [ 楽器名 > ] |
1.6.3 パートを記述する
このセクションでは、テンポ指示と楽器名を楽譜に挿入する方法について説明します。他のボイスを引用する方法と、演奏指示音符を譜刻する方法についても記述します。
楽器名 | ||
他のボイスを引用する | ||
合図音符をフォーマットする |
[ << 音楽記譜法 ] | [トップ][目次][インデックス][ ? ] | [ Specialist notation >> ] | ||
[ < パートを記述する ] | [ 上へ : パートを記述する ] | [ 他のボイスを引用する > ] |
楽器名
Staff
, PianoStaff
, StaffGroup
, GrandStaff
それに ChoirStaff
コンテキストの中にある譜の左側に、楽器名を譜刻することができます。instrumentName
の値が最初の行の譜に対して使用され、shortInstrumentName
の値がそれに続くすべての行の譜に対して使用されます。
\set Staff.instrumentName = #"Violin " \set Staff.shortInstrumentName = #"Vln " c4.. g'16 c4.. g'16 \break c1
マークアップ モードを用いて、より複雑な楽器名を作成することができます:
\set Staff.instrumentName = \markup { \column { "Clarinetti" \line { "in B" \smaller \flat } } } c4 c,16 d e f g2
2 つ以上の譜コンテキストが一緒になってグループ化されている場合、デフォルトでは楽器名と短縮楽器名は中央揃えされます。複数行にわたる楽器名を中央揃えするには、\center-column
を用いる必要があります:
<< \new Staff { \set Staff.instrumentName = #"Flute" f2 g4 f } \new Staff { \set Staff.instrumentName = \markup \center-column { Clarinet \line { "in B" \smaller \flat } } c4 b c2 } >>
しかしながら、楽器名が長い場合、indent
設定と short-indent
設定の値を増やさない限り、譜グループの中にある楽器名は中央揃えされません。これらの設定についての詳細は \paper
variables for shifts and indents
を参照してください。
\layout { indent = 3.0\cm short-indent = 1.5\cm } \relative c'' << \new Staff { \set Staff.instrumentName = #"Alto Flute in G" \set Staff.shortInstrumentName = #"Fl." f2 g4 f \break g4 f g2 } \new Staff { \set Staff.instrumentName = #"Clarinet" \set Staff.shortInstrumentName = #"Clar." c,4 b c2 \break c2 b4 c } >>
楽器名を他のコンテキスト (ChordNames
や FiguredBass
など)
に付け加えるには、
そのコンテキストに Instrument_name_engraver
を追加する必要があります。詳細は Modifying context plug-ins を参照してください。
楽曲の途中で楽器名を変更することもできます。しかしながら、instrumentName
は最初の行の譜にしか表示されないため、楽曲の途中では表示されないことを思い出してください:
\set Staff.instrumentName = #"First" \set Staff.shortInstrumentName = #"one" c1 c c c \break c1 c c c \break \set Staff.instrumentName = #"Second" \set Staff.shortInstrumentName = #"two" c1 c c c \break c1 c c c \break
楽器の 切り替え が必要な場合、切り替えのために必要とされる変更の詳細なリストを作成するために、\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 }
参照
記譜法リファレンス:
\paper
variables for shifts and indents,
Modifying context plug-ins
コード断片集: Staff notation
内部リファレンス: InstrumentName, PianoStaff, Staff
[ << 音楽記譜法 ] | [トップ][目次][インデックス][ ? ] | [ Specialist notation >> ] | ||
[ < 楽器名 ] | [ 上へ : パートを記述する ] | [ 合図音符をフォーマットする > ] |
他のボイスを引用する
あるボイスが他のボイスの音楽の一部を兼ねることはごく一般的なことです。例えば、第 1 バイオリンと第2バイオリンは、音楽のあるパッセージの間、同じ音符を演奏することがあるかもしれません。LilyPond では、あるボイスに他のボイスを 引用 させることによって実現されます。再入力する必要はありません。
パートを引用するには、\addQuote
コマンドを用いて引用する部分を初期化する必要があります。このコマンドは最上位のスコープで使用しなければなりません。1 番目の引数は識別文字列であり、2 番目の引数は音楽表記です:
flute = \relative c'' { a4 gis g gis } \addQuote "flute" { \flute }
\quoteDuring
コマンドを用いて、引用を開始する位置を示します。このコマンドは 2 つの引数をとります:
\addQuote
で定義した引用するボイスの名前と、引用部分の演奏時間を示す音楽表記
– 通常、これは空白休符か複数小節にわたる休符 – です。引用されるボイスの音楽から該当部分の音楽
(アーティキュレーション、強弱記号、マークアップ等を含みます)
が音楽表記に挿入されます:
flute = \relative c'' { a4 gis g->\f gis^\markup{quoted} } \addQuote "flute" { \flute } \relative c' { c4 cis \quoteDuring #"flute" { s2 } }
\quoteDuring
で使用される音楽表記に空白休符や複数小節休符以外のものが含まれている場合、多声部になります。これは望まない結果であることがしばしばあります:
flute = \relative c'' { a4 gis g->\f gis^\markup{quoted} } \addQuote "flute" { \flute } \relative c' { c4 cis \quoteDuring #"flute" { s2 } }
\transposition
が使用される場合、引用機能はソースとターゲット両方の楽器の楽器移調設定を考慮します。\transposition
についての詳細は 楽器の移調 を参照してください。
clarinet = \relative c'' { \transposition bes a4 gis g gis } \addQuote "clarinet" { \clarinet } \relative c' { c4 cis \quoteDuring #"clarinet" { s2 } }
引用部分に固有名のタグを付けて、引用部分をさまざまな形で処理することができます。この手法についての詳細は Using tags を参照してください。
quotedEventTypes
プロパティを変更することで、オリジナル ボイスからどのオブジェクトを引用するか調節することもできます。デフォルトで、このプロパティの値は #'(StreamEvent)
であり、すべてを引用します。例えば、この値を #'(note-event rest-event tie-event)
に変更すると、LilyPond は音符、休符それにタイを引用し、アーティキュレーション、マーックアップあるいは強弱記号は引用しません。
clarinet = \relative c'' { a4 gis g->\f gis^\markup{quoted} } \addQuote "clarinet" { \clarinet } \relative c' { \set Score.quotedEventTypes = #'(note-event rest-event tie-event) c4 cis \quoteDuring #"clarinet" { s2 } }
Selected Snippets
Quoting another voice with transposition
Quotations take into account the transposition of both source and
target. In this example, all instruments play sounding middle C; the
target is an instrument in F. The target part may be transposed using
\transpose
. In this case, all the pitches (including the
quoted ones) are transposed.
\addQuote clarinet { \transposition bes \repeat unfold 8 { d'16 d' d'8 } } \addQuote sax { \transposition es' \repeat unfold 16 { a8 } } quoteTest = { % french horn \transposition f g'4 << \quoteDuring #"clarinet" { \skip 4 } s4^"clar." >> << \quoteDuring #"sax" { \skip 4 } s4^"sax." >> g'4 } { \set Staff.instrumentName = \markup { \center-column { Horn \line { in F } } } \quoteTest \transpose c' d' << \quoteTest s4_"up a tone" >> }
Quoting another voice
The quotedEventTypes
property determines the music event types
which should be quoted. The default value is (note-event
rest-event tie-event beam-event tuplet-span-event)
, which means that
only the notes, rests, ties, beams and tuplets of the quoted voice will
appear in the \quoteDuring
expression. In the following
example, a 16th rest is not quoted since rest-event
is not in
quotedEventTypes
.
For a list of event types, consult the “Music classes” section of the Internals Reference.
quoteMe = \relative c' { fis4 r16 a8.-> b4\ff c } \addQuote quoteMe \quoteMe original = \relative c'' { c8 d s2 \once \override NoteColumn #'ignore-collision = ##t es8 gis8 } << \new Staff { \set Staff.instrumentName = #"quoteMe" \quoteMe } \new Staff { \set Staff.instrumentName = #"orig" \original } \new Staff \relative c'' << \set Staff.instrumentName = #"orig+quote" \set Staff.quotedEventTypes = #'(note-event articulation-event) \original \new Voice { s4 \set fontSize = #-4 \override Stem #'length-fraction = #(magstep -4) \quoteDuring #"quoteMe" { \skip 2. } } >> >>
参照
記譜法リファレンス: 楽器の移調, Using tags
コード断片集: Staff notation
内部リファレンス: QuoteMusic, Voice
既知の問題と警告
\addQuote
中にある最初の Voice
の内容だけが引用されます。そのため、music
には他の Voice に切り替わる \new
や
\context Voice
を含めることはできません。
装飾小音符を引用しようとしてもうまくいかず、LilyPond がクラッシュする可能性さえあります。
ネストされた連符を引用しようとしてもうまくいきません。
以前のバージョンの LilyPond (2.11 よりも前) では、addQuote
はすべて小文字 – addquote
– で記述されていました。
[ << 音楽記譜法 ] | [トップ][目次][インデックス][ ? ] | [ Specialist notation >> ] | ||
[ < 他のボイスを引用する ] | [ 上へ : パートを記述する ] | [ 編集者の注釈 > ] |
合図音符をフォーマットする
前のセクションでは、引用を作成する方法について説明しました。\cueDuring
コマンドは \quoteDuring
コマンドのより特殊な形であり、あるパートに合図音符を挿入する場合に有用です。構文は以下の通りです:
\cueDuring #partname #voice music
このコマンドは partname
の該当する小節から音符と休符だけを
CueVoice
にコピーします。CueVoice
は暗黙的に作成されて music
と同時進行し、結果として多声になります。引数 voice
は合図音符を第 1 ボイスとして記譜すべきか、第 2 ボイスとして記譜すべきかを決定します。UP
は第 1 ボイスに相当し、DOWN
は第 2 ボイスに相当します。
oboe = \relative c'' { r2 r8 d16(\f f e g f a) g8 g16 g g2. } \addQuote "oboe" { \oboe } \new Voice \relative c'' { \cueDuring #"oboe" #UP { R1 } g2 c, }
上の例で、Voice
コンテキストは明示的に宣言されている必要があります。さもなければ、音楽表記全体が CueVoice
コンテキストに属してしまいます。
instrumentCueName
プロパティを設定することによって、\cueDuring
で音楽のどの側面を引用するか調節することができます。このプロパティのデフォルト値は #'(note-event rest-event
tie-event beam-event tuplet-span-event)
であり、音符、休符、タイ、連桁それに連符だけが引用され、アーティキュレーション、強弱記号、マークアップ等は引用されません。
oboe = \relative c'' { r2 r8 d16(\f f e g f a) g8 g16 g g2. } \addQuote "oboe" { \oboe } \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, }
マークアップを使用して引用される楽器の名前を表示することができます。また、合図音符が音部変更を必要とする場合、合図音符の終わりで元の音部に戻す必要があります。
flute = \relative c'' { r2. c4 d8 c d e fis2 g2 d2 } bassoon = \relative c { \clef bass R1 \clef treble s1*0^\markup { \tiny "flute" } \cueDuring #"flute" #UP { R1 } \clef bass g4. b8 d2 } \addQuote "flute" { \flute } \new Staff { \bassoon }
\killCues
コマンドは音楽表記から合図音符を削除します。これにより、同じ音楽表記を使って合図を持つ楽器パートと総譜を作り出すことが可能です。\killCues
コマンドは \cueDuring
によって引用された音符とイベントだけを削除します。合図に関連する他のマークアップ
– 音部変更と引用元の楽器を識別するラベルなど –
にはタグを付けて総譜に含めるかどうかを選択することができます。Using tags を参照してください。
flute = \relative c'' { r2. c4 d8 c d e fis2 g2 d2 } bassoon = \relative c { \clef bass R1 \tag #'part { \clef treble s1*0^\markup { \tiny "flute" } } \cueDuring #"flute" #UP { R1 } \tag #'part \clef bass g4. b8 d2 } \addQuote "flute" { \flute } \new Staff { \bassoon } \new StaffGroup << \new Staff { \flute } \new Staff { \removeWithTag #'part { \killCues { \bassoon } } } >>
あるいはまた、音部変更や楽器ラベルを再利用するために、\addInstrumentDefinition
を用いて楽器の定義に含めることができます。\addInstrumentDefinition
についての説明は
楽器名 を参照してください。
\quoteDuring
と同様に、\cueDuring
は楽器の移調を考慮します。合図音符は、合図を受け取る楽器のピッチで作り出されます。
合図音符を移調させるには \transposedCueDuring
を使用します。このコマンドはコンサート ミドル C の音を表すピッチを (絶対モードで) 指定する追加の引数を取ります。
piccolo = \relative c''' { \clef "treble^8" R1 c8 c c e g2 c4 g g2 } bassClarinet = \relative c' { \key d \major \transposition bes, d4 r a r \transposedCueDuring #"piccolo" #UP d { R1 } d4 r a r } \addQuote "piccolo" { \piccolo } << \new Staff \piccolo \new Staff \bassClarinet >>
小さなサイズの音符が必要な場合、CueVoice
コンテキストを明示的に作成することがあります。例えば、本来の演奏とは異なる音符列をオリジナル ボイスの上または下にセットする場合に適しています。
\time 12/8 \key ees \major g4 ees8 f4 g8 \stemDown << { d4. bes4 c8 } \new CueVoice { g'4. f4 ees8 } >> \stemUp d2. d2.
参照
記譜法リファレンス: 楽器の移調, 楽器名, Musical cues, Using tags
コード断片集: Staff notation
既知の問題と警告
\cueDuring
を使用した場合、Voice
コンテキストと CueVoice
コンテキストの間で休符の衝突が発生する可能性があります。
[ << 音楽記譜法 ] | [トップ][目次][インデックス][ ? ] | [ Specialist notation >> ] | ||
[ < 他のボイスを引用する ] | [ 上へ : パートを記述する ] | [ 編集者の注釈 > ] |