]> git.donarmstrong.com Git - lilypond.git/blob - Documentation/ja/learning/fundamental.itely
Docs: translate node names and section titles in Texinfo source
[lilypond.git] / Documentation / ja / learning / fundamental.itely
1 @c -*- coding: utf-8; mode: texinfo; documentlanguage: ja -*-
2
3 @ignore
4     Translation of GIT committish: 499a511d4166feaada31114e097f86b5e0c56421
5
6     When revising a translation, copy the HEAD committish of the
7     version that you are working on.  See TRANSLATION for details.
8 @end ignore
9
10 @c \version "2.12.0"
11
12 @c Translators: Yoshiki Sawada
13 @c Translation status: post-GDP
14
15 @node 基礎となるコンセプト
16 @chapter 基礎となるコンセプト
17 @translationof Fundamental concepts
18 @c 基礎となるコンセプト
19
20 チュートリアルではシンプルなテキスト ファイルから美しい楽譜を刻譜する方法を見@c
21 てきました。このセクションでは、同じように美しいがより複雑な楽譜を作り出すのに@c
22 必要とされるコンセプトとテクニックについて紹介します。
23
24 @menu
25 * LilyPond 入力ファイルの仕組み::
26 * 音楽を保持するボイス::
27 * コンテキストとエングラーバ::
28 * テンプレートを拡張する::
29 @end menu
30
31 @node LilyPond 入力ファイルの仕組み
32 @section LilyPond 入力ファイルの仕組み
33 @translationof How LilyPond input files work
34 @c LilyPond 入力ファイルの仕組み
35
36 LilyPond の入力フォーマットは非常に自由な形式であり、経験豊富なユーザにとって@c
37 はファイルを構築する際の自由度が高いです。しかしながら、この自由度が新しいユー@c
38 ザにとっては混乱の元になります。このセクションではこの入力ファイルの構造につい@c
39 ていくつか説明します。しかしながら、簡潔さを保つためにいくつかの詳細については@c
40 目をつぶるかもしれません。入力フォーマットについての完全な記述は、@ruser{File structure} を参照してください。
41 @c ファイル構造
42
43 @menu
44 * LilyPond ファイル構造の紹介::
45 * Score は (単一の) 複合的な音楽表記::
46 * 音楽表記のネスト::
47 * ネストされない括弧とタイ::
48 @end menu
49
50
51 @node LilyPond ファイル構造の紹介
52 @subsection LilyPond ファイル構造の紹介
53 @translationof Introduction to the LilyPond file structure
54 @c LilyPond ファイル構造の紹介
55
56 @cindex input format
57 @cindex file structure
58
59 LilyPond 入力ファイルの基本例は以下のようなものです:
60
61 @example
62 \version @w{"@version{}"}
63 \header @{ @}
64 \score @{
65   @var{...compound music expression...}  % all the music goes here!
66   @var{...複合音楽表記...}                  % すべての音楽がここに入ります!
67   \layout @{ @}
68   \midi @{ @}
69 @}
70 @end example
71
72 @noindent
73 基本パターンは本当にさまざまです。しかしながら、この例は開始点として役に立ちま@c
74 す。
75
76 @funindex \book
77 @funindex book
78 @funindex \score
79 @funindex score
80 @cindex book
81 @cindex score
82
83 これまで、あなたが見てきた例では @code{\score @{@}} コマンドを使用していません@c
84 でした。その理由は、あなたが LilyPond に与えたのが簡単な入力であった場合、@c
85 LilyPond が自動的に追加のコマンドを付け加えるからです。LilyPond は以下のような@c
86 入力:
87
88 @example
89 \relative c'' @{
90   c4 a d c
91 @}
92 @end example
93
94 @noindent
95 を以下を簡略表記したものとして扱います:
96
97 @example
98 \book @{
99   \score @{
100     \new Staff @{
101       \new Voice @{
102         \relative c'' @{
103           c4 a b c
104         @}
105       @}
106     @}
107     \layout @{ @}
108   @}
109 @}
110 @end example
111
112 言い換えると、入力が保持しているのが単一の音楽表記である場合、LilyPond はまる@c
113 でその音楽表記が上で示されたコマンドで包まれているかのように解釈します。
114
115 @cindex implicit contexts
116 @cindex contexts, implicit
117
118 @strong{一言警告!}  LilyPond ドキュメントの中にある多くの例では、@code{\new 
119 Staff} と @code{\new Voice} コマンドは暗黙的に作成されるために省略されていま@c
120 す。簡単な例ではそれでうまくいきますが、より複雑な例の場合 -- 特に追加のコマン@c
121 ドが使用される場合 -- コンテキストの暗黙的な作成は予想外の結果となる可能性があ@c
122 ります。多分、予期しない余分な譜が作成されるでしょう。コンテキストを明示的に作@c
123 成する方法は @ref{コンテキストとエングラーバ} で説明されています。
124 @c コンテキストとエングラーバ
125
126 @warning{数行以上の音楽を入力する場合、常に譜とボイスを明示的に作成したほうが@c
127 賢明です。}
128
129 今度は最初の例に戻って、@code{\score} コマンドについて検証します。他のことはデ@c
130 フォルトのままにしておきます。
131
132 @code{\score} ブロックは常にただ 1 つの音楽表記を保持していなければなりませ@c
133 ん。そして、その音楽表記は @code{\score} コマンドのすぐ後に置かれなければなり@c
134 ません。音楽表記は単一の音符である場合もありますし、以下のような巨大な複合表記@c
135 である場合もあるということを覚えておいてください:
136
137 @example
138 @{
139   \new StaffGroup <<
140     @var{...insert the whole score of a Wagner opera in here...}
141     @var{...ワーグナーのオペラの楽譜全体がここに入ります...}
142   >>
143 @}
144 @end example
145
146 @noindent
147 すべては @code{@{ ... @}} の内部にあるため、それは 1 つの音楽表記であるとカ@c
148 ウントされます。
149
150 以前見てきたように、@code{\score} ブロックは他のものを含む可能性もあります。例@c
151 えば以下のように:
152
153 @example
154 \score @{
155   @{ c'4 a b c' @}
156   \header @{ @}
157   \layout @{ @}
158   \midi @{ @}
159 @}
160 @end example
161
162 @funindex \header
163 @funindex header
164 @funindex \layout
165 @funindex layout
166 @funindex \midi
167 @funindex midi
168 @cindex header
169 @cindex layout
170 @cindex midi
171
172 @noindent
173 これら 3 つのコマンド -- @code{\header}, @code{\layout}, @code{\midi} -- は特@c
174 別なものであるということに注意してください: バックスラッシュ (@code{@bs{}}) で@c
175 始まる他の多くのコマンドとは異なり、これらは音楽表記@emph{ではなく}、何らかの@c
176 音楽表記の一部でもありません。そのため、これらは @code{\score} ブロックの内部@c
177 に置かれるかもしれませんし、外部に置かれるかもしれません。実際、これらのコマン@c
178 ドは一般的に @code{\score} ブロックの外側に置かれます -- 例えば、このセク@c
179 ションの最初の例のように @code{\header} はしばしば @code{\score} コマンドの上@c
180 に置かれます。
181
182 以前は見なかった他の 2 つのコマンドは @code{\layout @{ @}} と @code{\midi @{ @}} 
183 です。それらが上記のように記述された場合、LilyPond はそれぞれ譜刻された出力と 
184 MIDI 出力を作り出します。それらは表記リファレンスの @ruser{Score layout} と 
185 @ruser{Creating MIDI files} で完全に記述されています。
186 @c 楽譜のレイアウト
187 @c MIDI ファイルの作成
188
189 @cindex scores, multiple
190 @cindex book block, implicit
191 @cindex implicit book block
192 @funindex \book
193 @funindex book
194
195 あなたは複数の @code{\score} ブロックを記述するかもしれません。それらはそれぞ@c
196 れ別々の楽譜として扱われますが、それらは結合されて単一の出力ファイルに収められ@c
197 ます。@code{\book} コマンドは必要ありません -- このコマンドは暗黙的に 1 つ作成@c
198 されます。しかしながら、あなたが 1 つの @code{.ly} ファイルから別々に分かれた@c
199 出力ファイルを作成しようとするのなら、それぞれのセクションを異なる出力ファイル@c
200 に分けるために @code{\book} コマンドが使用されます: 各 @code{\book} ブロックは@c
201 別々の出力ファイルを作り出します。
202
203 要約:
204
205 各 @code{\book} ブロックは別々の出力ファイル (つまり PDF ファイル) を作成しま@c
206 す。あなたが明示的に @code{\book} コマンドを記述しなかった場合、LilyPond は暗@c
207 黙的に入力コードを @code{\book} ブロックで包み込みます。
208
209 各 @code{\score} ブロックは @code{\book} ブロック内部で別々の音楽表記のチャンク 
210 (塊) となります。
211
212 @cindex layout block, effect of location
213
214 各 @code{\layout} ブロックはそのブロックを含んでいる @code{\score} ブロックや 
215 @code{\book} ブロックに影響を与えます -- つまり、ある @code{\score} ブロックの@c
216 内部にある @code{\layout} ブロックはその @code{\score} ブロックにだけ影響を与@c
217 え、@code{\score} ブロックの外部にある (それゆえ、明示的あるいは暗黙的に 
218 @code{\book} ブロックの中にある) @code{\layout} ブロックはその @code{\book} ブ@c
219 ロックの中にあるすべての @code{\score} に影響を与えます。
220
221 詳細は、@ruser{Multiple scores in a book} を参照してください。
222 @c 1 つの book の中にある複数の score
223
224 @cindex variables
225
226 もう一つの重要な簡略表記は変数を定義することです。すべてのテンプレートがこれを@c
227 使っています:
228
229 @example
230 melody = \relative c' @{
231   c4 a b c
232 @}
233
234 \score @{
235   \melody
236 @}
237 @end example
238
239 LilyPond がこのファイルを見ると、@code{melody} の値 (イコール記号の後にあるす@c
240 べて) を記憶し、@code{\melody} と記述された箇所すべてにその値を挿入します。変@c
241 数の名前について特別なことは何もありません -- 変数名は @code{melody}, 
242 @code{global}, @code{TimeKey}, @code{pianorighthand}, @code{foofoobarbaz} など@c
243 となります。詳細は、@ref{変数と関数を用いて入力の手間を省く} を参照し@c
244 てください。変数名はアルファベットだけで構成されていて、LilyPond コマンド名と@c
245 異なっている限りは、ほぼどんな名前でも使用できるということを覚えておいてくださ@c
246 い。変数名の厳密な制限については、@ruser{File structure} で詳述されています。
247 @c 変数と関数を用いたタイピングの省力化
248 @c ファイル構造
249
250
251 @seealso
252 入力フォーマットの完全な定義は、@ruser{File structure} を参照してください。
253 @c ファイル構造
254
255
256 @node Score は (単一の) 複合的な音楽表記
257 @subsection Score は (単一の) 複合的な音楽表記
258 @translationof Score is a (single) compound musical expression
259 @c Score は (単一の) 複合的な音楽表記
260
261 @funindex \score
262 @funindex score
263 @cindex score
264 @cindex contents of a score block
265 @cindex score block, contents of
266 @cindex compound music expression
267 @cindex music expression, compound
268
269 前のセクション -- @ref{LilyPond ファイル構造の紹介} -- で 
270 LilyPond 入力ファイルの一般的な構造について見てきました。しかしながら、我々は@c
271 最も重要な部分を飛ばしてきたようです: どうやって @code{\score} の後に記述する@c
272 ものを見つけ出すのでしょうか?
273 @c LilyPond ファイル構造の紹介
274
275 我々はそのことを完全には飛ばしてきませんでした。この大きな謎は簡単なことであ@c
276 り、謎でもなんでも@emph{ないのです}。以下の行がこの謎についてすべてを説明して@c
277 います:
278
279 @quotation
280 @emph{@code{\score} ブロックは 1 つの複合音楽表記で始まらなくてはなりません。}
281 @end quotation
282
283 @noindent
284 音楽表記と複合音楽表記が意味しているものを理解するには、チュートリアルの 
285 @ref{音楽表記についての説明} を読み返すと役に立つかもしれません。そこで@c
286 は、小さな音楽表記 -- 音符から始めて、それから和音など -- から大きな音楽表記を@c
287 構築する方法を説明しています。今度は、大きな音楽表記からはじめて、その複雑さを@c
288 減らしていきます。
289 @c 音楽表記の説明
290
291 @example
292 \score @{
293   @{ % this brace begins the overall compound music expression
294     % この中括弧は複合音楽表記全体の開始点です
295     \new StaffGroup <<
296       @var{...insert the whole score of a Wagner opera in here...}
297       @var{...ワーグナーのオペラの楽譜全体がここに入ります...}
298     >>
299   @} % this brace ends the overall compound music expression
300     % この中括弧は複合音楽表記全体の終了点です
301   \layout @{ @}
302 @}
303 @end example
304
305 ワーグナーのオペラの長さはこのマニュアルの軽く 2 倍はあります。そのため、歌手@c
306 とピアノだけを加えることにします。このアンサンブルでは複数の譜をまとめて左端に@c
307 中括弧を付ける @code{StaffGroup} は必要ありません。そのため、それを削除しま@c
308 す。しかしながら、歌手とピアノが@emph{必要}です。
309
310 @example
311 \score @{
312   <<
313     \new Staff = "singer" <<
314     >>
315     \new PianoStaff = "piano" <<
316     >>
317   >>
318   \layout @{ @}
319 @}
320 @end example
321
322 歌手とピアノが同時進行であることを示すために @code{@{ ... @}} の代わりに 
323 @code{<< ... >>} を使用するということを覚えておいてください。我々はボーカル 
324 パートとピアノパートが同時進行であるということを明確に示したいのであり、どちら@c
325 かがもう一方の後に演奏されるのではないのです!歌手の譜表は一続きの音楽表記を 1 
326 つだけ保持するため、歌手の譜表に対して << ... >> は必ずしも必要ありません。し@c
327 かしながら、譜表の中の音楽が 2 つの同時進行の音楽表記 -- つまり、2 つの同時進@c
328 行のボイスであるとか、歌詞付きの歌 -- である場合、中括弧の代わりに @code{<< ... 
329 >>} を使う必要があります。後で実際の音楽を加えてみますが、ここではダミーの音符@c
330 と歌詞を入力してみます。
331
332 @lilypond[verbatim,quote,ragged-right]
333 \score {
334   <<
335     \new Staff = "singer" <<
336       \new Voice = "vocal" { c'1 }
337       \addlyrics { And }
338     >>
339     \new PianoStaff = "piano" <<
340       \new Staff = "upper" { c'1 }
341       \new Staff = "lower" { c'1 }
342     >>
343   >>
344   \layout { }
345 }
346 @end lilypond
347
348 更に詳細を加えていきます。歌手の譜表は @code{Voice} (LilyPond では、この用語は@c
349 音符のセットを参照するものであり、必ずしもボーカルの音符であるわけではありません 
350 -- 例えば、一般にバイオリンは 1 つのボイスを演奏します) と歌詞を保持します。さ@c
351 らに、ピアノの譜表は上部譜表 (右手) と下部譜表 (左手) を保持します。
352
353 この段階で、音符の入力を開始することができます。@code{\new Voice = "vocal"} の@c
354 後の中括弧の中に、以下を書き加えることができます:
355
356 @example
357 \relative c'' @{
358   r4 d8\noBeam g, c4 r
359 @}
360 @end example
361
362 しかしながら、そのようにすると、@code{\score} セクションは非常に長くなり、何が@c
363 起こるのか理解しにくくなります。そのため、直接音符を付け加える代わりに変数を使@c
364 用しましょう。前のセクションで変数についての紹介を行いました。覚えていますよ@c
365 ね?では、いくつかの音符を加えて実際の楽譜の一部を作成してみましょう:
366
367 @lilypond[verbatim,quote,ragged-right]
368 melody = \relative c'' { r4 d8\noBeam g, c4 r }
369 text   = \lyricmode { And God said, }
370 upper  = \relative c'' { <g d g,>2~ <g d g,> }
371 lower  = \relative c { b2 e2 }
372
373 \score {
374   <<
375     \new Staff = "singer" <<
376       \new Voice = "vocal" { \melody }
377       \addlyrics { \text }
378     >>
379     \new PianoStaff = "piano" <<
380       \new Staff = "upper" { \upper }
381       \new Staff = "lower" {
382         \clef "bass"
383         \lower
384       }
385     >>
386   >>
387   \layout { }
388 }
389 @end lilypond
390
391 音符 -- これは @code{\relative} の中で導入されたり、音楽表記の中に直接含まれて@c
392 います -- と歌詞 -- これは @code{\lyricmode} で導入されています -- の違いに気@c
393 をつけてください。前者は LilyPond に後に続く内容を音楽として解釈するように指示@c
394 し、後者はテキストとして解釈するように指示します。
395
396 @code{\score} セクションを書いている (あるいは読んでいる) とき、ゆっくりと注意@c
397 深く進めてください。外側から始めて、それから内部の細かな部分に取り組んでくださ@c
398 い。さらに、きちんとインデントを入れると非常に役に立ちます - これは、同じレベ@c
399 ルにある各要素はテキスト エディタの中で同じ水平位置から始まるということを保証@c
400 します。
401
402 @code{\score} セクションを書いている (あるいは読んでいる) とき、ゆっくりと注意@c
403 深く進めてください。外側から始めて、それから内部の細かな部分に取り組んでくださ@c
404 い。さらに、きちんとインデントを入れると非常に役に立ちます -- これは、同じレベ@c
405 ルにある各要素はテキスト エディタの中で同じ水平位置から始まるということを保証@c
406 します。
407
408
409 @seealso
410 表記リファレンス: @ruser{Structure of a score}
411 @c score の構造
412
413
414 @node 音楽表記のネスト
415 @subsection 音楽表記のネスト
416 @translationof Nesting music expressions
417 @c 音楽表記のネスト
418
419 @cindex staves, temporary
420 @cindex temporary staves
421 @cindex ossias
422
423 すべての譜をファイルの始めに宣言することは必須ではありません; 譜はどこででも臨@c
424 時に導入される可能性があります。これはオッシアを作成する際に特に有用です -- 
425 @rglos{ossia} を参照してください。ここで、3 つの音符に対して臨時に新しい譜表を@c
426 導入する方法を示すちょっとした例を挙げます:
427 @c オッシア
428
429 @lilypond[verbatim,quote,ragged-right]
430 \new Staff {
431   \relative g' {
432     r4 g8 g c4 c8 d |
433     e4 r8
434     <<
435       { f c c }
436       \new Staff {
437         f8 f c
438       }
439     >>
440     r4 |
441   }
442 }
443 @end lilypond
444
445 @noindent
446 音部記号のサイズは音部変更後に譜刻される音部記号のサイズ -- 行の開始点での音部@c
447 記号よりも少し小さい -- と同じであるということに注意してください。これは行の途@c
448 中で譜刻される音部記号全般に言えることです。
449
450 @cindex staff, positioning
451
452 オッシアは以下のように譜表の上に置かれるかもしれません:
453
454 @lilypond[verbatim,quote,ragged-right]
455 \new Staff = "main" {
456   \relative g' {
457     r4 g8 g c4 c8 d |
458     e4 r8
459     <<
460       { f c c }
461       \new Staff \with {
462         alignAboveContext = #"main" }
463       { f8 f c }
464     >>
465     r4 |
466   }
467 }
468 @end lilypond
469
470 この例は後で説明される @code{\with} を使用しています。このコマンドは単一の譜表@c
471 のデフォルトの振る舞いを変更することを意味します。ここでは、このコマンドは新し@c
472 い譜表をデフォルトの位置 (@qq{main} と呼ばれている譜表の下) ではなく、上に置く@c
473 べきであると言っています。
474
475
476 @seealso
477 オッシアはしばしば音部記号や拍子記号無しで描かれ、通常は小さなフォントで描かれ@c
478 ます。これらはまだ紹介されていない追加のコマンドを必要とします。@ref{オブジェクトのサイズ} と @ruser{Ossia staves} を参照してください。
479 @c オブジェクトのサイズ
480 @c オッシア譜
481
482
483 @node ネストされない括弧とタイ
484 @subsection ネストされない括弧とタイ
485 @translationof On the un-nestedness of brackets and ties
486 @c ネストされない括弧とタイ
487
488 @cindex brackets, nesting
489 @cindex bracket types
490 @cindex brackets, enclosing vs. marking
491
492 これまでに LilyPond への入力ファイルを書く際に使用する括弧にはいくつかの種類が@c
493 あるということを見てきました。これらは異なる規則 -- 最初は混乱を引き起こす可能@c
494 性があります -- に従います。規則についての説明を行う前に、括弧の種類を再確認し@c
495 てみましょう。
496
497 @c attempt to force this onto a new page
498 @need 50
499 @multitable @columnfractions .3 .7
500 @headitem 括弧のタイプ
501   @tab 機能
502 @item @code{@{ .. @}}
503   @tab 一続きの音楽を囲みます
504 @item @code{< .. >}
505   @tab 和音となる音符を囲みます
506 @item @code{<< .. >>}
507   @tab 同時進行する音楽表記を囲みます
508 @item @code{( .. )}
509   @tab スラーの開始点と終了点を意味します
510 @item @code{\( .. \)}
511   @tab フレージング スラーの開始点と終了点を意味します
512 @item @code{[ .. ]}
513   @tab 手動ビームの開始点と終了点を意味します
514 @end multitable
515
516 こららに対して、音符の間や音符をまたがって線を生成する他の構文を付け加えるべき@c
517 です: タイ (チルド @code{~} によって記述されます)、@c
518 連符 (@code{\times x/y @{..@}} として記述されます)、@c
519 グレイス ノート (@code{\grace@{..@}} として記述されます) です。
520
521 LilyPond 以外では、種類の異なる括弧が適切にネストされること -- @code{[ @{ ( .. ) 
522 @} ]} のように -- が一般的な使い方であり、括弧の終わりの順序は正確に括弧の始ま@c
523 りの順序と逆になります。このことは上記の表で @q{囲みます} という言葉で記述され@c
524 ている 3 種類の括弧に対しては@strong{必須}となります -- それらは適切にネストさ@c
525 れなければなりません。しかしながら、残りの括弧 -- 上記の表で @q{意味します} と@c
526 いう言葉で記述されいるものと、タイ、連符で使用されるもの -- はいかなる括弧とも@c
527 ネストされる必要は@strong{ありません}。実際、これらは何かを囲むという意味では@c
528 括弧ではありません -- それらは単に何かが始まる場所、終わる場所を示すためのマー@c
529 クです。
530
531 そのため、例えばフレージング スラーは手動で挿入されるビームの前に開始して、そ@c
532 の手動ビームの前に終わる可能性もあります -- たぶん音楽的ではないかもしれません@c
533 が、可能性はあります:
534
535 @lilypond[quote,verbatim,fragment,ragged-right,relative=2]
536  { g8\( a b[ c b\) a] }
537 @end lilypond
538
539 一般に、種類の異なる括弧と連符、タイ、グレースノートに適用される括弧は自由に混@c
540 ぜ合わせられるかもしれません。以下の例では、ビームは連符の中にまで伸びていて (行 
541 1)、スラーは連符の中にまで伸びていて (行 2)、ビームとスラーが連符の中にまで伸@c
542 びていて (行 3)、タイが 2 つの連符にまたがっていて、さらにフレージング スラー@c
543 が連符の外にまで伸びています (行 3 と 4)。
544
545 @lilypond[quote,verbatim,fragment,ragged-right]
546 {
547   r16[ g16 \times 2/3 {r16 e'8] }
548   g16( a \times 2/3 {b d) e' }
549   g8[( a \times 2/3 {b d') e'~]}
550   \times 4/5 {e'32\( a b d' e'} a'4.\)
551 }
552 @end lilypond
553
554
555 @node 音楽を保持するボイス
556 @section 音楽を保持するボイス
557 @translationof Voices contain music
558 @c 音楽を保持するボイス
559
560 歌手は歌うボイスを必要とし、それゆえ LilyPond も歌う (演奏する) ボイスを必要と@c
561 します。楽譜の中にあるすべての楽器に対する実際の音楽はボイスの中に保持されます 
562 -- このことは LilyPond すべてのコンセプトの中での最も基礎的なことです。
563
564 @menu
565 * 私はボイスを聴いている::
566 * ボイスの明示的なインスタンス化::
567 * ボイスとボーカル::
568 @end menu
569
570 @node 私はボイスを聴いている
571 @subsection 私はボイスを聴いている
572 @translationof I'm hearing Voices
573 @c 私はボイスを聴いている
574
575 @cindex polyphony
576 @cindex layers
577 @cindex multiple voices
578 @cindex voices, multiple
579 @cindex Voice context
580 @cindex context, Voice
581 @cindex simultaneous music
582 @cindex music, simultaneous
583 @cindex concurrent music
584 @cindex music, concurrent
585 @cindex voices vs. chords
586 @cindex chords vs. voices
587
588 LilyPond の楽譜の中で最も低レベルで、最も基礎的であり、最も内部にあるレイヤは 
589 @q{ボイス コンテキスト} または縮めて単に @q{ボイス} と呼ばれます。ボイスはとき@c
590 どき他の表記パッケージの中で @q{レイヤ} と呼ばれます。
591
592 実際、ボイス レイヤまたはコンテキストは音楽を保持することができる唯一のもので@c
593 す。ボイス コンテキストが明示的に宣言されていない場合、この章の始めで見てきた@c
594 ようにボイス コンテキストが 1 つ自動的に生成されます。オーボエなどといった楽器@c
595 は同時に 1 つの音符だけを演奏できます。そのような楽器のために書かれた音楽は単@c
596 声であり、ボイスを 1 つだけを必要とします。ピアノのように同時に複数の音符を演@c
597 奏することができる楽器はしばしば、それらが演奏することのできる同時進行の異なる@c
598 音符やリズムをエンコードするために、複数のボイスを必要とします。
599
600 もちろん、単一のボイスは和音の中で多くの音符を保持することができます。それで@c
601 は、複数のボイスが実際に必要とされるのはどんな場合なのでしょうか?まずは、4 つ@c
602 の和音を持つ以下の例を見てください:
603
604 @lilypond[quote,verbatim,fragment,ragged-right,relative=1]
605 \key g \major
606 <d g>4 <d fis> <d a'> <d g>
607 @end lilypond
608
609 この例は単一の角括弧からなる和音記号@code{< ... >} を使って表記することがで@c
610 き、必要とされるボイスは 1 つだけです。しかしながら、F シャープが A に移行する@c
611 際に、F シャープは実際には 8 分音符であり、そのあとに 8 分音符の G が続くとし@c
612 たらどうでしょうか?そのような場合、同時に開始されるが演奏時間が異なる 2 つの@c
613 音符を持つことになります: 4 分音符の D と 8 分音符の F シャープです。これらの@c
614 音符をどのように記述すればよいのでしょうか?これらの音符は和音として記述するこ@c
615 とはできません。なぜなら、和音の中の音符はすべて同じ演奏時間でなければならない@c
616 からです。そして、それらの音符は同時に開始しなければならないので、2 つのシー@c
617 ケンシャルな (連続した) 音符として記述することもできません。この場合は 2 つの@c
618 ボイスが必要となります。
619
620 上記のことが LilyPond 入力構文でどのように達成されるのかを見てみましょう。
621
622 @funindex << \\ >>
623 @funindex \\
624
625 1 つの譜表に複数のボイスがある音楽断片を入力する最も簡単な方法は、各ボイスを@c
626 シーケンスに (続けて) 入力し (各ボイスを @code{@{...@}} の中に入れます)、それ@c
627 らのボイスを @code{<<...>>} を使って同時進行するよう組み合わせます。さらに、各@c
628 断片は、それぞれが別の断片であることを示すために、ダブル バックスラッシュ 
629 @code{\\} で区切られなければなりません。ダブル バックスラッシュが無ければ、す@c
630 べての音符は単一のボイスの中に挿入され、通常はエラーとなります。このテクニック@c
631 は、大部分が単声であり、時々短い部分で多声になる楽曲に特に適しています。
632
633 以下では、上記の例の和音を 2 つのボイスに分け、経過音とスラーを付け加えています:
634
635 @lilypond[quote,verbatim,fragment,ragged-right,relative=2]
636 \key g \major
637 %    Voice "1"                  Voice "2"
638 << { g4 fis8( g) a4 g }    \\ { d4 d d d }  >> |
639 @end lilypond
640
641 この例では 2 番目のボイスのステムが下向きになっていることに気づいてください。
642
643 今度はもう 1 つ簡単な例を挙げてみます:
644
645
646 @lilypond[quote,verbatim,fragment,ragged-right,relative=2]
647 \key d \minor
648 %    Voice "1"             Voice "2"
649 << { r4 g g4. a8 }    \\ { d,2 d4 g }       >> |
650 << { bes4 bes c bes } \\ { g4 g g8( a) g4 } >> |
651 << { a2. r4 }         \\ { fis2. s4 }       >> |
652 @end lilypond
653
654 各小節で別々に @code{<< \\ >>} 構造を使用する必要はありません。各小節に音符が@c
655 少ししかないような音楽の場合、このレイアウトはコードの可読性を良くするのに役立@c
656 ちます。しかしながら、各小節に多くの音符がある場合、以下のように各ボイスを分離@c
657 した方が良いかもしれません:
658
659 @lilypond[quote,verbatim,fragment,ragged-right,relative=2]
660 \key d \minor
661 << {
662   % Voice "1"
663   r4 g g4. a8 |
664   bes4 bes c bes |
665   a2. r4 |
666 } \\ {
667   % Voice "2"
668   d,2 d4 g |
669   g4 g g8( a) g4 |
670   fis2. s4 |
671 } >>
672 @end lilypond
673
674
675 @cindex voices, naming
676 @cindex voices crossing brackets
677 @cindex slurs crossing brackets
678 @cindex ties crossing brackest
679
680 この例にあるボイスは 2 つだけです。しかしながら、これと同じ構成にもっと多くの@c
681 バック スラッシュを付け加えることによって、3 つかそれ以上のボイスを持たせるこ@c
682 とになるかもしれません。
683
684 ボイス コンテキストは @code{"1"}, @code{"2"} などの名前を持ちます。各コンテキ@c
685 ストの中では、スラー、ステム、タイ、強弱記号などの垂直方向の向きは適切にセット@c
686 されます。
687
688 @lilypond[quote,verbatim,fragment]
689 \new Staff \relative c' {
690   % Main voice
691   c16 d e f
692   %    Voice "1"     Voice "2"                 Voice "3"
693   << { g4 f e } \\ { r8 e4 d c8 ~ } >> |
694   << { d2 e2 }  \\ { c8 b16 a b8 g ~ g2 } \\ { s4 b4 c2 } >> |
695 }
696 @end lilypond
697
698 これらのボイスはすべてメインのボイスからは分かれています。メインのボイスの音符は 
699 @code{<< .. >>} 構造の外にあるからです。この @code{<< .. >>} 構造を同時進行構@c
700 造と呼ぶことにしましょう。通常、スラーとタイは同じボイス内にある音符だけをつな@c
701 ぎます。そのため、スラーとタイは同時進行構造を出たり入ったりすることはありま@c
702 せん。反対に、同じ譜表上にある個々の同時進行構造で、平行の位置にあるボイスは同@c
703 じボイスになります。さらに、その他のボイス関連プロパティは同時進行構造をまた@c
704 がって持ち越されます。ここで、上記と同じ例で各ボイスに対して異なる色と音符玉を@c
705 割り当ててみます。あるボイスでの変更は他のボイスに影響を与えませんが、その後に@c
706 続く同じボイス (訳者: 平行位置にあるボイス) でその変更が維持されることに注意し@c
707 てください。さらに、タイでつながれた音符は、同じボイスとなる 2 つの同時進行構@c
708 造にまたがって分かれるかもしれないということに注意してください。
709
710 @lilypond[quote,verbatim]
711 \new Staff \relative c' {
712   % Main voice
713   c16 d e f
714   << % Bar 1
715     {
716       \voiceOneStyle
717       g4 f e
718     }
719   \\
720     {
721       \voiceTwoStyle
722       r8 e4 d c8 ~
723     }
724   >>
725   << % Bar 2
726      % Voice 1 continues
727     { d2 e2 }
728   \\
729      % Voice 2 continues
730     { c8 b16 a b8 g ~ g2 }
731   \\
732     {
733       \voiceThreeStyle
734       s4 b4 c2
735     }
736   >>
737 }
738 @end lilypond
739
740 @funindex \voiceOneStyle
741 @funindex \voiceTwoStyle
742 @funindex \voiceThreeStyle
743 @funindex \voiceFourStyle
744 @funindex \voiceNeutralStyle
745
746 コマンド @code{\voiceXXXStyle} は主にこのマニュアルのような教育目的のドキュ@c
747 メントで使用することを意図したものです。このコマンドは、各ボイスが容易に見分け@c
748 られるように、音符玉、ステム、ビームの色、それに音符玉のスタイルを変更します。@c
749 ボイス 1 は赤でダイアモンドの音符玉を持つようにセットされ、ボイス 2 は青で三角@c
750 形の音符玉を、ボイス 3 は緑で×付きの円を、ボイス 4 (ここでは使用されていません) 
751 はマゼンダの×の音符玉を持つようにセットされます。@code{\voiceNeutralStyle} 
752 (これもここでは使用されていません) は音符玉のスタイルをデフォルトに戻します。@c
753 後ほど、ユーザがこのようなコマンドを作成するための方法を見ていきます。@c
754 @ref{オブジェクトの可視性と色} と @ref{調整のために変数を使用する} を参@c
755 照してください。
756 @c オブジェクトの可視性と色
757 @c 調整のために変数を使用する
758
759 @cindex polyphony and relative note entry
760 @cindex relative note entry and polyphony
761
762 多声部は @code{\relative @{ @}} ブロック内の音符の相対関係を変えません。各音符@c
763 は直前の音符あるいは直前の和音の最初の音符との相対関係で計算されます。そのた@c
764 め、以下の例では
765
766 @example
767 \relative c' @{ noteA << < noteB noteC > \\ noteD >> noteE @}
768 @end example
769
770 @noindent
771 @code{noteB} は @code{noteA} との相対関係で決まり                         @*
772 @code{noteC} は @code{noteA} ではなく @code{noteB} との相対関係で決まり  @*
773 @code{noteD} は @code{noteA} や @code{noteC} ではなく
774 @code{noteC} との相対関係で決まり                                           @*
775 @code{noteE} は @code{noteA} ではなく @code{noteD} との相対関係で決まります。
776
777 各ボイスの中にある音符の音程がボイスごとに大きく離れている場合、各ボイスの始めに 
778 @code{\relative} コマンドを置くと明瞭になるかもしれません:
779
780 @example
781 \relative c' @{ noteA ... @}
782 <<
783   \relative c'' @{ < noteB noteC > ... @}
784 @bs{}@bs{}
785   \relative g' @{ noteD ... @}
786 >>
787 \relative c' @{ noteE ... @}
788 @end example
789
790 最後に、もっと複雑な楽曲の中にあるボイスを分析してみましょう。以下は、ショパンの 
791 Deux Nocturnes, Op 32 の 2 番の最初の 2 小節です。この例は、表記を記述するため@c
792 のテクニックをいくつか示すために、本章の後の方と次の章で使用されます。ですか@c
793 ら、今はコードの中にある意味不明に見えるものは無視して、音楽とボイスだけに注目@c
794 してください -- 込み入った内容は後ほど説明します。
795
796 @c The following should appear as music without code
797 @lilypond[quote,ragged-right]
798 \new Staff \relative c'' {
799   \key aes \major
800   << % Voice one
801     { c2 aes4. bes8 }
802   \\ % Voice two
803     { aes2 f4 fes }
804   \\ % No voice three
805   \\ % Voice four
806     {
807       % Ignore these for now - they are explained in Ch 4
808       \once \override NoteColumn #'force-hshift = #0
809       <ees c>2
810       \once \override NoteColumn #'force-hshift = #0.5
811       des2
812     }
813   >> |
814   <c ees aes c>1 |
815 }
816 @end lilypond
817
818 ステムの向きはしばしば 2 つの同時進行する旋律ラインのつながりを示すために使用@c
819 されます。ここでは、一番上の音符のステムはすべて上向きであり、下の方にある音符@c
820 のステムはすべて下向きです。これは、複数のボイスが必要とされているということを@c
821 示す最初の兆候です。
822
823 しかしながら、複数のボイスが実際に必要とされるのは、同時に始まる音符が異なる演@c
824 奏時間を持つ場合です。最初の小節の 3 拍目を見てください。A フラットは付点 4 分@c
825 音符であり、F は 4 分音符、D フラットは半音符です。これらの音符を和音として記@c
826 述することはできません。なぜなら、和音の中の音符はすべて同じ演奏時間でなければ@c
827 ならないからです。これらの音符をシーケンシャルな (連続する) 音符として記述する@c
828 こともできません。なぜなら、これらの音符は同時に始まらなければならないからで@c
829 す。この箇所では 3 つのボイスが必要となり、以下に示すように一般的にはこの小節@c
830 全体を 3 つのボイスで記述します。そこでは、3 つのボイスに対して異なる音符玉と@c
831 色を割り当てています。もう一度繰り返しますが、この例のコードのことは後ほど説明@c
832 しますので、理解できないことは無視してください。
833
834 @c The following should appear as music without code
835 @c The three voice styles should be defined in -init
836 @lilypond[quote,ragged-right]
837 \new Staff \relative c'' {
838   \key aes \major
839   <<
840     { % Voice one
841       \voiceOneStyle
842       c2 aes4. bes8
843     }
844   \\  % Voice two
845     { \voiceTwoStyle
846       aes2 f4 fes
847     }
848   \\  % No Voice three (we want stems down)
849   \\  % Voice four
850     { \voiceThreeStyle
851       % Ignore these for now - they are explained in Ch 4
852       \once \override NoteColumn #'force-hshift = #0
853       <ees c>2
854       \once \override NoteColumn #'force-hshift = #0.5
855       des2
856     }
857   >> |
858   <c ees aes c>1 |
859 }
860 @end lilypond
861
862
863 この音楽のコードをゼロから記述してみましょう。これから見ていくように、いくつか@c
864 の問題に遭遇します。すでに学んだように、最初の小節の音楽を 3 つのボイスに分け@c
865 て記述するために @code{<< \\  >>} 構造を使用します:
866
867 @c ignore
868 @lilypond[quote,verbatim,fragment,ragged-right]
869 \new Staff \relative c'' {
870   \key aes \major
871   <<
872     { c2 aes4. bes8 } \\ { aes2 f4 fes } \\ { <ees c>2 des2 }
873   >>
874   <c ees aes c>1
875 }
876 @end lilypond
877
878 @cindex stem down
879 @cindex voices and stem directions
880 @cindex stem directions and voices
881 @cindex stem up
882
883 ステムの向きは自動的に割り当てられ、奇数番号のボイスが上向きのステム、偶数番号@c
884 のボイスが下向きのステムを持ちます。ボイス 1 と 2 のステムは正しいのですが、ボ@c
885 イス 3 のステムはここでは下向きになるべきです。これは単純にボイス 3 を省略し@c
886 て、その音楽をボイス 4 に記述することによって修正できます:
887
888 @lilypond[quote,verbatim,fragment,ragged-right]
889 \new Staff \relative c'' {
890   \key aes \major
891   << % Voice one
892     { c2 aes4. bes8 }
893   \\ % Voice two
894     { aes2 f4 fes   }
895   \\ % Omit Voice three
896   \\ % Voice four
897     { <ees c>2 des2 }
898   >> |
899   <c ees aes c>1 |
900 }
901 @end lilypond
902
903 @noindent
904 これによりステムの向きが修正されました。しかしながら、複数のボイスを持つ場合に@c
905 しばしば発生する問題に遭遇してしまいました -- あるボイスの中にある音符のステム@c
906 が他のボイスの中にある音符玉と衝突しています。音符をレイアウトするときに、@c
907 LilyPond は 2 つのボイスのステムの向きを反対にすることによって 2 つのボイスの@c
908 音符や和音が同じ垂直方向の音符列に位置することを可能にします。しかしながら、3 
909 番目や 4 番目のボイスは音符玉の衝突を避けるために必要があれば移動させられま@c
910 す。これは普通はうまくいきますが、この例では一番下のボイスの音符はデフォルトの@c
911 状態では明らかにうまくいっていません。LilyPond は音符の水平方向位置を調節する@c
912 ためにいくつかの手段を提供します。我々はまだこの問題を修正するための方法を見て@c
913 いく準備が整っていないので、この問題は後に残しておくことにします -- 
914 @ref{表記の重なりを修正する} の @code{force-hshift} プロパティを参照して@c
915 ください。
916
917
918 @seealso
919 表記リファレンス: @ruser{Multiple voices}
920 @c 複数のボイス
921
922
923 @node ボイスの明示的なインスタンス化
924 @subsection ボイスの明示的なインスタンス化
925 @translationof Explicitly instantiating voices
926 @c ボイスの明示的なインスタンス化
927
928 @funindex \voiceOne
929 @funindex voiceOne
930 @funindex \voiceTwo
931 @funindex voiceTwo
932 @funindex \voiceThree
933 @funindex voiceThree
934 @funindex \voiceFour
935 @funindex voiceFour
936 @funindex \oneVoice
937 @funindex oneVoice
938 @funindex \new Voice
939 @cindex voice contexts, creating
940
941 多声部音楽を作成するためにボイス コンテキストを手動で @code{<< >>} ブロックの@c
942 中に作成することもできます。ステム、スラーなどの向きを示すために 
943 @code{\voiceOne} ... @code{\voiceFour} を使用します。この手法は各ボイスを別々@c
944 にして、より記述的な名前を与えることを可能にするため、長い楽譜ではわかりやすい@c
945 ものになります。
946
947 本質的には、前のセクションで使用した構造 @code{<< \\ >>}:
948
949 @example
950 \new Staff @{
951   \relative c' @{
952     << @{ e4 f g a @} @bs{}@bs{} @{ c,4 d e f @} >>
953   @}
954 @}
955 @end example
956
957 @noindent
958 は以下と等価です:
959
960 @example
961 \new Staff <<
962   \new Voice = "1" @{ \voiceOne \relative c' @{ e4 f g a @} @}
963   \new Voice = "2" @{ \voiceTwo \relative c' @{ c4 d e f @} @}
964 >>
965 @end example
966
967 上記の両方ともが以下の楽譜を生成します:
968
969 @c The following example should not display the code
970 @lilypond[ragged-right,quote]
971 \new Staff <<
972   \new Voice = "1" { \voiceOne \relative c' { e4 f g a } }
973   \new Voice = "2" { \voiceTwo \relative c' { c4 d e f } }
974 >>
975 @end lilypond
976
977 @cindex voices, reverting to single
978 @cindex reverting to a single voice
979
980 @code{\voiceXXX} コマンドはステム、スラー、タイ、アーティキュレーション、テキ@c
981 ストの注釈、付点音符の付点、運指記号の向きをセットします。@code{\voiceOne} と 
982 @code{\voiceThree} はこれらのオブジェクトを上向きにし、一方の @code{\voiceTwo} 
983 と @code{\voiceFour} は下向きにします。さらに、音符の玉の衝突を避ける必要があ@c
984 る場合、これらのコマンドは各ボイスに対して水平方向のシフトを発生させます。コ@c
985 マンド @code{\oneVoice} は設定を単一のボイスの場合の通常値に戻します。
986
987 いくつかの簡単な例で、@code{\oneVoice}, @code{\voiceOne}, @code{\voiceTwo} が@c
988 マークアップ、タイ、スラー、強弱記号に与える影響を見ていきましょう:
989
990 @lilypond[quote,ragged-right,verbatim]
991 \relative c'{
992   % Default behavior or behavior after \oneVoice
993   c d8 ~ d e4 ( f g a ) b-> c
994 }
995 @end lilypond
996
997 @lilypond[quote,ragged-right,verbatim]
998 \relative c'{
999   \voiceOne
1000   c d8 ~ d e4 ( f g a ) b-> c
1001   \oneVoice
1002   c, d8 ~ d e4 ( f g a ) b-> c
1003 }
1004 @end lilypond
1005
1006 @lilypond[quote,ragged-right,verbatim]
1007 \relative c'{
1008   \voiceTwo
1009   c d8 ~ d e4 ( f g a ) b-> c
1010   \oneVoice
1011   c, d8 ~ d e4 ( f g a ) b-> c
1012 }
1013 @end lilypond
1014
1015 今度は、前のセクションの例を使って同じ多声部音楽のパッセージを 3 つの異なる方@c
1016 法で表記する例を見ていきます。それぞれ異なる状況で利点があります。
1017
1018 1 つはメイン ボイスに属する @code{<< >>} の内部に直接表記を記述する方法です 
1019 (しかしながら、音符は @code{<< \\ >>} 構造の中に置かれては@strong{いません})。@c
1020 これはメイン ボイスの途中で追加のボイスが現れる場合に有用です。ここでは例にさ@c
1021 らに調整を加えます。赤のダイアモンド形の音符はメイン メロディが単一のボイス 
1022 コンテキストになっていて、その上にフレージング スラーを描くことができるという@c
1023 ことを示しています。
1024
1025 @lilypond[quote,ragged-right,verbatim]
1026 \new Staff \relative c' {
1027   \voiceOneStyle
1028   % The following notes are monophonic
1029   c16^( d e f
1030   % Start simultaneous section of three voices
1031   <<
1032     % Continue the main voice in parallel
1033     { g4 f e | d2 e2) }
1034     % Initiate second voice
1035     \new Voice {
1036       % Set stems, etc, down
1037       \voiceTwo
1038       r8 e4 d c8 ~ | c8 b16 a b8 g ~ g2
1039     }
1040     % Initiate third voice
1041     \new Voice {
1042       % Set stems, etc, up
1043       \voiceThree
1044       s2. | s4 b4 c2
1045     }
1046   >>
1047 }
1048 @end lilypond
1049
1050 @cindex nesting music expressions
1051 @cindex nesting simultaneous constructs
1052 @cindex nesting voices
1053 @cindex voices, temporary
1054 @cindex voices, nesting
1055
1056 多声部構造をより深くネストさせることが可能であり、追加のボイスが短時間のもので@c
1057 あるならば、こちらの方がより自然な音楽表記方法であるかもしれません:
1058
1059 @lilypond[quote,ragged-right,verbatim]
1060 \new Staff \relative c' {
1061   c16^( d e f
1062   <<
1063     { g4 f e | d2 e2) }
1064     \new Voice {
1065       \voiceTwo
1066       r8 e4 d c8 ~ |
1067       <<
1068         {c8 b16 a b8 g ~ g2}
1069         \new Voice {
1070           \voiceThree
1071           s4 b4 c2
1072         }
1073       >>
1074     }
1075   >>
1076 }
1077 @end lilypond
1078
1079 @cindex spacing notes
1080
1081 新しいボイスを一時的にネストさせる手法は音楽のほんの一部だけが多声である場合に@c
1082 有用です。しかしながら、楽譜全体が多声である場合、一貫して複数のボイスを使用し@c
1083 た方がわかりやすくなります。ボイスが無音の場所を飛ばすには以下のように空白音符@c
1084 を使用します:
1085
1086 @lilypond[quote,ragged-right,verbatim]
1087 \new Staff \relative c' <<
1088   % Initiate first voice
1089   \new Voice {
1090     \voiceOne
1091     c16^( d e f g4 f e | d2 e2) |
1092   }
1093   % Initiate second voice
1094   \new Voice {
1095     % Set stems, etc, down
1096     \voiceTwo
1097     s4 r8 e4 d c8 ~ | c8 b16 a b8 g ~ g2 |
1098   }
1099   % Initiate third voice
1100   \new Voice {
1101     % Set stems, etc, up
1102     \voiceThree
1103     s1 | s4 b4 c2 |
1104   }
1105 >>
1106 @end lilypond
1107
1108
1109 @subsubheading 音符列
1110 @c 音符列
1111
1112 @cindex note column
1113 @cindex note collisions
1114 @cindex collisions, notes
1115 @cindex shift commands
1116 @funindex \shiftOff
1117 @funindex shiftOff
1118 @funindex \shiftOn
1119 @funindex shiftOn
1120 @funindex \shiftOnn
1121 @funindex shiftOnn
1122 @funindex \shiftOnnn
1123 @funindex shiftOnnn
1124
1125 和音の中で小さな間隔で置かれる音符、あるいは異なるボイスで同時に発生する音符@c
1126 は、音符の玉が重なるのを避けるために 2 列、時にはそれ以上の列に割り振られま@c
1127 す。これらの列は音符列と呼ばれます。それぞれのボイスに対して別々の列が存在し、@c
1128 音符の玉の衝突が起こる場合はボイスごとのシフトが適用されます。これは上の例でも@c
1129 見ることができます。2 小節目でボイス 2 の C はボイス 1 の D との関係で右にシフ@c
1130 トされていて、最後の和音でボイス 3 の C も他の音符との関係で右にシフトされてい@c
1131 ます。
1132
1133 @code{\shiftOn}, @code{\shiftOnn}, @code{\shiftOnnn}, それに @code{\shiftOff} 
1134 コマンドは、衝突が起こる場合に音符や和音をシフトさせる度合いを指定します。デ@c
1135 フォルトでは、外側のボイス (通常はボイス 1 と 2) には @code{\shiftOff} が指定@c
1136 されていて、内側のボイス (ボイス 3 と 4) には @code{\shiftOn} が指定されていま@c
1137 す。シフトが適用される場合、ボイス 1 と 3 は右にシフトされ、ボイス 2 と 4は左@c
1138 にシフトされます。
1139
1140 @code{\shiftOnn} と @code{\shiftOnnn} はさらなるシフト レベルを定義するもので@c
1141 あり、複雑な状況での衝突を解決するために一時的に指定されるかもしれません -- 
1142 @ref{実際の音楽からの例} を参照してください。
1143 @c 実際の音楽の例
1144
1145 ある音符列は上向きのステムを持つボイスからの音符 (あるいは和音) を 1 つだけ、@c
1146 下向きのステムを持つボイスからの音符 (あるいは和音) を 1 つだけ保持することが@c
1147 できます。同じ向きのステムを持つ 2 つのボイスからの音符が同じ位置に置かれ、両@c
1148 方のボイスにシフトが指定されていない、あるいは同じシフトが指定されている場合、@c
1149 エラー メッセージ @qq{Too many clashing note columns} (音符が多すぎて音符列で@c
1150 衝突が起こっています) が生成されます。
1151
1152
1153 @seealso
1154 表記リファレンス: @ruser{Multiple voices}
1155 @c 複数のボイス?
1156
1157
1158 @node ボイスとボーカル
1159 @subsection ボイスとボーカル
1160 @translationof Voices and vocals
1161 @c ボイスとボーカル
1162
1163 声楽には特別な困難があります: 2 つの表記 -- 音符と歌詞 -- を組み合わせる必要が@c
1164 あります。
1165
1166 @funindex \new Lyrics
1167 @funindex \lyricsto
1168 @funindex lyricsto
1169 @funindex Lyrics
1170 @cindex Lyrics context, creating
1171 @cindex lyrics, linking to voice
1172
1173 すでに @code{\addlyrics@{@}} コマンドを見てきました。これは簡単な楽譜であれば@c
1174 うまく処理できます。しかしながら、この方法では限界があります。より複雑な音楽で@c
1175 は、@code{\new Lyrics} を使って歌詞を @code{Lyrics} コンテキストに取り込み、ボ@c
1176 イスに割り当ている名前を使って @code{\lyricsto@{@}} でその歌詞を明示的に音符に@c
1177 リンクさせます。
1178
1179 @lilypond[quote,verbatim,fragment]
1180 <<
1181   \new Voice = "one" \relative c'' {
1182     \autoBeamOff
1183     \time 2/4
1184     c4 b8. a16 g4. f8 e4 d c2
1185   }
1186   \new Lyrics \lyricsto "one" {
1187     No more let sins and sor -- rows grow.
1188   }
1189 >>
1190 @end lilypond
1191
1192 歌詞は @code{Staff} コンテキスト@emph{ではなく} @code{Voice} コンテキストに@c
1193 リンクさせなければならないということに注意してください。このため、@code{Staff} 
1194 コンテキストと @code{Voice} コンテキストを明示的に作成する必要があります。
1195
1196 @cindex lyrics and beaming
1197 @cindex beaming and lyrics
1198 @funindex \autoBeamOff
1199 @funindex autoBeamOff
1200
1201 LilyPond がデフォルトで使用する自動ビームは楽器だけの音楽ではうまく機能します@c
1202 が、歌詞を持つ音楽ではそれほどうまく機能しません。そこではビームはまったく必要@c
1203 ないか、歌詞のメリスマ (訳者注: 歌詞の 1 音節に対して複数の音符を割り当てること) 
1204 を示すために使用されるかのどちらかです。上の例では、自動ビームを Off にするた@c
1205 めにコマンド @code{\autoBeamOff} を使用しています。
1206
1207 @funindex \new ChoirStaff
1208 @funindex ChoirStaff
1209 @funindex \lyricmode
1210 @funindex lyricmode
1211 @cindex vocal score structure
1212 @cindex choir staff
1213
1214 以前使用した Judas Maccabæus からの例を再度使用して、より自由度の高い方法を示@c
1215 します。まず、楽譜の内容を変数に振り直し、音楽と歌詞を譜表構造から分離させま@c
1216 す。さらに @code{ChoirStaff} ブラケットを導入します。歌詞自体は、音楽ではなく@c
1217 歌詞として解釈されることを保証するために、@code{\lyricsmode} で導入されなけれ@c
1218 ばなりません。
1219
1220 @lilypond[quote,verbatim]
1221 global = { \time 6/8 \partial 8 \key f \major}
1222 SopOneMusic = \relative c'' {
1223   c8 | c([ bes)] a a([ g)] f | f'4. b, | c4.~ c4 }
1224 SopTwoMusic = \relative c' {
1225   r8 | r4. r4 c8 | a'([ g)] f f([ e)] d | e([ d)] c bes' }
1226 SopOneLyrics = \lyricmode {
1227   Let | flee -- cy flocks the | hills a -- dorn, __ }
1228 SopTwoLyrics = \lyricmode {
1229   Let | flee -- cy flocks the | hills a -- dorn, }
1230
1231 \score {
1232   \new ChoirStaff <<
1233     \new Staff <<
1234       \new Voice = "SopOne" {
1235         \global
1236         \SopOneMusic
1237       }
1238       \new Lyrics \lyricsto "SopOne" {
1239         \SopOneLyrics
1240       }
1241     >>
1242     \new Staff <<
1243       \new Voice = "SopTwo" {
1244         \global
1245         \SopTwoMusic
1246       }
1247       \new Lyrics \lyricsto "SopTwo" {
1248         \SopTwoLyrics
1249       }
1250     >>
1251   >>
1252 }
1253 @end lilypond
1254
1255 これはすべての声楽譜の基本的な構造です。必要に応じてさらに多くの譜が追加される@c
1256 かもしれませんし、さらに多くのボイスが譜に追加されるかもしれませんし、さらに多@c
1257 くの歌詞 (原文: verse、各ボイスに対する歌詞、あるいは、歌詞の 1 番、2 番のこと@c
1258 を指すと思われる) が歌詞に追加されるかもしれません。音楽部分が長くなりすぎた場@c
1259 合は、音楽を保持している変数を容易に別のファイルに置くことができます。
1260
1261 @cindex hymn structure
1262 @cindex SATB structure
1263 @cindex vocal scores with multiple verses
1264 @cindex multiple vocal verses
1265 @cindex verses, multiple vocal
1266
1267 ここで、例として 4 つの歌詞 -- それぞれが SATB (ソプラノ、アルト、テナー、バス) 
1268 に対してセットされている -- を持つ賛美歌の最初の 1 行目を取り上げます。この歌@c
1269 の場合、4 つのパートに対する歌詞の言葉は同じです。変数を使用して音楽表記と歌詞@c
1270 の言葉を譜表構造から分離させている手法に注意してください。さらに、 @q{TimeKey} 
1271 と呼ぶことにした変数が、2 つの譜で使用されるいくつかのコマンドを保持するため@c
1272 に、使用されていることにも注意してください。他の例では、この変数はしばしば 
1273 @q{global} と呼ばれます。
1274
1275 @lilypond[quote,verbatim]
1276 TimeKey = { \time 4/4 \partial 4 \key c \major}
1277 SopMusic   = \relative c' { c4 | e4. e8 g4  g  | a a g }
1278 AltoMusic  = \relative c' { c4 | c4. c8 e4  e  | f f e }
1279 TenorMusic = \relative c  { e4 | g4. g8 c4. b8 | a8 b c d e4 }
1280 BassMusic  = \relative c  { c4 | c4. c8 c4  c  | f8 g a b c4 }
1281 VerseOne   = \lyricmode {
1282   E -- | ter -- nal fa -- ther, | strong to save, }
1283 VerseTwo   = \lyricmode {
1284   O | Christ, whose voice the | wa -- ters heard, }
1285 VerseThree = \lyricmode {
1286   O | Ho -- ly Spi -- rit, | who didst brood }
1287 VerseFour  = \lyricmode {
1288   O | Tri -- ni -- ty of | love and pow'r }
1289
1290 \score {
1291   \new ChoirStaff <<
1292     \new Staff <<
1293       \clef "treble"
1294       \new Voice = "Sop"  { \voiceOne \TimeKey \SopMusic }
1295       \new Voice = "Alto" { \voiceTwo \AltoMusic }
1296       \new Lyrics \lyricsto "Sop" { \VerseOne   }
1297       \new Lyrics \lyricsto "Sop" { \VerseTwo   }
1298       \new Lyrics \lyricsto "Sop" { \VerseThree }
1299       \new Lyrics \lyricsto "Sop" { \VerseFour  }
1300     >>
1301     \new Staff <<
1302       \clef "bass"
1303       \new Voice = "Tenor" { \voiceOne \TimeKey \TenorMusic }
1304       \new Voice = "Bass"  { \voiceTwo \BassMusic  }
1305     >>
1306   >>
1307 }
1308 @end lilypond
1309
1310 @cindex verse and refrain
1311
1312 最後に、2 つの譜の 2 パートのリフレイン (繰り返し) につながる単一の歌詞の節を@c
1313 コードする方法を示す例を挙げます。これを 1 つの楽譜で達成するためのシークエン@c
1314 シャル部分と同時進行部分の配置の仕方は非常にトリッキーです。そのため、説明を注@c
1315 意深く読んでください!
1316
1317 コーラスの開始点でブレースを表示させたいので、@code{ChoirStaff} を保持する score 
1318 ブロックで始めます。通常、すべての譜を並列にするために @code{\new ChoirStaff} 
1319 の後に角括弧を置く必要があります。角括弧を使用しても害はありませんが、ここでは@c
1320 コーラスまで並列化を先延ばししたいのでブレースを使用します。@code{ChoirStaff} 
1321 の中で、まず最初に歌詞を保持する譜表を置く必要があります。音符と歌詞を並列に並@c
1322 べなければならないので、@code{\new Voice} と @code{\new Lyrics} を同時に開始さ@c
1323 せるために角括弧で囲む必要があります:
1324
1325 @lilypond[quote,verbatim,ragged-right]
1326 versenotes = \relative c'' {
1327   \clef "treble"
1328   \key g \major
1329   \time 3/4 g g g b b b
1330 }
1331 versewords = \lyricmode {
1332   One two three four five six
1333 }
1334 \score {
1335   \new ChoirStaff {
1336     \new Staff <<
1337       \new Voice = "verse" {
1338         \versenotes \break
1339       }
1340       \new Lyrics \lyricsto verse {
1341         \versewords
1342       }
1343     >>
1344   }
1345 }
1346 @end lilypond
1347
1348 これで歌詞の行が与えられました。
1349
1350 今度は、refainA を同じ譜表で続けて、それと並列に refrainB のためにもう 1 つ譜@c
1351 表を導入する必要があります。そのため、この並列部分は verse Voice の中の 
1352 @code{\break} の直後に置かれなければなりません。そうです、verse Voice の@c
1353 @emph{中に}です!ここで並列部分を示します。同じ要領でここにもっと多くの譜を導@c
1354 入することもできます。
1355
1356 @example
1357 <<
1358   \refrainnotesA
1359   \new Lyrics \lyricsto verse @{
1360     \refrainwordsA
1361   @}
1362   \new Staff <<
1363     \new Voice = "refrainB" @{
1364       \refrainnotesB
1365     @}
1366     \new Lyrics \lyricsto "refrainB" @{
1367       \refrainwordsB
1368     @}
1369   >>
1370 >>
1371 @end example
1372
1373 ここで最終結果を示します。これはコーラスになっている 2 つの譜を持ち、並列部分@c
1374 がどのように verse Voice の中に置かれるかを示しています:
1375
1376 @lilypond[quote,verbatim, ragged-right]
1377 versenotes = \relative c'' {
1378   \clef "treble"
1379   \key g \major
1380   \time 3/4 g g g b b b
1381 }
1382 refrainnotesA = \relative c'' {
1383   \time 2/4
1384   c c g g \bar "|."
1385 }
1386 refrainnotesB = \relative c {
1387   \clef "bass"
1388   \key g \major
1389   c e d d
1390 }
1391 versewords = \lyricmode {
1392   One two three four five six
1393 }
1394 refrainwordsA = \lyricmode {
1395   la la la la
1396 }
1397 refrainwordsB = \lyricmode {
1398   dum dum dum dum
1399 }
1400 \score {
1401   \new ChoirStaff {
1402     \new Staff <<
1403       \new Voice = "verse" {
1404         \versenotes \break
1405         <<
1406           \refrainnotesA
1407           \new Lyrics \lyricsto "verse" {
1408             \refrainwordsA
1409           }
1410           \new Staff <<
1411             \new Voice = "refrainB" {
1412               \refrainnotesB
1413             }
1414             \new Lyrics \lyricsto "refrainB" {
1415               \refrainwordsB
1416             }
1417           >>
1418         >>
1419       }
1420       \new Lyrics \lyricsto "verse" {
1421         \versewords
1422       }
1423     >>
1424   }
1425 }
1426 @end lilypond
1427
1428 @cindex book, example of using
1429 @funindex \book
1430 @funindex book
1431
1432 これはシークエンシャル ブロックと同時進行ブロックがどのように機能するかを理解@c
1433 するための手助けとしては興味深く有用です。しかしながら、実際にこれをコードする@c
1434 場合は、恐らく以下のように暗黙の @code{\book} ブロック内部に 2 つの 
1435 @code{\score} ブロックを置くようにするでしょう:
1436
1437 @lilypond[quote,verbatim,ragged-right]
1438 versenotes = \relative c'' {
1439   \clef "treble"
1440   \key g \major
1441   \time 3/4 g g g b b b
1442 }
1443 refrainnotesA = \relative c'' {
1444   \time 2/4
1445   c c g g \bar "|."
1446 }
1447 refrainnotesB = \relative c {
1448   \clef "bass"
1449   \key g \major
1450   c e d d
1451 }
1452 versewords = \lyricmode {
1453   One two three four five six
1454 }
1455 refrainwordsA = \lyricmode {
1456   la la la la
1457 }
1458 refrainwordsB = \lyricmode {
1459   dum dum dum dum
1460 }
1461 \score {
1462   \new Staff <<
1463     \new Voice = "verse" {
1464       \versenotes
1465     }
1466     \new Lyrics \lyricsto "verse" {
1467       \versewords
1468     }
1469   >>
1470 }
1471
1472 \score {
1473   \new ChoirStaff <<
1474     \new Staff <<
1475       \new Voice = "refrainA" {
1476         \refrainnotesA
1477       }
1478       \new Lyrics \lyricsto "refrainA" {
1479         \refrainwordsA
1480       }
1481     >>
1482     \new Staff <<
1483       \new Voice = "refrainB" {
1484         \refrainnotesB
1485       }
1486       \new Lyrics \lyricsto "refrainB" {
1487         \refrainwordsB
1488       }
1489     >>
1490   >>
1491 }
1492 @end lilypond
1493
1494
1495 @seealso
1496 表記リファレンス: @ruser{Vocal music}
1497 @c 声楽
1498
1499
1500 @node コンテキストとエングラーバ
1501 @section コンテキストとエングラーバ
1502 @translationof Contexts and engravers
1503 @c コンテキストとエングラーバ
1504
1505 これまでに、コンテキストとエングラーバについて簡単に言及してきました。ここで@c
1506 は、これらのコンセプトをより詳細に見ていくことにします。なぜなら、これらは 
1507 LilyPond 出力をうまく調節するのに重要だからです。
1508
1509
1510 @menu
1511 * コンテキストの説明::
1512 * コンテキストを作成する::
1513 * エングラーバの説明::
1514 * コンテキスト プロパティを変更する::
1515 * エングラーバを追加 / 削除する::
1516 @end menu
1517
1518
1519 @node コンテキストの説明
1520 @subsection コンテキストの説明
1521 @translationof Contexts explained
1522 @c コンテキストの説明
1523
1524 @cindex contexts explained
1525
1526 音楽が譜刻されるとき、入力ファイルでははっきりとは現れてこない多くの表記要素を@c
1527 出力に追加しなければなりません。例えば、以下の例で入力と出力を比較してください:
1528
1529 @lilypond[quote,verbatim,relative=2,fragment]
1530 cis4 cis2. g4
1531 @end lilypond
1532
1533 この入力は内容がやや乏しいですが、出力では小節線、臨時記号、音部記号、拍子記号@c
1534 が追加されています。LilyPond が入力を@emph{解釈}するとき、音楽情報は時系列に調@c
1535 べられます。これは楽譜を左から右へ読むのと似ています。入力を読み込んでいる間、@c
1536 プログラムは小節の境目となる場所と明示的な臨時記号を必要とする音高を覚えていま@c
1537 す。この情報はいくつかのレベルで持続されなければなりません。例えば、臨時記号の@c
1538 効果は単一の譜表に制限されますが、小節線は楽譜全体に亘って同調されなければなり@c
1539 ません。
1540
1541 LilyPond 内部では、これらの規則と情報ビットは@emph{コンテキスト}にグループ化さ@c
1542 れます。すでに @code{Voice} コンテキストを見てきました。他にも、@code{Staff} 
1543 コンテキストと @code{Score} コンテキストがあります。コンテキストは、楽譜の階層@c
1544 構造を反映するために、階層構造になっています。例えば: @code{Staff} コンテキス@c
1545 トは多くの @code{Voice} コンテキストを保持することができ、@code{Score} コンテ@c
1546 キストは多くの @code{Staff} コンテキストを保持することができます。
1547
1548 @quotation
1549 @sourceimage{context-example,5cm,,}
1550 @end quotation
1551
1552 各コンテキストは、いくつかの表記オブジェクトを作成し、関連プロパティを維持しな@c
1553 がら、いくつかの表記規則を施行する責任があります。例えば、@code{Voice} コンテ@c
1554 キストは臨時記号を作り出すかもしれず、そうした場合 @code{Staff} コンテキストは@c
1555 その小節の残りの部分で臨時記号を表示したり隠したりするための規則を維持します。
1556
1557 他の例としては、小節線の同調はデフォルトでは @code{Score} コンテキストが扱いま@c
1558 す。しかしながら、いくつかの音楽では小節線を同調させたくない場合もあります -- 
1559 4/4 拍子と 3/4 拍子の多声の楽譜といった場合です。そのようなケースでは、@c
1560 @code{Score} と @code{Staff} コンテキストのデフォルト設定を変更しなければなり@c
1561 ません。
1562
1563 非常にシンプルな楽譜では、コンテキストは暗黙的に作成され、あなたはそれらに気づ@c
1564 く必要もありません。複数の譜表を持つようなより大きな楽曲では、あなたが必要とし@c
1565 ているだけの譜を手に入れられるよう、さらに、それらの譜が正しい順序で並ぶことを@c
1566 保証するために、コンテキストを明示的に作成する必要があります。特殊な表記を持つ@c
1567 楽曲を譜刻するには、通常は既存のコンテキストを変更します。あるいは完全に新しい@c
1568 コンテキストを定義することさえあります。
1569
1570 @code{Score}, @code{Staff}, @code{Voice} コンテキストに加えて、@code{PianoStaff} 
1571 や @code{ChoirStaff} コンテキストといった譜表グループを制御するための、楽譜レ@c
1572 ベルと譜表レベルの間にあるコンテキストがあります。さらに、代替の譜表コンテキス@c
1573 トとボイスコンテキストがあり、歌詞、打楽器、フレットボード (訳者: 弦楽器の一@c
1574 種。フレットでウィキぺディアを参照)、通奏低音 (数字付き低音、原文: figured bass) 
1575 などのためのコンテキストがあります。
1576
1577 すべてのコンテキスト タイプの名前は 1 つ、あるいは複数の単語からなります。各単@c
1578 語の最初の文字は大文字であり、前の単語のすぐあとに次の単語が続きます。ハイフン@c
1579 やアンダスコアは使いません。つまり @code{GregorianTranscriptionStaff} といった@c
1580 具合です。
1581
1582
1583 @seealso
1584 表記リファレンス: @ruser{コンテキストの説明}
1585 @c コンテキストの説明
1586
1587
1588 @node コンテキストを作成する
1589 @subsection コンテキストを作成する
1590 @translationof Creating contexts
1591 @c コンテキストを作成する
1592
1593 @funindex \new
1594 @funindex new
1595 @cindex new contexts
1596 @cindex creating contexts
1597 @cindex contexts, creating
1598
1599 最上位にあるコンテキストは 1 つだけです: @code{Score} コンテキストです。これは 
1600 @code{\score} コマンドによって作成されます。また、簡単な楽譜では、これは自動的@c
1601 に作成されます。
1602
1603 1 つだけのボイスと 1 つだけの譜表を持つ楽譜では、@code{Voice} と @code{Staff} 
1604 コンテキストは自動的に作成されるために放っておかれるかもしれません。しかしなが@c
1605 ら、より複雑な楽譜では、これらを手ずから作成する必要があります。これらを作成す@c
1606 る最も簡単なコマンドは @code{\new} です。これは音楽表記の前に置きます。例を挙@c
1607 げます:
1608
1609 @example
1610 \new @var{type} @var{music-expression}
1611 @end example
1612
1613 @noindent
1614
1615 ここで、@var{type} はコンテキスト名です (@code{Staff} や @code{Voice} など)。@c
1616 このコマンドは新しいコンテキストを作成し、そのコンテキストの中にある 
1617 @var{music-expression} の解釈を開始します。
1618
1619 @code{\new Score} というコマンドは無いということに注意してください。単一の最上位 
1620 @code{Score} コンテキストは @code{\score} で作成されます。
1621
1622 これまでに、新たに @code{Staff} と @code{Voice} コンテキストを作成する多くの実@c
1623 際的な例を見てきましたが、これらのコマンドが実際にどのように使用されるのかを覚@c
1624 えてもらうために、実際の音楽に注釈を付けた例を挙げます:
1625
1626 @lilypond[quote,verbatim,ragged-right]
1627 \score {  % start of single compound music expression
1628   <<  % start of simultaneous staves section
1629     \time 2/4
1630     \new Staff {  % create RH staff
1631       \key g \minor
1632       \clef "treble"
1633       \new Voice {  % create voice for RH notes
1634         \relative c'' {  % start of RH notes
1635           d4 ees16 c8. |
1636           d4 ees16 c8. |
1637         }  % end of RH notes
1638       }  % end of RH voice
1639     }  % end of RH staff
1640     \new Staff <<  % create LH staff; needs two simultaneous voices
1641       \key g \minor
1642       \clef "bass"
1643       \new Voice {  % create LH voice one
1644         \voiceOne
1645         \relative g {  % start of LH voice one notes
1646           g8 <bes d> ees, <g c> |
1647           g8 <bes d> ees, <g c> |
1648         }  % end of LH voice one notes
1649       }  % end of LH voice one
1650       \new Voice {  % create LH voice two
1651         \voiceTwo
1652         \relative g {  % start of LH voice two notes
1653           g4 ees |
1654           g4 ees |
1655         }  % end of LH voice two notes
1656       }  % end of LH voice two
1657     >>  % end of LH staff
1658   >>  % end of simultaneous staves section
1659 }  % end of single compound music expression
1660 @end lilypond
1661
1662 (中括弧 @code{@{} や 2 重角括弧 @code{<<} の中でブロックになっているすべての記@c
1663 述には括弧よりもスペースが 2 つ多いインデントを付けられていて、閉じ括弧には括@c
1664 弧の開始行と同じインデントを付けられているということに注意してください。これは@c
1665 必須ではありませんが、こうしておくと @q{unmatched backet} (「括弧が一致しない」) 
1666 エラーを大幅に減らすことができますので、強く推奨します。これにより、音楽の構造@c
1667 を簡単に見て取ることができ、一致していない括弧が明瞭になります。さらに、RH 譜@c
1668 表はボイスを 1 つだけしか必要としないために中括弧によって囲まれた単一の音楽表@c
1669 記として作成されているのに対して、LH 譜表は 2 つのボイスを必要とするために 2 
1670 重角括弧を使って作成されていることに注意してください。)
1671
1672 @cindex contexts, naming
1673 @cindex naming contexts
1674
1675 また、@code{\new} コマンドはコンテキストに識別名を与えて、そのコンテキストを同@c
1676 じタイプの他のコンテキストと区別することを可能にするかもしれません:
1677
1678 @example
1679 \new @var{type} = @var{id} @var{music-expression}
1680 @end example
1681
1682 @code{Staff}, @code{Voice} などといったコンテキスト タイプの名前とそのような@c
1683 コンテキスト タイプのインスタンスの名前 --これはユーザによって提供され、どのよ@c
1684 うな文字の連なりにもなり得ます -- の違いに注意してください。数字とスペースも識@c
1685 別名に使用することができますが、その場合クォートで囲まなければなりません -- つ@c
1686 まり、@code{\new Staff = "MyStaff 1" @var{music-expression}} のようになりま@c
1687 す。識別名はコンテキストのあるインスタンスを参照するために使用されます。このこ@c
1688 とを歌詞についてのセクションで見てきました。@ref{ボイスとボーカル} を参照して@c
1689 ください。
1690 @c ボイスとボーカル
1691
1692
1693 @seealso
1694 表記リファレンス: @ruser{コンテキストを作成する}
1695 @c コンテキストを作成する
1696
1697
1698 @node エングラーバの説明
1699 @subsection エングラーバの説明
1700 @translationof Engravers explained
1701 @c エングラーバの説明
1702
1703 @cindex engravers
1704
1705 LilyPond によって作成された楽譜上にあるすべての記号は @code{Engraver} によって@c
1706 作り出されます。つまり、譜を譜刻するエングラーバがあり、音符玉を譜刻するエング@c
1707 ラーバ、ステムを譜刻するエングラーバ、ビームを譜刻するエングラーバなどなどで@c
1708 す。そのようなエングラーバは 120 以上あります!幸いなことに、たいていの楽譜で@c
1709 は数個のエングラーバについて知っていれば良く、簡単な楽譜ではまったく知らなくて@c
1710 も大丈夫です。
1711
1712 エングラーバはコンテキストの中に存在し、そこで活動します。@c
1713 @code{Metronome_mark_engraver} などといった楽譜全体に影響を与えるエングラーバ@c
1714 は最上位のコンテキスト -- @code{Score} コンテキスト -- で活動します。
1715
1716 @code{Clef_engraver} と @code{Key_engraver} は各 @code{Staff} コンテキストの中@c
1717 で見つかります -- 譜が異なれば音部記号や調号も異なるかもしれないからです。
1718
1719 @code{Note_heads_engraver} と @code{Stem_engraver} は各 @code{Voice} コンテキ@c
1720 スト -- 最下位のコンテキスト -- の中にあります。
1721
1722 各エングラーバはそれの機能に関連付けされているある特定のオブジェクトを処理し、@c
1723 機能に関連するプロパティを維持します。コンテキストに関連付けされているプロパ@c
1724 ティなどのようにこれらのプロパティは、エングラーバの処理を変更するためや、譜刻@c
1725 される楽譜の中にある要素の見た目を変更するために、変更されるかもしれません。
1726
1727 エングラーバはすべてそれらの機能を記述する単語から形成された複合名を持ちます。@c
1728 最初の単語の最初の文字は大文字であり、その後に続く単語はアンダスコアで連結され@c
1729 ます。ですから、@code{Staff_symbol_engraver} には譜表の線を作成する責任があ@c
1730 り、@code{Clef_engraver} は音部記号を描くことによって音高の参照ポイントを決@c
1731 定、セットします。
1732
1733
1734 ここに、最も一般的なエングラーバをいくつかそれらの機能とともに挙げます。たいて@c
1735 いの場合、名前から簡単に機能を推測でき、その逆も成り立つことがわかるでしょう。
1736
1737 @multitable @columnfractions .3 .7
1738 @headitem エングラーバ
1739   @tab 機能
1740 @item Accidental_engraver
1741   @tab 臨時記号 (警告的臨時記号とアドバイス的な臨時記号を含む) を作成します。
1742 @item Beam_engraver
1743   @tab ビームを譜刻します。
1744 @item Clef_engraver
1745   @tab 音部記号を譜刻します。
1746 @item Completion_heads_engraver
1747   @tab 小節線をまたがる音符を分割します。
1748 @c The old Dynamic_engraver is deprecated. -jm
1749 @item New_dynamic_engraver
1750   @tab 強弱記号 (クレッシェンド、デクレッシェンド) と強弱テキスト (p や f など) 
1751 を作成します。
1752 @item Forbid_line_break_engraver
1753   @tab 音楽要素がアクティブなままである場合に改行されることを防ぎます。(訳者: 
1754 いわゆる禁則処理)
1755 @item Key_engraver
1756   @tab 調号を作成します。
1757 @item Metronome_mark_engraver
1758   @tab メトロノーム記号を譜刻します。
1759 @item Note_heads_engraver
1760   @tab 音符の玉を譜刻します。
1761 @item Rest_engraver
1762   @tab 休符を譜刻します。
1763 @item Staff_symbol_engraver
1764   @tab (デフォルトで) 五線の譜表を譜刻します。
1765 @item Stem_engraver
1766   @tab ステムと単一ステムのトレモロを作成します。
1767 @item Time_signature_engraver
1768   @tab 拍子記号を作成します。
1769 @end multitable
1770
1771 @smallspace
1772
1773 後ほど、エングラーバのアクションを変更することによって LilyPond の出力がどのよ@c
1774 うに変わるのかを見ていきます。
1775
1776
1777 @seealso
1778 内部リファレンス: @rinternals{Engravers and Performers}
1779 @c エングラーバとパフォーマー
1780
1781
1782 @node コンテキスト プロパティを変更する
1783 @subsection コンテキスト プロパティを変更する
1784 @translationof Modifying context properties
1785 @c コンテキスト プロパティを変更する
1786
1787 @cindex context properties
1788 @cindex context properties, modifying
1789 @cindex modifying context properties
1790 @funindex \set
1791 @funindex set
1792 @funindex \unset
1793 @funindex unset
1794
1795 コンテキストにはいくつかのコンテキスト プロパティを保持する責任があります。そ@c
1796 れらプロパティの多くは変更可能であり、変更することで入力の構文解釈に影響を与え@c
1797 て出力の見た目を変化させます。それらプロパティは \set コマンドによって変更され@c
1798 ます。これは以下のような形で行います:
1799
1800 @example
1801 \set @emph{ContextName}.@emph{propertyName} = #@emph{value}
1802 @end example
1803
1804 @emph{ontextName} には通常、@code{Score}, @code{Staff} or @code{Voice} が入り@c
1805 ます。これを省略する場合もあり、そのような場合は @code{Voice} であると見なされ
1806 ます。
1807
1808 コンテキスト プロパティの名前はハイフンやアンダスコアを使わずに連結された単語@c
1809 によって形成され、最初の単語を除いて単語の最初の文字は大文字になります。ここ@c
1810 で、一般的に使用されるコンテキスト プロパティの例をいくつか挙げます。実際に@c
1811 は、コンテキスト プロパティはもっとたくさんあります。
1812
1813 @c attempt to force this onto a new page
1814 @need 50
1815 @multitable @columnfractions .25 .15 .45 .15
1816 @headitem プロパティ名
1817   @tab タイプ
1818   @tab 機能
1819   @tab 実際の値の例
1820 @item extraNatural
1821   @tab ブール値
1822   @tab 真の場合、追加のナチュラル記号を臨時記号の前にセットします
1823   @tab @code{#t}, @code{#f}
1824 @item currentBarNumber
1825   @tab 整数
1826   @tab 小節番号をセットします
1827   @tab @code{50}
1828 @item doubleSlurs
1829   @tab ブール値
1830   @tab 真の場合、音符の上と下の両方にスラーを譜刻します
1831   @tab @code{#t}, @code{#f}
1832 @item instrumentName
1833   @tab テキスト
1834   @tab 譜表の先頭に表示される名前をセットします
1835   @tab @code{"Cello I"}
1836 @item fontSize
1837   @tab 実数
1838   @tab フォント サイズを増減させます
1839   @tab @code{2.4}
1840 @item stanza
1841   @tab テキスト
1842   @tab 歌詞の先頭に譜刻されるテキストをセットします
1843   @tab @code{"2"}
1844 @end multitable
1845
1846 @noindent
1847 ここでのブール値とは真 (@code{@hash{}t}) または偽 (@code{@hash{}f}) のどちらか@c
1848 であり、整数とは正の整数であり、実数とは正または負の小数点付きの数であり、テキ@c
1849 ストはダブル アポストロフィで囲まれます。ハッシュ記号 (@code{@hash{}}) が 2 つ@c
1850 の異なる箇所で出現することに注意してください -- ブール値での @code{t} や 
1851 @code{f} の前と、@code{@bs{}set} での@emph{値}の前です。そのため、@c
1852 @code{@bs{}set} の値にブール値を挿入する場合、ハッシュ記号が 2 つ必要になります 
1853 -- つまり @code{@hash{}@hash{}t} です。
1854
1855 @cindex properties operating in contexts
1856 @cindex setting properties within contexts
1857
1858 これらのプロパティのいずれかをセットする前に、それらが操作するコンテキストはど@c
1859 れなのかを知る必要があります。これは明らかな場合もありますが、ややこしい場合も@c
1860 あります。間違ったコンテキストが指定された場合、エラー メッセージは表示されま@c
1861 せんが、予期したアクションが起こりません。例えば、@code{instrumentName} は間違@c
1862 いなく @code{Staff} コンテキストの中にきます。なぜなら、このプロパティが名前を@c
1863 付けるのは譜表だからです。以下の例では、最初の譜表には名前が付けられています@c
1864 が、2 番目の譜表には付けられていません。なぜなら、コンテキスト名を省略している@c
1865 からです。
1866
1867 @lilypond[quote,verbatim,ragged-right]
1868 <<
1869   \new Staff \relative c'' {
1870     \set Staff.instrumentName = #"Soprano"
1871     c4 c
1872  }
1873   \new Staff \relative c' {
1874   \set instrumentName = #"Alto"  % Wrong!
1875   d4 d
1876  }
1877 >>
1878 @end lilypond
1879
1880 デフォルトのコンテキスト名は @code{Voice} であることを思い出してください。この@c
1881 ため、2 番目の @code{@bs{}set} コマンドは @code{Voice} コンテキストのプロパティ 
1882 @code{instrumentName} を @qq{Alto} にセットしています。しかしながら、@c
1883 LilyPond は @code{Voice} コンテキストでそのようなプロパティを見つけ出さないた@c
1884 め、何のアクションも起こしません。これはエラーではなく、ログ ファイルにエラー 
1885 メッセージは残りません。
1886
1887 同様に、プロパティ名の綴りを間違えた場合もエラー メッセージは表示されず、予期@c
1888 したアクションが起こりません。実際のところ、@code{@bs{}set} コマンドを使って、@c
1889 存在するいかなるコンテキストにでも、いかなる (架空の) @q{プロパティ} をセット@c
1890 することができます。しかしながら、そのプロパティ名を LilyPond が知らない場合、@c
1891 何のアクションも起こしません。LilyPond 入力ファイルに対する特別なサポートを持@c
1892 ついくつかのテキスト エディタは、あなたがプロパティ名の上にマウスを持ってくる@c
1893 とバレット (テキストの先頭に付く小丸) 付きのプロパティ名を表示してそのプロパ@c
1894 ティの裏づけを行い (LilyPondTool を持つ JEdit)、あるいは未知のプロパティ名をハ@c
1895 イライトします (ConTEXT)。そのような機能を持つエディタを使用していないのなら、@c
1896 内部リファレンスでプロパティ名をチェックすることを推奨します: 
1897 @rinternals{Tunable context properties} や @rinternals{Contexts} を参照してく@c
1898 ださい。
1899 @c 調節可能なコンテキスト プロパティ, コンテキスト
1900
1901 @code{instrumentName} プロパティは @code{Staff} コンテキストの中にセットされた@c
1902 場合にのみ効果を持ちますが、いくつかのプロパティは複数のコンテキストの中にセッ@c
1903 トすることができます。例えば、プロパティ @code{extraNatural} はすべての譜に対@c
1904 してデフォルトで @code{@hash{}@hash{}t} (真) にセットされています。ある特定@c
1905 の @code{Staff} コンテキストでこれを @code{@hash{}@hash{}f} (偽) にセットし@c
1906 た場合、その譜表の臨時記号にのみ適用されます。これを @code{Score} コンテキスト@c
1907 にセットした場合、すべての譜に適用されます。
1908
1909 それでは、ある譜表の追加ナチュラル記号を消してみます:
1910
1911 @lilypond[quote,verbatim,ragged-right]
1912 <<
1913   \new Staff \relative c'' {
1914     ais4 aes
1915  }
1916   \new Staff \relative c'' {
1917     \set Staff.extraNatural = ##f
1918     ais4 aes
1919  }
1920 >>
1921 @end lilypond
1922
1923 @noindent
1924 さらに、すべての譜の追加ナチュラル記号を消します:
1925
1926 @lilypond[quote,verbatim,ragged-right]
1927 <<
1928   \new Staff \relative c'' {
1929     ais4 aes
1930  }
1931   \new Staff \relative c'' {
1932     \set Score.extraNatural = ##f
1933     ais4 aes
1934  }
1935 >>
1936 @end lilypond
1937
1938 他の例としては、@code{clefOctavation} が @code{Score} コンテキストにセットされ@c
1939 た場合、直ちにすべての譜でのオクターブの値を変更し、すべての譜に適用される新し@c
1940 いデフォルト値をセットします。
1941
1942 逆のことを行うコマンド @code{@bs{}unset} はコンテキストからプロパティを削除@c
1943 し、それによりたいていのプロパティはデフォルト値に戻ります。通常、望みのことを@c
1944 達成するために新たな @code{@bs{}set} コマンドを用いる場合、@code{@bs{}unset} 
1945 は必要ありません。
1946
1947 @code{@bs{}set} と @code{@bs{}unset} コマンドは入力ファイルのどこにでも現れる@c
1948 可能性があり、そのコマンドが出現した時点から、楽譜の終わりまたはそのプロパティ@c
1949 が再度 @code{@bs{}set} や @code{@bs{}unset} されるまで効果を持ちます。フォント 
1950 サイズを変更してみましょう。それにより (他のものに加えて) 音符玉のサイズが何段@c
1951 階か変更されます。変更は直前にセットされた値から行われるのではなく、デフォルト@c
1952 値から行われます。
1953
1954 @lilypond[quote,verbatim,ragged-right,relative=1,fragment]
1955 c4
1956 % make note heads smaller
1957 \set fontSize = #-4
1958 d e
1959 % make note heads larger
1960 \set fontSize = #2.5
1961 f g
1962 % return to default size
1963 \unset fontSize
1964 a b
1965 @end lilypond
1966
1967 これまでにいくつかのタイプのプロパティ値をセットする方法を見てきました。整数と@c
1968 番号の前には常にハッシュ記号 @code{@hash{}} が付き、真と偽の値は 2 つのハッ@c
1969 シュ記号を付けて @code{@hash{}@hash{}t} と @code{@hash{}@hash{}f} によって指定@c
1970 されてるということに注意してください。テキスト プロパティは上で示したようにダ@c
1971 ブル クォーテーションによって囲まれます。しかしながら、後ほど、テキストは実際@c
1972 には非常に強力な @code{markup} コマンドを用いたもっと一般的な方法で指定できる@c
1973 ということを見ていきます。
1974
1975
1976 @subsubheading @code{\with} を用いてコンテキスト プロパティを設定する
1977 @c \with を使ったコンテキスト プロパティの設定
1978
1979 @funindex \with
1980 @funindex with
1981 @cindex context properties, setting with \with
1982
1983 コンテキスト プロパティはコンテキストが作成されるときにセットされることもある@c
1984 かもしれません。この設定がコンテキスト全体で保持される場合、この方法でプロパ@c
1985 ティ値を指定すると明瞭になります。コンテキストが @code{@bs{}new} コマンドで作@c
1986 成されるとき、その直後に @code{@bs{}with @{ .. @}} ブロックが続き、その中でプ@c
1987 ロパティ値がセットされるかもしれません。例えば、ある譜表全体で追加のナチュラル@c
1988 の表示を抑制しようとする場合、以下のように書きます:
1989
1990 @example
1991 \new Staff \with @{ extraNatural = ##f @}
1992 @end example
1993
1994 @noindent
1995 そして、以下のように使用します:
1996
1997 @lilypond[quote,verbatim,ragged-right]
1998 <<
1999   \new Staff
2000   \relative c'' {
2001     gis ges aes ais
2002   }
2003   \new Staff \with { extraNatural = ##f }
2004   \relative c'' {
2005     gis ges aes ais
2006   }
2007 >>
2008 @end lilypond
2009
2010 この方法でプロパティをセットした場合でも、@code{@bs{}set} を使って動的に変更さ@c
2011 れたり、@code{@bs{}unset} を使ってデフォルト値に戻されたりするかもしれません。
2012
2013 @cindex fontSize, default and setting
2014
2015 @code{fontSize} プロパティの扱いは異なります。これが @code{@bs{}with} の中で@c
2016 セットされた場合、フォント サイズのデフォルト値をセットし直します。そのあとで@c
2017 フォント サイズが @code{@bs{}set} によって変更された場合、@code{@bs{}with} で@c
2018 セットされた新しいデフォルト値は @code{@bs{}unset fontSize} コマンドによって元@c
2019 に戻されるかもしれません。
2020
2021
2022 @subsubheading @code{\context} を用いてコンテキスト プロパティを設定する
2023 @c \context を使ったコンテキスト プロパティの設定
2024
2025 @cindex context properties, setting with \context
2026 @funindex \context
2027 @funindex context
2028
2029 コンテキスト プロパティの値は単一のコマンドによってある特定のタイプのコンテキ@c
2030 スト@emph{すべて} -- すべての @code{Staff} コンテキストなどのように -- にセッ@c
2031 トされるかもしれません。プロパティをセットするコンテキストのタイプは、@c
2032 @code{Staff} のようなそのコンテキストのタイプ名に接頭辞としてバック スラッシュ@c
2033 を付けたもの -- @code{@bs{}Staff} のように -- によって指定されます。プロパティ@c
2034 値をセットするための記述は上で紹介した @code{@bs{}with} ブロックの中の記述と同@c
2035 じです。この記述は @code{@bs{}layout} ブロック内部の @code{@bs{}context} ブ@c
2036 ロックの中に置かれます。各 @code{@bs{}context} ブロックは、その 
2037 @code{@bs{}layout} ブロックが置かれている @code{@bs{}score} または 
2038 @code{@bs{}book} ブロック全体を通じて、指定されたタイプのコンテキストすべてに@c
2039 対して効果を持ちます。ここで、記述方法を示すための例を挙げます:
2040
2041 @lilypond[verbatim,quote]
2042 \score {
2043   \new Staff {
2044     \relative c'' {
2045       cis4 e d ces
2046     }
2047   }
2048   \layout {
2049     \context {
2050       \Staff
2051       extraNatural = ##t
2052     }
2053   }
2054 }
2055 @end lilypond
2056
2057 @noindent
2058 この方法でセットされたコンテキスト プロパティは、@code{@bs{}with} ブロックの中@c
2059 の記述によって、さらには、音楽表記の中に埋め込まれた @code{@bs{}set} コマンド@c
2060 によって、ある特定のコンテキスト インスタンスでは上書きされるかもしれません。
2061
2062
2063 @seealso
2064 表記リファレンス: @ruser{Changing context default settings}
2065 @c コンテキストのデフォルト設定の変更
2066 @c FIXME
2067 @c uncomment when backslash-node-name issue is resolved -pm
2068 @c <at>ruser{The set command}.
2069
2070 内部リファレンス: @rinternals{Contexts},
2071 @rinternals{Tunable context properties}
2072 @c コンテキスト, 調整可能なコンテキスト プロパティ
2073
2074
2075 @node エングラーバを追加 / 削除する
2076 @subsection エングラーバを追加 / 削除する
2077 @translationof Adding and removing engravers
2078 @c エングラーバの追加と削除
2079
2080 @cindex engravers, adding
2081 @cindex adding engravers
2082 @cindex engravers, removing
2083 @cindex removing engravers
2084
2085 @funindex \consists
2086 @funindex consists
2087 @funindex \remove
2088 @funindex remove
2089
2090 これまでに、コンテキストはそれぞれにいくつかのエングラーバを保持し、それぞれの@c
2091 エングラーバは出力のある特定部分 -- 小節線、譜、音符玉、ステムなど -- の譜刻に@c
2092 責任を持つということを見てきました。あるエングラーバがコンテキストから削除され@c
2093 ると、それはもはや出力を行いません。これは出力を変更するための荒っぽい方法です@c
2094 が、役に立つ場合もあります。
2095
2096 @subsubheading 単一のコンテキストを変更する
2097 @c 単一のコンテキストの変更
2098
2099 あるコンテキストからあるエングラーバを削除するには、前のセクションで見てたきた@c
2100 のと同様に、コンテキスト作成コマンドの直後に置く @code{@bs{}with} コマンドを使@c
2101 用します。
2102
2103 例として、前のセクションで使用した例から譜表線を取り除いてみましょう。譜表線は 
2104 @code{Staff_symbol_engraver} によって作り出されるということを思い出してくださ@c
2105 い。
2106
2107 @lilypond[quote,verbatim,ragged-right]
2108 \new Staff \with {
2109   \remove Staff_symbol_engraver
2110 }
2111 \relative c' {
2112   c4
2113   \set fontSize = #-4  % make note heads smaller
2114   d e
2115   \set fontSize = #2.5  % make note heads larger
2116   f g
2117   \unset fontSize  % return to default size
2118   a b
2119 }
2120 @end lilypond
2121
2122 @cindex ambitus engraver
2123
2124 さらに、エングラーバは個々のコンテキストに追加されることもあります。エングラー@c
2125 バを追加するコマンドは以下のようなものです:
2126
2127 @code{\consists @var{Engraver_name}},
2128
2129 @noindent
2130 これを @code{@bs{}with} ブロックの中に置きます。いくつかのボーカル譜は、その譜@c
2131 表の中にある音符の範囲を示すために、譜表の開始点に音域 (ambitus) を置きます -- 
2132 @rglos{ambitus} を参照してください。音域は @code{Ambitus_engraver} によって作@c
2133 成され、普通は、これはどのコンテキストにも含まれません。これを @code{Voice} 
2134 コンテキストに追加した場合、それはそのボイスのみから音域を計算します:
2135 @c 音域 (ambitus)
2136
2137 @lilypond[quote,verbatim,ragged-right]
2138 \new Staff <<
2139   \new Voice \with {
2140     \consists Ambitus_engraver
2141   }
2142   \relative c'' {
2143     \voiceOne
2144     c a b g
2145   }
2146   \new Voice
2147   \relative c' {
2148     \voiceTwo
2149     c e d f
2150   }
2151 >>
2152 @end lilypond
2153
2154 @noindent
2155 しかし、音域エングラーバを @code{Staff} コンテキストに追加した場合、そのエング@c
2156 ラーバはその譜表上にあるすべてのボイスの中の音符から音域を計算します:
2157
2158 @lilypond[quote,verbatim,ragged-right]
2159 \new Staff \with {
2160     \consists Ambitus_engraver
2161   }
2162   <<
2163   \new Voice
2164   \relative c'' {
2165     \voiceOne
2166     c a b g
2167   }
2168   \new Voice
2169   \relative c' {
2170     \voiceTwo
2171     c e d f
2172   }
2173 >>
2174 @end lilypond
2175
2176 @subsubheading 同じタイプのコンテキストをすべて変更する
2177 @c 同じタイプのコンテキストをすべて変更する
2178
2179 @funindex \layout
2180 @funindex layout
2181
2182 上の例では、個々のコンテキストにエングラーバを追加あるいは削除する方法を示しま@c
2183 した。さらに、そのコマンドを @code{@bs{}layout} ブロックの中の適当なコンテキス@c
2184 トの中に置くことによって、ある特定のタイプのコンテキストすべてにエングラーバを@c
2185 追加あるいは削除することもできます。例えば、4 つの譜表を持つ楽譜ですべての譜表@c
2186 に音域を表示する場合、以下のように記述します:
2187
2188 @lilypond[quote,verbatim,ragged-right]
2189 \score {
2190   <<
2191     \new Staff <<
2192       \relative c'' { c a b g }
2193     >>
2194     \new Staff <<
2195       \relative c' { c a b g }
2196     >>
2197     \new Staff <<
2198       \clef "G_8"
2199       \relative c' { c a b g }
2200     >>
2201     \new Staff <<
2202       \clef "bass"
2203       \relative c { c a b g }
2204     >>
2205   >>
2206   \layout {
2207     \context {
2208       \Staff
2209       \consists Ambitus_engraver
2210     }
2211   }
2212 }
2213 @end lilypond
2214
2215 @noindent
2216 また、コンテキスト プロパティの値も、上記と同様に @code{@bs{}context} ブロック@c
2217 の中に @code{@bs{}set} を含ませることによって、ある特定のタイプのコンテキスト@c
2218 すべてに対してセットすることができます。
2219
2220
2221 @seealso
2222 表記リファレンス: @ruser{Modifying context plug-ins},
2223 @ruser{Changing context default settings}
2224 @c コンテキスト プラグインの変更, コンテキストのデフォルト設定の変更
2225
2226
2227 @node テンプレートを拡張する
2228 @section テンプレートを拡張する
2229 @translationof Extending the templates
2230 @c テンプレートの拡張
2231
2232 あなたはチュートリアルを読み終えました。あなたはどのように音楽を書くかを知って@c
2233 いて、基礎となるコンセプトを理解しています。しかし、どうやったらあなたはあなた@c
2234 が望む譜表を手に入れられるでしょうか?あなたにとって良いスタート地点となるかも@c
2235 しれない多くのテンプレートがあります (@ref{テンプレート} を参照してください)。し@c
2236 かしながら、あなたの望むものがそこでカバーされていなかったらどうしましょう?続@c
2237 きを読んでください。
2238 @c テンプレート
2239
2240 @menu
2241 * ソプラノとチェロ::
2242 * 4 パート SATB ボーカル譜::
2243 * ゼロから楽譜を構築する::
2244 @end menu
2245
2246 @node ソプラノとチェロ
2247 @subsection ソプラノとチェロ
2248 @translationof Soprano and cello
2249 @c ソプラノとチェロ
2250
2251 @cindex template, modifying
2252 @cindex modifying templates
2253
2254 あなたが最終的に望むものに最も近いテンプレートから始めてください。ソプラノと@c
2255 チェロのための楽譜を書きたいということにしましょう。ここでは、@q{音符と歌詞} 
2256 (ソプラノ パート用) から始めることにします。
2257
2258 @example
2259 \version @w{"@version{}"}
2260 melody = \relative c' @{
2261   \clef treble
2262   \key c \major
2263   \time 4/4
2264   a4 b c d
2265 @}
2266
2267 text = \lyricmode @{
2268   Aaa Bee Cee Dee
2269 @}
2270
2271 \score @{
2272   <<
2273     \new Voice = "one" @{
2274       \autoBeamOff
2275       \melody
2276     @}
2277     \new Lyrics \lyricsto "one" \text
2278   >>
2279   \layout @{ @}
2280   \midi @{ @}
2281 @}
2282 @end example
2283
2284 これにチェロ パートを追加していきます。@q{音符のみ} のテンプレートを見てみま@c
2285 しょう:
2286
2287 @example
2288 \version @w{"@version{}"}
2289 melody = \relative c' @{
2290   \clef treble
2291   \key c \major
2292   \time 4/4
2293   a4 b c d
2294 @}
2295
2296 \score @{
2297   \new Staff \melody
2298   \layout @{ @}
2299   \midi @{ @}
2300 @}
2301 @end example
2302
2303 @code{\version} コマンドは 2 つも必要ありません。@code{melody} セクションは必@c
2304 要です。@code{\score} セクションは 2 つも必要ありません -- @code{\score} が 2 
2305 つあると、2 つのパートがばらばらになります。2 つのパートをデュオのように一緒に@c
2306 したいのです。@code{\score} セクションの中に @code{\layout} や @code{\midi} は 2 
2307 つも必要ありません。
2308
2309 単に @code{melody} セクションをカット&コピーした場合、@code{melody} 定義が 2 
2310 つになります。これはエラーにはなりませんが、2 番目の定義が両方の旋律で使われる@c
2311 ことになります。そのため、2 つの旋律を区別するためにリネームします。ソプラノ用@c
2312 のセクションを @code{sopranoMusic} と呼び、チェロ用のセクションを 
2313 @code{celloMusic} と呼ぶことにします。リネームするときに、@code{text} を 
2314 @code{sopranoLyrics} とりネームしましょう。これらのインスタンスをリネームする@c
2315 ことも忘れないでください −- 初期定義 (@code{melody = \relative c' @{ } 部分) 
2316 とその名前が使われているところ (@code{\score セクションの中}) の両方です。
2317
2318 リネームする際に、チェロ パートの譜表も変更しましょう −- 通常、チェロは低音部@c
2319 を使用します。さらに、チェロの音符を変えてみます。
2320
2321 @example
2322 \version @w{"@version{}"}
2323 sopranoMusic = \relative c' @{
2324   \clef treble
2325   \key c \major
2326   \time 4/4
2327   a4 b c d
2328 @}
2329
2330 sopranoLyrics = \lyricmode @{
2331   Aaa Bee Cee Dee
2332 @}
2333
2334 celloMusic = \relative c @{
2335   \clef bass
2336   \key c \major
2337   \time 4/4
2338   d4 g fis8 e d4
2339 @}
2340
2341 \score @{
2342   <<
2343     \new Voice = "one" @{
2344       \autoBeamOff
2345       \sopranoMusic
2346     @}
2347     \new Lyrics \lyricsto "one" \sopranoLyrics
2348   >>
2349   \layout @{ @}
2350   \midi @{ @}
2351 @}
2352 @end example
2353
2354 これでうまくいくように見えますが、チェロ パートが楽譜に表示されません −- チェロ 
2355 パートを @code{\score} セクションの中で使っていないからです。チェロ パートをソ@c
2356 プラノ パートの下に表示させたいのなら、以下をソプラノの譜の下に追加する必要が@c
2357 あります:
2358
2359 @example
2360 \new Staff \celloMusic
2361 @end example
2362
2363 @noindent
2364 さらに、音楽を @code{<<} と @code{>>} で囲む必要もあります −- これは LilyPond 
2365 に複数のもの (この場合は 2 つの @code{Stave}) が同時に起こるということを知らせ@c
2366 ます。@code{\score} は以下のようになります:
2367
2368 @c Indentation in this example is deliberately poor
2369 @example
2370 \score @{
2371   <<
2372   <<
2373     \new Voice = "one" @{
2374       \autoBeamOff
2375       \sopranoMusic
2376     @}
2377     \new Lyrics \lyricsto "one" \sopranoLyrics
2378   >>
2379   \new Staff \celloMusic
2380   >>
2381   \layout @{ @}
2382   \midi @{ @}
2383 @}
2384 @end example
2385
2386 @noindent
2387 これは少し見にくいです。インデントがきちんと入っていません。これは簡単に修正で@c
2388 きます。ここで、完成したソプラノとチェロ用のテンプレートを挙げます。
2389
2390 @lilypond[quote,verbatim,ragged-right,addversion]
2391 sopranoMusic = \relative c' {
2392   \clef treble
2393   \key c \major
2394   \time 4/4
2395   a4 b c d
2396 }
2397
2398 sopranoLyrics = \lyricmode {
2399   Aaa Bee Cee Dee
2400 }
2401
2402 celloMusic = \relative c {
2403   \clef bass
2404   \key c \major
2405   \time 4/4
2406   d4 g fis8 e d4
2407 }
2408
2409 \score {
2410   <<
2411     <<
2412       \new Voice = "one" {
2413         \autoBeamOff
2414         \sopranoMusic
2415       }
2416       \new Lyrics \lyricsto "one" \sopranoLyrics
2417     >>
2418     \new Staff \celloMusic
2419   >>
2420   \layout { }
2421   \midi { }
2422 }
2423 @end lilypond
2424
2425
2426 @seealso
2427 開始点となるテンプレートは付録 @q{テンプレート} で見つけることができます。@c
2428 @ref{単一の譜表} を参照してください。
2429 @c 単一の譜
2430
2431
2432 @node 4 パート SATB ボーカル譜
2433 @subsection 4 パート SATB ボーカル譜
2434 @translationof Four-part SATB vocal score
2435 @c 4 パート SATB ボーカル譜
2436
2437 @cindex template, SATB
2438 @cindex SATB template
2439
2440 Mendelssohn の Elijah や Handel の Messiah などのオーケストラ伴奏付きの 4 パー@c
2441 ト聖歌隊のために書かれたボーカル譜の多くは 4 つの譜上に音符と歌詞を持ち、それ@c
2442 ぞれの譜は SATB (ソプラノ、アルト、テナー、バス) のうちの 1 つであり、その下に@c
2443 オーケストラ伴奏のピアノ譜が付きます。ここで、Handel の Messiah から例を挙げま@c
2444 す:
2445
2446 @c The following should appear as music without code
2447 @lilypond[quote,ragged-right]
2448 global = { \key d \major \time 4/4 }
2449 sopranoMusic = \relative c'' {
2450   \clef "treble"
2451   r4 d2 a4 | d4. d8 a2 | cis4 d cis2 |
2452 }
2453 sopranoWords = \lyricmode {
2454   Wor -- thy is the lamb that was slain
2455 }
2456 altoMusic = \relative a' {
2457   \clef "treble"
2458   r4 a2 a4 | fis4. fis8 a2 | g4 fis e2 |
2459 }
2460 altoWords = \sopranoWords
2461 tenorMusic = \relative c' {
2462   \clef "G_8"
2463   r4 fis2 e4 | d4. d8 d2 | e4 a, cis2 |
2464 }
2465 tenorWords = \sopranoWords
2466 bassMusic = \relative c' {
2467   \clef "bass"
2468   r4 d2 cis4 | b4. b8 fis2 | e4 d a'2 |
2469 }
2470 bassWords = \sopranoWords
2471 upper = \relative a' {
2472   \clef "treble"
2473   \global
2474   r4 <a d fis>2 <a e' a>4 |
2475   <d fis d'>4. <d fis d'>8 <a d a'>2 |
2476   <g cis g'>4 <a d fis> <a cis e>2 |
2477 }
2478 lower = \relative c, {
2479   \clef "bass"
2480   \global
2481   <d d'>4 <d d'>2 <cis cis'>4 |
2482   <b b'>4. <b' b'>8 <fis fis'>2 |
2483   <e e'>4 <d d'> <a' a'>2 |
2484 }
2485
2486 \score {
2487   <<  % combine ChoirStaff and PianoStaff in parallel
2488     \new ChoirStaff <<
2489       \new Staff = "sopranos" <<
2490         \set Staff.instrumentName = #"Soprano"
2491         \new Voice = "sopranos" { \global \sopranoMusic }
2492       >>
2493       \new Lyrics \lyricsto "sopranos" { \sopranoWords }
2494       \new Staff = "altos" <<
2495         \set Staff.instrumentName = #"Alto"
2496         \new Voice = "altos" { \global \altoMusic }
2497       >>
2498       \new Lyrics \lyricsto "altos" { \altoWords }
2499       \new Staff = "tenors" <<
2500         \set Staff.instrumentName = #"Tenor"
2501         \new Voice = "tenors" { \global \tenorMusic }
2502       >>
2503       \new Lyrics \lyricsto "tenors" { \tenorWords }
2504       \new Staff = "basses" <<
2505         \set Staff.instrumentName = #"Bass"
2506         \new Voice = "basses" { \global \bassMusic }
2507       >>
2508       \new Lyrics \lyricsto "basses" { \bassWords }
2509     >>  % end ChoirStaff
2510
2511     \new PianoStaff <<
2512       \set PianoStaff.instrumentName = #"Piano"
2513       \new Staff = "upper" \upper
2514       \new Staff = "lower" \lower
2515     >>
2516   >>
2517 }
2518 @end lilypond
2519
2520 このレイアウトをそのまま提供するテンプレートはありません。最も近いのは @q{SATB 
2521 ボーカル譜と自動ピアノ伴奏譜} -- @ref{合唱} を参照してください -- 
2522 ですが、レイアウトを変更して、ボーカル パートから自動的に生成されたものではな@c
2523 いピアノ伴奏譜を付け加える必要があります。ボーカル パートのための音楽と歌詞を@c
2524 保持している変数はそのまま使えますが、ピアノ伴奏譜のための変数を付け加える必要@c
2525 があります。
2526 @c ボーカル アンサンブル
2527
2528 テンプレートの @code{ChoirStaff} の中でコンテキストが出現する順序は上で示した@c
2529 ボーカル譜の順序と一致していません。そのため、コンテキストを再配置して、それぞ@c
2530 れの歌詞が対応する譜表のすぐ下にくるようにします。すべてのボイスは 
2531 @code{\voiceOne} -- これがデフォルトです -- になるべきなので、@code{\voiceXXX} 
2532 コマンドは削除すべきです。さらに、テノールに対してハ音記号 (中音部記号) を指定@c
2533 する必要があります。テンプレートの中で歌詞を指定する方法はまだ説明していません@c
2534 ので、馴染みのある方法を使用する必要があります。さらに、それぞれの譜に名前を追@c
2535 加すべきです。
2536
2537 以上のことを @code{ChoirStaff} に対して行います:
2538
2539 @example
2540     \new ChoirStaff <<
2541       \new Staff = "sopranos" <<
2542         \set Staff.instrumentName = #"Soprano"
2543         \new Voice = "sopranos" @{ \global \sopranoMusic @}
2544       >>
2545       \new Lyrics \lyricsto "sopranos" @{ \sopranoWords @}
2546       \new Staff = "altos" <<
2547         \set Staff.instrumentName = #"Alto"
2548         \new Voice = "altos" @{ \global \altoMusic @}
2549       >>
2550       \new Lyrics \lyricsto "altos" @{ \altoWords @}
2551       \new Staff = "tenors" <<
2552         \set Staff.instrumentName = #"Tenor"
2553         \new Voice = "tenors" @{ \global \tenorMusic @}
2554       >>
2555       \new Lyrics \lyricsto "tenors" @{ \tenorWords @}
2556       \new Staff = "basses" <<
2557         \set Staff.instrumentName = #"Bass"
2558         \new Voice = "basses" @{ \global \bassMusic @}
2559       >>
2560       \new Lyrics \lyricsto "basses" @{ \bassWords @}
2561     >>  % end ChoirStaff
2562 @end example
2563
2564 次にピアノ パートに取り掛からなければなりません。これは簡単です -- @q{ソロ ピ@c
2565 アノ} テンプレートからピアノ パートを引き抜いてくるだけです:
2566
2567 @example
2568 \new PianoStaff <<
2569   \set PianoStaff.instrumentName = #"Piano  "
2570   \new Staff = "upper" \upper
2571   \new Staff = "lower" \lower
2572 >>
2573 @end example
2574
2575 そして、@code{upper} と @code{lower} に変数定義を付け加えます。
2576
2577 @code{ChoirStaff} を @code{PianoStaff} の上に置きたいので、それらを角括弧を@c
2578 使って組み合わせなければなりません:
2579
2580 @example
2581 <<  % combine ChoirStaff and PianoStaff one above the other
2582   \new ChoirStaff <<
2583     \new Staff = "sopranos" <<
2584       \new Voice = "sopranos" @{ \global \sopranoMusic @}
2585     >>
2586     \new Lyrics \lyricsto "sopranos" @{ \sopranoWords @}
2587     \new Staff = "altos" <<
2588       \new Voice = "altos" @{ \global \altoMusic @}
2589     >>
2590     \new Lyrics \lyricsto "altos" @{ \altoWords @}
2591     \new Staff = "tenors" <<
2592       \clef "G_8"  % tenor clef
2593       \new Voice = "tenors" @{ \global \tenorMusic @}
2594     >>
2595     \new Lyrics \lyricsto "tenors" @{ \tenorWords @}
2596     \new Staff = "basses" <<
2597       \clef "bass"
2598       \new Voice = "basses" @{ \global \bassMusic @}
2599     >>
2600     \new Lyrics \lyricsto "basses" @{ \bassWords @}
2601   >>  % end ChoirStaff
2602
2603   \new PianoStaff <<
2604     \set PianoStaff.instrumentName = #"Piano"
2605     \new Staff = "upper" \upper
2606     \new Staff = "lower" \lower
2607   >>
2608 >>
2609 @end example
2610
2611 これらすべてを組み合わせて、上の例の 3 小節分の音楽を付け加えます:
2612
2613 @lilypond[quote,verbatim,ragged-right,addversion]
2614 global = { \key d \major \time 4/4 }
2615 sopranoMusic = \relative c'' {
2616   \clef "treble"
2617   r4 d2 a4 | d4. d8 a2 | cis4 d cis2 |
2618 }
2619 sopranoWords = \lyricmode {
2620   Wor -- thy is the lamb that was slain
2621 }
2622 altoMusic = \relative a' {
2623   \clef "treble"
2624   r4 a2 a4 | fis4. fis8 a2 | g4 fis fis2 |
2625 }
2626 altoWords = \sopranoWords
2627 tenorMusic = \relative c' {
2628   \clef "G_8"
2629   r4 fis2 e4 | d4. d8 d2 | e4 a, cis2 |
2630 }
2631 tenorWords = \sopranoWords
2632 bassMusic = \relative c' {
2633   \clef "bass"
2634   r4 d2 cis4 | b4. b8 fis2 | e4 d a'2 |
2635 }
2636 bassWords = \sopranoWords
2637 upper = \relative a' {
2638   \clef "treble"
2639   \global
2640   r4 <a d fis>2 <a e' a>4 |
2641   <d fis d'>4. <d fis d'>8 <a d a'>2 |
2642   <g cis g'>4 <a d fis> <a cis e>2 |
2643 }
2644 lower = \relative c, {
2645   \clef "bass"
2646   \global
2647   <d d'>4 <d d'>2 <cis cis'>4 |
2648   <b b'>4. <b' b'>8 <fis fis'>2 |
2649   <e e'>4 <d d'> <a' a'>2 |
2650 }
2651
2652 \score {
2653   <<  % combine ChoirStaff and PianoStaff in parallel
2654     \new ChoirStaff <<
2655       \new Staff = "sopranos" <<
2656         \set Staff.instrumentName = #"Soprano"
2657         \new Voice = "sopranos" { \global \sopranoMusic }
2658       >>
2659       \new Lyrics \lyricsto "sopranos" { \sopranoWords }
2660       \new Staff = "altos" <<
2661         \set Staff.instrumentName = #"Alto"
2662         \new Voice = "altos" { \global \altoMusic }
2663       >>
2664       \new Lyrics \lyricsto "altos" { \altoWords }
2665       \new Staff = "tenors" <<
2666         \set Staff.instrumentName = #"Tenor"
2667         \new Voice = "tenors" { \global \tenorMusic }
2668       >>
2669       \new Lyrics \lyricsto "tenors" { \tenorWords }
2670       \new Staff = "basses" <<
2671         \set Staff.instrumentName = #"Bass"
2672         \new Voice = "basses" { \global \bassMusic }
2673       >>
2674       \new Lyrics \lyricsto "basses" { \bassWords }
2675     >>  % end ChoirStaff
2676
2677     \new PianoStaff <<
2678       \set PianoStaff.instrumentName = #"Piano  "
2679       \new Staff = "upper" \upper
2680       \new Staff = "lower" \lower
2681     >>
2682   >>
2683 }
2684 @end lilypond
2685
2686
2687 @node ゼロから楽譜を構築する
2688 @subsection ゼロから楽譜を構築する
2689 @translationof Building a score from scratch
2690 @c ゼロから楽譜を構築する
2691
2692 @cindex template, writing your own
2693 @cindex example of writing a score
2694 @cindex writing a score, example
2695 @cindex score, example of writing
2696
2697 LilyPond コードを書くことにある程度熟練した後、あなたはテンプレートの 1 つを変@c
2698 更するよりもゼロから楽譜を構築するほうがより容易であることに気づくかもしれませ@c
2699 ん。さらに、あなたはこの方法であなたの好みのタイプの音楽に適したあなた自身のス@c
2700 タイルを開発することもできます。例として、オルガン前奏曲のための楽譜を作成する@c
2701 手順を見てみましょう。
2702
2703 ヘッダ セクションから始めます。そこでタイトル、作曲者の名前などを記述し、それ@c
2704 から任意の変数を定義し、最後にスコア ブロックに取り掛かります。以上のことを概@c
2705 要から始めて、その後に詳細を詰めていきます。
2706
2707 @emph{Jesu, meine Freude} -- これは 2 つの鍵盤とペダルを持つオルガンのために書@c
2708 かれたものです -- をベースとする Bach の前奏曲の最初の 2 小節を使います。この@c
2709 セクションの最後でこの音楽の最初の 2 小節を見ることができます。上段鍵盤パートは 
2710 2 つのボイスを持ち、下段鍵盤とペダルはそれぞれ 1 つのボイスを持ちます。そのた@c
2711 め、4 つの音楽定義と、拍子記号と調号を定義するための 1 つの音楽定義が必要とな@c
2712 ります:
2713
2714 @example
2715 \version @w{"@version{}"}
2716 \header @{
2717   title = "Jesu, meine Freude"
2718   composer = "J S Bach"
2719 @}
2720 TimeKey = @{ \time 4/4 \key c \minor @}
2721 ManualOneVoiceOneMusic = @{s1@}
2722 ManualOneVoiceTwoMusic = @{s1@}
2723 ManualTwoMusic = @{s1@}
2724 PedalOrganMusic = @{s1@}
2725
2726 \score @{
2727 @}
2728 @end example
2729
2730 ここでは、実際の音楽の代わりにスペーサ音符 @code{s1} を使用しました。実際の音@c
2731 楽は後で付け加えます。
2732
2733 次に、スコア ブロックで何をすべきなのかを見ていきましょう。単純に望む譜表構造@c
2734 を反映させます。通常、オルガン音楽は 3 つの譜で書かれます -- 2 つの鍵盤とペダ@c
2735 ルのための譜です。鍵盤の譜はブレース (譜表の左端の中括弧) でまとめられているべ@c
2736 きなので、それらに対して @code{PianoStaff} を使用する必要があります。1 番目の@c
2737 鍵盤パートは 2 つのボイスを必要とし、2 番目の鍵盤パートは 1 つだけボイスを必要@c
2738 とします。
2739
2740 @example
2741   \new PianoStaff <<
2742     \new Staff = "ManualOne" <<
2743       \new Voice @{ \ManualOneVoiceOneMusic @}
2744       \new Voice @{ \ManualOneVoiceTwoMusic @}
2745     >>  % end ManualOne Staff context
2746     \new Staff = "ManualTwo" <<
2747       \new Voice @{ \ManualTwoMusic @}
2748     >>  % end ManualTwo Staff context
2749   >>  % end PianoStaff context
2750 @end example
2751
2752 次にペダル オルガンのための譜表を付け加える必要があります。これは 
2753 @code{PianoStaff} の下にきますが、@code{PianoStaff} と同時進行でなければなりま@c
2754 せんので、ペダル オルガンのための譜表と @code{PianoStaff} を角括弧で囲む必要が@c
2755 あります。これを忘れるとエラーがログ ファイルに生成されます。このエラーはあな@c
2756 たが早かれ遅かれ遭遇する一般的なミスです!生成されるエラーを確認するために、こ@c
2757 のセクションの最後にある例をコピーし、この角括弧を削除し、コンパイルしてみてく@c
2758 ださい。
2759
2760 @example
2761 <<  % PianoStaff and Pedal Staff must be simultaneous
2762   \new PianoStaff <<
2763     \new Staff = "ManualOne" <<
2764       \new Voice @{ \ManualOneVoiceOneMusic @}
2765       \new Voice @{ \ManualOneVoiceTwoMusic @}
2766     >>  % end ManualOne Staff context
2767     \new Staff = "ManualTwo" <<
2768       \new Voice @{ \ManualTwoMusic @}
2769     >>  % end ManualTwo Staff context
2770   >>  % end PianoStaff context
2771   \new Staff = "PedalOrgan" <<
2772     \new Voice @{ \PedalOrganMusic @}
2773   >>
2774 >>
2775 @end example
2776
2777 2 番目の鍵盤パートとペダル オルガンの譜表は 1 つだけしか音楽表記を保持しないた@c
2778 め、それらに対して同時進行構造 @code{<< .. >>} を使う必要は必ずしもありませ@c
2779 ん。しかしながら、そうしても害はありませんし、@code{\new Staff} の後に常に角括@c
2780 弧を置くというのは複数のボイスがある場合では推奨される良い習慣です。Voice はこ@c
2781 れとは対照的に、あなたの音楽を連続して演奏すべきいくつかの変数に分けてコード化@c
2782 する場合に Voice の後に中括弧 @code{@{ .. @}} を常に置くべきです。
2783
2784 この構造をスコア ブロックに付け加えて、インデントを調整しましょう。さらに、適@c
2785 切な音部記号を付け加え、@code{\voiceOne} と @code{\voiceTwo} を使って上部譜の@c
2786 各ボイスでステム、タイ、スラーの向きが正しくなるようにし、あらかじめ定義してお@c
2787 いた変数 @code{\TimeKey} を使って拍子記号と調号を各譜に挿入します。
2788
2789 @example
2790 \score @{
2791   <<  % PianoStaff and Pedal Staff must be simultaneous
2792     \new PianoStaff <<
2793       \new Staff = "ManualOne" <<
2794         \TimeKey  % set time signature and key
2795         \clef "treble"
2796         \new Voice @{ \voiceOne \ManualOneVoiceOneMusic @}
2797         \new Voice @{ \voiceTwo \ManualOneVoiceTwoMusic @}
2798       >>  % end ManualOne Staff context
2799       \new Staff = "ManualTwo" <<
2800         \TimeKey
2801         \clef "bass"
2802         \new Voice @{ \ManualTwoMusic @}
2803       >>  % end ManualTwo Staff context
2804     >>  % end PianoStaff context
2805     \new Staff = "PedalOrgan" <<
2806       \TimeKey
2807       \clef "bass"
2808       \new Voice @{ \PedalOrganMusic @}
2809     >>  % end PedalOrgan Staff
2810   >>
2811 @}  % end Score context
2812 @end example
2813
2814 これでこの構造は完成です。3 つの譜表を持つオルガン音楽はいずれも同様の構造を持@c
2815 ちますが、ボイスの数はさまざまになるかもしれません。この後に行うべきことは、音@c
2816 楽を付け加え、各パートを一緒にすることです。
2817
2818 @lilypond[quote,verbatim,ragged-right,addversion]
2819 \header {
2820   title = "Jesu, meine Freude"
2821   composer = "J S Bach"
2822 }
2823 TimeKey = { \time 4/4 \key c \minor }
2824 ManualOneVoiceOneMusic = \relative g' {
2825   g4 g f ees | d2 c2 |
2826 }
2827 ManualOneVoiceTwoMusic = \relative c' {
2828   ees16 d ees8~ ees16 f ees d c8 d~ d c~ |
2829   c c4 b8 c8. g16 c b c d |
2830 }
2831 ManualTwoMusic = \relative c' {
2832   c16 b c8~ c16 b c g a8 g~ g16 g aes ees |
2833   f ees f d g aes g f ees d e8~ ees16 f ees d |
2834 }
2835 PedalOrganMusic = \relative c {
2836   r8 c16 d ees d ees8~ ees16 a, b g c b c8 |
2837   r16 g ees f g f g8 c,2 |
2838   }
2839
2840 \score {
2841   <<  % PianoStaff and Pedal Staff must be simultaneous
2842     \new PianoStaff <<
2843       \new Staff = "ManualOne" <<
2844         \TimeKey  % set time signature and key
2845         \clef "treble"
2846         \new Voice { \voiceOne \ManualOneVoiceOneMusic }
2847         \new Voice { \voiceTwo \ManualOneVoiceTwoMusic }
2848       >>  % end ManualOne Staff context
2849       \new Staff = "ManualTwo" <<
2850         \TimeKey
2851         \clef "bass"
2852         \new Voice { \ManualTwoMusic }
2853       >>  % end ManualTwo Staff context
2854     >>  % end PianoStaff context
2855     \new Staff = "PedalOrgan" <<
2856       \TimeKey
2857       \clef "bass"
2858       \new Voice { \PedalOrganMusic }
2859     >>  % end PedalOrgan Staff context
2860   >>
2861 }  % end Score context
2862 @end lilypond
2863