]> git.donarmstrong.com Git - lilypond.git/blob - Documentation/ja/user/introduction.itely
first japanese documentation templates with some translations
[lilypond.git] / Documentation / ja / user / introduction.itely
1 @c -*- coding: utf-8; mode: texinfo; documentlanguage: ja -*-
2 @c This file is part of lilypond-learning.tely
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 Introduction
16 @chapter Introduction
17
18 この章では読者に LilyPond とこのドキュメントについての紹介を行います。
19
20 @menu
21 * Background::
22 * About the documentation::
23 @end menu
24
25
26 @node Background
27 @section Background
28
29 この節は LilyPond の最終目的とアーキテクチャについてカバーします。
30
31 @menu
32 * Engraving::
33 * Automated engraving::
34 * What symbols to engrave?::
35 * Music representation::
36 * Example applications::
37 @end menu
38
39
40 @node Engraving
41 @unnumberedsubsec Engraving
42
43 @cindex engraving
44 @cindex typography, music
45 @cindex music typography
46 @cindex plate engraving
47 @cindex music engraving
48
49 楽譜印刷の技術は@emph{(プレート) 譜刻} (原文: engraving、版画などの印刷のこと@c
50 ) と呼ばれています。この用語は伝統的な楽譜印刷のプロセスに由来します。ほんの@c
51 数十年前まで、楽譜は音楽記号を亜鉛やしろめ (錫と鉛の合金) の版に反転した@c
52 イメージで彫り込んだり、刻印することによって作られていました。版にはインクが@c
53 塗られ、彫り込んだり刻印してくぼんだ部分にはインクが溜まります。版のイメージ@c
54 はその版に紙が押し付けられることによって形になります。刻印と彫刻は完全に手作@c
55 業で行われていました。校正は可能だとしても厄介でした。なぜなら一から刻印と彫@c
56 刻のやり直しだったからです。譜刻は高度に専門的な技術でした。職人はマスター @c
57 エングラーバ (譜刻を行う人) の称号を得るまで 5 年の修行を修めなければなら@c
58 ず、本当に技術を習得するまでにはさらにもう 5 年の経験が必要だったのです。
59
60 今日では、コンピュータによってまったく新しい楽譜が出版されています。これには@c
61 明らかな利点があります。印刷は安く済み、編集したものを email で配ることが可@c
62 能です。不幸なことに、コンピュータが広く使われるようになって楽譜のグラフィカ@c
63 ルな品質は低下しています。コンピュータによって出版された楽譜は味気無く、機械@c
64 的な見た目をしているため、その楽譜で演奏することに喜びを感じられません。
65
66 @c introduce illustrating aspects of engraving, font...
67 以下の図は伝統的な譜刻とコンピュータ出版の違いを描いたものであり、3 番目の図は
68 LilyPond がどれくらい伝統的な見た目を模倣しているのかを示しています。左端の@c
69 スキャンした図はコンピュータ出版の典型的な決定を示しています。縦棒は細く、フ@c
70 ラット記号の太さは細線と一致していて、曲線はまっすぐなレイアウトになっていま@c
71 す。対照的に、ベーレンライター (Barenreiter: ドイツの出版社) のフラットは太@c
72 く、曲線は官能的です。我々のフラットは 2 つのもののうち後者を元にデザインさ@c
73 れています。丸みを帯びていて、太さは縦棒の太さと調和していて、コンピュータに@c
74 よるものよりも線が太くなっています。
75
76 @multitable @columnfractions .125 .25 .25 .25 .125
77 @item @tab
78 @ifnotinfo
79 @iftex
80 @image{henle-flat-gray,,4cm}
81 @end iftex
82 @ifnottex
83 @image{henle-flat-gray,,,png}
84 @end ifnottex
85
86 @tab
87 @iftex
88 @image{baer-flat-gray,,4cm}
89 @end iftex
90 @ifnottex
91 @image{baer-flat-gray,,,png}
92 @end ifnottex
93
94 @tab
95 @iftex
96 @image{lily-flat-bw,,4cm}
97 @end iftex
98 @ifnottex
99 @image{lily-flat-bw,,,png}
100 @end ifnottex
101 @end ifnotinfo
102 @ifinfo
103 @image{lilypond/henle-flat-bw,,,png} @image{lilypond/baer-flat-bw,,,png}
104 @image{lilypond/lily-flat-bw,,,png}
105 @end ifinfo
106
107 @item @tab
108 Henle (2000)
109 @tab
110 Bärenreiter (1950)
111 @tab
112 LilyPond Feta font (2003)
113
114 @end multitable
115
116
117 @cindex musical symbols
118 @cindex font
119 @cindex blackness
120 @cindex balance
121
122 @c introduce illustrating aspects of engraving, spacing...
123 スペースの点では、スペースの配分は音符と音符の間の音の間隔を反映します。しか@c
124 しながら、現代楽譜の多くは数学的な正確さを持った間隔に固執しています。このこ@c
125 とはおもしろくない結果を生み出します。次の例では、2 度楽譜をプリントしていま@c
126 す: 1 度目は正確に数学的なスペースを用いて、2 度目はそれに校正を加えていま@c
127 す。違いを見分けられますか?
128
129 @cindex optical spacing
130 @c file spacing-optical.
131 @c need to include it here,  because we want two images.
132 @lilypond
133 \paper {
134   ragged-right = ##t
135   indent = #0.0
136 }
137
138 music = {
139    c'4 e''4 e'4 b'4 |
140    \stemDown
141    b'8[ e'' a' e'']
142    \stemNeutral
143    e'8[ e'8 e'8 e'8]
144 }
145
146 \score
147 {
148   \music
149   \layout {
150     \context {
151       \Staff
152       \override NoteSpacing #'stem-spacing-correction = #0.6
153     }
154   }
155 }
156 @end lilypond
157
158 @lilypond
159 \paper {
160   ragged-right = ##t
161   indent = #0.0
162 }
163
164 music = {
165    c'4 e''4 e'4 b'4 |
166    \stemDown
167    b'8[ e'' a' e'']
168    \stemNeutral
169    e'8[ e'8 e'8 e'8]
170 }
171 \score
172 {
173   \music
174   \layout {
175     \context {
176       \Staff
177       \override NoteSpacing #'stem-spacing-correction = #0.0
178       \override NoteSpacing #'same-direction-correction = #0.0
179       \override StaffSpacing #'stem-spacing-correction = #0.0
180     }
181   }
182 }
183 @end lilypond
184
185 @cindex regular rhythms
186 @cindex regular spacing
187 @cindex spacing, regular
188
189 各小節には一定のリズムで演奏される音符だけがあります。スペースもそれを反映していま@c
190 す。不幸なことに、我々の目は我々を少し惑わせます。音符の「玉」 (ノート ヘッド) の間@c
191 隔だけでなく、連続した棒 (ステム、音符から突き出る棒) の間隔も考慮します。結果とし@c
192 て、アップ ステム/@/ダウン ステム (玉の上に突き出た棒/@/玉の下に突き出た棒) の組み@c
193 合わせは離すべきであり、ダウン ステム/アップステムの組み合わせは近づけるべきです、す@c
194 べては音符の垂直方向の位置の組み合わせに次第です。上の 2 小節は音符のダウン 
195 ステム/@/アップ ステムの組み合わせを近づけるよう校正を加えたものであり、下の 2 小節@c
196 はこの校正を加えていないものです。
197
198
199 通常、奏者は楽譜の見え方を勉強するよりも演奏をするほうに夢中ですので、印刷上@c
200 の詳細にこだわることは形式尊重のように思えるかもしれません。しかしそうではあ@c
201 りません。単調なリズムがずっと続くような場合、スペースの校正を行うことで各行@c
202 のレイアウトに微妙な変化が加わり、それぞれが異なる視覚的特徴を持つようになり@c
203 ます。この特徴が無ければすべての行は同じに見え、迷路のようになってしまいま@c
204 す。奏者がちょっと目を逸らしたり、集中力を欠くと、それまで見ていた行はページ@c
205 の中に埋もれてしまいます。
206
207 同様に、太い譜線 (音の高さを表す線。五線譜では 5 本) に描かれた太い記号は見@c
208 た目が強く、楽譜から奏者が離れている場合 -- 例えば、楽譜が譜面台にある場合 -- 
209 に良く目立ちます。空白を注意深く配置することで、楽譜は記号が乱雑になることな@c
210 く締まります。結果としてページをめくる回数は最小となり、これは大きな利点にな@c
211 ります。
212
213 これは印刷において共通して言えることですが、レイアウトはこざっぱりとしている@c
214 べきです。これは印刷自体のためであるだけでなく、特にその印刷物を読んでいる読@c
215 み手の助けにもなるからです。楽譜のような演奏用の道具では、このことは 2 重に@c
216 重要性を持ちます: 奏者の注意力には限界があり、奏者が楽譜を読むことに払う注意@c
217 力が少なくて済めば済むほど、その奏者は演奏に集中することができます。言い換え@c
218 ると、良い印刷は良い演奏につながるのです。
219
220 以上で挙げたことは、楽譜の印刷は微妙で複雑な技術であり、楽譜を印刷するには非@c
221 常な熟練 -- これは通常、奏者が持っているものではありません -- が必要であると@c
222 いうことを示しています。LilyPond は、手作業で譜刻された楽譜のすばらしさをコ@c
223 ンピュータ世代に提供しよう、すばらしい楽譜を普通の音楽家にも利用可能にしよう@c
224 という我々の努力なのです。我々は、良く見てみたくなり、演奏したくなるような古@c
225 い楽譜のクオリティに匹敵する楽譜を提供するために、アルゴリズム、フォント デ@c
226 ザイン、プログラム設定を調整してきました。
227
228
229 @node Automated engraving
230 @unnumberedsubsec Automated engraving
231
232 @cindex engraving, automated
233 @cindex automated engraving
234
235 我々はどのように譜刻を実現していくのでしょうか?職人が本当のマスターになるのに
236 10 年以上かかるのなら、単なるハッカーである我々がどうやったら職人の仕事を越@c
237 えるプログラムを書けるのでしょうか?
238
239 その答えは、我々には「できない」です。譜刻は人間的な状況判断に頼っているた@c
240 め、判断を行う人間を完全にコンピュータに置き換えることはできません。しかしな@c
241 がら、退屈な作業の多くを自動化することはできます。もし LilyPond が一般的な@c
242 ケースの大半に対処できるなら、それは既存のソフトウェアよりも大きく前進するこ@c
243 とになります。残りのケースは手作業で調整することができます。年数が経つにつれ@c
244 て、このソフトウェアはより多くのことを自動的に行えるよう洗練されていき、手作@c
245 業による手直しはどんどん必要なくなっていくことでしょう。
246
247 我々が LilyPond の開発を始めたとき、我々は LilyPond プログラム全体を C++ プ@c
248 ログラミング言語で書いていました。プログラムの機能は開発者によってかっちりと@c
249 決められていました。これはいくつかの理由で不満足なものであることがわかりました:
250
251 @itemize
252 @item LilyPond が失敗を犯したとき、ユーザはフォーマット判断 (どのような@c
253 フォーマットにするかの判断) を上書きする必要があります。そのため、ユーザは@c
254 フォーマット エンジンにアクセスしなければなりません。そのため、コンパイル時@c
255 に我々 (開発者) によって規則と設定を固定することは無理があり、実行時 (LilyPond 
256 によって楽譜を作り出すとき) にユーザが規則と設定にアクセスできなければなりま@c
257 せん。
258
259 @item 譜刻は視覚的判断の問題であり、そのために好みがあります。我々には知識が@c
260 ありますが、ユーザは我々の個人的な判断に異を唱える可能性もあります。そのた@c
261 め、譜刻様式の定義もまたユーザがアクセスできるものでなければなりません。
262
263 @item 最後に、我々は継続的にフォーマット アルゴリズムを改良させていくので、@c
264 我々には規則に対する自由度の高いアプローチが必要です。C++ 言語は音楽表記の作@c
265 業とはうまくマッチしない規則分類法を押し付けてきます。
266
267 @end itemize
268
269 @cindex Scheme programming language
270
271 これらの問題に対して、Scheme プログラミング言語のインタプリタを統合し、@c
272 LilyPond の各部分を Scheme で書き直すという処置がとられてきました。現在の@c
273 フォーマット アーキテクチャはグラフィカル オブジェクトという概念で構築されて@c
274 いて、Scheme 変数と関数によって記述されています。このアーキテクチャは、@c
275 フォーマット規則、譜刻スタイル、個々のフォーマットに関する判断を包含していま@c
276 す。ユーザはこれらの制御の大半に直接アクセスする術を持ちます。
277
278 Scheme 変数はレイアウトに関する判断を制御します。例えば、多くのグラフィカル 
279 オブジェクトは上か下か (あるいは左か右か) の選択を決定する方向 (に関する) 変@c
280 数を持ちます。ここで、アクセントとアルペジオを持つ 2 つの和音を見てみます。@c
281 最初の和音では、すべてのグラフィカル オブジェクトは下向き (あるいは左向き) 
282 の方向を持っています。2 番目の和音では、すべてが上向き (あるいは右向き) の方@c
283 向を持っています。
284
285 @lilypond[quote,ragged-right]
286 \new Score \with {
287    \override SpacingSpanner #'spacing-increment = #3
288    \override TimeSignature #'transparent = ##t
289 } \relative c' {
290    \stemDown <e g b>4_>-\arpeggio
291    \override Arpeggio #'direction = #RIGHT
292    \stemUp <e g b>4^>-\arpeggio
293 }
294 @end lilypond
295
296 @cindex score formatting
297 @cindex formatting a score
298 @cindex formatting rules
299
300 @noindent
301 楽譜を形作るプロセスはグラフィカルオブジェクトの変数を読み込んだり、書き込ん@c
302 だりすることからなります。いくつかの変数はプリセット値を持ちます。例えば、多@c
303 くの線の太さ -- 印刷スタイルの特性 -- はプリセット値を持つ変数です。あなたは@c
304 自由にこの値を変更することができ、それによってあなたの楽譜は異なる印象を持つ@c
305 ことになります。
306
307 @lilypond[quote,ragged-right]
308 fragment = {
309    \clef bass f8 as8
310    c'4-~ c'16 as g f e16 g bes c' des'4
311 }
312 <<
313    \new Staff \fragment
314    \new Staff \with {
315       \override Beam #'thickness = #0.3
316       \override Stem #'thickness = #0.5
317       \override Bar #'thickness = #3.6
318       \override Tie #'thickness = #2.2
319       \override StaffSymbol #'thickness = #3.0
320       \override Tie #'extra-offset = #'(0 .  0.3)
321       }
322       \fragment
323 >>
324 @end lilypond
325
326 さらにフォーマット規則もプリセット変数です: 各オブジェクトはプロシージャを保@c
327 持している変数を持ちます。これらのプロシージャが実際のフォーマットを実行し、@c
328 異なるプロシージャを使用することによってオブジェクトの見た目を変えることがで@c
329 きます。以下の例では、音符の玉 (ノート ヘッド) シンボルを印刷するのにどの音@c
330 符の玉オブジェクトを使用するかを決定する規則を楽譜の途中で変更しています。
331
332 @lilypond[quote,ragged-right]
333 #(set-global-staff-size 30)
334
335 #(define (mc-squared grob orig current)
336   (let* ((interfaces (ly:grob-interfaces grob))
337          (pos (ly:grob-property grob 'staff-position)))
338     (if (memq 'note-head-interface interfaces)
339         (begin
340           (ly:grob-set-property! grob 'stencil
341             (grob-interpret-markup grob
342               (make-lower-markup 0.5
343                 (case pos
344                   ((-5) "m")
345                   ((-3) "c ")
346                   ((-2) (make-smaller-markup (make-bold-markup "2")))
347                   (else "bla")))))))))
348
349 \new Voice \relative c' {
350   \stemUp
351   \set autoBeaming = ##f
352   \time 2/4
353   <d f g>4
354   \once \override NoteHead #'stencil = #ly:note-head::brew-ez-stencil
355   \once \override NoteHead #'font-size = #-7
356   \once \override NoteHead #'font-family = #'sans
357   \once \override NoteHead #'font-series = #'bold
358   <d f g>4
359   \once \override NoteHead #'style = #'cross
360   <d f g>4
361   \applyOutput #'Voice #mc-squared
362   <d f g>4
363   <<
364     { d8[ es-( fis^^ g] fis2-) }
365     \repeat unfold 5 { \applyOutput #'Voice #mc-squared s8 }
366   >>
367 }
368 @end lilypond
369
370
371 @node What symbols to engrave?
372 @unnumberedsubsec What symbols to engrave?
373
374 @cindex engraving
375 @cindex typography
376 @cindex engraver
377 @cindex plug-in
378
379
380 フォーマット プロセスはシンボルを置く場所を決定します。しかしながら、@c
381 @emph{どの}シンボルを譜刻すべきかを決定する -- 言い換えると、使用する表記を@c
382 決定する -- と、シンボルを置く場所も決まります。
383
384 一般の音楽表記は音楽を記録するシステムであり、これは過去 1000 年以上にもわ@c
385 たって進化してきました。現在の一般的な形式はルネッサンス前期にまでさかのぼり@c
386 ます。基本的な形式 (すなわち、音符の玉が 5 本線の譜表上にあるというもの) は@c
387 変更されていませんが、細かな点は現代の表記の改革を表現するためにいまだに発展@c
388 が続けられています。したがって、一般的な音楽表記はおよそ500年間の音楽を扱い@c
389 ます。応用範囲は単旋律から大規模なオーケストラのための途方もない対位法にまで@c
390 及びます。
391
392 どうやったら我々はそのような多頭の獣を統率し、制限のあるコンピュータ プログ@c
393 ラムに押し込めることができるでしょうか?我々の解決策は表記の問題 (譜刻とは対@c
394 照的にある、すなわち、活字学) を消化の良いプログラム可能な小さな塊に分解して@c
395 いくことです: それぞれのシンボルのタイプは個々のモジュール -- いわゆるプラグ@c
396 イン -- によって処理されます。各プラグインは完全にモジュール化されて独立して@c
397 いて、それによりそれぞれを別個に開発、改良することができます。そのようなプラ@c
398 グインは音楽的概念をグラフィック シンボルに変換する職人に例えて @code{engraver}
399 (エングラーバ) と呼びます。
400
401 以下の例では、我々が音符の玉のためのプラグイン @code{Note_heads_engraver} か@c
402 ら始めていく様子を見ていきます。
403
404 @lilypond[quote,ragged-right]
405 \include "engraver-example.ily"
406
407 \score {
408   \topVoice
409   \layout {
410     \context {
411       \Voice
412       \remove "Stem_engraver"
413       \remove "Phrasing_slur_engraver"
414       \remove "Slur_engraver"
415       \remove "Script_engraver"
416       \remove "Beam_engraver"
417       \remove "Auto_beam_engraver"
418     }
419     \context {
420       \Staff
421       \remove "Accidental_engraver"
422       \remove "Key_engraver"
423       \remove "Clef_engraver"
424       \remove "Bar_engraver"
425       \remove "Time_signature_engraver"
426       \remove "Staff_symbol_engraver"
427       \consists "Pitch_squash_engraver"
428     }
429   }
430 }
431 @end lilypond
432
433 @noindent
434 それから、@code{Staff_symbol_engraver} が譜表を加え
435
436 @lilypond[quote,ragged-right]
437 \include "engraver-example.ily"
438
439 \score {
440   \topVoice
441   \layout {
442     \context {
443       \Voice
444       \remove "Stem_engraver"
445       \remove "Phrasing_slur_engraver"
446       \remove "Slur_engraver"
447       \remove "Script_engraver"
448       \remove "Beam_engraver"
449       \remove "Auto_beam_engraver"
450     }
451     \context {
452       \Staff
453       \remove "Accidental_engraver"
454       \remove "Key_engraver"
455       \remove "Clef_engraver"
456       \remove "Bar_engraver"
457       \consists "Pitch_squash_engraver"
458       \remove "Time_signature_engraver"
459     }
460   }
461 }
462 @end lilypond
463
464 @noindent
465 @code{Clef_engraver} が譜表の参照位置を定義し
466
467 @lilypond[quote,ragged-right]
468 \include "engraver-example.ily"
469
470 \score {
471   \topVoice
472   \layout {
473     \context {
474       \Voice
475       \remove "Stem_engraver"
476       \remove "Phrasing_slur_engraver"
477       \remove "Slur_engraver"
478       \remove "Script_engraver"
479       \remove "Beam_engraver"
480       \remove "Auto_beam_engraver"
481     }
482     \context {
483       \Staff
484       \remove "Accidental_engraver"
485       \remove "Key_engraver"
486       \remove "Bar_engraver"
487       \remove "Time_signature_engraver"
488     }
489   }
490 }
491 @end lilypond
492
493 @noindent
494 @code{Stem_engraver} が棒 (ステム) を付け加えます。
495
496 @lilypond[quote,ragged-right]
497 \include "engraver-example.ily"
498
499 \score {
500   \topVoice
501   \layout {
502     \context {
503       \Voice
504       \remove "Phrasing_slur_engraver"
505       \remove "Slur_engraver"
506       \remove "Script_engraver"
507       \remove "Beam_engraver"
508       \remove "Auto_beam_engraver"
509     }
510     \context {
511       \Staff
512       \remove "Accidental_engraver"
513       \remove "Key_engraver"
514       \remove "Bar_engraver"
515       \remove "Time_signature_engraver"
516     }
517   }
518 }
519 @end lilypond
520
521 @noindent
522 @code{Stem_engraver} はやって来るすべての音符の玉 (ノート ヘッド) について知@c
523 らされます。1 つの音符の玉 (あるいは和音の場合は複数の音符の玉) が現れるたび@c
524 に、ステム オブジェクトが作成され、音符の玉に接続されます。さらにビーム (ス@c
525 テムとステムをつなぐ横棒)、スラー、アクセント、臨時記号、小節線 (小節と小節@c
526 を区切る縦線)、拍子記号、調号のためのエングラーバを付け加えるによって、我々@c
527 は完全な楽譜を手に入れることができます。
528
529 @lilypond[quote,ragged-right]
530 \include "engraver-example.ily"
531 \score { \topVoice }
532 @end lilypond
533
534 @cindex polyphony
535 @cindex engraving multiple voices
536 @cindex contexts
537
538 このシステムは単旋律の音楽に対してはうまく機能しますが、多声部音楽に対しては@c
539 どうでしょうか?多声部表記では、多くの声部 (ボイス) が 1 つの譜表を共有します。
540
541 @lilypond[quote,ragged-right]
542 \include "engraver-example.ily"
543 \new Staff << \topVoice \\ \botVoice >>
544 @end lilypond
545
546 このような場合、臨時記号と譜表は共有されますが、ステム、スラー、ビームなどは@c
547 各声部が単独で持ちます。そのため、エングラーバはグループ化されるべきです。音@c
548 符の玉、ステム、スラーなどのためのエングラーバは @q{Voice context} (ボイス 
549 コンテキスト) と呼ばれるグループに入れられ、一方の調子、臨時記号、小節線など@c
550 のためのエングラーバは @q{Staff context} (譜表コンテキスト) とグループに入れ@c
551 られます。多声部音楽の場合、単一の譜表コンテキストには複数のボイス コンテキ@c
552 ストが含まれます。同様に、複数の譜表コンテキストは単一の楽譜 (Score) コンテ@c
553 キストになり得ます。楽譜コンテキストは最上位の表記コンテキストです。
554
555
556 @seealso
557 内部リファレンス: @rinternals{Contexts}.
558
559
560 @lilypond[quote,ragged-right]
561 \include "engraver-example.ily"
562 \score {
563    <<
564       \new Staff << \topVoice \\ \botVoice >>
565       \new Staff << \pah \\ \hoom >>
566    >>
567 }
568 @end lilypond
569
570
571 @node Music representation
572 @unnumberedsubsec Music representation
573
574 @cindex syntax
575 @cindex recursive structures
576
577 概念上、高レベル フォーマット システムのための入力フォーマットは内容を抽象的@c
578 に記述するものになります。このケースでは、内容は音楽自体になります。これは手@c
579 に負えない問題に見えます: どうやったら我々は音楽の本質を定義できるでしょう@c
580 か?その答えを見つけようとする代わりに、我々はその問題を逆転させました。我々@c
581 は楽譜を譜刻する能力を持つプログラムを書き、そのフォーマットができる限りすっ@c
582 きりしたものになるよう調整します。これ以上フォーマットを減らすことができない@c
583 という状態になったとき、当然のことながら我々に残されているのは内容自体になり@c
584 ます。我々のプログラムは音楽ドキュメントの形式定義として機能します。
585
586 さらに、構文が LilyPond のユーザ インタフェイスになっているため、
587
588 @example
589 @{
590   c'4 d'8
591 @}
592 @end example
593
594 とタイプだけで、4 分音符の C1 (ミドル C (=ド)) と 8 分音符の D1 (ミドル C の@c
595 上の D (=レ)) になります。
596
597 @lilypond[quote]
598 {
599   c'4 d'8
600 }
601 @end lilypond
602
603 @warning{訳者: C = ド, D = レ, E = ミ, F = ファ, G = ソ, A = ラ, B = シ で@c
604 す。LilyPond では音符を「ドレミ〜」ではなく "CDE~" として捉えることが必須なの@c
605 で、今後は音符をアルファべット表記にします。}
606
607 小さなスケールでは、そのような構文は簡単に使用できます。大きなスケールでは、@c
608 構文はさらに構造を持つ必要があります。そうしなければ、どうやったらあなたはシ@c
609 ンフォニーやオペラのような複雑な楽譜に取り組めるでしょうか?構造は音楽表現法@c
610 というコンセプトによって形成されます: 小さな音楽の断片を組み合わせて大きな音@c
611 楽にすることによって、より複雑な音楽を表すことができるようになります。例を挙@c
612 げます。
613
614 @lilypond[quote,verbatim,fragment,relative=1]
615 f4
616 @end lilypond
617
618 @noindent
619 同時進行の音符はそれらを @code{<<} と @code{>>} で囲むことによって構築できます:
620
621
622 @example
623 <<c4 d4 e4>>
624 @end example
625
626 @lilypond[quote,fragment,relative=1]
627 \new Voice { <<c4 d4 e>> }
628 @end lilypond
629
630 @noindent
631 この音楽表現を中括弧 @code{@{@tie{}@dots{}@tie{}@}} で囲むことによってシークエ@c
632 ンスの中に入れることができます:
633
634 @example
635 @{ f4 <<c4 d4 e4>> @}
636 @end example
637
638 @lilypond[quote,relative=1,fragment]
639 { f4 <<c d e4>> }
640 @end lilypond
641
642 @noindent
643 上記もまた音楽表現の 1 つなので、@code{<<}, @code{@bs{}@bs{}}, and @code{>>} 
644 を使ってそれを再び他の同時進行の音楽表現 (2 分音符) と組み合わせることもでき@c
645 ます:
646
647 @example
648 @code{<< g2 \\ @{ f4 <<c4 d4 e4>> @} >>}
649 @end example
650
651
652 @lilypond[quote,fragment,relative=2]
653 \new Voice { << g2 \\ { f4 <<c d e>> } >> }
654 @end lilypond
655
656 このような再帰的な構造はさっぱりと、かつ、しっかりした形式でコンテキスト フ@c
657 リー文法で記すことができます。コード解析もまたこの文法から生成されます。言い換@c
658 えると、LilyPond の構文ははっきりと明快に定義されます。
659
660 ユーザが LilyPond に取り組むときに、ユーザがその時間の大半で見て、扱うものは@c
661 ユーザ インタフェイスと構文です。それらのある部分は好みの問題であり、多くの議@c
662 論の対象にもなるものです。好みについて議論することは有意義なことですが、それほ@c
663 ど生産的なことではありません。LilyPond という大きな世界の中で、入力構文の重要@c
664 性は小さいのです: さっぱりとした構文をでっちあげることは簡単ですが、見苦しくな@c
665 いフォーマット コードを作成することはとても難しいのです。このことは、それぞれ@c
666 のコンポーネントの行数をカウントすることによっても実証されます: 解析と表記のた@c
667 めのコンポーネントはソース コード全体の 10 % にも達しません。
668
669
670 @node Example applications
671 @unnumberedsubsec Example applications
672
673 @cindex simple examples
674 @cindex examples, simple
675
676 我々はどのように譜刻の技術をコンピュータ プログラムの中に凝縮するかという実験@c
677 として LilyPond を開発してきました。重労働のおかげで、今やこのプログラムは有用@c
678 な働きを行うのに使用できるようになりました。非常に簡単な利用例は音符を刻譜する@c
679 ことです。
680
681 @lilypond[quote,relative=1]
682 {
683   \time 2/4
684   c4 c g'4 g a4 a g2
685 }
686 @end lilypond
687
688 @noindent
689 コード ネームと歌詞を加えることによって、我々はリード譜を得ます。
690
691 @lilypond[quote,ragged-right]
692 <<
693    \chords { c2 c f2 c }
694    \new Staff
695    \relative c' {
696      \time 2/4
697      c4 c g' g a a g2
698    }
699    \addlyrics { twin -- kle twin -- kle lit -- tle star }
700 >>
701 @end lilypond
702
703 さらに、多声部表記とピアノ譜を刻譜することもできます。以下の例はいくつかのより@c
704 風変わりな構成を組み合わせています。
705
706 @lilypond[quote]
707 \header {
708   title = "Screech and boink"
709   subtitle = "Random complex notation"
710   composer = "Han-Wen Nienhuys"
711 }
712
713 \score {
714   \context PianoStaff <<
715     \new Staff = "up" {
716       \time 4/8
717       \key c \minor
718       << {
719         \revert Stem #'direction
720         \change Staff = down
721         \set subdivideBeams = ##t
722         g16.[
723           \change Staff = up
724           c'''32
725           \change Staff = down
726           g32
727           \change Staff = up
728           c'''32
729           \change Staff = down
730           g16]
731         \change Staff = up
732         \stemUp
733         \set followVoice = ##t
734         c'''32([ b''16 a''16 gis''16 g''32)]
735       } \\ {
736         s4 \times 2/3 { d'16[ f' g'] } as'32[ b''32 e'' d'']
737       } \\ {
738         s4 \autoBeamOff d''8.. f''32
739       } \\ {
740         s4 es''4
741       } >>
742     }
743
744     \new Staff = "down" {
745       \clef bass
746       \key c \minor
747       \set subdivideBeams = ##f
748       \override Stem  #'french-beaming = ##t
749       \override Beam  #'thickness = #0.3
750       \override Stem  #'thickness = #4.0
751       g'16[ b16 fis16 g16]
752       << \makeClusters {
753         as16 <as b>
754         <g b>
755         <g cis>
756       } \\ {
757         \override Staff.Arpeggio  #'arpeggio-direction =#down
758         <cis, e, gis, b, cis>4\arpeggio
759       }
760     >> }
761   >>
762   \midi {
763     \context {
764       \Score
765       tempoWholesPerMinute = #(ly:make-moment 60 8)
766     }
767   }
768   \layout {
769     \context {
770       \Staff
771       \consists Horizontal_bracket_engraver
772     }
773   }
774 }
775 @end lilypond
776
777 上で示した楽譜の断片はすべて手作業で作成されていました。しかしながら、必ずしも@c
778 手作業で行う必要はありません。フォーマット エンジンの大部分は自動化されている@c
779 ため、その出力を音楽を操作する他のプログラムに供することができます。例えば、音@c
780 楽の断片のデータベースをウェブサイトやマルチメディア プレゼンテーションで使用@c
781 する画像に変換するために使用することもできます。
782
783 このマニュアルも利用例です: 入力フォーマットはテキストなので、容易に他のテキスト
784 ベースのフォーマット -- 例えば、@LaTeX{}, HTML, このマニュアルの場合は 
785 Texinfo -- に埋め込むことができます。ある特別なプログラムによって入力断片を音@c
786 楽イメージに置き換えることができ、それによって PDF や HTML の出力ファイルとい@c
787 う結果を得ることができます。これはドキュメントの中で音楽とテキストを混在させる@c
788 ことを容易にします。
789
790
791
792 @node About the documentation
793 @section About the documentation
794
795 この節では、このドキュメントの各部分について説明します。
796
797 @cindex Learning Manual
798 @cindex Music Glossary
799 @cindex Notation Reference
800 @cindex Application Usage
801 @cindex Snippet List
802 @cindex Internals Reference
803
804 @c leave these lines wrapping around.  It's some texinfo 4.12 thing. -gp
805 @c This is actually a limitation of texi2html. -jm
806 @menu
807 * About the Learning Manual::  このマニュアルは表記を作成する方法について丁寧@c
808 な説明をしながら LilyPond についての紹介を行います。
809 * About the Music Glossary::  このマニュアルは音楽用語についての説明を行い、そ@c
810 れらの用語の他の言語への訳語を提供します。
811 * About the Notation Reference::  このマニュアルはこのドキュメントの主要部分で@c
812 す。表記を作成する方法についての詳細な情報を提供します。このマニュアルは読者が@c
813 学習マニュアルでカバーされている基本的な内容を知っていて、音楽用語集に書かれて@c
814 いる英語の音楽用語に馴染んでいるものと仮定しています。
815 * About the Application Usage::  ここでは実際のプログラムとオペレーティング シ@c
816 ステム特有の問題について議論します。
817 * About the Snippet List::  これは短い LilyPond の例のコレクションです。
818 * About the Internals Reference::  このドキュメントは LilyPond の内部構造体に@c
819 ついての参照情報を提供します。調整を行うのに LilyPond の内部構造体についての知@c
820 識が必要です。
821 * Other documentation::  ここにはこのドキュメントの他の部分 -- ニュースやメール 
822 アーカイブなど -- がいくつかあります。
823 @end menu
824
825
826 @node About the Learning Manual
827 @unnumberedsubsec About the Learning Manual
828
829 @cindex Learning Manual
830
831 本書は LilyPond の学習の始め方を説明し、同時にいくつかの鍵となるコンセプトを簡@c
832 単な用語で説明します。あなたは本書を一読すべきです。
833
834 各セクションの最後には@strong{参照}というパラグラフがあり、そこには他のセクシ@c
835 ョンへの参照があります: 初めて本書を読むときはこれらの参照を追うべきではありま@c
836 せん。あなたが学習マニュアルをすべて読み終えたとき、いくつかのセクションを読み@c
837 返し、さらに参照を追おうと思うかもしれません。
838
839 @itemize
840
841 @item
842
843 @ref{Introduction}: LilyPond のバックグランドと最終目標について説明します。
844
845 @item
846
847 @ref{Tutorial}: 音楽を譜刻するためのやさしい入門を提供します。初めて LilyPond 
848 を使うユーザはここから始めるべきです。
849
850 @item
851
852 @ref{Fundamental concepts}: LilyPond ファイル フォーマットについてのいくつかの@c
853 一般的なコンセプトを説明します。あるコマンドを置くべき場所がわからない場合は、@c
854 この章を読んでください!
855
856 @item
857
858 @ref{Tweaking output}: LilyPond が作り出すデフォルトの譜刻を変更する方法を示し@c
859 ます。
860
861 @item
862
863 @ref{Working on LilyPond projects}: LilyPond の実際的な使用といくつかの一般的@c
864 な問題を回避するための方法について議論します。大きなプロジェクトに取り組む前に@c
865 この章を読んでください!
866
867 @end itemize
868
869 さらに、学習マニュアルは付録 -- 一読するのを推奨しない部分 -- も保持していま@c
870 す。それらは後で読み直すときに有用になるかもしれません:
871
872 @itemize
873
874 @item
875
876 @ref{Templates}: コンパイルの準備が整っている LilyPond 入力を示します。ある@c
877 テンプレートをファイルにカット&ペーストし、表記を追加するだけで完了です!
878
879 @item
880
881 @ref{Scheme tutorial}: Scheme の簡単な紹介を提供します。Scheme は音楽関数が使@c
882 用するプログラミング言語です。この付録は高度な調整を行うための資料です。多くの@c
883 ユーザは Scheme に触れる必要はまったくありません。
884
885 @end itemize
886
887 @node About the Music Glossary
888 @unnumberedsubsec About the Music Glossary
889
890 @cindex Music Glossary
891 @cindex idiom
892 @cindex jargon
893 @cindex terminology
894 @cindex foreign languages
895 @cindex language
896
897 @rglosnamed{Top,Music glossary}
898 は音楽用語についての説明を行い、それらの用語のさまざまな言語への訳語を提供しま@c
899 す。あなたが音楽表記や音楽用語に馴れていないのなら (特にあなたが英語圏の人でな@c
900 いのなら)、用語集を引くことはとても役に立ちます。
901
902
903 @node About the Notation Reference
904 @unnumberedsubsec About the Notation Reference
905
906 @cindex Notation Reference
907 @cindex appendices
908 @cindex reference charts
909 @cindex charts, reference
910
911 @untranslated
912
913 This book explains all the LilyPond commands which produce
914 notation.  It assumes that readers are familiar with the concepts
915 in the Learning Manual.
916
917 @itemize
918
919 @item
920
921 @ruser{Musical notation}:
922 discusses topics grouped by notation construct.  This section
923 gives details about basic notation that will be useful in almost
924 any notation project.
925
926 @item
927
928 @ruser{Specialist notation}:
929 discusses topics grouped by notation construct.  This section
930 gives details about special notation that will only be useful for
931 particular instrument (or vocal) groups.
932
933 @item
934
935 @ruser{General input and output}:
936 discusses general information about LilyPond input files and
937 controlling output.
938
939 @item
940
941 @ruser{Spacing issues}:
942 discusses issues which affect the global output, such as selecting
943 paper size or specifying page breaks.
944
945 @item
946
947 @ruser{Changing defaults}:
948 explains how to tweak LilyPond to produce exactly the notation you
949 want.
950
951 @item
952
953 @ruser{Interfaces for programmers}:
954 explains how to create music functions with scheme.
955
956 @end itemize
957
958 The Notation Reference also contains appendices with useful
959 reference charts.
960
961 @itemize
962
963 @item
964
965 @ruser{Literature list}:
966 contains a set of useful reference books for those who wish to
967 know more on notation and engraving.
968
969 @item
970
971 @ruser{Notation manual tables}:
972 are a set of tables showing the chord names, MIDI instruments, a
973 list of color names, and the Feta font.
974
975 @item
976
977 @ruser{Cheat sheet}:
978 is a handy reference of the most common LilyPond commands.
979
980 @item
981
982 @ruser{LilyPond command index}:
983 an index of all LilyPond @code{\commands}.
984
985 @item
986
987 @ruser{LilyPond index}:
988 a complete index.
989
990 @end itemize
991
992
993 @node About the Application Usage
994 @unnumberedsubsec About the Application Usage
995
996 @cindex Application Usage
997 @cindex integrating LilyPond with other programs
998
999 本書はプログラムを実行する方法、LilyPond 表記を他のプログラムに統合する方法に@c
1000 ついて説明します。
1001
1002 @itemize
1003
1004 @item
1005
1006 @rprogram{Install}:
1007 LilyPond をインストールする方法について、もし望むのならばコンパイルの仕方も含@c
1008 めて、説明します。
1009
1010 @item
1011
1012 @rprogram{Setup}:
1013 あなたのコンピュータを LilyPond の使用に合わせて最適にコンフィグレーションする 
1014 -- ある特定のテキスト エディタによって提供される特別な環境を使用するなど -- 方@c
1015 法について説明します。
1016
1017 @item
1018
1019 @rprogram{Running LilyPond}:
1020 LilyPond とその援助プログラムを実行する方法を示します。さらに、このセクション@c
1021 は入力ファイルを LilyPond の以前のバージョンからアップグレードする方法について@c
1022 説明します。
1023
1024 @item
1025
1026 @rprogram{LilyPond-book}:
1027 このマニュアルのような内部に音楽の例を持つドキュメントを作成する方法についての@c
1028 詳細を説明します。
1029 @c explains the details behind creating documents with in-line music
1030 @c examples, like this manual.
1031
1032 @item
1033
1034 @rprogram{Converting from other formats}:
1035 変換プログラムを実行する方法について説明します。それらのプログラムは LilyPond 
1036 パッケージで提供され、さまざまな音楽フォーマットを @code{.ly} フォーマットに変@c
1037 換します。
1038
1039 @end itemize
1040
1041
1042 @node About the Snippet List
1043 @unnumberedsubsec About the Snippet List
1044
1045 @untranslated
1046
1047 @cindex snippets
1048 @cindex LSR
1049 @cindex Snippet List
1050 @cindex LilyPond Snippet Repository
1051
1052 @rlsrnamed{Top,LilyPond Snippet List}: this shows a
1053 selected set of LilyPond snippets from the
1054 @uref{http://lsr@/.dsi@/.unimi@/.it,LilyPond Snippet Repository}
1055 (LSR).  All the snippets are in the public domain.
1056
1057 Please note that this document is not an exact subset of LSR.  LSR
1058 is running a stable LilyPond version, so any snippet which
1059 demonstrates new features of a development version must be added
1060 separately.  These are stored in @file{input/new/} in the LilyPond
1061 source tree.
1062
1063 The list of snippets for each subsection of the Notation Reference are
1064 also linked from the @strong{See also} portion.
1065
1066
1067 @node About the Internals Reference
1068 @unnumberedsubsec About the Internals Reference
1069
1070 @cindex Internals Reference
1071
1072 @untranslated
1073
1074 @rinternalsnamed{Top,Internals Reference}: this is a set
1075 of heavily cross linked HTML pages which document the nitty-gritty
1076 details of each and every LilyPond class, object, and function.
1077 It is produced directly from the formatting definitions in the
1078 source code.
1079
1080 Almost all formatting functionality that is used internally is
1081 available directly to the user.  For example, most variables that
1082 control thickness values, distances, etc., can be changed in input
1083 files.  There are a huge number of formatting options, and all of
1084 them are described in this document.  Each section of the Notation
1085 Reference has a @b{See also} subsection, which refers to the
1086 generated documentation.  In the HTML document, these subsections
1087 have clickable links.
1088
1089
1090 @node Other documentation
1091 @unnumberedsubsec Other documentation
1092
1093 @untranslated
1094
1095 とても有益であるかもしれない他の情報源がいくつかあります。
1096
1097 @itemize
1098
1099 @item
1100
1101 @ifhtml
1102 @ifset bigpage
1103 @uref{../topdocs/NEWS.html,News}:
1104 @end ifset
1105 @ifclear bigpage
1106 @uref{../../topdocs/NEWS.html,News}:
1107 @end ifclear
1108 @end ifhtml
1109 @ifnothtml
1110 News:
1111 @end ifnothtml
1112 これは前のバージョンの LilyPond から後に付け加えられた重要な変更と新しい機能に@c
1113 ついての要約です。
1114
1115 @item
1116
1117 @uref{http://lists.gnu.org/archive/html/lilypond-user/, The
1118 lilypond-user mailist archives}: this is a collection of previous
1119 emails sent to the user list.  Many questions have been asked
1120 multiple times; there is a very good chance that if you have a
1121 question, the answer might be found in these archives.
1122
1123 @item
1124
1125 @uref{http://lists.gnu.org/archive/html/lilypond-devel/, The
1126 lilypond-devel mailist archives}: this is a collection of previous
1127 emails sent to the developer's list.  The discussion here is more
1128 technical; if you have an advanced question about lilypond
1129 internals, the answer might be in these archives.
1130
1131 @item
1132
1133 Embedded music fragments: in all HTML documents that have
1134 music fragments embedded, the exact LilyPond input that was used
1135 to produce that image can be viewed by clicking the image.
1136
1137 @item
1138
1139 Init files: the location of the documentation files that are
1140 mentioned here can vary from system to system.  On occasion, this
1141 manual refers to initialization and example files.  Throughout this
1142 manual, we refer to input files relative to the top-directory of the
1143 source archive.  For example, @file{input/@/lsr/@/dirname/@/bla@/.ly}
1144 may refer to the file
1145 @file{lilypond@/2.x.y/@/input/@/lsr/@/dirname/@/bla@/.ly}.  On binary
1146 packages for the UNIX platform, the documentation and examples can
1147 typically be found somewhere below
1148 @file{/usr/@/share/@/doc/@/lilypond/}.  Initialization files, for
1149 example @file{scm/@/lily@/.scm}, or @file{ly/@/engraver@/-init@/.ly},
1150 are usually found in the directory @file{/usr/@/share/@/lilypond/}.
1151 For more details, see @ref{Other sources of information}.
1152
1153 @end itemize
1154