[ << 音楽記譜法 ] | [トップ][目次][インデックス] | [ 専門的な記譜法 >> ] |
[ < 譜を隠す ] | [ 上へ : 譜の記譜法 ] | [ 楽器名 > ] |
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
[ << 音楽記譜法 ] | [トップ][目次][インデックス] | [ 専門的な記譜法 >> ] |
[ < 合図音符をフォーマットする ] | [ 上へ : パートを記述する ] | [ 編集者の注釈 > ] |