@c -*- coding: utf-8; mode: texinfo; documentlanguage: ja -*-

@ignore
    Translation of GIT committish: 0cc270b871321ae5aa8622cea8d8262aafd16641

    When revising a translation, copy the HEAD committish of the
    version that you are working on.  For details, see the Contributors'
    Guide, node Updating translation committishes..
@end ignore



@c \version "2.19.21"

@c Translators: Masamichi Hosoda, Yoshiki Sawada, Hiroshi Fukuhara
@c Translation status: post-GDP


@node チュートリアル
@chapter チュートリアル
@translationof Tutorial

この章は LilyPond に取り組むための基本的な入門書です。

@menu
* ファイルをコンパイルする::
* 入力ファイルの書き方::
* エラーに対処する::
* このマニュアルの読み方::
@end menu

@node ファイルをコンパイルする
@section ファイルをコンパイルする
@translationof Compiling a file


このセクションでは @qq{コンパイル}---出力ファイルを作り出すために
(あなたが記述した) LilyPond 入力ファイルを処理すること---について説明します。

@cindex compiling (コンパイルする)
@cindex first example (最初の例)
@cindex example, first (最初の例)
@cindex case sensitive (大文字と小文字を区別する)

@qq{コンパイル} は LilyPond フォーマットで書かれた入力ファイルから@c
出力ファイルを作り出す処理を意味する用語です。@c
出力ファイルには一般に PDF (印刷や閲覧用)、MIDI (演奏用)、それに PNG
(オンラインで使用)があります。@c
LilyPond 入力ファイルはシンプルなテキストファイルです。@c

最初の例ではシンプルな入力ファイルを示します。

@example
\version "@w{@version{}}"
@{
  c' e' g' e'
@}
@end example

出力は以下のようになります:

@c  in this case we don't want verbatim
@lilypond[quote]
{
  c' e' g' e'
}
@end lilypond

@warning{LilyPond 入力の音符と歌詞は、
@w{@strong{@{ 波括弧 @}}}
で囲まれている必要があります。@c
さらに、あいまいさを避けるために、波括弧は行の最初か最後でない限りは@c
スペースによって囲まれているべきです。@c
波括弧はこのマニュアルのいくつかの例では省略されているかもしれませんが、@c
あなた自身が作成する楽譜では忘れないでください！@c
マニュアルの中にある例を表示する方法についての更なる情報については、@c
@ref{このマニュアルの読み方} を参照してください。}

さらに、LilyPond 入力は@strong{大文字/小文字}の区別 があります。@c
@w{@code{@{ c d e @}}} は有効な入力ですが、@c
@w{@code{@{ C D E @}}} はエラーになります。



@node 入力ファイルの書き方
@section 入力ファイルの書き方
@translationof How to write input files

このセクションでは、あなたが入力ファイルを書き始めるのを手助けするために
LilyPond の基本的な構文をいくつか紹介します。

@menu
* 簡単な記譜法::
* 入力ファイルに取り組む::
@end menu


@node 簡単な記譜法
@subsection 簡単な記譜法
@translationof Simple notation

@cindex simple notation (簡単な記譜法)
@cindex notation, simple (簡単な記譜法)

@menu
* ピッチ::
* 演奏時間 (リズム)::
* 休符::
* 拍子記号::
* テンポ記号::
* 音部記号::
* すべてをまとめて::
@end menu

LilyPond はいくつかの記譜要素を自動的に追加します。@c
次の例では、我々は 4 つのピッチを指定しただけですが、LilyPond が音部記号、@c
拍子記号、リズムを加えています。

@lilypond[verbatim,quote]
{
  c' e' g' e'
}
@end lilypond

@noindent
この挙動は変更されるかもしれませんが、たいていのケースではこれらの自動値は@c
役に立ちます。


@node ピッチ
@unnumberedsubsubsec ピッチ
@translationof Pitches

@cindex pitches (ピッチ)
@cindex relative mode (相対モード)
@cindex quote, single (シングル クォート)
@cindex comma (カンマ)
@cindex accidentals and relative mode (臨時記号と相対モード)
@cindex relative mode, and accidentals (臨時記号と相対モード)

@funindex \relative
@funindex '
@funindex ,

音楽用語集: @rglos{pitch}, @rglos{interval},
@rglos{scale}, @rglos{middle C}, @rglos{octave},
@rglos{accidental}

LilyPondではピッチを指定するために小文字を使います。@c
このセクションの全ての例の音符名には、オランダ語の命名システム
(ピアノの白鍵は c-b です) を用います。しかしながら、LilyPond は英語や
@q{固定ド} (do-re-mi-...) のような、@c
多くの異なる命名スキームをサポートしています。@c
@ruser{他の言語での音符名} を参照してください。文字
@code{c} から@tie{}@code{b} は@notation{ミドル C}の@c
下の@q{スモール・オクターブ}を示します。@c
@code{'} や@tie{}@code{,} を後ろにつけると上か下のオクターブになります。@c
@notation{ミドル C}から始まる音階とアルペジオの例です：

@lilypond[verbatim,quote]
{ c' d' e' f' g' a' b' c'' g c' e' g' c'' e'' g'' c''' }
@end lilypond

音符を入力するための最も簡単な方法は @code{\relative} モードを@c
使用することです。@c
このモードでは、後に続く音符は常に前の音符に最も近い場所になるという@c
仮定によって自動的にオクターブが選択されます。@c
つまり、音符は前の音符から 3 譜表スペース (訳者: 1 譜表スペースとは同じ音階の@c
ド→レ、レ→ミ、～の間隔のこと) 以内に置かれます。@c
我々はまず音楽の最も基本的な要素 -- @notation{音階} (ここでは各音符は@c
前の音符からちょうど 1 譜表スペースの位置にきます) -- からはじめます。

@lilypond[verbatim,quote]
\relative {
  c' d e f
  g a b c
}
@end lilypond

最初の音符は@code{c'}で示される@notation{ミドル C} です。@c
一連の音符はそれぞれ前の音符と最も近い場所に置かれています --
言い換えると、最初の @code{c} はミドル C に最も近い C です。@c
これに前の音符に最も近い D が続きます。@c
我々は @code{\relative} モードだけを使って@c
より大きな音程を持つ旋律を作ることができます:

@lilypond[verbatim,quote]
\relative {
  d' f a g
  c b f d
}
@end lilypond

@noindent
前の例では、最初の音符 -- @code{d} に一つ @code{'} が付いている --
はミドル C から B へ上がっていくオクターブにある D です。

最初の音符にクォート @code{'} やカンマ @code{,} を@c
付け加える (あるいは取り除く) ことによって、@c
開始オクターブを変更することができます:

@lilypond[verbatim,quote]
\relative {
  e'' c a c
}
@end lilypond

相対モードは最初のうちは混乱を引き起こす可能性がありますが、@c
たいていの旋律を入力するのに最も容易な方法です。@c
相対計算が実際にどのように行われるのか見てみましょう。@c
B -- ト音記号の譜面の真ん中の譜線上にあります -- から開始すると、C, D, E は@c
上方向に 3 譜表スペース以内にあり、A, G, F は下方向に 3 譜表スペース以内に@c
あります。@c
そのため、B の後に続く音符が C, D, E である場合、その音符は B の上に置かれ、@c
A, G, F である場合は B の下に置かれます。

@c KEEP LY
@lilypond[verbatim,quote]
\relative {
  b' c  % c は b よりも 1 譜表スペース上なので、c は b の上になります
  b d  % d は 2 つ上または 5 つ下なので、d は上になります
  b e  % e は 3 つ上または 4 つ下なので、e は上になります
  b a  % a は 6 つ上または 1 つ下なので、a は下になります
  b g  % g は 5 つ上または 2 つ下なので、g は下になります
  b f  % f は 4 つ上または 3 つ下なので、f は下になります
}
@end lilypond

これらの音符のいずれかにシャープやフラットが付いたとしても@c
まったく同じことが起こります。@c
相対位置の算出時に@notation{臨時記号}は@strong{完全に無視}されます。@c
譜表上の他のいずれかの位置にある音符からの譜表スペース数もまったく同じです。

3 譜表スペースよりも大きな音程を加えるために、シングル クォート @code{'}
(あるいはアポストロフィ) を音符名に付け加えることによって@c
@notation{オクターブ}を上げることができます。@c
音符名にカンマ @code{,} を付け加えることによってオクターブを@c
下げることができます。

@lilypond[verbatim,quote]
\relative {
  a' a, c' f,
  g g'' a,, f'
}
@end lilypond

@noindent
音符を 2 オクターブ (あるいはそれ以上) 変えるには、複数化した @code{''} や
@code{,,} を使用します -- しかしながら、1 つのダブル クォート @code{"}
ではなく、2 つのシングル クォートを使用するよう注意してください！@c
@c " - keeps quotes in order for context-sensitive editor -td


@node 演奏時間 (リズム)
@unnumberedsubsubsec 演奏時間 (リズム)
@translationof Durations (rhythms)

@cindex note durations (音符の演奏時間)
@cindex durations (演奏時間)
@cindex rhythms (リズム)
@cindex whole note (全音符)
@cindex half note (半音符)
@cindex quarter note (4 分音符)
@cindex dotted note (付点音符)
@cindex notating durations (演奏時間を記譜する)

音楽用語集: @rglos{beam}, @rglos{duration},
@rglos{whole note}, @rglos{half note}, @rglos{quarter note},
@rglos{dotted note}
@c 連桁 (beam), 演奏時間 (duration), 全音符 (whole note), 半音符 (half note),
@c 4 分音符 (quarter note), 付点音符 (dotted note)

音符の@notation{演奏時間}は音符名の後の番号によって指定されます。@c
@notation{全音符}には @code{1} を、@notation{半音符}には @code{2} を、@c
@notation{4 分音符}には @code{4} を、などです。@c
@notation{連桁}
(符幹と符幹をつなぐ横棒。符幹は符頭から上下にでる縦棒。符頭は音符の玉)
は自動的に追加されます。

あなたが演奏時間を指定しなかった場合、@c
前の音符の演奏時間が次の音符の演奏時間に対しても使用されます。@c
最初の音符のデフォルトの演奏時間は 4 分音符です。

@lilypond[verbatim,quote]
\relative {
  a'1
  a2 a4 a8 a
  a16 a a a a32 a a a a64 a a a a a a a a2
}
@end lilypond

@notation{付点音符}を作成するには、@c
演奏時間数にドット @code{.} を付け加えます。@c
付点音符の演奏時間は明記されなければなりません (つまり、数字で)。

@lilypond[verbatim,quote]
\relative {
  a'4 a a4. a8
  a8. a16 a a8. a8 a4.
}
@end lilypond


@node 休符
@unnumberedsubsubsec 休符
@translationof Rests

@cindex rest (休符)
@cindex notating rests (休符を記譜する)

音楽用語集: @rglos{rest}
@c 休符 (rest)

@notation{休符}は @code{r} という名前の音符のような形で入力されます:

@lilypond[verbatim,quote]
\relative {
  a'4 r r2
  r8 a r4 r4. r8
}
@end lilypond


@node 拍子記号
@unnumberedsubsubsec 拍子記号
@translationof Time signature

@cindex time signature (拍子記号)

@funindex \time

音楽用語集: @rglos{time signature}
@c 拍子記号 (time signature)

@notation{拍子記号}は @code{\time} コマンドでセットすることができます:

@lilypond[verbatim,quote]
\relative {
  \time 3/4
  a'4 a a
  \time 6/8
  a4. a
  \time 4/4
  a4 a a a
}
@end lilypond


@node テンポ記号
@unnumberedsubsubsec テンポ記号
@translationof Tempo marks

@cindex tempo marks (テンポ記号)
@cindex metronome marks (メトロノーム記号)

@funindex \tempo

音楽用語集: @rglos{tempo indication}, @rglos{metronome}

@notation{テンポ指示} と @notation{メトロノーム記号} は
@code{\tempo} コマンドでセットすることができます:

@lilypond[verbatim,quote]
\relative {
  \time 3/4
  \tempo "Andante"
  a'4 a a
  \time 6/8
  \tempo 4. = 96
  a4. a
  \time 4/4
  \tempo  "Presto" 4 = 120
  a4 a a a
}
@end lilypond


@node 音部記号
@unnumberedsubsubsec 音部記号
@translationof Clef

@cindex clef (音部記号)
@cindex treble (ト音記号、高音部記号)
@cindex alto (アルト)
@cindex tenor (テナー)
@cindex bass (バス)

@funindex \clef

音楽用語集: @rglos{clef}
@c : 音部記号 (clef)

@notation{音部記号}は @code{\clef} コマンドを使ってセットすることができます:

@lilypond[verbatim,quote]
\relative {
  \clef "treble"
  c'1
  \clef "alto"
  c1
  \clef "tenor"
  c1
  \clef "bass"
  c1
}
@end lilypond


@node すべてをまとめて
@unnumberedsubsubsec すべてをまとめて
@translationof All together

以上の要素をすべて集めたちょっとした例をお見せします:

@lilypond[verbatim,quote]
\relative {
  \clef "bass"
  \time 3/4
  \tempo "Andante" 4 = 120
  c,2 e8 c'
  g'2.
  f4 e d
  c4 c, r
}
@end lilypond


@morerefs
記譜法リファレンス:
@ruser{ピッチを記述する},
@ruser{リズムを記述する},
@ruser{休符を記述する},
@ruser{拍子},
@ruser{音部記号}


@node 入力ファイルに取り組む
@subsection 入力ファイルに取り組む
@translationof Working on input files

@cindex curly braces (波括弧)
@cindex braces, curly (波括弧)
@cindex comments (コメント)
@cindex line comment (行コメント)
@cindex comment, line (行コメント)
@cindex block comment (ブロック コメント)
@cindex comment, block (ブロック コメント)
@cindex case sensitive (大文字と小文字を区別する)
@cindex whitespace insensitive (空白を無視する)
@cindex expressions (表記)
@cindex versioning (バージョンを付ける)
@cindex version (バージョン)
@cindex version number (バージョン番号)

@funindex \version
@funindex { ... }
@funindex %
@funindex %@{ ... %@}

LilyPond 入力ファイルは多くの一般的なプログラミング言語のソース ファイルと@c
同じようなものです。@c
それらは大文字/小文字の区別があり、空白はたいてい無視されます。@c
表記は波括弧 @{ @} で囲まれ、@code{%} または @w{@code{%@{ .. %@}}} で@c
コメントになります。

上の文章があなたにとって意味不明だとしても、心配ありません！@c
我々がそれらの用語の意味を説明します:

@itemize

@item
@strong{バージョン宣言}:
すべての LilyPond ファイルにはバージョン宣言を持たせるべきです。@c
バージョン宣言は、そのファイルが LilyPond のどのバージョン用に@c
書かれたのかを説明します。@c
バージョン宣言は以下の例のように記述します:

@example
\version "@w{@version{}}"
@end example

規則上、バージョン宣言は LilyPond ファイルの先頭に配置します。

バージョン宣言は少なくとも 2 つの理由で重要です。@c
1 つ目の理由は、LilyPond 構文が変更された場合に、@c
入力ファイルを自動アップデートすることを可能にします。@c
2 つ目の理由は、そのファイルをコンパイルするのに必要な LilyPond の@c
バージョンが判断できます。

入力ファイルでバージョン宣言を省略した場合、@c
ファイルのコンパイル中に LilyPond は警告を表示します。


@item
@strong{大文字/小文字の区別}:
あなたが小文字 (つまり、@w{@code{a, b, s, t)}} で入力するか、@c
大文字 (つまり、@w{@code{A, B, S, T}}) で入力するかの違いです:
@w{@code{@{ c d e @}}} は有効な入力ですが、@c
@w{@code{@{ C D E @}}} ではエラーになります。

@item
@strong{空白は無視される}:
あなたがどれくらい多くのスペース (または新しい行) を追加しても@c
問題にならないということです。@c
@w{@code{@{ c d e @}}} は @w{@code{@{ c @tie{} @tie{} @tie{} d e @}}} や@c
以下と同じ意味になります:

@example
@{ c4                       d
                   e   @}
@end example

@noindent
もちろん、このような書き方をすると読みにくいです。@c
見やすい書き方は、@c
コード ブロックにタブか 2 つのスペースでインデントを付けることです:

@example
@{
  c4 d e
@}
@end example

しかしながら、多くの構文要素を他の要素と区切るために必要とされます。@c
言い換えると、常に空白を @emph{付け加える} ことは可能ですが、@c
常に空白を @emph{削除} できるわけではありません。@c
空白が足りないためにエラーが発生することあり、@c
すべての構文要素の前後に空白を入れることは有用なことです。

@item
@strong{表記}:
LilyPond 入力の各部分は @strong{@{ 波括弧 @}} で囲まれている必要があります。@c
これらの波括弧は LilyPond に入力が単一の音楽表記であることを教えます。@c
これはちょうど数学での括弧 @code{()} のようなものです。@c
あいまいさを避けるために、波括弧は行の先頭か終端にないかぎりスペースで@c
囲まれているべきです。

波括弧で囲まれた表記が後に続く LilyPond コマンド
(@q{@w{@code{\relative c' @{ @dots{} @}}}} など)
もまた単一の音楽表記としてカウントされます。

@cindex comments (コメント)
@cindex line comment (行コメント)
@cindex block comment (ブロック コメント)

@item
@strong{コメント}:
コメントは音楽入力を読む人間のための注釈です。@c
これは構文解析中には無視されるため、譜刻される出力には影響を与えません。@c
コメントには 2 つのタイプがあります。@c
パーセント記号 @code{%} は行コメントになります。@code{%} の後の文字は@c
無視されます。@c
慣習上、行コメントはそのコメントが参照するコードの上に置かれます。

@example
a4 a a a
% このコメントは B を持つ行を参照します
b2 b
@end example

ブロック コメントは音楽入力のある部分全体をコメントにします。@c
@code{%@{} と @code{%@}} で囲まれた部分は無視されます。@c
しかしながら、ブロック コメントを @q{ネスト} させることはできません。@c
このことはあるブロック コメントを他のブロック コメントの中に@c
置くことはできないということを意味します。@c
そうした場合、最初の @code{%@}} は両方のブロック コメントを@c
終わらせてしまいます。@c
以下のコード断片はコメントの使用例を示しています:

@example
% 以下はキラキラ星です
  c4 c g' g a a g2

%@{
  この行と以下の音符は無視されます。
  なぜなら、これらはブロック コメントの中にあるからです

  f4 f e e d d c2
%@}
@end example

@end itemize


@node エラーに対処する
@section エラーに対処する
@translationof Dealing with errors

@cindex troubleshooting (トラブルシュート)

時には LilyPond はあなたが予期したような出力を作り出さないことがあります。@c
このセクションでは、あなたが遭遇するかもしれない問題を解決するのに@c
役立つリンクをいくつか提供します。

@menu
* 一般的なトラブルシュート Tips::
* いくつかの一般的なエラー::
@end menu


@node 一般的なトラブルシュート Tips
@subsection 一般的なトラブルシュート Tips
@translationof General troubleshooting tips

LilyPond で発生する問題をトラブルシュートすることは、@c
グラフィカルインターフェイスに慣れ親しんだ人々にとっては@c
骨の折れることかもしれません。@c
なぜなら無効な入力ファイルが生成される可能性があるからです。@c
問題が発生した時は、論理的なアプローチが問題を特定して解決する最善の方法です。@c
トラブルシュートの仕方を学ぶのに役立つガイドラインが
@rprogram{トラブルシュート} で提供されています。


@node いくつかの一般的なエラー
@subsection いくつかの一般的なエラー
@translationof Some common errors

@cindex common errors (一般的なエラー)
@cindex errors, common (一般的なエラー)

表示されるエラーメッセージだけでは解決が難しい一般的なエラーがいくつかあります。@c
それらのエラーについて @rprogram{一般的なエラー} で記述されています。


@node このマニュアルの読み方
@section このマニュアルの読み方
@translationof How to read the manuals

このセクションではドキュメントを効率的に読む方法を示し、@c
さらに、オンライン版で利用できる有用な対話的機能をいくつか紹介します。

@menu
* 省略された構成要素::
* クリック可能な例::
* マニュアルの概要::
@end menu


@node 省略された構成要素
@subsection 省略された構成要素
@translationof Omitted material


@cindex how to read the manual (このマニュアルの読み方)
@cindex manual, reading (マニュアルを読む)
@cindex reading the manual (このマニュアルを読む)
@cindex examples, clickable (クリック可能な例)
@cindex clickable examples (クリック可能な例)
@cindex tips for constructing files (ファイルを構築するための Tips)
@cindex templates (テンプレート)
@cindex constructing files, tips (ファイルを構築するための Tips)
@cindex files, tips for constructing (ファイルを構築するための Tips)

@c @ref{Working on input files}
@ref{入力ファイルに取り組む} で見てきたように、LilyPond 入力は @{ @} マークか
@q{@w{@code{\relative @{ @dots{} @}}}}
で囲まれていなければなりません。@c
このマニュアルの残りの部分では、いくつかの短い例はこのことを省略しています。@c
このような例を複製するためにあなたは表示されている入力を@c
コピーできますが、あなたは入力ファイルの中で、
@code{@{} と @code{@{} の間にペーストしてください。

@example
@{
  @dots{}例がここに来ます@dots{}
@}
@end example

さらに、すべての LilyPond ファイルは @code{\version} 宣言を持つべきである@c
ということを思い出してください。@c
マニュアルの中の例はコードの断片であり、ファイルではないため、@c
@code{\version} 宣言は省略されています。@c
しかしながら、あなたは入力ファイルの中にバージョン宣言を記述すべきです。


@node クリック可能な例
@subsection クリック可能な例
@translationof Clickable examples

@warning{この機能は HTML マニュアルでのみ利用可能です。}

多くの人々はすでにあるプログラムを試したり、いじったりすることで@c
プログラムを学びます。@c
これは LilyPond でも可能です。@c
このマニュアルの HTML バージョンの中にある画像をクリックすると、@c
画像を生成するために使用された正確な LilyPond 入力を見ることができます。@c
以下の画像を試してみてください:

@c no verbatim here
@lilypond[quote]
\relative {
  c''4-\markup { \bold \huge { ここをクリックしてください } }
}
@end lilypond

@q{ly コード断片} セクションにある記述をカット＆ペーストすることによって、@c
あなたは LilyPond を経験するための開始テンプレートを入手できます。@c
まったく同じもの (線の太さなどもすべて同じ) を出力させるには、@c
@qq{Start cut-&-pastable section} からファイルの最後までをコピーしてください。


@ignore
@n ode キーボード ナビゲーション
@u nnumberedsubsec キーボード ナビゲーション
@t ranslationof Keyboard navigation
@end ignore


@node マニュアルの概要
@subsection マニュアルの概要
@translationof Overview of manuals

LilyPond にはたくさんのドキュメントがあります。@c
新しいユーザは時々ドキュメントのどこを読むべきなのか混乱し、@c
時には必須の部分を読み飛ばしてしまいます。

@warning{ドキュメントの重要な部分を読み飛ばさないでください。@c
その後のセクションを理解することがはるかに難しくなります。}

@itemize

@item
@strong{LilyPond に取り組もうとする前}: 学習マニュアルの @ref{チュートリアル}
と @ref{一般的な記譜法} を読んでください。@c
理解できない音楽用語に遭遇した場合は、@rglosnamed{Top, 音楽用語集} で調べてください。

@item
@strong{楽譜全体を記述しようとする前}: 学習マニュアルの
@ref{基礎となるコンセプト} を読んでください。@c
読み終わった時、@rusernamed{Top, 記譜法リファレンス} の関係のあるセクションを@c
読もうと思うかもしれません。

@item
@strong{デフォルトの出力を変更しようとする前}: 学習マニュアルの
@ref{出力を調整する} を読んでください。

@item
@strong{大きなプロジェクトに取りかかる前}: 使用方法の
@rprogram{LilyPond 入力ファイルの記述に対する提案} を読んでください。

@end itemize
