| [ << 音楽記譜法 ] | [トップ][目次][インデックス][ ? ] | [ 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 >> ] | ||
| [ < 他のボイスを引用する ] | [ 上へ : パートを記述する ] | [ 編集者の注釈 > ] | ||