-@node 譜刻
-@unnumberedsubsec 譜刻
-@translationof Engraving
-
-@cindex engraving
-@cindex typography, music
-@cindex music typography
-@cindex plate engraving
-@cindex music engraving
-
-楽譜印刷の技術は@emph{(プレート) 譜刻} (原文: engraving、版画などの印刷のこと@c
-) と呼ばれています。この用語は伝統的な楽譜印刷のプロセスに由来します。ほんの@c
-数十年前まで、楽譜は音楽記号を亜鉛やしろめ (錫と鉛の合金) の版に反転した@c
-イメージで彫り込んだり、刻印することによって作られていました。版にはインクが@c
-塗られ、彫り込んだり刻印してくぼんだ部分にはインクが溜まります。版のイメージ@c
-はその版に紙が押し付けられることによって形になります。刻印と彫刻は完全に手作@c
-業で行われていました。校正は可能だとしても厄介でした。なぜなら一から刻印と彫@c
-刻のやり直しだったからです。譜刻は高度に専門的な技術でした。職人はマスター @c
-エングラーバ (譜刻を行う人) の称号を得るまで 5 年の修行を修めなければなら@c
-ず、本当に技術を習得するまでにはさらにもう 5 年の経験が必要だったのです。
-
-今日では、コンピュータによってまったく新しい楽譜が出版されています。これには@c
-明らかな利点があります。印刷は安く済み、編集したものを email で配ることが可@c
-能です。不幸なことに、コンピュータが広く使われるようになって楽譜のグラフィカ@c
-ルな品質は低下しています。コンピュータによって出版された楽譜は味気無く、機械@c
-的な見た目をしているため、その楽譜で演奏することに喜びを感じられません。
-
-@c introduce illustrating aspects of engraving, font...
-以下の図は伝統的な譜刻とコンピュータ出版の違いを描いたものであり、3 番目の図は
-LilyPond がどれくらい伝統的な見た目を模倣しているのかを示しています。左端の@c
-スキャンした図はコンピュータ出版の典型的な決定を示しています。縦棒は細く、フ@c
-ラット記号の太さは細線と一致していて、曲線はまっすぐなレイアウトになっていま@c
-す。対照的に、ベーレンライター (Barenreiter: ドイツの出版社) のフラットは太@c
-く、曲線は官能的です。我々のフラットは 2 つのもののうち後者を元にデザインさ@c
-れています。丸みを帯びていて、太さは縦棒の太さと調和していて、コンピュータに@c
-よるものよりも線が太くなっています。
-
-@multitable @columnfractions .125 .25 .25 .25 .125
-@item @tab
-@ifnotinfo
-@iftex
-@image{henle-flat-gray,,4cm}
-@end iftex
-@ifnottex
-@image{henle-flat-gray,,,png}
-@end ifnottex
-
-@tab
-@iftex
-@image{baer-flat-gray,,4cm}
-@end iftex
-@ifnottex
-@image{baer-flat-gray,,,png}
-@end ifnottex
-
-@tab
-@iftex
-@image{lily-flat-bw,,4cm}
-@end iftex
-@ifnottex
-@image{lily-flat-bw,,,png}
-@end ifnottex
-@end ifnotinfo
-@ifinfo
-@image{lilypond/henle-flat-bw,,,png} @image{lilypond/baer-flat-bw,,,png}
-@image{lilypond/lily-flat-bw,,,png}
-@end ifinfo
-
-@item @tab
-Henle (2000)
-@tab
-Bärenreiter (1950)
-@tab
-LilyPond Feta font (2003)
-
-@end multitable
-
-
-@cindex musical symbols
-@cindex font
-@cindex blackness
-@cindex balance
-
-@c introduce illustrating aspects of engraving, spacing...
-スペースの点では、スペースの配分は音符と音符の間の音の間隔を反映します。しか@c
-しながら、現代楽譜の多くは数学的な正確さを持った間隔に固執しています。このこ@c
-とはおもしろくない結果を生み出します。次の例では、2 度楽譜をプリントしていま@c
-す: 1 度目は正確に数学的なスペースを用いて、2 度目はそれに校正を加えていま@c
-す。違いを見分けられますか?
-
-@cindex optical spacing
-@c file spacing-optical.
-@c need to include it here, because we want two images.
-@lilypond
-\paper {
- ragged-right = ##t
- indent = #0.0
-}
-
-music = {
- c'4 e''4 e'4 b'4 |
- \stemDown
- b'8[ e'' a' e'']
- \stemNeutral
- e'8[ e'8 e'8 e'8]
-}
-
-\score
-{
- \music
- \layout {
- \context {
- \Staff
- \override NoteSpacing #'stem-spacing-correction = #0.6
- }
- }
-}
-@end lilypond
-
-@lilypond
-\paper {
- ragged-right = ##t
- indent = #0.0
-}
-
-music = {
- c'4 e''4 e'4 b'4 |
- \stemDown
- b'8[ e'' a' e'']
- \stemNeutral
- e'8[ e'8 e'8 e'8]
-}
-\score
-{
- \music
- \layout {
- \context {
- \Staff
- \override NoteSpacing #'stem-spacing-correction = #0.0
- \override NoteSpacing #'same-direction-correction = #0.0
- \override StaffSpacing #'stem-spacing-correction = #0.0
- }
- }
-}
-@end lilypond
-
-@cindex regular rhythms
-@cindex regular spacing
-@cindex spacing, regular
-
-各小節には一定のリズムで演奏される音符だけがあります。スペースもそれを反映していま@c
-す。不幸なことに、我々の目は我々を少し惑わせます。音符の「玉」 (ノート ヘッド) の間@c
-隔だけでなく、連続した棒 (ステム、音符から突き出る棒) の間隔も考慮します。結果とし@c
-て、アップ ステム/@/ダウン ステム (玉の上に突き出た棒/@/玉の下に突き出た棒) の組み@c
-合わせは離すべきであり、ダウン ステム/アップステムの組み合わせは近づけるべきです、す@c
-べては音符の垂直方向の位置の組み合わせに次第です。上の 2 小節は音符のダウン
-ステム/@/アップ ステムの組み合わせを近づけるよう校正を加えたものであり、下の 2 小節@c
-はこの校正を加えていないものです。
-
-
-通常、奏者は楽譜の見え方を勉強するよりも演奏をするほうに夢中ですので、印刷上@c
-の詳細にこだわることは形式尊重のように思えるかもしれません。しかしそうではあ@c
-りません。単調なリズムがずっと続くような場合、スペースの校正を行うことで各行@c
-のレイアウトに微妙な変化が加わり、それぞれが異なる視覚的特徴を持つようになり@c
-ます。この特徴が無ければすべての行は同じに見え、迷路のようになってしまいま@c
-す。奏者がちょっと目を逸らしたり、集中力を欠くと、それまで見ていた行はページ@c
-の中に埋もれてしまいます。
-
-同様に、太い譜線 (音の高さを表す線。五線譜では 5 本) に描かれた太い記号は見@c
-た目が強く、楽譜から奏者が離れている場合 -- 例えば、楽譜が譜面台にある場合 --
-に良く目立ちます。空白を注意深く配置することで、楽譜は記号が乱雑になることな@c
-く締まります。結果としてページをめくる回数は最小となり、これは大きな利点にな@c
-ります。
-
-これは印刷において共通して言えることですが、レイアウトはこざっぱりとしている@c
-べきです。これは印刷自体のためであるだけでなく、特にその印刷物を読んでいる読@c
-み手の助けにもなるからです。楽譜のような演奏用の道具では、このことは 2 重に@c
-重要性を持ちます: 奏者の注意力には限界があり、奏者が楽譜を読むことに払う注意@c
-力が少なくて済めば済むほど、その奏者は演奏に集中することができます。言い換え@c
-ると、良い印刷は良い演奏につながるのです。
-
-以上で挙げたことは、楽譜の印刷は微妙で複雑な技術であり、楽譜を印刷するには非@c
-常な熟練 -- これは通常、奏者が持っているものではありません -- が必要であると@c
-いうことを示しています。LilyPond は、手作業で譜刻された楽譜のすばらしさをコ@c
-ンピュータ世代に提供しよう、すばらしい楽譜を普通の音楽家にも利用可能にしよう@c
-という我々の努力なのです。我々は、良く見てみたくなり、演奏したくなるような古@c
-い楽譜のクオリティに匹敵する楽譜を提供するために、アルゴリズム、フォント デ@c
-ザイン、プログラム設定を調整してきました。
-
-
-@node 自動譜刻
-@unnumberedsubsec 自動譜刻
-@translationof Automated engraving
-
-@cindex engraving, automated
-@cindex automated engraving
-
-我々はどのように譜刻を実現していくのでしょうか?職人が本当のマスターになるのに
-10 年以上かかるのなら、単なるハッカーである我々がどうやったら職人の仕事を越@c
-えるプログラムを書けるのでしょうか?
-
-その答えは、我々には「できない」です。譜刻は人間的な状況判断に頼っているた@c
-め、判断を行う人間を完全にコンピュータに置き換えることはできません。しかしな@c
-がら、退屈な作業の多くを自動化することはできます。もし LilyPond が一般的な@c
-ケースの大半に対処できるなら、それは既存のソフトウェアよりも大きく前進するこ@c
-とになります。残りのケースは手作業で調整することができます。年数が経つにつれ@c
-て、このソフトウェアはより多くのことを自動的に行えるよう洗練されていき、手作@c
-業による手直しはどんどん必要なくなっていくことでしょう。
-
-我々が LilyPond の開発を始めたとき、我々は LilyPond プログラム全体を C++ プ@c
-ログラミング言語で書いていました。プログラムの機能は開発者によってかっちりと@c
-決められていました。これはいくつかの理由で不満足なものであることがわかりました:
-
-@itemize
-@item LilyPond が失敗を犯したとき、ユーザはフォーマット判断 (どのような@c
-フォーマットにするかの判断) を上書きする必要があります。そのため、ユーザは@c
-フォーマット エンジンにアクセスしなければなりません。そのため、コンパイル時@c
-に我々 (開発者) によって規則と設定を固定することは無理があり、実行時 (LilyPond
-によって楽譜を作り出すとき) にユーザが規則と設定にアクセスできなければなりま@c
-せん。
-
-@item 譜刻は視覚的判断の問題であり、そのために好みがあります。我々には知識が@c
-ありますが、ユーザは我々の個人的な判断に異を唱える可能性もあります。そのた@c
-め、譜刻様式の定義もまたユーザがアクセスできるものでなければなりません。
-
-@item 最後に、我々は継続的にフォーマット アルゴリズムを改良させていくので、@c
-我々には規則に対する自由度の高いアプローチが必要です。C++ 言語は音楽表記の作@c
-業とはうまくマッチしない規則分類法を押し付けてきます。
-
-@end itemize
-
-@cindex Scheme programming language
-
-これらの問題に対して、Scheme プログラミング言語のインタプリタを統合し、@c
-LilyPond の各部分を Scheme で書き直すという処置がとられてきました。現在の@c
-フォーマット アーキテクチャはグラフィカル オブジェクトという概念で構築されて@c
-いて、Scheme 変数と関数によって記述されています。このアーキテクチャは、@c
-フォーマット規則、譜刻スタイル、個々のフォーマットに関する判断を包含していま@c
-す。ユーザはこれらの制御の大半に直接アクセスする術を持ちます。
-
-Scheme 変数はレイアウトに関する判断を制御します。例えば、多くのグラフィカル
-オブジェクトは上か下か (あるいは左か右か) の選択を決定する方向 (に関する) 変@c
-数を持ちます。ここで、アクセントとアルペジオを持つ 2 つの和音を見てみます。@c
-最初の和音では、すべてのグラフィカル オブジェクトは下向き (あるいは左向き)
-の方向を持っています。2 番目の和音では、すべてが上向き (あるいは右向き) の方@c
-向を持っています。
-
-@lilypond[quote,ragged-right]
-\new Score \with {
- \override SpacingSpanner #'spacing-increment = #3
- \override TimeSignature #'transparent = ##t
-} \relative c' {
- \stemDown <e g b>4_>-\arpeggio
- \override Arpeggio #'direction = #RIGHT
- \stemUp <e g b>4^>-\arpeggio
-}
-@end lilypond
-
-@cindex score formatting
-@cindex formatting a score
-@cindex formatting rules
-
-@noindent
-楽譜を形作るプロセスはグラフィカルオブジェクトの変数を読み込んだり、書き込ん@c
-だりすることからなります。いくつかの変数はプリセット値を持ちます。例えば、多@c
-くの線の太さ -- 印刷スタイルの特性 -- はプリセット値を持つ変数です。あなたは@c
-自由にこの値を変更することができ、それによってあなたの楽譜は異なる印象を持つ@c
-ことになります。
-
-@lilypond[quote,ragged-right]
-fragment = {
- \clef bass f8 as8
- c'4-~ c'16 as g f e16 g bes c' des'4
-}
-<<
- \new Staff \fragment
- \new Staff \with {
- \override Beam #'beam-thickness = #0.3
- \override Stem #'thickness = #0.5
- \override Bar #'thickness = #3.6
- \override Tie #'thickness = #2.2
- \override StaffSymbol #'thickness = #3.0
- \override Tie #'extra-offset = #'(0 . 0.3)
- }
- \fragment
->>
-@end lilypond
-
-さらにフォーマット規則もプリセット変数です: 各オブジェクトはプロシージャを保@c
-持している変数を持ちます。これらのプロシージャが実際のフォーマットを実行し、@c
-異なるプロシージャを使用することによってオブジェクトの見た目を変えることがで@c
-きます。以下の例では、音符の玉 (ノート ヘッド) シンボルを印刷するのにどの音@c
-符の玉オブジェクトを使用するかを決定する規則を楽譜の途中で変更しています。
-
-@lilypond[quote,ragged-right]
-#(set-global-staff-size 30)
-
-#(define (mc-squared grob orig current)
- (let* ((interfaces (ly:grob-interfaces grob))
- (pos (ly:grob-property grob 'staff-position)))
- (if (memq 'note-head-interface interfaces)
- (begin
- (ly:grob-set-property! grob 'stencil
- (grob-interpret-markup grob
- (make-lower-markup 0.5
- (case pos
- ((-5) "m")
- ((-3) "c ")
- ((-2) (make-smaller-markup (make-bold-markup "2")))
- (else "bla")))))))))
-
-\new Voice \relative c' {
- \stemUp
- \set autoBeaming = ##f
- \time 2/4
- <d f g>4
- \once \override NoteHead #'stencil = #note-head::brew-ez-stencil
- \once \override NoteHead #'font-size = #-7
- \once \override NoteHead #'font-family = #'sans
- \once \override NoteHead #'font-series = #'bold
- <d f g>4
- \once \override NoteHead #'style = #'cross
- <d f g>4
- \applyOutput #'Voice #mc-squared
- <d f g>4
- <<
- { d8[ es-( fis^^ g] fis2-) }
- \repeat unfold 5 { \applyOutput #'Voice #mc-squared s8 }
- >>
-}
-@end lilypond
-
-
-@node 譜刻するシンボルは何か?
-@unnumberedsubsec 譜刻するシンボルは何か?
-@translationof What symbols to engrave?
-
-@cindex engraving
-@cindex typography
-@cindex engraver
-@cindex plug-in
-
-
-フォーマット プロセスはシンボルを置く場所を決定します。しかしながら、@c
-@emph{どの}シンボルを譜刻すべきかを決定する -- 言い換えると、使用する表記を@c
-決定する -- と、シンボルを置く場所も決まります。
-
-一般の音楽表記は音楽を記録するシステムであり、これは過去 1000 年以上にもわ@c
-たって進化してきました。現在の一般的な形式はルネッサンス前期にまでさかのぼり@c
-ます。基本的な形式 (すなわち、音符の玉が 5 本線の譜表上にあるというもの) は@c
-変更されていませんが、細かな点は現代の表記の改革を表現するためにいまだに発展@c
-が続けられています。したがって、一般的な音楽表記はおよそ500年間の音楽を扱い@c
-ます。応用範囲は単旋律から大規模なオーケストラのための途方もない対位法にまで@c
-及びます。
-
-どうやったら我々はそのような多頭の獣を統率し、制限のあるコンピュータ プログ@c
-ラムに押し込めることができるでしょうか?我々の解決策は表記の問題 (譜刻とは対@c
-照的にある、すなわち、活字学) を消化の良いプログラム可能な小さな塊に分解して@c
-いくことです: それぞれのシンボルのタイプは個々のモジュール -- いわゆるプラグ@c
-イン -- によって処理されます。各プラグインは完全にモジュール化されて独立して@c
-いて、それによりそれぞれを別個に開発、改良することができます。そのようなプラ@c
-グインは音楽的概念をグラフィック シンボルに変換する職人に例えて @code{engraver}
-(エングラーバ) と呼びます。
-
-以下の例では、我々が音符の玉のためのプラグイン @code{Note_heads_engraver} か@c
-ら始めていく様子を見ていきます。
-
-@lilypond[quote,ragged-right]
-\include "engraver-example.ily"
-
-\score {
- \topVoice
- \layout {
- \context {
- \Voice
- \remove "Stem_engraver"
- \remove "Phrasing_slur_engraver"
- \remove "Slur_engraver"
- \remove "Script_engraver"
- \remove "Beam_engraver"
- \remove "Auto_beam_engraver"
- }
- \context {
- \Staff
- \remove "Accidental_engraver"
- \remove "Key_engraver"
- \remove "Clef_engraver"
- \remove "Bar_engraver"
- \remove "Time_signature_engraver"
- \remove "Staff_symbol_engraver"
- \consists "Pitch_squash_engraver"
- }
- }
-}
-@end lilypond
-
-@noindent
-それから、@code{Staff_symbol_engraver} が譜表を加え
-
-@lilypond[quote,ragged-right]
-\include "engraver-example.ily"
-
-\score {
- \topVoice
- \layout {
- \context {
- \Voice
- \remove "Stem_engraver"
- \remove "Phrasing_slur_engraver"
- \remove "Slur_engraver"
- \remove "Script_engraver"
- \remove "Beam_engraver"
- \remove "Auto_beam_engraver"
- }
- \context {
- \Staff
- \remove "Accidental_engraver"
- \remove "Key_engraver"
- \remove "Clef_engraver"
- \remove "Bar_engraver"
- \consists "Pitch_squash_engraver"
- \remove "Time_signature_engraver"
- }
- }
-}
-@end lilypond
-
-@noindent
-@code{Clef_engraver} が譜表の参照位置を定義し
-
-@lilypond[quote,ragged-right]
-\include "engraver-example.ily"
-
-\score {
- \topVoice
- \layout {
- \context {
- \Voice
- \remove "Stem_engraver"
- \remove "Phrasing_slur_engraver"
- \remove "Slur_engraver"
- \remove "Script_engraver"
- \remove "Beam_engraver"
- \remove "Auto_beam_engraver"
- }
- \context {
- \Staff
- \remove "Accidental_engraver"
- \remove "Key_engraver"
- \remove "Bar_engraver"
- \remove "Time_signature_engraver"
- }
- }
-}
-@end lilypond
-
-@noindent
-@code{Stem_engraver} が棒 (ステム) を付け加えます。
-
-@lilypond[quote,ragged-right]
-\include "engraver-example.ily"
-
-\score {
- \topVoice
- \layout {
- \context {
- \Voice
- \remove "Phrasing_slur_engraver"
- \remove "Slur_engraver"
- \remove "Script_engraver"
- \remove "Beam_engraver"
- \remove "Auto_beam_engraver"
- }
- \context {
- \Staff
- \remove "Accidental_engraver"
- \remove "Key_engraver"
- \remove "Bar_engraver"
- \remove "Time_signature_engraver"
- }
- }
-}
-@end lilypond
-
-@noindent
-@code{Stem_engraver} はやって来るすべての音符の玉 (ノート ヘッド) について知@c
-らされます。1 つの音符の玉 (あるいは和音の場合は複数の音符の玉) が現れるたび@c
-に、ステム オブジェクトが作成され、音符の玉に接続されます。さらにビーム (ス@c
-テムとステムをつなぐ横棒)、スラー、アクセント、臨時記号、小節線 (小節と小節@c
-を区切る縦線)、拍子記号、調号のためのエングラーバを付け加えるによって、我々@c
-は完全な楽譜を手に入れることができます。
-
-@lilypond[quote,ragged-right]
-\include "engraver-example.ily"
-\score { \topVoice }
-@end lilypond
-
-@cindex polyphony
-@cindex engraving multiple voices
-@cindex contexts
-
-このシステムは単旋律の音楽に対してはうまく機能しますが、多声部音楽に対しては@c
-どうでしょうか?多声部表記では、多くの声部 (ボイス) が 1 つの譜表を共有します。
-
-@lilypond[quote,ragged-right]
-\include "engraver-example.ily"
-\new Staff << \topVoice \\ \botVoice >>
-@end lilypond