| [ << 音楽記譜法 ] | [トップ][目次][インデックス] | [ 専門的な記譜法 >> ] |
| [ < 譜を隠す ] | [ 上へ : 譜の記譜法 ] | [ 楽器名 > ] |
1.6.3 パートを記述する
このセクションでは、楽譜に楽器名を挿入するためにしばしば必要となる、オーケストラまたはアンサンブル音楽用のパートを作成する方法について説明します。他のボイスを引用する方法、演奏指示音符を譜刻する方法、個々のパートで複数の連続する空の小節をまとめる方法についても記述します。
| 楽器名 | ||
| 他のボイスを引用する | ||
| 合図音符をフォーマットする | ||
| 空の小節を圧縮する |
| [ << 音楽記譜法 ] | [トップ][目次][インデックス] | [ 専門的な記譜法 >> ] |
| [ < パートを記述する ] | [ 上へ : パートを記述する ] | [ 他のボイスを引用する > ] |
楽器名
Staff, PianoStaff, StaffGroup, GrandStaff
それに ChoirStaff コンテキストの中にある譜の左側に、楽器名を譜刻することができます。instrumentName の値が最初の行の譜に対して使用され、shortInstrumentName の値がそれに続くすべての行の譜に対して使用されます。
\new Staff \with {
instrumentName = "Violin "
shortInstrumentName = "Vln. "
} \relative {
c'4.. g'16 c4.. g'16 \break | c1 |
}
\markup を用いて、より複雑な楽器名を作成することができます:
\new Staff \with {
instrumentName = \markup {
\column { "Clarinetti"
\line { "in B" \smaller \flat }
}
}
} \relative {
c''4 c,16 d e f g2
}
2 つ以上の譜コンテキストがグループ化されている場合、デフォルトでは楽器名と短縮楽器名は中央揃えされます。複数行にわたる楽器名を中央揃えするには、\center-column を用いる必要があります:
<<
\new Staff \with {
instrumentName = "Flute"
} \relative {
f''2 g4 f
}
\new Staff \with {
instrumentName = \markup {
\center-column { "Clarinet"
\line { "in B" \smaller \flat }
}
}
} \relative { c''4 b c2 }
>>
しかしながら、楽器名が長い場合、indent 設定と short-indent
設定の値を増やさない限り、譜グループの中にある楽器名は中央揃えされません。これらの設定についての詳細は シフトとインデントのための \paper 変数
を参照してください。
<<
\new Staff \with {
instrumentName = "Alto Flute in G"
shortInstrumentName = "Flt."
} \relative {
f''2 g4 f \break
g4 f g2
}
\new Staff \with {
instrumentName = "Clarinet"
shortInstrumentName = "Clar."
} \relative {
c''4 b c2 \break
c2 b4 c
}
>>
\layout {
indent = 3.0\cm
short-indent = 1.5\cm
}
楽器名を他のコンテキスト (ChordNames や FiguredBass など)
に付け加えるには、
そのコンテキストに Instrument_name_engraver を追加する必要があります。詳細は コンテキストのプラグインを変更する を参照してください。
楽曲の途中で shortInstrumentName や、新しい楽器に必要なその他の設定を変更することもできます。しかしながら、instrumentName は最初のインスタンスが譜刻され、楽曲の途中での変更は無視されます:
prepPiccolo = <>^\markup \italic { muta in Piccolo }
prepFlute = <>^\markup \italic { muta in Flauto }
setPiccolo = {
<>^\markup \bold { Piccolo }
\transposition c''
}
setFlute = {
<>^\markup \bold { Flute }
\transposition c'
}
\new Staff \with {
instrumentName = "Flute"
shortInstrumentName = "Flt."
}
\relative {
g'1 g g g \break
g1 g \prepPiccolo R R \break
\set Staff.instrumentName = "Piccolo"
\set Staff.shortInstrumentName = "Picc."
\setPiccolo
g1 g g g \break
g1 g \prepFlute R R \break
\set Staff.instrumentName = "Flute"
\set Staff.shortInstrumentName = "Flt."
\setFlute
g1 g g g
}
参照
記譜法リファレンス:
シフトとインデントのための \paper 変数,
コンテキストのプラグインを変更する
コード断片集: Staff notation
内部リファレンス: InstrumentName, PianoStaff, Staff
| [ << 音楽記譜法 ] | [トップ][目次][インデックス] | [ 専門的な記譜法 >> ] |
| [ < 楽器名 ] | [ 上へ : パートを記述する ] | [ 合図音符をフォーマットする > ] |
他のボイスを引用する
あるボイスが他のボイスと同じ音符を演奏することはごく一般的なことです。例えば、第 1 バイオリンと第2バイオリンがあるパッセージで同じフレーズを演奏することがあります。これは、ボイスに他のボイスを 引用 させることで実現でき、第 2 ボイスの音楽全体を再入力する必要はありません。
最上位レベルのスコープで用いる \addQuote コマンドは一部を引用することができる音楽を定義します。
\quoteDuring コマンドを用いて、引用を開始する位置を示します。このコマンドは 2 つの引数をとります:
\addQuote で定義した引用するボイスの名前と、引用部分の演奏時間を示す音楽表記です。
fluteNotes = \relative {
a'4 gis g gis | b4^"quoted" r8 ais\p a4( f)
}
oboeNotes = \relative {
c''4 cis c b \quoteDuring "flute" { s1 }
}
\addQuote "flute" { \fluteNotes }
\score {
<<
\new Staff \with { instrumentName = "Flute" } \fluteNotes
\new Staff \with { instrumentName = "Oboe" } \oboeNotes
>>
}
\quoteDuring で使用される音楽表記が空白休符や複数小節休符ではなく音符を保持している場合、引用は多声となり、予期しない結果となる可能性があります。
fluteNotes = \relative {
a'4 gis g gis | b4^"quoted" r8 ais\p a4( f)
}
oboeNotes = \relative {
c''4 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
>>
}
\unfoldRepeats コマンドを \quoteDuring と一緒に使う場合、引用の中でも \unfoldRepeats コマンドを使わなければなりません:
fluteNotes = \relative {
\repeat volta 2 { a'4 gis g gis }
}
oboeNotesDW = \relative {
\repeat volta 2 \quoteDuring "incorrect" { s1 }
}
oboeNotesW = \relative {
\repeat volta 2 \quoteDuring "correct" { s1 }
}
\addQuote "incorrect" { \fluteNotes }
\addQuote "correct" { \unfoldRepeats \fluteNotes }
\score {
\unfoldRepeats
<<
\new Staff \with { instrumentName = "Flute" }
\fluteNotes
\new Staff \with { instrumentName = "Oboe (incorrect)" }
\oboeNotesDW
\new Staff \with { instrumentName = "Oboe (correct)" }
\oboeNotesW
>>
}
\quoteDuring コマンドは引用されるパートと引用するパート両方の
\transposition を使用して、引用されるパートと同じ響きのピッチに変換して、引用するパートの音符を作り出します。
clarinetNotes = \relative c'' {
\transposition bes
\key d \major
b4 ais a ais | cis4^"quoted" r8 bis\p b4( f)
}
oboeNotes = \relative {
c''4 cis c b \quoteDuring "clarinet" { s1 }
}
\addQuote "clarinet" { \clarinetNotes }
\score {
<<
\new Staff \with { instrumentName = "Clarinet" } \clarinetNotes
\new Staff \with { instrumentName = "Oboe" } \oboeNotes
>>
}
デフォルトでは引用される音楽はすべてのアーティキュレーション、強弱記号、マークアップ等を含んでいます。quotedEventTypes コンテキスト プロパティを用いることで、引用される音楽から引用するオブジェクトを選択することが可能です。
fluteNotes = \relative {
a'2 g2 |
b4\<^"quoted" r8 ais a4\f( c->)
}
oboeNotes = \relative {
c''2. 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
>>
}
引用にもタグを付けることができます。タグを使用する を参照してください。
参照
インストールされているファイル: ‘scm/define-event-classes.scm’.
コード断片集: Staff notation
内部リファレンス: + Music classes, QuoteMusic, Voice
既知の問題と警告
\addQuote 中にある最初の Voice の内容だけが引用されます。そのため、音楽表記が \new や \context Voice を含んでいても、それらの内容は引用されません。装飾小音符の引用はサポートされておらず、LilyPond がクラッシュする可能性さえあります。
ネストされた連符を引用しようとしてもうまくいきません。
| [ << 音楽記譜法 ] | [トップ][目次][インデックス] | [ 専門的な記譜法 >> ] |
| [ < 他のボイスを引用する ] | [ 上へ : パートを記述する ] | [ 空の小節を圧縮する > ] |
合図音符をフォーマットする
合図音符をフォーマットする最も簡単な方法は、パートの中で明示的に CueVoice コンテキストを作成することです。
\relative {
R1
<<
{ e'2\rest r4. e8 }
\new CueVoice {
\stemUp d'8^"flute" c d e fis2
}
>>
d,4 r a r
}
音部記号の変更が必要で、合図音符に適切なサイズの音部記号を譜刻する場合、\cueClef コマンドは明示的な CueVoice コンテキストと共に用いられます。その後、\cueClefUnset コマンドを用いて、オリジナルの音部記号 – 再度、適切なサイズにされた – に戻すことができます。
\relative {
\clef "bass"
R1
<<
{ e'2\rest r4. \cueClefUnset e,8 }
\new CueVoice {
\cueClef "treble" \stemUp d''8^"flute" c d e fis2
}
>>
d,,4 r a r
}
必要があれば、CueVoice 無しで
\cueClef コマンドと \cueClefUnset コマンドを用いることもできます。
\relative {
\clef "bass"
R1
\cueClef "treble"
d''8^"flute" c d e fis2
\cueClefUnset
d,,4 r a r
}
もっと複雑な合図音符
– 例えば、移調を含んでいる、複数の音楽ソースからの合図音符を挿入する –
の場合、\cueDuring コマンドや \cueDuringWithClef コマンドを用いることができます。これらのコマンドは \quoteDuring を特殊化したものです。\quoteDuring については、前のセクションの 他のボイスを引用する を参照してください。
構文は以下の通りです:
\cueDuring quotename #direction music
と
\cueDuringWithClef quotename #direction #clef music
quotename に対応する小節の音楽は
CueVoice コンテキストとして追加されて
music と同時進行して、多声になります。direction は引数 UP または DOWN を取り
– それぞれ第 1 ボイス及び第 2 ボイスと対応します –
合図音符が他のボイスに対してどのように譜刻されるかを決定します。
fluteNotes = \relative {
r2. c''4 | d8 c d e fis2 | g2 d |
}
oboeNotes = \relative c'' {
R1
<>^\markup \tiny { flute }
\cueDuring "flute" #UP { R1 }
g2 c,
}
\addQuote "flute" { \fluteNotes }
\new Staff {
\oboeNotes
}
instrumentCueName プロパティを設定することによって、\cueDuring で音楽のどの部分を引用するか調節することができます。このプロパティのデフォルト値は '(note-event rest-event
tie-event beam-event tuplet-span-event) であり、音符、休符、タイ、連桁、それに連符だけが引用され、アーティキュレーション、強弱記号、マークアップ等は引用されません。
Note: 以下の例のように Voice が cueDuring で始まる場合、Voice を明示的に宣言する必要があります。そうしないと音楽表記全体が CueVoice コンテキストに属してしまいます。
oboeNotes = \relative {
r2 r8 d''16(\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,
}
引用される楽器の名前を表示するために、マークアップを用いることができます。合図音符が音符記号の変更を必要とする場合、手動で変更することができますが、合図音符が終わったところで手動で元の音部記号に戻す必要がありmす。
fluteNotes = \relative {
r2. c''4 d8 c d e fis2 g2 d2
}
bassoonNotes = \relative c {
\clef bass
R1
\clef treble
<>^\markup \tiny { flute }
\cueDuring "flute" #UP { R1 }
\clef bass
g4. b8 d2
}
\addQuote "flute" { \fluteNotes }
\new Staff {
\bassoonNotes
}
あるいはまた、代わりに \cueDuringWithClef 関数を用いることができます。このコマンドは追加の引数で音部の変更を指定して、合図音符に音部記号を譜刻しますが、合図音部が終了したところで元の音部記号を自動的に譜刻します。
fluteNotes = \relative {
r2. c''4 d8 c d e fis2 g2 d2
}
bassoonNotes = \relative c {
\clef bass
R1
<>^\markup { \tiny "flute" }
\cueDuringWithClef "flute" #UP "treble" { R1 }
g4. b8 d2
}
\addQuote "flute" { \fluteNotes }
\new Staff {
\bassoonNotes
}
\quoteDuring と同様に、\cueDuring は楽器の移調を考慮します。合図音符は合図を受け取る楽器のピッチで作り出され、ソース楽器の同じ響きのピッチになります。
合図音符を移調させるには \transposedCueDuring を使用します。このコマンドはコンサート ミドル C の音を表すピッチを (絶対モードで) 指定する追加の引数を取ります。これは、全く別の場所で登録された楽器から合図を取る場合に有用です。
piccoloNotes = \relative {
\clef "treble^8"
R1
c'''8 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
>>
\killCues コマンドは音楽表記から合図音符を削除します。これにより、同じ音楽表記を使って合図を持つ楽器パートと楽譜を作り出すことが可能です。\killCues コマンドは \cueDuring によって引用された音符とイベントだけを削除します。合図に関連する他のマークアップ
– 音部変更と引用元の楽器を識別するラベルなど –
にはタグを付けて楽譜に含めるかどうかを選択することができます。タグを使用する を参照してください。
fluteNotes = \relative {
r2. c''4 d8 c d e fis2 g2 d2
}
bassoonNotes = \relative c {
\clef bass
R1
\tag #'part {
\clef treble
<>^\markup \tiny { 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 } }
}
>>
参照
記譜法リファレンス: 他のボイスを引用する, 楽器の移調, 楽器名, 音部記号, 合図, タグを使用する
コード断片集: Staff notation
既知の問題と警告
\cueDuring を使用した場合、Voice コンテキストと CueVoice
コンテキストの間で休符の衝突が発生する可能性があります。\cueDuringWithClef や \transposedCueDuring を使用する場合、追加で必要となる引数は引用と向きの後に配置する必要があります。
| [ << 音楽記譜法 ] | [トップ][目次][インデックス] | [ 専門的な記譜法 >> ] |
| [ < 合図音符をフォーマットする ] | [ 上へ : パートを記述する ] | [ 編集者の注釈 > ] |
空の小節を圧縮する
デフォルトでは、すべての小節は空であっても譜刻されます – これは、リズムイベント (音符、休符、非表示の休符など) が複数の小節にまたがるほど長い場合に発生する可能性があります。 この動作は、次の図に示すように、すべての空の小節を単一の小節にまとめることで変更できます (この例の 2 番目の部分は小節を展開して実際にはデフォルトの動作に戻ります):
\override Score.BarNumber.break-visibility = #'#(#f #t #t) \time 2/4 \compressEmptyMeasures c'1 d'1. e'\breve \bar "||" \expandEmptyMeasures c'1 d'1. e'\breve
その表記法は構文的には正しいですが、前の例で示したように、音楽的な観点からは混乱するかもしれません。したがって、break-visibility を用いる で説明されている構文を使用して、小節番号を明示的に譜刻する必要があります。
そのような表記がより有用になる可能性があるのは、小節単位の休符 に適用される場合です。複数小節にまたがる休符は、複数小節にまたがる休符の記号を含む単一の小節として表示され、休符の小節数が小節の上に譜刻されます。
% デフォルトの振る舞い \time 3/4 r2. | R2.*2 | \time 2/4 R2 | \time 4/4 % 休みの小節を 1 つの小節にまとめます \compressEmptyMeasures r1 | R1*17 | R1*4 | \expandEmptyMeasures % 休みの小節を展開します \time 3/4 R2.*2 |
\compressEmptyMeasures とは異なり、音楽関数 \compressMMRests は休符にのみ適用され、他のイベントは圧縮されません。プロパティ設定ではなく関数として、その構文は音楽表現が続く必要があるという点でわずかに異なります:
\compressMMRests {
% 休符は圧縮されます…
R1*7
% …ただし、音符は複数の小節にまたがることができます。
g'1 a'1*2 d'1
R1*2
}
このセクションで説明するすべてのコマンドは、実際には skipBars 内部プロパティに依存しています。これは、\set コマンド で説明されているように、
Score コンテキストで設定されます。
定義済みコマンド
\compressEmptyMeasures,
\expandEmptyMeasures,
\compressMMRests
Selected Snippets
単一の小節の休符に数字を付ける
複数小節にまたがる休符は、単一の小節を除いて、長さを数字で表示します。これは、restNumberThreshold を設定することで変更できます。
{
\compressEmptyMeasures
R1 R1*10 R1*11 \bar "||"
\set restNumberThreshold = 0
R1 R1*10 R1*11 \bar "||"
\set restNumberThreshold = 10
R1 R1*10 R1*11
}
複数小節にまたがる休符の形を変更する
休符が複数小節に渡り、それが 10 小節以下の場合には、四全休符や二全休符が並んだものとして表記されます (ドイツ語で Kirchenpausen –
教会休符と呼ばれます)。10 小節より長い場合は、単純な線として表示されます。このデフォルトの 10 を変更するには、expand-limit プロパティをオーバライドします。
\relative c'' {
\compressMMRests {
R1*2 | R1*5 | R1*9
\override MultiMeasureRest.expand-limit = #3
R1*2 | R1*5 | R1*9
}
}
参照
記譜法リファレンス:
break-visibility を用いる,
小節単位の休符,
\set コマンド
内部リファレンス: MultiMeasureRest, MultiMeasureRestNumber, MultiMeasureRestScript, MultiMeasureRestText
| [ << 音楽記譜法 ] | [トップ][目次][インデックス] | [ 専門的な記譜法 >> ] |
| [ < 合図音符をフォーマットする ] | [ 上へ : パートを記述する ] | [ 編集者の注釈 > ] |