GNU LilyPond — 学習マニュアル

これは GNU LilyPond バージョン 2.13.45 のための学習マニュアルです。このドキュメントと他のドキュメントとの関係についての更なる情報は、FIXME FIXME FIXME を参照してください。

このドキュメントは 複数のページにインデックス化された HTML 形式 でも利用可能です。


1. 導入部

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


1.1 ファイルをコンパイルする

FIXME: insert text


1.1.1 入力を作成する

“コンパイル” は LilyPond フォーマットで書かれた入力ファイルを印刷可能なファイルを作り出すため、そして (オプションとして) 演奏可能な MIDI ファイルを作り出すために処理することを意味する用語です。LilyPond 入力ファイルはシンプルなテキストファイルです。最初の例ではシンプルな入力ファイルがどのようなものかを示します。

楽譜を作成するために、我々は記譜法を指定する入力ファイルを書きます。例えば、以下のように書くと:

{
  c' e' g' e'
}

結果は以下のようになります:

[image of music]

エラーが発生した

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

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


音楽を入力して出力を閲覧する

ここでは、実行すべきコマンドと、出力を閲覧または印刷する方法について説明します。

LilyPond に対してより良いサポートを提供するテキスト エディタがいくつかあります。更なる情報は LilyPond 用エディタ を参照してください。

Note: あなたが初めて LilyPond を実行した場合、1, 2 分かかるかもしれません。なぜなら、まず最初にすべてのシステム フォントが分析されるからです。それから後は、LilyPond はずっと早く実行されます!


1.1.2 MacOS X

LilyPond.app をダブル クリックすると、見本となるファイルが開きます。それを – 例えば ‘test.ly’ という名前で – Desktop に保存し、それをメニュー コマンド Compile > Typeset File で処理します。結果の PDF ファイルがスクリーン上に表示されます。

この先の LilyPond の使用のために、あなたは “New” または “Open” を選択することによって開始すべきです。植字を行う (訳者: コンパイルする) 前に、あなたはあなたのファイルを保存しなければなりません。処理中にエラーが発生した場合、ログ ウィンドを見てください。


1.1.3 Windows

Windows では、デスクトップ上の LilyPond アイコンをダブル クリックした場合、シンプルなテキスト エディタで見本ファイルが開きます。それを – 例えば ‘test.ly’ という名前で – デスクトップ上に保存し、そのファイルを処理するためにそのファイルをダブル クリックします (そのファイルのアイコンはノートのような形をしています)。数秒後、デスクトップ上に ‘test.pdf’ というファイルが作成されます。刻譜された楽譜を見るにはこの PDF ファイルをダブル クリックします。‘test.ly’ ファイルを処理するためのもう 1 つの方法は、マウス ポインタを使ってそのファイルを LilyPond アイコンにドラッグ&ドロップします。

既存の ‘.ly’ を編集するには、そのファイルを右クリックして “Edit source” を選択します。LilyPond 入力を開始するための空ファイルを作成するには、上記と同じようにしてエディタを開き、“ファイル” メニューの中にある “新規作成” を使用するか、デスクトップ上で右クリックして “新規作成 ... テキスト文書” を選択して、そのテキスト ファイルの名前を変更して、ファイル拡張子を ‘.ly’ に変更します。LilyPond ソース コードに入力するには前述と同様にアイコンを右クリックします。

ファイルをダブル クリックすると、結果として PDF ファイルが出力されるだけではなく、LilyPond がそのファイルに対して行ったことについての情報を保持する ‘.log’ ファイルも生成されます。エラーが発生した場合、このファイルを検証してください。


1.1.4 コマンド ライン

test.ly’ という名前のテキスト ファイルを作成し、以下を入力します:

{
  c' e' g' e'
}

test.ly’ を処理するには以下のようにします:

lilypond test.ly

以下のようなものが表示されます:

lilypond test.ly
GNU LilyPond 2.13.45
Processing `test.ly'
Parsing...
Interpreting music...
Preprocessing graphical objects...
Finding the ideal number of pages...
Fitting music on 1 page...
Drawing systems...
Layout output to `test.ps'...
Converting to `test.pdf'...

1.2 LilyPond 用エディタ

FIXME: add text


1.2.1 Denemo

利用可能なプラットフォーム:


1.2.2 LilyPondTool

利用可能なプラットフォーム:


1.2.3 Emacs

利用可能なプラットフォーム: Windows, MacOS X, Unix


1.2.4 Vim

利用可能なプラットフォーム: Windows, MacOS X, Unix


1.3 入力ファイルの書き方

FIXME: insert text


1.3.1 簡単な記譜法

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

{
  c' e' g' e'
}

[image of music]

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

ピッチ

音楽用語集: pitch, interval, scale, middle C, octave, accidental

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

% set the starting point to middle C
\relative c' {
  c d e f
  g a b c
}

[image of music]

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

\relative c' {
  d f a g
  c b f d
}

[image of music]

旋律の最初の音符が開始ピッチを指定している音符である必要はありません。前の例では、最初の音符 – d – はミドル C に最も近い D です。

\relative c' { コマンドにクォート ' やカンマ , を付け加える (あるいは取り除く) ことによって、開始オクターブを変更することができます:

% one octave above middle C
\relative c'' {
  e c a c
}

[image of music]

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

\relative c'' {
  b c  % c is 1 staff space up, so is the c above
  b d  % d is 2 up or 5 down, so is the d above
  b e  % e is 3 up or 4 down, so is the e above
  b a  % a is 6 up or 1 down, so is the a below
  b g  % g is 5 up or 2 down, so is the g below
  b f  % f is 4 up or 3 down, so is the f below
}

[image of music]

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

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

\relative c'' {
  a a, c' f,
  g g'' a,, f'
}

[image of music]

音符を 2 オクターブ (あるいはそれ以上) 変えるには、複数化した '',, を使用します – しかしながら、1 つのダブル クォート " ではなく、2 つのシングル クォートを使用するよう注意してください!また、\relative c' の中の最初の値もこのように変更されるかもしれません。

演奏時間 (リズム)

音楽用語集: beam, duration, whole note, half note, quarter note, dotted note

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

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

\relative c'' {
  a1
  a2 a4 a8 a
  a16 a a a a32 a a a a64 a a a a a a a a2
}

[image of music]

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

\relative c'' {
  a a a4. a8
  a8. a16 a a8. a8 a4.
}

[image of music]

休符

音楽用語集: rest

休符r という名前の音符のような形で入力されます:

\relative c'' {
  a r r2
  r8 a r4 r4. r8
}

[image of music]

拍子記号

音楽用語集: time signature

拍子記号\time コマンドでセットすることができます:

\relative c'' {
  \time 3/4
  a4 a a
  \time 6/8
  a4. a
  \time 4/4
  a4 a a a
}

[image of music]

音部記号

音楽用語集: clef

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

\relative c' {
  \clef treble
  c1
  \clef alto
  c1
  \clef tenor
  c1
  \clef bass
  c1
}

[image of music]

すべてをまとめて

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

\relative c, {
  \time 3/4
  \clef bass
  c2 e8 c' g'2.
  f4 e d c4 c, r4
}

[image of music]

参照

記譜法リファレンス: Writing pitches, Writing rhythms, Writing rests, Time signature, Clef


1.3.2 入力ファイルに取り組む

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

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


1.4 このマニュアルの読み方

FIXME: fluff here


波括弧を省略する

入力ファイルに取り組む で見てきたように、LilyPond 入力は { } マークか \relative c'' { ... } で囲まれていなければなりません。このマニュアルの残りの部分では、たいていの例はこのことを省略しています。このマニュアルにある例を複製するためにあなたは表示されいている入力をコピーするかもしれませんが、あなたは以下のように \relative c'' { } を付け加えなければなりません:

\relative c'' {
  ... example goes here...
  ... 例がここに来ます ...
}

なぜ波括弧を省略するのか?このマニュアルの中のたいていの例はより大きな音楽の途中に挿入することができます。これらの例に対して \relative c'' { } を付け加えることには意味がありません – あなたはある \relative を他の \relative の 中に置くべきではありません!すべての例の周りに \relative c'' { } を置いてしまうと、あなたは小さな例をコピーして、それをより大きなあなた自身の音楽の中にペーストすることができなくなってしまいます。たいていの人は資料を既存の楽曲に付け加えようとしますので、我々はそのようにマニュアルを形作っています。


クリック可能な例

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

[image of music]

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


キーボード ナビゲーション


マニュアルの概要

FIXME: a brief discussion about the rest of the LM, and pointers to specific places. like NR for general reference, AU for suggestions for writing files, etc.


2. 一般的な記譜法

このチュートリアルではまず LilyPond 音楽言語についての紹介を行い、楽譜を作り出す方法について説明します。LilyPond との最初の接触の後、我々は一般的な音楽記譜法を持つ楽譜を作成する方法について説明します。


2.1 単一譜表表記

このセクションはでは 1 つの譜表の上にある 1 つの声部のために使用される一般的な記譜法を紹介します。


2.1.1 臨時記号と調号

臨時記号

音楽用語集: sharp, flat, double sharp, double flat, accidental

シャープは音符名に is を付け加えることによって作られ、フラットes を付け加えることによって作られます。予想しているかもしれませんが、ダブル シャープダブル フラットisiseses を付け加えることによって作られます。この文法はドイツ語での命名規則から生まれました (訳者: 原文では “Dutch” なのでオランダ語なのですが、実際はドイツ語での命名規則であり、“Dutch” は「ゲルマン民族の支配している地域」=現在のドイツとオランダを意味しているものと解釈してドイツ語と訳すことにします)。臨時記号に対して他の名前を使うには、 Note names in other languages を参照してください。

cis1 ees fisis, aeses

[image of music]

調号

音楽用語集: key signature, major, minor

調号はコマンド \key とそれに続くピッチと \major または \minor によってセットされます。

\key d \major
a1
\key c \minor
a

[image of music]


警告: 調号と音高

音楽用語集: accidental, key signature, pitch, flat, natural, sharp, transposition

臨時記号を譜刻するかを決定するために LilyPond はピッチと調号を検証します。調号は譜刻される臨時記号にだけ影響を与え、音符のピッチには影響を与えません!この特徴はしばしば新しく LilyPond を始める人を混乱させるため、より詳細に説明します。

LilyPond は音楽の内容とレイアウトを峻別します。音符の変更記号 (フラットナチュラルシャープ) はピッチの一部であるため、音楽の内容です。臨時記号 (譜刻されるフラット、ナチュラル、シャープ記号) が対応する音符の前に譜刻されるかどうかはレイアウトの問題です。レイアウトは規則に従う何らかのものであるため、臨時記号はそれらの規則に対応して自動的に譜刻されます。あなたの音楽の中でのピッチは人工的な仕掛けであるため、それらは自動的には追加されず、あなたはあなたの聞きたいピッチを入力しなければなりません。

以下の例では:

\key d \major
d cis fis

[image of music]

臨時記号を譜刻されている音符はありません。しかしながら、あなたは入力ファイルで is を付け加えて cisfis などとタイプしなければなりません。

コード b は “譜表の最初の線 (一番上の線) のすぐ下に黒い点を譜刻せよ” という意味ではありません。そうではなく、“ピッチが B ナチュラルである音符がある” という意味です。A フラット メジャの調子では、b には臨時記号が付きます:

\key aes \major
b

[image of music]

すべての変化を明示的に付け加えることは入力時にちょっとした努力を要するかもしれません。しかしながら、移調がより容易になる、異なる規約に対応して臨時記号を譜刻できるという利点があります。臨時記号がどのように異なる規則に対応して譜刻されるのかについてのいくつかの例は、 Automatic accidentals を参照してください。

参照

記譜法リファレンス: Note names in other languages, Accidentals, Automatic accidentals, Key signature

音楽用語集: Pitch names


2.1.2 タイとスラー

タイ

タイはタイが始まる最初の音符にチルド ~ を付加することによって作成されます。

g4~ g c2~
c4 ~ c8 a8 ~ a2

[image of music]

スラー

音楽用語集: slur

スラーは多くの音符に亘って描かれる曲線です。スラーの開始音符と終了音符にはそれぞれ () を付加します。

d4( c16) cis( d e c cis d) e( d4)

[image of music]

フレージング スラー

音楽用語集: slur, phrasing

長いフレーズを示すためのスラーは \(\) によって挿入することができます。あなたはスラーとフレージング スラーを重ねることができます。しかしながら、あなたは複数のスラーを重ねたり、複数のフレージング スラーを重ねることはできません。

a8(\( ais b c) cis2 b'2 a4 cis,\)

[image of music]


警告: スラー vs. タイ

音楽用語集: articulation, slur, tie

スラータイのように見えますが、意味が異なります。タイは単純に最初の音符をより長くするものであり、同じ音程の音符のペアに対してのみ使用することができます。スラーは複数の音符によるアーティキュレーション (節、表現) を表していて、より大きな音符のグループに対して使用することができます。スラーとタイはネストさせることができます。

c2~( c8 fis fis4 ~ fis2 g2)

[image of music]

参照

記譜法リファレンス: Ties, Slurs, Phrasing slurs


2.1.3 アーティキュレーションと強弱記号

アーティキュレーション

音楽用語集: articulation

一般的なアーティキュレーションはダッシュ - と単一文字を使うことで音符に付け加えることができます:

c-. c-- c-> c-^ c-+ c-_

[image of music]

運指法記号

音楽用語集: fingering

同様に、運指法はダッシュ (-) と譜刻する数字を使うことで音符に付け加えることができます:

c-3 e-5 b-2 a-1

[image of music]

通常、アーティキュレーションと運指法は自動的に刻譜されます。しかしながら、あなたはダッシュ (-) を ^ (上へ) または _ (下へ) に置き換えることによって方向を指定することができます。さらに、あなたは同じ音符に複数のアーティキュレーションを使用することもできます。しかしながらたいていの場合は、LilyPond にアーティキュレーションの方向を決定させるのが一番です。

c_-^1 d^. f^4_2-> e^-_+

[image of music]

強弱記号

音楽用語集: dynamics, crescendo decrescendo

強弱記号は音符にバック スラッシュ (訳者注: バック スラッシュは英語フォントではスラッシュ / を左右反転させたもの、日本語フォントでは円マーク になるのが一般的です。) 付きのマークを付け加えることによって作成されます:

c\ff c\mf c\p c\pp

[image of music]

クレッシェンドデクレッシェンドはコマンド \<\> によって開始されます。次の強弱記号 – 例えば、\f – が (デ)クレッシェンドを終わらせます。コマンド \! を使って終わらせることもできます:

c2\< c2\ff\> c2 c2\!

[image of music]

参照

記譜法リファレンス: Articulations and ornamentations, Fingering instructions, Dynamics


2.1.4 テキストを追加する

テキストをあなたの楽譜に追加することができます:

c1^"espr" a_"legato"

[image of music]

追加のフォーマット指定を \markup コマンドで追加することができます:

c1^\markup{ \bold espr}
a1_\markup{
  \dynamic f \italic \small { 2nd } \hspace #0.1 \dynamic p
}

[image of music]

参照

記譜法リファレンス: Writing text


2.1.5 自動連桁と手動連桁

音楽用語集: beam

すべての連桁は自動的に描かれます:

a8 ais d ees r d c16 b a8

[image of music]

あなたが自動連桁を好まない場合、手動で上書きすることもできます。ある箇所の連桁を修正するには、連桁を付ける最初の音符に [ を、最後の音符に ] を付け加えます。

a8[ ais] d[ ees r d] a b

[image of music]

もしあなたが楽譜全体あるいは一部で自動連桁を Off にしたいのなら、自動連桁を Off にするにはコマンド \autoBeamOff を、再度自動連桁を On にするには \autoBeamOn を使用します。

\autoBeamOff
a8 c b4 d8. c16 b4
\autoBeamOn
a8 c b4 d8. c16 b4

[image of music]

参照

記譜法リファレンス: Automatic beams, Manual beams


2.1.6 高度なリズム コマンド

部分小節

音楽用語集: anacrusis

ピックアップ (訳者: 本来の拍子以外の拍子を持つ小節のこと) (または弱拍 (原語: anarusis、西洋音楽用語の 1 つで楽曲が第 1 拍以外から開始すること)) はキーワード \partial によって挿入されます。この後に演奏時間が続きます: \partial 4 は 4 分音符のピックアップであり、\partial 8 は 8 分音符のピックアップです。

\partial 8
f8 c2 d

[image of music]

連符

音楽用語集: note value, triplet

連符\times キーワードによって作成されます。これは 2 つの引数をとります: 分数と楽譜の断片です。楽譜の断片の演奏時間と分数が乗算されます。3 連符は表記された演奏時間の 2/3 の長さなので、3 連符は分数として 2/3 を持ちます。

\times 2/3 { f8 g a }
\times 2/3 { c r c }
\times 2/3 { f,8 g16[ a g a] }
\times 2/3 { d4 a8 }

[image of music]

装飾小音符

音楽用語集: grace notes, acciaccatura, appoggiatura

装飾小音符\grace コマンドによって作成されますが、キーワード \appoggiatura\acciaccatura による接頭音楽表記によっても作成されます:

c2 \grace { a32[ b] } c2
c2 \appoggiatura b16 c2
c2 \acciaccatura b16 c2

[image of music]

参照

記譜法リファレンス: Grace notes, Tuplets, Upbeats


2.2 同時に演奏する複数の音符

このセクションでは同時に複数の表記 – 複数の楽器、単一の楽器に対する複数の譜 (すなわちピアノ)、和音 – を持つ方法について紹介します。

音楽の中での多声は楽曲の中にある複数の声部を参照します。LilyPond の中での多声は同じ譜表上にある複数の声部を参照します。


2.2.1 音楽表記についての説明

LilyPond 入力ファイルの中では、音楽は音楽表記によって表されます。単一の音符は 1 つの音楽表記になります:

a4

[image of music]

表記を波括弧で括ることによって複合音楽表記が作成されます。2 つの音符を持つ複合音楽表記を作成しました:

{ a4 g4 }

[image of music]

波括弧の中にある音楽表記 (例えば、いくつかの音符) のグループはそれらがシークエンスであるということを意味しています (つまり、それぞれの音符は前の音符に続くということです)。もう 1 つ音楽表記の結果を示します:

{ { a4 g } f g }

[image of music]

数学的表記との類似

このメカニズムは数学式と似ています: 大きな式は小さな式を組み合わせることによって作成されます。そのような式は表記と呼ばれ、それらの定義は再帰的なのであなたは任意に複雑で大きな表記を作ることができます。例えば、

1

1 + 2

(1 + 2) * 3

((1 + 2) * 3) / (4 * 5)

これは表記のシークエンスであり、各表記は次の (より大きな) 表記に組み込まれています。最も単純な表記は数であり、より大きな表記は演算子 (+, *, / など) と括弧を組み合わせることによって作成されます。数学式と同様に、音楽表記も任意の深さにネストさせることができ、それは多声楽譜のような複雑な音楽のために必要なことです。

同時進行の音楽表記: 複数の譜

音楽用語集: polyphony

このテクニックは多声音楽に対して有用です。複数の声部や複数の譜を持つ音楽を入力するために、音楽表記を並列に組み合わせます。2 つの声部を同時に演奏すべきであるということを示すには、単純に音楽表記を同時進行するよう組み合わせて入力します。‘同時進行’ の音楽表記は <<>> で音楽表記を囲い込むことによって形成されます。以下の例では、3 つのシークエンス (すべてのシークエンスはそれぞれ 2 つの音符を保持しています) が同時進行するように組み合わされています:

\relative c'' {
  <<
    { a4 g }
    { f e }
    { d b }
  >>
}

[image of music]

入力の各レベルに対して異なる量のスペースをインデントとして与えていることに注意してください。LilyPond は行の先頭にどれくらい多く (あるいは少なく) のスペースがあるかを気にしません。しかしながら、上の例のように LilyPond コードにインデントを入れることによって人間にとってはずっと読みやすくなります。

Note: 入力での各音符は前の音符との相対関係にあり、先頭の \relative コマンドの中にある c'' と相対関係にあるわけではありません。

同時進行する音楽表記: 単一の譜表

楽曲の中にある譜の数を決定するために、LilPond は最初の音楽表記の始まりを調べます。始まりの音楽表記が単一の表記であった場合、楽譜の中の譜表は 1 つです。同時進行の表記であった場合、譜表は複数になります。

\relative c'' {
  c2 <<c e>>
  << { e f } { c <<b d>> } >>
}

[image of music]


2.2.2 複数の譜

音楽表記についての説明 で見てきたように、LilyPond 入力ファイルは音楽表記によって構築されています。複数の同時進行の音楽表記で始まる楽譜の場合、LilyPond は複数の譜を作成します。しかしながら、各譜表を明示的に作成すると何が起こるかより容易に見て取ることができます。

複数の譜表を譜刻するには、1 つの譜表を形成する音楽の各部分の前に \new Staff を付け加えます。これらの Staff 要素は <<>> で並列に組み合わされます:

\relative c'' {
  <<
    \new Staff { \clef treble c }
    \new Staff { \clef bass c,, }
  >>
}

[image of music]

コマンド \new は 1 つの ‘記譜コンテキスト’ を導入します。記譜コンテキストは音楽的イベント (音符や \clef コマンドなど) が解釈される環境です。単純な楽曲では、そのような記譜コンテキストは自動的に作成されます。より複雑な楽曲ではコンテキストを明示的に記述することが望ましいです。

コンテキストにはいくつかのタイプがあります。Score, Staff, Voice は旋律記譜を扱います。一方、Lyrics は歌詞テキストをセットし、ChordNames はコード ネームを譜刻します。

文法という観点で見ると、\new を音楽表記の先頭に付け加えることによってより大きな音楽表記が作成されます。これは数学でのマイナス符号に似ています。数式 (4+5) は数学表記であり、-(4-5) はより大きな数学表記です。

ある譜表に挿入された拍子記号はデフォルトで他のすべての譜に影響を与えます。一方で、ある譜表に挿入された調号は他のすべての譜に影響を与えません。記号によってデフォルトの振る舞いが異なるのは、移調する楽器を扱う楽譜の方が複合リズム (polyrhythmic) の楽譜よりも一般的だからです。

\relative c'' {
  <<
    \new Staff { \clef treble \key d \major \time 3/4 c }
    \new Staff { \clef bass c,, }
  >>
}

[image of music]


2.2.3 譜表グループ

音楽用語集: brace

ピアノ譜はブレースでつながれた 2 つの譜表として刻譜されます。そのような譜表を刻譜することは 複数の譜 での多声の例に似ています。しかしながら、今度は表記全体が PianoStaff の中に挿入されます:

\new PianoStaff <<
  \new Staff …
  \new Staff …
>>

小さな例を挙げます:

\relative c'' {
  \new PianoStaff <<
    \new Staff { \time 2/4 c4 e g g, }
    \new Staff { \clef bass c,, c' e c }
  >>
}

[image of music]

ピアノ譜以外の譜表グループ化はオーケストラ譜向けには \new GrandStaff で、ボーカル譜向けには \new ChoirStaff で導入されます。これらの譜表グループはそれぞれタイプの異なるコンテキストを形成し、各システム (訳者: 楽譜 1 行分のこと。ピアノ譜では右手と左手の 2 つの譜表ペアでの 1 行が 1 システムになります) の左端にブレースを付けて、さらに、小節線の高さを制御します。

参照

記譜法リファレンス: Keyboard and other multi-staff instruments, Displaying staves


2.2.4 音符を組み合わせて和音にする

音楽用語集: chord

音符を << ... >> で囲んでそれらの音符が同時進行であることを示すことによって、それらの音符を和音として組み合わせる方法について見てきました。しかしながら、和音であることを示すための通常の方法は音符を < ... > (山括弧) で囲みます。和音の中にある音符はすべて同じ演奏時間でなければならず、その演奏時間は山括弧を閉じた後に置かれなければならないということに注意してください。

r4 <c e g>4 <c f a>2

[image of music]

和音は単一の音符とほとんど同じであると考えてください: 単一の音符に付け加えられるものはほとんどすべて和音にも付け加えられ、付け加えるものはすべて山括弧のに付け加えられなければなりません。例えば、あなたは連桁やタイなどのマークをコードに組み合わせることができます。それらは山括弧の外側に置かれなければなりません。

r4 <c e g>8[ <c f a>]~ <c f a>2
r4 <c e g>8( <c e g>\> <c e g>4 <c f a>\!)

[image of music]


2.2.5 単一譜表での多声

異なる旋律が単一の譜に組み込まれる場合、それらは多声部として刻譜されます。各声部はそれ自体の符幹 (符頭から上下に出る棒)、スラー、連桁 (符幹と符幹を結ぶ横棒) を持ちます。最上段の声部は符頭から上に伸びる符幹を持ち、最下段の声部は下に伸びる符幹を持ちます。

そのような多声のパートを入力するには、各声部をシークエンスとして ({ ... } を使って) 入力し、それらを \\ で区切って結合することで同時進行するように組み合わせます:

<<
  { a4 g2 f4~ f4 } \\
  { r4 g4 f2 f4 }
>>

[image of music]

多声部音楽を刻譜する場合、空白休符を使用すると都合が良いかもしれません: それは刻譜されない休符です。空白休符は一時的に演奏されない声部の空白期間を埋めるのに有用です。今度は通常の休符 (r) の代わりに空白休符 (s) を使った上と同じ例を示します:

<<
  { a4 g2 f4~ f4 } \\
  { s4 g4 f2 f4 }
>>

[image of music]

さらに、これらの表記は任意にネストさせることができます。

<<
  \new Staff <<
    { a4 g2 f4~ f4 } \\
    { s4 g4 f2 f4 }
  >>
  \new Staff <<
    \clef bass
    { <c g>1 ~ <c g>4 } \\
    { e,,4 d e2 ~ e4}
  >>
>>

[image of music]

参照

記譜法リファレンス: Simultaneous notes


2.3 歌曲

このセクションでは声楽とシンプルな歌曲譜についての紹介を行います。


2.3.1 簡単な歌詞をセットする

音楽用語集: lyrics

童謡の冒頭部分の旋律があります。歌詞は Girls and boys come out to play です:

\relative c'' {
  \key g \major
  \time 6/8
  d4 b8 c4 a8 d4 b8 g4
}

[image of music]

\addlyrics キーワードで組み合わせることによって、歌詞をこれらの音符にセットすることができます。歌詞は音節ごとにスペースで区切って入力します。

<<
  \relative c'' {
    \key g \major
    \time 6/8
    d4 b8 c4 a8 d4 b8 g4
  }
  \addlyrics {
    Girls and boys come out to play,
  }
>>

[image of music]

波括弧が音楽と歌詞を区切っていて、音楽と歌詞が同時進行であることを示すために楽曲全体が << ... >> で囲まれていることに注意してください。


2.3.2 歌詞を旋律に揃える

音楽用語集: melisma, extender line

童謡の次の行は The moon doth shine as bright as day です。これを前の例に付け加えてみましょう:

<<
  \relative c'' {
    \key g \major
    \time 6/8
    d4 b8 c4 a8 d4 b8 g4
    g8 a4 b8 c b a d4 b8 g4.
  }
  \addlyrics {
    Girls and boys come out to play,
    The moon doth shine as bright as day;
  }
>>

[image of music]

付け足した歌詞は音符に適切に揃っていません。shine は 2 音符に亘って歌われるべきですが、そうなっていません。これはメリスマと呼ばれ、単音節が複数の音符に亘って歌われます。ある音節を複数に広げる方法はいくつかあり、最も簡単なのはそれらの音符にスラーを付け加えることです。詳細は タイとスラー を参照してください。

<<
  \relative c'' {
    \key g \major
    \time 6/8
    d4 b8 c4 a8 d4 b8 g4
    g8 a4 b8 c( b) a d4 b8 g4.
  }
  \addlyrics {
    Girls and boys come out to play,
    The moon doth shine as bright as day;
  }
>>

[image of music]

今度は、単語が正しく音符に対して並んでいます。しかしながら、shine as 上の音符に対する自動連桁は適当でないように見えます。これを修正するために、手動連桁コマンドを挿入して自動連桁をオーバライドします。詳細は 自動連桁と手動連桁 を参照してください。

<<
  \relative c'' {
    \key g \major
    \time 6/8
    d4 b8 c4 a8 d4 b8 g4
    g8 a4 b8 c([ b]) a d4 b8 g4.
  }
  \addlyrics {
    Girls and boys come out to play,
    The moon doth shine as bright as day;
  }
>>

[image of music]

スラーを用いる方法の外に、メリスマに含まれるべきである各音符に対応したアンダスコア _ を用いることによってその歌詞がメリスマであるということを示すことができます:

<<
  \relative c'' {
    \key g \major
    \time 6/8
    d4 b8 c4 a8 d4 b8 g4
    g8 a4 b8 c[ b] a d4 b8 g4.
  }
  \addlyrics {
    Girls and boys come out to play,
    The moon doth shine _ as bright as day;
  }
>>

[image of music]

通常、ある歌詞がいくつかの音符に亘って延長される場合や、単一の非常に長い音符に割り当てられる場合、その歌詞からその歌詞に対応しているすべての音符の下に延長線が描かれます。延長線は 2 つのアンダスコア __ で挿入されます。今度は、例として Purcell の Dido and Æeneas から最初の 3 小節目からを挙げます:

<<
  \relative c'' {
    \key g \minor
    \time 3/2
    g2 a bes bes( a)
    b c4.( bes8 a4. g8 fis4.) g8 fis1
  }
  \addlyrics {
    When I am laid,
    am laid __ in earth,
  }
>>

[image of music]

今までの例には複数の音節を持つ単語はありませんでした。通常、複数の音節を持つ単語は音節ごとに 1 つの音符に分割され、音節間はハイフンで結ばれます。ハイフンは 2 つのダッシュとして入力され、その結果として音節の間にハイフンが描かれます。今度の例では歌詞に複数の音節を持つ単語が含まれ、我々が今まで歌詞を音符に揃える方法について学んだことがすべて含まれています。

<<
  \relative c' {
    \key g \major
    \time 3/4
    \partial 4
    d4 g4 g a8( b) g4 g4
    b8( c) d4 d e4 c2
  }
  \addlyrics {
    A -- way in a __ man -- ger,
    no __ crib for a bed, __
  }
>>

[image of music]

ある歌詞では – 特にイタリア語では – 反対のことが求められます: 複数の音節を 1 つの音符にセットします。これは音節を単一のアンダスコア _ (スペース無し) でリンクさせるか、クォートで囲むことによって達成されます。今度の例は Rossini の Figaro からで、Largo al factotumalLargogo と同じ音符で歌われなければなりません:

<<
  \relative c' {
    \clef bass
    \key c \major
    \time 6/8
    c4.~ c8 d b c([ d]) b c d b c
  }
  \addlyrics {
    Lar -- go_al fac -- to -- tum del -- la cit -- tà
  }
>>

[image of music]

参照

記譜法リファレンス: Vocal music


2.3.3 複数の譜への歌詞

\addlyrics を用いた簡単なアプローチは歌詞を複数の譜表の下に置くために使用することができます。ここで、Handel の Judas Maccabæus から例を挙げます:

<<
  \relative c'' {
    \key f \major
    \time 6/8
    \partial 8
    c8 c([ bes]) a a([ g]) f f'4. b, c4.~ c4
  }
  \addlyrics {
    Let flee -- cy flocks the hills a -- dorn, __
  }
  \relative c' {
    \key f \major
    \time 6/8
    \partial 8
    r8 r4. r4 c8 a'([ g]) f f([ e]) d e([ d]) c bes'4
  }
  \addlyrics {
    Let flee -- cy flocks the hills a -- dorn,
  }
>>

[image of music]

この簡単な例よりも複雑な楽譜では、変数を使って楽譜構造を音符と歌詞から分離したほうが良いです。このことは 変数を用いて楽曲を編成する で議論されています。

参照

記譜法リファレンス: Vocal music


2.4 仕上げ

このセクションはチュートリアルの最終セクションです。単純な曲に仕上げを加える方法を示し、このマニュアルの残りの部分についての紹介を行います。


2.4.1 変数を用いて楽曲を編成する

これまで議論してきたすべての要素を組み合わせてより大きなファイルを作成すると、音楽表記はずっと大きくなります。多くの譜を持つ多声音楽では、入力ファイルはとても混乱しやすくなります。変数を使って混乱を避けることができます。

変数 (これは識別子やマクロとも言えます) を使うことによって、音楽表記の複雑さを打破することができます。変数は以下のように割り当てられます:

namedMusic = { … }

音楽表記 namedMusic の内容は名前の前にバックスラッシュを置くことによって (\namedMusic、これはまさに LilyPond の標準コマンドと同様です) 後で使用することができます。

violin = \new Staff {
  \relative c'' {
    a4 b c b
  }
}
cello = \new Staff {
  \relative c {
    \clef bass
    e2 d
  }
}
{
  <<
    \violin
    \cello
  >>
}

[image of music]

変数の名前に使えるのはアルファベットだけであり、数字、アンダスコア、ダッシュを使うことはできません。

変数はメインの音楽表記のに定義されていなければなりません。しかしながら定義後は必要に応じて何度も使用されるかもしれません。楽曲のある部分が何度もリピートしている場合、入力の手間を省くために、変数は他の変数の定義の中ででも使用されるかもしれません。

tripletA = \times 2/3 { c,8 e g }
barA = { \tripletA \tripletA \tripletA \tripletA }

\relative c'' {
 \barA \barA
}

[image of music]

変数は入力ファイルの中にある他の多くのタイプに対しても使用されるかもしれません。例えば以下のようにです:

width = 4.5\cm
name = "Wendy"
aFivePaper = \paper { paperheight = 21.0 \cm }

変数の内容次第では、変数は他の場所で使用することができます。以下の例は上の例の変数を使用しています:

\paper {
  \aFivePaper
  line-width = \width
}
{
  c4^\name
}

2.4.2 バージョン番号

\version ステートメントはその入力ファイルが LilyPond のどのバージョンに対して書かれているのかを記録しています:

\version "2.13.45"

慣習上、これは LilyPond ファイルの先頭に置きます。

これらの注釈は LilyPond の将来のアップグレードをよりスムーズにします。構文の変更は特別なプログラム – convert-ly – によって扱われます。このプログラムは適用する規則を決定するために \version を使用します。詳細は Updating files with convert-ly を参照してください。


2.4.3 タイトルを付け加える

タイトル、作曲者、作品番号、それと類似の情報は \header ブロックの中に挿入されます。これはメインの音楽表記の外に存在します。普通、\header ブロックはバージョン番号の下に置かれます。

\version "2.13.45"
\header {
  title = "Symphony"
  composer = "Me"
  opus = "Op. 9"
}

{
  … music …
}

ファイルが処理されるとき、タイトルと作曲者は楽譜の上に譜刻されます。タイトルについての更なる情報は、 Creating titles を参照してください。


2.4.4 絶対音符名

これまで我々は常にピッチを定義するのに \relative を使ってきました。これはたいていの音楽を入力するのに最も容易な方法です。しかしながら、ピッチを定義するための方法がもう一つ存在します。絶対モードです。

あなたが \relative を省略した場合、LilyPond はすべてのピッチを絶対値として扱います。c' は常にミドル C を意味し、b は常にミドル C の 1 音下の音符を意味し、g, は常にヘ音記号の譜表の最下段の譜線上にある音符を意味します。

{
  \clef bass
  c' b g, g,
  g, f, f c'
}

[image of music]

今度は 4 オクターブの音階があります:

{
  \clef bass
  c, d, e, f,
  g, a, b, c
  d e f g
  a b c' d'
  \clef treble
  e' f' g' a'
  b' c'' d'' e''
  f'' g'' a'' b''
  c'''1
}

[image of music]

見て取れるように、ト音記号に旋律を書く場合は多くのクォート ' 記号が使用されます。モーツァルトからの以下の楽譜の断片について考えてみます:

{
  \key a \major
  \time 6/8
  cis''8. d''16 cis''8 e''4 e''8
  b'8. cis''16 b'8 d''4 d''8
}

[image of music]

これらすべてのクォート記号は入力ファイルを読みにくいものにして、エラーの原因になります。\relative を使うことで、上の例はずっと読みやくす、入力しやすくなります:

\relative c'' {
  \key a \major
  \time 6/8
  cis8. d16 cis8 e4 e8
  b8. cis16 b8 d4 d8
}

[image of music]

\relative モードを使っているときにあなたがオクターブ記号 (',) を付け間違えた場合、すぐにわかります – 多くの音符が間違ったオクターブに譜刻されます。絶対モードを使っているときに、ある付け間違いをした場合、はっきりとせず、見つけにくいです。

しかしながら、絶対モードは大きな音程を持つ音楽に対しては有用であり、LilyPond ファイルをコンピュータで生成する場合は非常に有用です。


2.4.5 このチュートリアルの後にすべきこと

このチュートリアルを終えた後、あなたは 1、2 の楽譜を書いてみるべきです。テンプレート にある楽譜の 1 つに音符を付け加えることから始めてください。あなたがこのチュートリアルではカバーされなかった記譜法を必要とする場合、 Musical notation で始まる記譜法リファレンスを参照してください。あなたがテンプレートではカバーされていない楽器のアンサンブルのために楽譜を書こうとする場合、テンプレートを拡張する を参照してください。

あなたがいくつかの短い楽譜を書き終えた後は、学習用マニュアルの残りの部分 (3~5 章) を読んでください。もちろん、今それらを読んでも何も問題はありません!しかしながら、学習用マニュアルの残りの部分はあなたが LilyPond 入力に馴れていると仮定しています。あなたはそれらの章を今すぐ一読し、もっと経験を積んだ後に読み直すことを望むかもしれません。

このチュートリアルと学習マニュアルの残りの部分では、各セクションの最後に参照があり、他のセクションを参照してます: 初めて本書を読むときはこれらの参照を追うべきではありません。あなたが学習マニュアルをすべて読み終えたとき、いくつかのセクションを読み返し、さらに参照を追おうと思うかもしれません。

FIX FIX FIX をまだ読んでいないのなら、それを読んでください。LilyPond についての情報は多いため、新しく LilyPond を始める人はしばしばどこを読むべきかわからないことがあります。5 分間使ってそのセクションを注意深く読めば、あなたは何時間も見当違いの場所を読むフラストレーションを持たずに済ますことができるでしょう!


3. 基礎となるコンセプト

チュートリアルではシンプルなテキスト ファイルから美しい楽譜を譜刻する方法を見てきました。このセクションでは、同じように美しいがより複雑な楽譜を作り出すのに必要とされるコンセプトとテクニックについて紹介します。


3.1 LilyPond 入力ファイルの仕組み

LilyPond の入力フォーマットは非常に自由な形式であり、経験豊富なユーザにとってはファイルを構築する際の自由度が高いです。しかしながら、この自由度が新しいユーザにとっては混乱の元になります。このセクションではこの入力ファイルの構造についていくつか説明します。しかしながら、簡潔さを保つためにいくつかの詳細については目をつぶるかもしれません。入力フォーマットについての完全な記述は、 File structure を参照してください。


3.1.1 LilyPond ファイル構造の紹介

LilyPond 入力ファイルの基本例は以下のようなものです:

\version "2.13.45"
\header { }
\score {
  ...compound music expression...  % all the music goes here!
  ...複合音楽表記...                  % すべての音楽がここに入ります!
  \layout { }
  \midi { }
}

基本パターンは本当にさまざまです。しかしながら、この例は開始点として役に立ちます。

これまで、あなたが見てきた例では \score {} コマンドを使用していませんでした。その理由は、あなたが LilyPond に与えたのが簡単な入力であった場合、LilyPond が自動的に追加のコマンドを付け加えるからです。LilyPond は以下のような入力:

\relative c'' {
  c4 a d c
}

を以下を簡略表記したものとして扱います:

\book {
  \score {
    \new Staff {
      \new Voice {
        \relative c'' {
          c4 a b c
        }
      }
    }
    \layout { }
  }
}

言い換えると、入力が保持しているのが単一の音楽表記である場合、LilyPond はまるでその音楽表記が上で示されたコマンドで包まれているかのように解釈します。

一言警告! LilyPond ドキュメントの中にある多くの例では、 \new Staff\new Voice コマンドは暗黙的に作成されるために省略されています。簡単な例ではそれでうまくいきますが、より複雑な例の場合 – 特に追加のコマンドが使用される場合 – コンテキストの暗黙的な作成は予想外の結果となる可能性があります。多分、予期しない余分な譜が作成されるでしょう。コンテキストを明示的に作成する方法は コンテキストとエングラーバ で説明されています。

Note: 数行以上の音楽を入力する場合、常に譜とボイスを明示的に作成したほうが賢明です。

今度は最初の例に戻って、\score コマンドについて検証します。他のことはデフォルトのままにしておきます。

\score ブロックは常にただ 1 つの音楽表記を保持していなければなりません。そして、その音楽表記は \score コマンドのすぐ後に置かれなければなりません。音楽表記は単一の音符である場合もありますし、以下のような巨大な複合表記である場合もあるということを覚えておいてください:

{
  \new StaffGroup <<
    ...insert the whole score of a Wagner opera in here...
    ...ワーグナーのオペラの楽譜全体がここに入ります...
  >>
}

すべては { ... } の内部にあるため、それは 1 つの音楽表記であるとカウントされます。

以前見てきたように、\score ブロックは他のものを含む可能性もあります。例えば以下のように:

\score {
  { c'4 a b c' }
  \header { }
  \layout { }
  \midi { }
}

これら 3 つのコマンド – \header, \layout, \midi – は特別なものであるということに注意してください: バックスラッシュ (\) で始まる他の多くのコマンドとは異なり、これらは音楽表記ではなく、何らかの音楽表記の一部でもありません。そのため、これらは \score ブロックの内部に置かれるかもしれませんし、外部に置かれるかもしれません。実際、これらのコマンドは一般的に \score ブロックの外側に置かれます – 例えば、このセクションの最初の例のように \header はしばしば \score コマンドの上に置かれます。

以前は見なかった他の 2 つのコマンドは \layout { }\midi { } です。それらが上記のように記述された場合、LilyPond はそれぞれ譜刻された出力と MIDI 出力を作り出します。それらは記譜法リファレンスの Score layout Creating MIDI files で完全に記述されています。

あなたは複数の \score ブロックを記述するかもしれません。それらはそれぞれ別々の楽譜として扱われますが、それらは結合されて単一の出力ファイルに収められます。\book コマンドは必要ありません – このコマンドは暗黙的に 1 つ作成されます。しかしながら、あなたが 1 つの .ly ファイルから別々に分かれた出力ファイルを作成しようとするのなら、それぞれのセクションを異なる出力ファイルに分けるために \book コマンドが使用されます: 各 \book ブロックは別々の出力ファイルを作り出します。

要約:

\book ブロックは別々の出力ファイル (つまり PDF ファイル) を作成します。あなたが明示的に \book コマンドを記述しなかった場合、LilyPond は暗黙的に入力コードを \book ブロックで包み込みます。

\score ブロックは \book ブロック内部で別々の音楽表記のチャンク (塊) となります。

\layout ブロックはそのブロックを含んでいる \score ブロックや \book ブロックに影響を与えます – つまり、ある \score ブロックの内部にある \layout ブロックはその \score ブロックにだけ影響を与え、\score ブロックの外部にある (それゆえ、明示的あるいは暗黙的に \book ブロックの中にある) \layout ブロックはその \book ブロックの中にあるすべての \score に影響を与えます。

詳細は、 Multiple scores in a book を参照してください。

もう一つの重要な簡略表記は変数を定義することです。すべてのテンプレートがこれを使っています:

melody = \relative c' {
  c4 a b c
}

\score {
  \melody
}

LilyPond がこのファイルを見ると、melody の値 (イコール記号の後にあるすべて) を記憶し、\melody と記述された箇所すべてにその値を挿入します。変数の名前について特別なことは何もありません – 変数名は melody, global, TimeKey, pianorighthand, foofoobarbaz などとなります。詳細は、変数と関数を用いて入力の手間を省く を参照してください。変数名はアルファベットだけで構成されていて、LilyPond コマンド名と異なっている限りは、ほぼどんな名前でも使用できるということを覚えておいてください。変数名の厳密な制限については、 File structure で詳述されています。

参照

入力フォーマットの完全な定義は、 File structure を参照してください。


3.1.2 Score は (単一の) 複合的な音楽表記

前のセクション – LilyPond ファイル構造の紹介 – で LilyPond 入力ファイルの一般的な構造について見てきました。しかしながら、我々は最も重要な部分を飛ばしてきたようです: どうやって \score の後に記述するものを見つけ出すのでしょうか?

我々はそのことを完全には飛ばしてきませんでした。この大きな謎は簡単なことであり、謎でもなんでもないのです。以下の行がこの謎についてすべてを説明しています:

\score ブロックは 1 つの複合音楽表記で始まらなくてはなりません。

音楽表記と複合音楽表記が意味しているものを理解するには、チュートリアルの 音楽表記についての説明 を読み返すと役に立つかもしれません。そこでは、小さな音楽表記 – 音符から始めて、それから和音など – から大きな音楽表記を構築する方法を説明しています。今度は、大きな音楽表記からはじめて、その複雑さを減らしていきます。

\score {
  { % this brace begins the overall compound music expression
    % この波括弧は複合音楽表記全体の開始点です
    \new StaffGroup <<
      ...insert the whole score of a Wagner opera in here...
      ...ワーグナーのオペラの楽譜全体がここに入ります...
    >>
  } % this brace ends the overall compound music expression
    % この波括弧は複合音楽表記全体の終了点です
  \layout { }
}

ワーグナーのオペラの長さはこのマニュアルの軽く 2 倍はあります。そのため、歌手とピアノだけを加えることにします。このアンサンブルでは複数の譜をまとめて左端に波括弧を付ける StaffGroup は必要ありません。そのため、それを削除します。しかしながら、歌手とピアノが必要です。

\score {
  <<
    \new Staff = "singer" <<
    >>
    \new PianoStaff = "piano" <<
    >>
  >>
  \layout { }
}

歌手とピアノが同時進行であることを示すために { ... } の代わりに << ... >> を使用するということを覚えておいてください。我々はボーカル パートとピアノパートが同時進行であるということを明確に示したいのであり、どちらかがもう一方の後に演奏されるのではないのです!歌手の譜表は一続きの音楽表記を 1 つだけ保持するため、歌手の譜表に対して << ... >> は必ずしも必要ありません。しかしながら、譜表の中の音楽が 2 つの同時進行の音楽表記 – つまり、2 つの同時進行のボイスであるとか、歌詞付きの歌 – である場合、波括弧の代わりに << ... >> を使う必要があります。後で実際の音楽を加えてみますが、ここではダミーの音符と歌詞を入力してみます。

\score {
  <<
    \new Staff = "singer" <<
      \new Voice = "vocal" { c'1 }
      \addlyrics { And }
    >>
    \new PianoStaff = "piano" <<
      \new Staff = "upper" { c'1 }
      \new Staff = "lower" { c'1 }
    >>
  >>
  \layout { }
}

[image of music]

更に詳細を加えていきます。歌手の譜表は Voice (LilyPond では、この用語は音符のセットを参照するものであり、必ずしもボーカルの音符であるわけではありません – 例えば、一般にバイオリンは 1 つのボイスを演奏します) と歌詞を保持します。さらに、ピアノの譜表は上部譜表 (右手) と下部譜表 (左手) を保持します。

この段階で、音符の入力を開始することができます。\new Voice = "vocal" の後の波括弧の中に、以下を書き加えることができます:

\relative c'' {
  r4 d8\noBeam g, c4 r
}

しかしながら、そのようにすると、\score セクションは非常に長くなり、何が起こるのか理解しにくくなります。そのため、直接音符を付け加える代わりに変数を使用しましょう。前のセクションで変数についての紹介を行いました。覚えていますよね?では、いくつかの音符を加えて実際の楽譜の一部を作成してみましょう:

melody = \relative c'' { r4 d8\noBeam g, c4 r }
text   = \lyricmode { And God said, }
upper  = \relative c'' { <g d g,>2~ <g d g,> }
lower  = \relative c { b2 e2 }

\score {
  <<
    \new Staff = "singer" <<
      \new Voice = "vocal" { \melody }
      \addlyrics { \text }
    >>
    \new PianoStaff = "piano" <<
      \new Staff = "upper" { \upper }
      \new Staff = "lower" {
        \clef "bass"
        \lower
      }
    >>
  >>
  \layout { }
}

[image of music]

音符 – これは \relative の中で導入されたり、音楽表記の中に直接含まれています – と歌詞 – これは \lyricmode で導入されています – の違いに気をつけてください。前者は LilyPond に後に続く内容を音楽として解釈するように指示し、後者はテキストとして解釈するように指示します。

\score セクションを書いている (あるいは読んでいる) とき、ゆっくりと注意深く進めてください。外側から始めて、それから内部の細かな部分に取り組んでください。さらに、きちんとインデントを入れると非常に役に立ちます - これは、同じレベルにある各要素はテキスト エディタの中で同じ水平位置から始まるということを保証します。

参照

記譜法リファレンス: Structure of a score


3.1.3 音楽表記をネストする

すべての譜をファイルの始めに宣言することは必須ではありません。譜はどこででも臨時に導入される可能性があります。これはオッシアを作成する際に特に有用です – ossia を参照してください。ここで、3 つの音符に対して臨時に新しい譜表を導入する方法を示すちょっとした例を挙げます:

\new Staff {
  \relative g' {
    r4 g8 g c4 c8 d |
    e4 r8
    <<
      { f c c }
      \new Staff {
        f8 f c
      }
    >>
    r4 |
  }
}

[image of music]

音部記号のサイズは音部変更後に譜刻される音部記号のサイズ – 行の開始点での音部記号よりも少し小さい – と同じであるということに注意してください。これは行の途中で譜刻される音部記号全般に言えることです。

オッシアは以下のように譜表の上に置かれるかもしれません:

\new Staff = "main" {
  \relative g' {
    r4 g8 g c4 c8 d |
    e4 r8
    <<
      { f c c }
      \new Staff \with {
        alignAboveContext = #"main" }
      { f8 f c }
    >>
    r4 |
  }
}

[image of music]

この例は後で説明される \with を使用しています。このコマンドは単一の譜表のデフォルトの振る舞いを変更することを意味します。ここでは、このコマンドは新しい譜表をデフォルトの位置 (“main” と呼ばれている譜表の下) ではなく、上に置くべきであると言っています。

参照

オッシアはしばしば音部記号や拍子記号無しで描かれ、通常は小さなフォントで描かれます。これらはまだ紹介されていない追加のコマンドを必要とします。オブジェクトのサイズ Ossia staves を参照してください。


3.1.4 ネストされない括弧とタイ

これまでに LilyPond への入力ファイルを書く際に使用する括弧にはいくつかの種類があるということを見てきました。これらは異なる規則 – 最初は混乱を引き起こす可能性があります – に従います。規則についての説明を行う前に、括弧の種類を再確認してみましょう。

括弧のタイプ

機能

{ .. }

一続きの音楽を囲みます

< .. >

和音となる音符を囲みます

<< .. >>

同時進行する音楽表記を囲みます

( .. )

スラーの開始点と終了点を意味します

\( .. \)

フレージング スラーの開始点と終了点を意味します

[ .. ]

手動連桁の開始点と終了点を意味します

こららに対して、音符の間や音符をまたがって線を生成する他の構文を付け加えるべきです: タイ (チルド ~ によって記述されます)、連符 (\times x/y {..} として記述されます)、グレイス ノート (\grace{..} として記述されます) です。

LilyPond 以外では、種類の異なる括弧が適切にネストされること – [ { ( .. ) } ] のように – が一般的な使い方であり、括弧の終わりの順序は正確に括弧の始まりの順序と逆になります。このことは上記の表で ‘囲みます’ という言葉で記述されている 3 種類の括弧に対しては必須となります – それらは適切にネストされなければなりません。しかしながら、残りの括弧 – 上記の表で ‘意味します’ という言葉で記述されいるものと、タイ、連符で使用されるもの – はいかなる括弧ともネストされる必要はありません。実際、これらは何かを囲むという意味では括弧ではありません – それらは単に何かが始まる場所、終わる場所を示すためのマークです。

そのため、例えばフレージング スラーは手動で挿入される連桁の前に開始して、その手動連桁の前に終わる可能性もあります – たぶん音楽的ではないかもしれませんが、可能性はあります:

 { g8\( a b[ c b\) a] }

[image of music]

一般に、種類の異なる括弧と連符、タイ、装飾小音符に適用される括弧は自由に混ぜ合わせられるかもしれません。以下の例では、連桁は連符の中にまで伸びていて (行 1)、スラーは連符の中にまで伸びていて (行 2)、連桁とスラーが連符の中にまで伸びていて (行 3)、タイが 2 つの連符にまたがっていて、さらにフレージング スラーが連符の外にまで伸びています (行 3 と 4)。

{
  r16[ g16 \times 2/3 {r16 e'8] }
  g16( a \times 2/3 {b d) e' }
  g8[( a \times 2/3 {b d') e'~]}
  \times 4/5 {e'32\( a b d' e'} a'4.\)
}

[image of music]


3.2 音楽を保持するボイス

歌手は歌うボイスを必要とし、それゆえ LilyPond も歌う (演奏する) ボイスを必要とします。楽譜の中にあるすべての楽器に対する実際の音楽はボイスの中に保持されます – このことは LilyPond すべてのコンセプトの中での最も基礎的なことです。


3.2.1 私はボイスを聴いている

LilyPond の楽譜の中で最も低レベルで、最も基礎的であり、最も内部にあるレイヤは ‘ボイス コンテキスト’ または縮めて単に ‘ボイス’ と呼ばれます。ボイスはときどき他の記譜法パッケージの中で ‘レイヤ’ と呼ばれます。

実際、ボイス レイヤまたはコンテキストは音楽を保持することができる唯一のものです。ボイス コンテキストが明示的に宣言されていない場合、この章の始めで見てきたようにボイス コンテキストが 1 つ自動的に生成されます。オーボエなどといった楽器は同時に 1 つの音符だけを演奏できます。そのような楽器のために書かれた音楽は単声であり、ボイスを 1 つだけを必要とします。ピアノのように同時に複数の音符を演奏することができる楽器はしばしば、それらが演奏することのできる同時進行の異なる音符やリズムをエンコードするために、複数のボイスを必要とします。

もちろん、単一のボイスは和音の中で多くの音符を保持することができます。それでは、複数のボイスが実際に必要とされるのはどんな場合なのでしょうか?まずは、4 つの和音を持つ以下の例を見てください:

\key g \major
<d g>4 <d fis> <d a'> <d g>

[image of music]

この例は単一の山括弧からなる和音記号< ... > を使って表記することができ、必要とされるボイスは 1 つだけです。しかしながら、F シャープが A に移行する際に、F シャープは実際には 8 分音符であり、そのあとに 8 分音符の G が続くとしたらどうでしょうか?そのような場合、同時に開始されるが演奏時間が異なる 2 つの音符を持つことになります: 4 分音符の D と 8 分音符の F シャープです。これらの音符をどのように記述すればよいのでしょうか?これらの音符は和音として記述することはできません。なぜなら、和音の中の音符はすべて同じ演奏時間でなければならないからです。そして、それらの音符は同時に開始しなければならないので、2 つのシーケンシャルな (連続した) 音符として記述することもできません。この場合は 2 つのボイスが必要となります。

上記のことが LilyPond 入力構文でどのように達成されるのかを見てみましょう。

1 つの譜表に複数のボイスがある音楽断片を入力する最も簡単な方法は、各ボイスをシーケンスに (続けて) 入力し (各ボイスを {...} の中に入れます)、それらのボイスを <<...>> を使って 同時進行するよう組み合わせます。さらに、各断片は、それぞれが別の断片であることを示すために、ダブル バックスラッシュ \\ で区切られなければなりません。ダブル バックスラッシュが無ければ、すべての音符は単一のボイスの中に挿入され、通常はエラーとなります。このテクニックは、大部分が単声であり、時々短い部分で多声になる楽曲に特に適しています。

以下では、上記の例の和音を 2 つのボイスに分け、経過音とスラーを付け加えています:

\key g \major
%    Voice "1"                  Voice "2"
<< { g4 fis8( g) a4 g }    \\ { d4 d d d }  >> |

[image of music]

この例では 2 番目のボイスの符幹が下向きになっていることに気づいてください。

今度はもう 1 つ簡単な例を挙げてみます:

\key d \minor
%    Voice "1"             Voice "2"
<< { r4 g g4. a8 }    \\ { d,2 d4 g }       >> |
<< { bes4 bes c bes } \\ { g4 g g8( a) g4 } >> |
<< { a2. r4 }         \\ { fis2. s4 }       >> |

[image of music]

各小節で別々に << \\ >> 構造を使用する必要はありません。各小節に音符が少ししかないような音楽の場合、このレイアウトはコードの可読性を良くするのに役立ちます。しかしながら、各小節に多くの音符がある場合、以下のように各ボイスを分離した方が良いかもしれません:

\key d \minor
<< {
  % Voice "1"
  r4 g g4. a8 |
  bes4 bes c bes |
  a2. r4 |
} \\ {
  % Voice "2"
  d,2 d4 g |
  g4 g g8( a) g4 |
  fis2. s4 |
} >>

[image of music]

この例にあるボイスは 2 つだけです。しかしながら、これと同じ構成にもっと多くのバック スラッシュを付け加えることによって、3 つかそれ以上のボイスを持たせることになるかもしれません。

ボイス コンテキストは "1", "2" などの名前を持ちます。各コンテキストの中では、スラー、符幹、タイ、強弱記号などの垂直方向の向きは適切にセットされます。

\new Staff \relative c' {
  % Main voice
  c16 d e f
  %    Voice "1"     Voice "2"                 Voice "3"
  << { g4 f e } \\ { r8 e4 d c8 ~ } >> |
  << { d2 e2 }  \\ { c8 b16 a b8 g ~ g2 } \\ { s4 b4 c2 } >> |
}

[image of music]

これらのボイスはすべてメインのボイスからは分かれています。メインのボイスの音符は<< .. >> 構造の外にあるからです。この << .. >> 構造を同時進行構造と呼ぶことにしましょう。通常、スラーとタイは同じボイス内にある音符だけをつなぎます。そのため、スラーとタイは同時進行構造を出たり入ったりすることはありません。反対に、同じ譜表上にある個々の同時進行構造で、平行の位置にあるボイスは同じボイスになります。さらに、その他のボイス関連プロパティは同時進行構造をまたがって持ち越されます。ここで、上記と同じ例で各ボイスに対して異なる色と符頭を割り当ててみます。あるボイスでの変更は他のボイスに影響を与えませんが、その後に続く同じボイス (訳者: 平行位置にあるボイス) でその変更が維持されることに注意してください。さらに、タイでつながれた音符は、同じボイスとなる 2 つの同時進行構造にまたがって分かれるかもしれないということに注意してください。

\new Staff \relative c' {
  % Main voice
  c16 d e f
  << % Bar 1
    {
      \voiceOneStyle
      g4 f e
    }
  \\
    {
      \voiceTwoStyle
      r8 e4 d c8 ~
    }
  >>
  << % Bar 2
     % Voice 1 continues
    { d2 e2 }
  \\
     % Voice 2 continues
    { c8 b16 a b8 g ~ g2 }
  \\
    {
      \voiceThreeStyle
      s4 b4 c2
    }
  >>
}

[image of music]

コマンド \voiceXXXStyle は主にこのマニュアルのような教育目的のドキュメントで使用することを意図したものです。このコマンドは、各ボイスが容易に見分けられるように、符頭、符幹、連桁の色、それに符頭のスタイルを変更します。ボイス 1 は赤でダイアモンドの符頭を持つようにセットされ、ボイス 2 は青で三角形の符頭を、ボイス 3 は緑で×付きの円を、ボイス 4 (ここでは使用されていません) はマゼンダの×の符頭を持つようにセットされます。\voiceNeutralStyle (これもここでは使用されていません) は符頭のスタイルをデフォルトに戻します。後ほど、ユーザがこのようなコマンドを作成するための方法を見ていきます。オブジェクトの可視性と色調整のために変数を使用する を参照してください。

多声部は \relative { } ブロック内の音符の相対関係を変えません。各音符は直前の音符あるいは直前の和音の最初の音符との相対関係で計算されます。そのため、以下の例では

\relative c' { noteA << < noteB noteC > \\ noteD >> noteE }

noteBnoteA との相対関係で決まり
noteCnoteA ではなく noteB との相対関係で決まり
noteDnoteAnoteC ではなく noteC との相対関係で決まり
noteEnoteA ではなく noteD との相対関係で決まります。

各ボイスの中にある音符の音程がボイスごとに大きく離れている場合、各ボイスの始めに \relative コマンドを置くと明瞭になるかもしれません:

\relative c' { noteA ... }
<<
  \relative c'' { < noteB noteC > ... }
\\
  \relative g' { noteD ... }
>>
\relative c' { noteE ... }

最後に、もっと複雑な楽曲の中にあるボイスを分析してみましょう。以下は、ショパンの Deux Nocturnes, Op 32 の 2 番の最初の 2 小節です。この例は、記譜を行うためのテクニックをいくつか示すために、本章の後の方と次の章で使用されます。ですから、今はコードの中にある意味不明に見えるものは無視して、音楽とボイスだけに注目してください – 込み入った内容は後ほど説明します。

[image of music]

符幹の向きはしばしば 2 つの同時進行する旋律ラインのつながりを示すために使用されます。ここでは、一番上の音符の符幹はすべて上向きであり、下の方にある音符の符幹はすべて下向きです。これは、複数のボイスが必要とされているということを示す最初の兆候です。

しかしながら、複数のボイスが実際に必要とされるのは、同時に始まる音符が異なる演奏時間を持つ場合です。最初の小節の 3 拍目を見てください。A フラットは付点 4 分音符であり、F は 4 分音符、D フラットは半音符です。これらの音符を和音として記述することはできません。なぜなら、和音の中の音符はすべて同じ演奏時間でなければならないからです。これらの音符をシーケンシャルな (連続する) 音符として記述することもできません。なぜなら、これらの音符は同時に始まらなければならないからです。この箇所では 3 つのボイスが必要となり、以下に示すように一般的にはこの小節全体を 3 つのボイスで記述します。そこでは、3 つのボイスに対して異なる符頭と色を割り当てています。もう一度繰り返しますが、この例のコードのことは後ほど説明しますので、理解できないことは無視してください。

[image of music]

この音楽のコードをゼロから記述してみましょう。これから見ていくように、いくつかの問題に遭遇します。すでに学んだように、最初の小節の音楽を 3 つのボイスに分けて記述するために << \\ >> 構造を使用します:

\new Staff \relative c'' {
  \key aes \major
  <<
    { c2 aes4. bes8 } \\ { aes2 f4 fes } \\ { <ees c>2 des2 }
  >>
  <c ees aes c>1
}

[image of music]

符幹の向きは自動的に割り当てられ、奇数番号のボイスが上向きの符幹、偶数番号のボイスが下向きの符幹を持ちます。ボイス 1 と 2 の符幹は正しいのですが、ボイス 3 の符幹はここでは下向きになるべきです。これは単純にボイス 3 を省略して、その音楽をボイス 4 に記述することによって修正できます:

\new Staff \relative c'' {
  \key aes \major
  << % Voice one
    { c2 aes4. bes8 }
  \\ % Voice two
    { aes2 f4 fes   }
  \\ % Omit Voice three
  \\ % Voice four
    { <ees c>2 des2 }
  >> |
  <c ees aes c>1 |
}

[image of music]

これにより符幹の向きが修正されました。しかしながら、複数のボイスを持つ場合にしばしば発生する問題に遭遇してしまいました – あるボイスの中にある音符の符幹が他のボイスの中にある符頭と衝突しています。音符をレイアウトするときに、LilyPond は 2 つのボイスの符幹の向きを反対にすることによって 2 つのボイスの音符や和音が同じ垂直方向の音符列に位置することを可能にします。しかしながら、3 番目や 4 番目のボイスは符頭の衝突を避けるために必要があれば移動させられます。これは普通はうまくいきますが、この例では一番下のボイスの音符はデフォルトの状態では明らかにうまくいっていません。LilyPond は音符の水平方向位置を調節するためにいくつかの手段を提供します。我々はまだこの問題を修正するための方法を見ていく準備が整っていないので、この問題は後に残しておくことにします – 表記の重なりを修正するforce-hshift プロパティを参照してください。

参照

記譜法リファレンス: Multiple voices


3.2.2 ボイスの明示的なインスタンス化

多声部音楽を作成するためにボイス コンテキストを手動で << >> ブロックの中に作成することもできます。符幹、スラーなどの向きを示すために \voiceOne ... \voiceFour を使用します。この手法は各ボイスを別々にして、より記述的な名前を与えることを可能にするため、長い楽譜ではわかりやすいものになります。

本質的には、前のセクションで使用した構造 << \\ >>:

\new Staff {
  \relative c' {
    << { e4 f g a } \\ { c,4 d e f } >>
  }
}

は以下と等価です:

\new Staff <<
  \new Voice = "1" { \voiceOne \relative c' { e4 f g a } }
  \new Voice = "2" { \voiceTwo \relative c' { c4 d e f } }
>>

上記の両方ともが以下の楽譜を生成します:

[image of music]

\voiceXXX コマンドは符幹、スラー、タイ、アーティキュレーション、テキストの注釈、付点音符の付点、運指記号の向きをセットします。\voiceOne\voiceThree はこれらのオブジェクトを上向きにし、一方の \voiceTwo\voiceFour は下向きにします。さらに、符頭の衝突を避ける必要がある場合、これらのコマンドは各ボイスに対して水平方向のシフトを発生させます。コマンド \oneVoice は設定を単一のボイスの場合の通常値に戻します。

いくつかの簡単な例で、\oneVoice, \voiceOne, \voiceTwo がマークアップ、タイ、スラー、強弱記号に与える影響を見ていきましょう:

\relative c'{
  % Default behavior or behavior after \oneVoice
  c d8 ~ d e4 ( f g a ) b-> c
}

[image of music]

\relative c'{
  \voiceOne
  c d8 ~ d e4 ( f g a ) b-> c
  \oneVoice
  c, d8 ~ d e4 ( f g a ) b-> c
}

[image of music]

\relative c'{
  \voiceTwo
  c d8 ~ d e4 ( f g a ) b-> c
  \oneVoice
  c, d8 ~ d e4 ( f g a ) b-> c
}

[image of music]

今度は、前のセクションの例を使って同じ多声部音楽のパッセージを 3 つの異なる方法で表記する例を見ていきます。それぞれ異なる状況で利点があります。

1 つはメイン ボイスに属する << >> の内部に直接表記を記述する方法です (しかしながら、音符は << \\ >> 構造の中に置かれてはいません)。これはメイン ボイスの途中で追加のボイスが現れる場合に有用です。ここでは例にさらに調整を加えます。赤のダイアモンド形の音符はメイン メロディが単一のボイス コンテキストになっていて、その上にフレージング スラーを描くことができるということを示しています。

\new Staff \relative c' {
  \voiceOneStyle
  % The following notes are monophonic
  c16^( d e f
  % Start simultaneous section of three voices
  <<
    % Continue the main voice in parallel
    { g4 f e | d2 e2) }
    % Initiate second voice
    \new Voice {
      % Set stems, etc, down
      \voiceTwo
      r8 e4 d c8 ~ | c8 b16 a b8 g ~ g2
    }
    % Initiate third voice
    \new Voice {
      % Set stems, etc, up
      \voiceThree
      s2. | s4 b4 c2
    }
  >>
}

[image of music]

多声部構造をより深くネストさせることが可能であり、追加のボイスが短時間のものであるならば、こちらの方がより自然な音楽表記方法であるかもしれません:

\new Staff \relative c' {
  c16^( d e f
  <<
    { g4 f e | d2 e2) }
    \new Voice {
      \voiceTwo
      r8 e4 d c8 ~ |
      <<
        {c8 b16 a b8 g ~ g2}
        \new Voice {
          \voiceThree
          s4 b4 c2
        }
      >>
    }
  >>
}

[image of music]

新しいボイスを一時的にネストさせる手法は音楽のほんの一部だけが多声である場合に有用です。しかしながら、楽譜全体が多声である場合、一貫して複数のボイスを使用した方がわかりやすくなります。ボイスが無音の場所を飛ばすには以下のように空白音符を使用します:

\new Staff \relative c' <<
  % Initiate first voice
  \new Voice {
    \voiceOne
    c16^( d e f g4 f e | d2 e2) |
  }
  % Initiate second voice
  \new Voice {
    % Set stems, etc, down
    \voiceTwo
    s4 r8 e4 d c8 ~ | c8 b16 a b8 g ~ g2 |
  }
  % Initiate third voice
  \new Voice {
    % Set stems, etc, up
    \voiceThree
    s1 | s4 b4 c2 |
  }
>>

[image of music]

Note columns

和音の中で小さな間隔で置かれる音符、あるいは異なるボイスで同時に発生する音符は、符頭が重なるのを避けるために 2 列、時にはそれ以上の列に割り振られます。これらの列は音符列と呼ばれます。それぞれのボイスに対して別々の列が存在し、符頭の衝突が起こる場合はボイスごとのシフトが適用されます。これは上の例でも見ることができます。2 小節目でボイス 2 の C はボイス 1 の D との関係で右にシフトされていて、最後の和音でボイス 3 の C も他の音符との関係で右にシフトされています。

\shiftOn, \shiftOnn, \shiftOnnn, それに \shiftOff コマンドは、衝突が起こる場合に音符や和音をシフトさせる度合いを指定します。デフォルトでは、外側のボイス (通常はボイス 1 と 2) には \shiftOff が指定されていて、内側のボイス (ボイス 3 と 4) には \shiftOn が指定されています。シフトが適用される場合、ボイス 1 と 3 は右にシフトされ、ボイス 2 と 4は左にシフトされます。

\shiftOnn\shiftOnnn はさらなるシフト レベルを定義するものであり、複雑な状況での衝突を解決するために一時的に指定されるかもしれません – 実際の音楽からの例 を参照してください。

ある音符列は上向きの符幹を持つボイスからの音符 (あるいは和音) を 1 つだけ、下向きの符幹を持つボイスからの音符 (あるいは和音) を 1 つだけ保持することができます。同じ向きの符幹を持つ 2 つのボイスからの音符が同じ位置に置かれ、両方のボイスにシフトが指定されていない、あるいは同じシフトが指定されている場合、エラー メッセージ “Too many clashing note columns” (音符が多すぎて音符列で衝突が起こっています) が生成されます。

参照

記譜法リファレンス: Multiple voices


3.2.3 ボイスとボーカル

声楽には特別な困難があります: 2 つの表記 – 音符と歌詞 – を組み合わせる必要があります。

すでに \addlyrics{} コマンドを見てきました。これは簡単な楽譜であればうまく処理できます。しかしながら、この方法では限界があります。より複雑な音楽では、\new Lyrics を使って歌詞を Lyrics コンテキストに取り込み、ボイスに割り当ている名前を使って \lyricsto{} でその歌詞を明示的に音符にリンクさせます。

<<
  \new Voice = "one" \relative c'' {
    \autoBeamOff
    \time 2/4
    c4 b8. a16 g4. f8 e4 d c2
  }
  \new Lyrics \lyricsto "one" {
    No more let sins and sor -- rows grow.
  }
>>

[image of music]

歌詞は Staff コンテキストではなく Voice コンテキストにリンクさせなければならないということに注意してください。このため、Staff コンテキストと Voice コンテキストを明示的に作成する必要があります。

LilyPond がデフォルトで使用する自動連桁は楽器だけの音楽ではうまく機能しますが、歌詞を持つ音楽ではそれほどうまく機能しません。そこでは連桁はまったく必要ないか、歌詞のメリスマ (訳者注: 歌詞の 1 音節に対して複数の音符を割り当てること) を示すために使用されるかのどちらかです。上の例では、自動連桁を Off にするためにコマンド \autoBeamOff を使用しています。

以前使用した Judas Maccabæus からの例を再度使用して、より自由度の高い方法を示します。まず、楽譜の内容を変数に振り直し、音楽と歌詞を譜表構造から分離させます。さらに ChoirStaff ブラケットを導入します。歌詞自体は、音楽ではなく歌詞として解釈されることを保証するために、\lyricsmode で導入されなければなりません。

global = { \time 6/8 \partial 8 \key f \major}
SopOneMusic = \relative c'' {
  c8 | c([ bes)] a a([ g)] f | f'4. b, | c4.~ c4 }
SopTwoMusic = \relative c' {
  r8 | r4. r4 c8 | a'([ g)] f f([ e)] d | e([ d)] c bes' }
SopOneLyrics = \lyricmode {
  Let | flee -- cy flocks the | hills a -- dorn, __ }
SopTwoLyrics = \lyricmode {
  Let | flee -- cy flocks the | hills a -- dorn, }

\score {
  \new ChoirStaff <<
    \new Staff <<
      \new Voice = "SopOne" {
        \global
        \SopOneMusic
      }
      \new Lyrics \lyricsto "SopOne" {
        \SopOneLyrics
      }
    >>
    \new Staff <<
      \new Voice = "SopTwo" {
        \global
        \SopTwoMusic
      }
      \new Lyrics \lyricsto "SopTwo" {
        \SopTwoLyrics
      }
    >>
  >>
}

[image of music]

これはすべての声楽譜の基本的な構造です。必要に応じてさらに多くの譜が追加されるかもしれませんし、さらに多くのボイスが譜に追加されるかもしれませんし、さらに多くの歌詞 (原文: verse、各ボイスに対する歌詞、あるいは、歌詞の 1 番、2 番のことを指すと思われる) が歌詞に追加されるかもしれません。音楽部分が長くなりすぎた場合は、音楽を保持している変数を容易に別のファイルに置くことができます。

ここで、例として 4 つの歌詞 – それぞれが SATB (ソプラノ、アルト、テナー、バス) に対してセットされている – を持つ賛美歌の最初の 1 行目を取り上げます。この歌の場合、4 つのパートに対する歌詞の言葉は同じです。変数を使用して音楽記譜と歌詞の言葉を譜表構造から分離させている手法に注意してください。さらに、 ‘TimeKey’ と呼ぶことにした変数が、2 つの譜で使用されるいくつかのコマンドを保持するために、使用されていることにも注意してください。他の例では、この変数はしばしば ‘global’ と呼ばれます。

TimeKey = { \time 4/4 \partial 4 \key c \major}
SopMusic   = \relative c' { c4 | e4. e8 g4  g  | a a g }
AltoMusic  = \relative c' { c4 | c4. c8 e4  e  | f f e }
TenorMusic = \relative c  { e4 | g4. g8 c4. b8 | a8 b c d e4 }
BassMusic  = \relative c  { c4 | c4. c8 c4  c  | f8 g a b c4 }
VerseOne   = \lyricmode {
  E -- | ter -- nal fa -- ther, | strong to save, }
VerseTwo   = \lyricmode {
  O | Christ, whose voice the | wa -- ters heard, }
VerseThree = \lyricmode {
  O | Ho -- ly Spi -- rit, | who didst brood }
VerseFour  = \lyricmode {
  O | Tri -- ni -- ty of | love and pow'r }

\score {
  \new ChoirStaff <<
    \new Staff <<
      \clef "treble"
      \new Voice = "Sop"  { \voiceOne \TimeKey \SopMusic }
      \new Voice = "Alto" { \voiceTwo \AltoMusic }
      \new Lyrics \lyricsto "Sop" { \VerseOne   }
      \new Lyrics \lyricsto "Sop" { \VerseTwo   }
      \new Lyrics \lyricsto "Sop" { \VerseThree }
      \new Lyrics \lyricsto "Sop" { \VerseFour  }
    >>
    \new Staff <<
      \clef "bass"
      \new Voice = "Tenor" { \voiceOne \TimeKey \TenorMusic }
      \new Voice = "Bass"  { \voiceTwo \BassMusic  }
    >>
  >>
}

[image of music]

最後に、2 つの譜の 2 パートのリフレイン (繰り返し) につながる単一の歌詞の節をコードする方法を示す例を挙げます。これを 1 つの楽譜で達成するためのシークエンシャル部分と同時進行部分の配置の仕方は非常にトリッキーです。そのため、説明を注意深く読んでください!

コーラスの開始点で波括弧を表示させたいので、ChoirStaff を保持する score ブロックで始めます。通常、すべての譜を並列にするために \new ChoirStaff の後に山括弧を置く必要があります。山括弧を使用しても害はありませんが、ここではコーラスまで並列化を先延ばししたいので波括弧を使用します。ChoirStaff の中で、まず最初に歌詞を保持する譜表を置く必要があります。音符と歌詞を並列に並べなければならないので、\new Voice\new Lyrics を同時に開始させるために山括弧で囲む必要があります:

versenotes = \relative c'' {
  \clef "treble"
  \key g \major
  \time 3/4 g g g b b b
}
versewords = \lyricmode {
  One two three four five six
}
\score {
  \new ChoirStaff {
    \new Staff <<
      \new Voice = "verse" {
        \versenotes \break
      }
      \new Lyrics \lyricsto verse {
        \versewords
      }
    >>
  }
}

[image of music]

これで歌詞の行が与えられました。

今度は、refainA を同じ譜表で続けて、それと並列に refrainB のためにもう 1 つ譜表を導入する必要があります。そのため、この並列部分は verse Voice の中の \break の直後に置かれなければなりません。そうです、verse Voice の中にです!ここで並列部分を示します。同じ要領でここにもっと多くの譜を導入することもできます。

<<
  \refrainnotesA
  \new Lyrics \lyricsto verse {
    \refrainwordsA
  }
  \new Staff <<
    \new Voice = "refrainB" {
      \refrainnotesB
    }
    \new Lyrics \lyricsto "refrainB" {
      \refrainwordsB
    }
  >>
>>

ここで最終結果を示します。これはコーラスになっている 2 つの譜を持ち、並列部分がどのように verse Voice の中に置かれるかを示しています:

versenotes = \relative c'' {
  \clef "treble"
  \key g \major
  \time 3/4 g g g b b b
}
refrainnotesA = \relative c'' {
  \time 2/4
  c c g g \bar "|."
}
refrainnotesB = \relative c {
  \clef "bass"
  \key g \major
  c e d d
}
versewords = \lyricmode {
  One two three four five six
}
refrainwordsA = \lyricmode {
  la la la la
}
refrainwordsB = \lyricmode {
  dum dum dum dum
}
\score {
  \new ChoirStaff {
    \new Staff <<
      \new Voice = "verse" {
        \versenotes \break
        <<
          \refrainnotesA
          \new Lyrics \lyricsto "verse" {
            \refrainwordsA
          }
          \new Staff <<
            \new Voice = "refrainB" {
              \refrainnotesB
            }
            \new Lyrics \lyricsto "refrainB" {
              \refrainwordsB
            }
          >>
        >>
      }
      \new Lyrics \lyricsto "verse" {
        \versewords
      }
    >>
  }
}

[image of music]

これはシークエンシャル ブロックと同時進行ブロックがどのように機能するかを理解するための手助けとしては興味深く有用です。しかしながら、実際にこれをコードする場合は、恐らく以下のように暗黙の \book ブロック内部に 2 つの \score ブロックを置くようにするでしょう:

versenotes = \relative c'' {
  \clef "treble"
  \key g \major
  \time 3/4 g g g b b b
}
refrainnotesA = \relative c'' {
  \time 2/4
  c c g g \bar "|."
}
refrainnotesB = \relative c {
  \clef "bass"
  \key g \major
  c e d d
}
versewords = \lyricmode {
  One two three four five six
}
refrainwordsA = \lyricmode {
  la la la la
}
refrainwordsB = \lyricmode {
  dum dum dum dum
}
\score {
  \new Staff <<
    \new Voice = "verse" {
      \versenotes
    }
    \new Lyrics \lyricsto "verse" {
      \versewords
    }
  >>
}

\score {
  \new ChoirStaff <<
    \new Staff <<
      \new Voice = "refrainA" {
        \refrainnotesA
      }
      \new Lyrics \lyricsto "refrainA" {
        \refrainwordsA
      }
    >>
    \new Staff <<
      \new Voice = "refrainB" {
        \refrainnotesB
      }
      \new Lyrics \lyricsto "refrainB" {
        \refrainwordsB
      }
    >>
  >>
}

[image of music]

参照

記譜法リファレンス: Vocal music


3.3 コンテキストとエングラーバ

これまでに、コンテキストとエングラーバについて簡単に言及してきました。ここでは、これらのコンセプトをより詳細に見ていくことにします。なぜなら、これらは LilyPond 出力をうまく調節するのに重要だからです。


3.3.1 コンテキストの説明

音楽が譜刻されるとき、入力ファイルでははっきりとは現れてこない多くの記譜要素を出力に追加しなければなりません。例えば、以下の例で入力と出力を比較してください:

cis4 cis2. g4

[image of music]

この入力は内容がやや乏しいですが、出力では小節線、臨時記号、音部記号、拍子記号が追加されています。LilyPond が入力を解釈するとき、音楽情報は時系列に調べられます。これは楽譜を左から右へ読むのと似ています。入力を読み込んでいる間、プログラムは小節の境目となる場所と明示的な臨時記号を必要とするピッチを覚えています。この情報はいくつかのレベルで持続されなければなりません。例えば、臨時記号の効果は単一の譜表に制限されますが、小節線は楽譜全体に亘って同調されなければなりません。

LilyPond 内部では、これらの規則と情報ビットはコンテキストにグループ化されます。すでに Voice コンテキストを見てきました。他にも、Staff コンテキストと Score コンテキストがあります。コンテキストは、楽譜の階層構造を反映するために、階層構造になっています。例えば: Staff コンテキストは多くの Voice コンテキストを保持することができ、Score コンテキストは多くの Staff コンテキストを保持することができます。

pictures/context-example

各コンテキストは、いくつかの記譜オブジェクトを作成し、関連プロパティを維持しながら、いくつかの記譜規則を施行する責任があります。例えば、Voice コンテキストは臨時記号を作り出すかもしれず、そうした場合 Staff コンテキストはその小節の残りの部分で臨時記号を表示したり隠したりするための規則を維持します。

他の例としては、小節線の同調はデフォルトでは Score コンテキストが扱います。しかしながら、いくつかの音楽では小節線を同調させたくない場合もあります – 4/4 拍子と 3/4 拍子の多声の楽譜といった場合です。そのようなケースでは、ScoreStaff コンテキストのデフォルト設定を変更しなければなりません。

非常にシンプルな楽譜では、コンテキストは暗黙的に作成され、あなたはそれらに気づく必要もありません。複数の譜表を持つようなより大きな楽曲では、あなたが必要としているだけの譜を手に入れられるよう、さらに、それらの譜が正しい順序で並ぶことを保証するために、コンテキストを明示的に作成する必要があります。特殊な記譜法を持つ楽曲を譜刻するには、通常は既存のコンテキストを変更します。あるいは完全に新しいコンテキストを定義することさえあります。

Score, Staff, Voice コンテキストに加えて、PianoStaffChoirStaff コンテキストといった譜表グループを制御するための、楽譜レベルと譜表レベルの間にあるコンテキストがあります。さらに、代替の譜表コンテキストとボイスコンテキストがあり、歌詞、打楽器、フレットボード (訳者: 弦楽器の一種。フレットでウィキぺディアを参照)、通奏低音 (数字付き低音、原文: figured bass) などのためのコンテキストがあります。

すべてのコンテキスト タイプの名前は 1 つ、あるいは複数の単語からなります。各単語の最初の文字は大文字であり、前の単語のすぐあとに次の単語が続きます。ハイフンやアンダスコアは使いません。つまり GregorianTranscriptionStaff といった具合です。

参照

記譜法リファレンス: Contexts explained


3.3.2 コンテキストを作成する

最上位にあるコンテキストは 1 つだけです: Score コンテキストです。これは \score コマンドによって作成されます。また、簡単な楽譜では、これは自動的に作成されます。

1 つだけのボイスと 1 つだけの譜表を持つ楽譜では、VoiceStaff コンテキストは自動的に作成されるために放っておかれるかもしれません。しかしながら、より複雑な楽譜では、これらを手ずから作成する必要があります。これらを作成する最も簡単なコマンドは \new です。これは音楽表記の前に置きます。例を挙げます:

\new type music-expression

ここで、type はコンテキスト名です (StaffVoice など)。このコマンドは新しいコンテキストを作成し、そのコンテキストの中にある music-expression の解釈を開始します。

\new Score というコマンドは無いということに注意してください。単一の最上位 Score コンテキストは \score で作成されます。

これまでに、新たに StaffVoice コンテキストを作成する多くの実際的な例を見てきましたが、これらのコマンドが実際にどのように使用されるのかを覚えてもらうために、実際の音楽に注釈を付けた例を挙げます:

\score {  % start of single compound music expression
  <<  % start of simultaneous staves section
    \time 2/4
    \new Staff {  % create RH staff
      \key g \minor
      \clef "treble"
      \new Voice {  % create voice for RH notes
        \relative c'' {  % start of RH notes
          d4 ees16 c8. |
          d4 ees16 c8. |
        }  % end of RH notes
      }  % end of RH voice
    }  % end of RH staff
    \new Staff <<  % create LH staff; needs two simultaneous voices
      \key g \minor
      \clef "bass"
      \new Voice {  % create LH voice one
        \voiceOne
        \relative g {  % start of LH voice one notes
          g8 <bes d> ees, <g c> |
          g8 <bes d> ees, <g c> |
        }  % end of LH voice one notes
      }  % end of LH voice one
      \new Voice {  % create LH voice two
        \voiceTwo
        \relative g {  % start of LH voice two notes
          g4 ees |
          g4 ees |
        }  % end of LH voice two notes
      }  % end of LH voice two
    >>  % end of LH staff
  >>  % end of simultaneous staves section
}  % end of single compound music expression

[image of music]

(波括弧 { や 2 重山括弧 << の中でブロックになっているすべての記述には括弧よりもスペースが 2 つ多いインデントを付けられていて、閉じ括弧には括弧の開始行と同じインデントを付けられているということに注意してください。これは必須ではありませんが、こうしておくと ‘unmatched backet’ (「括弧が一致しない」) エラーを大幅に減らすことができますので、強く推奨します。これにより、音楽の構造を簡単に見て取ることができ、一致していない括弧が明瞭になります。さらに、RH 譜表はボイスを 1 つだけしか必要としないために波括弧によって囲まれた単一の音楽表記として作成されているのに対して、LH 譜表は 2 つのボイスを必要とするために 2 重山括弧を使って作成されていることに注意してください。)

また、\new コマンドはコンテキストに識別名を与えて、そのコンテキストを同じタイプの他のコンテキストと区別することを可能にするかもしれません:

\new type = id music-expression

Staff, Voice などといったコンテキスト タイプの名前とそのようなコンテキスト タイプのインスタンスの名前 –これはユーザによって提供され、どのような文字の連なりにもなり得ます – の違いに注意してください。数字とスペースも識別名に使用することができますが、その場合クォートで囲まなければなりません – つまり、\new Staff = "MyStaff 1" music-expression のようになります。識別名はコンテキストのあるインスタンスを参照するために使用されます。このことを歌詞についてのセクションで見てきました。ボイスとボーカル を参照してください。

参照

記譜法リファレンス: Creating contexts


3.3.3 エングラーバの説明

LilyPond によって作成された楽譜上にあるすべての記号は Engraver によって作り出されます。つまり、譜を譜刻するエングラーバがあり、符頭を譜刻するエングラーバ、符幹を譜刻するエングラーバ、連桁を譜刻するエングラーバなどなどです。そのようなエングラーバは 120 以上あります!幸いなことに、たいていの楽譜では数個のエングラーバについて知っていれば良く、簡単な楽譜ではまったく知らなくても大丈夫です。

エングラーバはコンテキストの中に存在し、そこで活動します。Metronome_mark_engraver などといった楽譜全体に影響を与えるエングラーバは最上位のコンテキスト – Score コンテキスト – で活動します。

Clef_engraverKey_engraver は各 Staff コンテキストの中で見つかります – 譜が異なれば音部記号や調号も異なるかもしれないからです。

Note_heads_engraverStem_engraver は各 Voice コンテキスト – 最下位のコンテキスト – の中にあります。

各エングラーバはそれの機能に関連付けされているある特定のオブジェクトを処理し、機能に関連するプロパティを維持します。コンテキストに関連付けされているプロパティなどのようにこれらのプロパティは、エングラーバの処理を変更するためや、譜刻される楽譜の中にある要素の見た目を変更するために、変更されるかもしれません。

エングラーバはすべてそれらの機能を記述する単語から形成された複合名を持ちます。最初の単語の最初の文字は大文字であり、その後に続く単語はアンダスコアで連結されます。ですから、Staff_symbol_engraver には譜表の線を作成する責任があり、Clef_engraver は音部記号を描くことによってピッチの参照ポイントを決定、セットします。

ここに、最も一般的なエングラーバをいくつかそれらの機能とともに挙げます。たいていの場合、名前から簡単に機能を推測でき、その逆も成り立つことがわかるでしょう。

エングラーバ

機能

Accidental_engraver

臨時記号 (警告的臨時記号とアドバイス的な臨時記号を含む) を作成します。

Beam_engraver

連桁を譜刻します。

Clef_engraver

音部記号を譜刻します。

Completion_heads_engraver

小節線をまたがる音符を分割します。

New_dynamic_engraver

強弱記号 (クレッシェンド、デクレッシェンド) と強弱テキスト (p や f など) を作成します。

Forbid_line_break_engraver

音楽要素がアクティブなままである場合に改行されることを防ぎます。(訳者: いわゆる禁則処理)

Key_engraver

調号を作成します。

Metronome_mark_engraver

メトロノーム記号を譜刻します。

Note_heads_engraver

符頭を譜刻します。

Rest_engraver

休符を譜刻します。

Staff_symbol_engraver

(デフォルトで) 五線の譜表を譜刻します。

Stem_engraver

符幹と単一符幹のトレモロを作成します。

Time_signature_engraver

拍子記号を作成します。


後ほど、エングラーバのアクションを変更することによって LilyPond の出力がどのように変わるのかを見ていきます。

参照

内部リファレンス: Engravers and Performers


3.3.4 コンテキスト プロパティを変更する

コンテキストにはいくつかのコンテキスト プロパティを保持する責任があります。それらプロパティの多くは変更可能であり、変更することで入力の構文解釈に影響を与えて出力の見た目を変化させます。それらプロパティは \set コマンドによって変更されます。これは以下のような形で行います:

\set ContextName.propertyName = #value

ontextName には通常、Score, Staff or Voice が入ります。これを省略する場合もあり、そのような場合は Voice であると見なされます。

コンテキスト プロパティの名前はハイフンやアンダスコアを使わずに連結された単語によって形成され、最初の単語を除いて単語の最初の文字は大文字になります。ここで、一般的に使用されるコンテキスト プロパティの例をいくつか挙げます。実際には、コンテキスト プロパティはもっとたくさんあります。

プロパティ名

タイプ

機能

実際の値の例

extraNatural

ブール値

真の場合、追加のナチュラル記号を臨時記号の前にセットします

#t, #f

currentBarNumber

整数

小節番号をセットします

50

doubleSlurs

ブール値

真の場合、音符の上と下の両方にスラーを譜刻します

#t, #f

instrumentName

テキスト

譜表の先頭に表示される名前をセットします

"Cello I"

fontSize

実数

フォント サイズを増減させます

2.4

stanza

テキスト

歌詞の先頭に譜刻されるテキストをセットします

"2"

ここでのブール値とは真 (#t) または偽 (#f) のどちらかであり、整数とは正の整数であり、実数とは正または負の小数点付きの数であり、テキストはダブル アポストロフィで囲まれます。ハッシュ記号 (#) が 2 つの異なる箇所で出現することに注意してください – ブール値での tf の前と、\set でのの前です。そのため、\set の値にブール値を挿入する場合、ハッシュ記号が 2 つ必要になります – つまり ##t です。

これらのプロパティのいずれかをセットする前に、それらが操作するコンテキストはどれなのかを知る必要があります。これは明らかな場合もありますが、ややこしい場合もあります。間違ったコンテキストが指定された場合、エラー メッセージは表示されませんが、予期したアクションが起こりません。例えば、instrumentName は間違いなく Staff コンテキストの中にきます。なぜなら、このプロパティが名前を付けるのは譜表だからです。以下の例では、最初の譜表には名前が付けられていますが、2 番目の譜表には付けられていません。なぜなら、コンテキスト名を省略しているからです。

<<
  \new Staff \relative c'' {
    \set Staff.instrumentName = #"Soprano"
    c4 c
 }
  \new Staff \relative c' {
  \set instrumentName = #"Alto"  % Wrong!
  d4 d
 }
>>

[image of music]

デフォルトのコンテキスト名は Voice であることを思い出してください。このため、2 番目の \set コマンドは Voice コンテキストのプロパティ instrumentName を “Alto” にセットしています。しかしながら、LilyPond は Voice コンテキストでそのようなプロパティを見つけ出さないため、何のアクションも起こしません。これはエラーではなく、ログ ファイルにエラー メッセージは残りません。

同様に、プロパティ名の綴りを間違えた場合もエラー メッセージは表示されず、予期したアクションが起こりません。実際のところ、\set コマンドを使って、存在するいかなるコンテキストにでも、いかなる (架空の) ‘プロパティ’ をセットすることができます。しかしながら、そのプロパティ名を LilyPond が知らない場合、何のアクションも起こしません。LilyPond 入力ファイルに対する特別なサポートを持ついくつかのテキスト エディタは、あなたがプロパティ名の上にマウスを持ってくるとバレット (テキストの先頭に付く小丸) 付きのプロパティ名を表示してそのプロパティの裏づけを行い (LilyPondTool を持つ JEdit)、あるいは未知のプロパティ名をハイライトします (ConTEXT)。そのような機能を持つエディタを使用していないのなら、内部リファレンスでプロパティ名をチェックすることを推奨します: Tunable context properties Contexts を参照してください。

instrumentName プロパティは Staff コンテキストの中にセットされた場合にのみ効果を持ちますが、いくつかのプロパティは複数のコンテキストの中にセットすることができます。例えば、プロパティ extraNatural はすべての譜に対してデフォルトで ##t (真) にセットされています。ある特定の Staff コンテキストでこれを ##f (偽) にセットした場合、その譜表の臨時記号にのみ適用されます。これを Score コンテキストにセットした場合、すべての譜に適用されます。

それでは、ある譜表の追加ナチュラル記号を消してみます:

<<
  \new Staff \relative c'' {
    ais4 aes
 }
  \new Staff \relative c'' {
    \set Staff.extraNatural = ##f
    ais4 aes
 }
>>

[image of music]

さらに、すべての譜の追加ナチュラル記号を消します:

<<
  \new Staff \relative c'' {
    ais4 aes
 }
  \new Staff \relative c'' {
    \set Score.extraNatural = ##f
    ais4 aes
 }
>>

[image of music]

他の例としては、clefOctavationScore コンテキストにセットされた場合、直ちにすべての譜でのオクターブの値を変更し、すべての譜に適用される新しいデフォルト値をセットします。

逆のことを行うコマンド \unset はコンテキストからプロパティを削除し、それによりたいていのプロパティはデフォルト値に戻ります。通常、望みのことを達成するために新たな \set コマンドを用いる場合、\unset は必要ありません。

\set\unset コマンドは入力ファイルのどこにでも現れる可能性があり、そのコマンドが出現した時点から、楽譜の終わりまたはそのプロパティが再度 \set\unset されるまで効果を持ちます。フォント サイズを変更してみましょう。それにより (他のものに加えて) 符頭のサイズが何段階か変更されます。変更は直前にセットされた値から行われるのではなく、デフォルト値から行われます。

c4
% make note heads smaller
\set fontSize = #-4
d e
% make note heads larger
\set fontSize = #2.5
f g
% return to default size
\unset fontSize
a b

[image of music]

これまでにいくつかのタイプのプロパティ値をセットする方法を見てきました。整数と番号の前には常にハッシュ記号 # が付き、真と偽の値は 2 つのハッシュ記号を付けて ##t##f によって指定されてるということに注意してください。テキスト プロパティは上で示したようにダブル クォーテーションによって囲まれます。しかしながら、後ほど、テキストは実際には非常に強力な markup コマンドを用いたもっと一般的な方法で指定できるということを見ていきます。

Setting context properties with \with

コンテキスト プロパティはコンテキストが作成されるときにセットされることもあるかもしれません。この設定がコンテキスト全体で保持される場合、この方法でプロパティ値を指定すると明瞭になります。コンテキストが \new コマンドで作成されるとき、その直後に \with { .. } ブロックが続き、その中でプロパティ値がセットされるかもしれません。例えば、ある譜表全体で追加のナチュラルの表示を抑制しようとする場合、以下のように書きます:

\new Staff \with { extraNatural = ##f }

そして、以下のように使用します:

<<
  \new Staff
  \relative c'' {
    gis ges aes ais
  }
  \new Staff \with { extraNatural = ##f }
  \relative c'' {
    gis ges aes ais
  }
>>

[image of music]

この方法でプロパティをセットした場合でも、\set を使って動的に変更されたり、\unset を使ってデフォルト値に戻されたりするかもしれません。

fontSize プロパティの扱いは異なります。これが \with の中でセットされた場合、フォント サイズのデフォルト値をセットし直します。そのあとでフォント サイズが \set によって変更された場合、\with でセットされた新しいデフォルト値は \unset fontSize コマンドによって元に戻されるかもしれません。

Setting context properties with \context

コンテキスト プロパティの値は単一のコマンドによってある特定のタイプのコンテキストすべて – すべての Staff コンテキストなどのように – にセットされるかもしれません。プロパティをセットするコンテキストのタイプは、Staff のようなそのコンテキストのタイプ名に接頭辞としてバック スラッシュを付けたもの – \Staff のように – によって指定されます。プロパティ値をセットするための記述は上で紹介した \with ブロックの中の記述と同じです。この記述は \layout ブロック内部の \context ブロックの中に置かれます。各 \context ブロックは、その \layout ブロックが置かれている \score または \book ブロック全体を通じて、指定されたタイプのコンテキストすべてに対して効果を持ちます。ここで、記述方法を示すための例を挙げます:

\score {
  \new Staff {
    \relative c'' {
      cis4 e d ces
    }
  }
  \layout {
    \context {
      \Staff
      extraNatural = ##t
    }
  }
}

[image of music]

この方法でセットされたコンテキスト プロパティは、\with ブロックの中の記述によって、さらには、音楽表記の中に埋め込まれた \set コマンドによって、ある特定のコンテキスト インスタンスでは上書きされるかもしれません。

参照

記譜法リファレンス: Changing context default settings

内部リファレンス: Contexts, Tunable context properties


3.3.5 エングラーバを追加 / 削除する

これまでに、コンテキストはそれぞれにいくつかのエングラーバを保持し、それぞれのエングラーバは出力のある特定部分 – 小節線、譜、符頭、符幹など – の譜刻に責任を持つということを見てきました。あるエングラーバがコンテキストから削除されると、それはもはや出力を行いません。これは出力を変更するための荒っぽい方法ですが、役に立つ場合もあります。

Changing a single context

あるコンテキストからあるエングラーバを削除するには、前のセクションで見てたきたのと同様に、コンテキスト作成コマンドの直後に置く \with コマンドを使用します。

例として、前のセクションで使用した例から譜表線を取り除いてみましょう。譜表線は Staff_symbol_engraver によって作り出されるということを思い出してください。

\new Staff \with {
  \remove Staff_symbol_engraver
}
\relative c' {
  c4
  \set fontSize = #-4  % make note heads smaller
  d e
  \set fontSize = #2.5  % make note heads larger
  f g
  \unset fontSize  % return to default size
  a b
}

[image of music]

さらに、エングラーバは個々のコンテキストに追加されることもあります。エングラーバを追加するコマンドは以下のようなものです:

\consists Engraver_name,

これを \with ブロックの中に置きます。いくつかのボーカル譜は、その譜表の中にある音符の範囲を示すために、譜表の開始点に音域 (ambitus) を置きます – ambitus を参照してください。音域は Ambitus_engraver によって作成され、普通は、これはどのコンテキストにも含まれません。これを Voice コンテキストに追加した場合、それはそのボイスのみから音域を計算します:

\new Staff <<
  \new Voice \with {
    \consists Ambitus_engraver
  }
  \relative c'' {
    \voiceOne
    c a b g
  }
  \new Voice
  \relative c' {
    \voiceTwo
    c e d f
  }
>>

[image of music]

しかし、音域エングラーバを Staff コンテキストに追加した場合、そのエングラーバはその譜表上にあるすべてのボイスの中の音符から音域を計算します:

\new Staff \with {
    \consists Ambitus_engraver
  }
  <<
  \new Voice
  \relative c'' {
    \voiceOne
    c a b g
  }
  \new Voice
  \relative c' {
    \voiceTwo
    c e d f
  }
>>

[image of music]

Changing all contexts of the same type

上の例では、個々のコンテキストにエングラーバを追加あるいは削除する方法を示しました。さらに、そのコマンドを \layout ブロックの中の適当なコンテキストの中に置くことによって、ある特定のタイプのコンテキストすべてにエングラーバを追加あるいは削除することもできます。例えば、4 つの譜表を持つ楽譜ですべての譜表に音域を表示する場合、以下のように記述します:

\score {
  <<
    \new Staff <<
      \relative c'' { c a b g }
    >>
    \new Staff <<
      \relative c' { c a b g }
    >>
    \new Staff <<
      \clef "G_8"
      \relative c' { c a b g }
    >>
    \new Staff <<
      \clef "bass"
      \relative c { c a b g }
    >>
  >>
  \layout {
    \context {
      \Staff
      \consists Ambitus_engraver
    }
  }
}

[image of music]

また、コンテキスト プロパティの値も、上記と同様に \context ブロックの中に \set を含ませることによって、ある特定のタイプのコンテキストすべてに対してセットすることができます。

参照

記譜法リファレンス: Modifying context plug-ins, Changing context default settings


3.4 テンプレートを拡張する

あなたはチュートリアルを読み終えました。あなたはどのように音楽を書くかを知っていて、基礎となるコンセプトを理解しています。しかし、どうやったらあなたはあなたが望む譜表を手に入れられるでしょうか?あなたにとって良いスタート地点となるかもしれない多くのテンプレートがあります (テンプレート を参照してください)。しかしながら、あなたの望むものがそこでカバーされていなかったらどうしましょう?続きを読んでください。


3.4.1 ソプラノとチェロ

あなたが最終的に望むものに最も近いテンプレートから始めてください。ソプラノとチェロのための楽譜を書きたいということにしましょう。ここでは、‘音符と歌詞’ (ソプラノ パート用) から始めることにします。

\version "2.13.45"
melody = \relative c' {
  \clef treble
  \key c \major
  \time 4/4
  a4 b c d
}

text = \lyricmode {
  Aaa Bee Cee Dee
}

\score {
  <<
    \new Voice = "one" {
      \autoBeamOff
      \melody
    }
    \new Lyrics \lyricsto "one" \text
  >>
  \layout { }
  \midi { }
}

これにチェロ パートを追加していきます。‘音符のみ’ のテンプレートを見てみましょう:

\version "2.13.45"
melody = \relative c' {
  \clef treble
  \key c \major
  \time 4/4
  a4 b c d
}

\score {
  \new Staff \melody
  \layout { }
  \midi { }
}

\version コマンドは 2 つも必要ありません。melody セクションは必要です。\score セクションは 2 つも必要ありません – \score が 2 つあると、2 つのパートがばらばらになります。2 つのパートをデュオのように一緒にしたいのです。\score セクションの中に \layout\midi は 2 つも必要ありません。

単に melody セクションをカット&コピーした場合、melody 定義が 2 つになります。これはエラーにはなりませんが、2 番目の定義が両方の旋律で使われることになります。そのため、2 つの旋律を区別するためにリネームします。ソプラノ用のセクションを sopranoMusic と呼び、チェロ用のセクションを celloMusic と呼ぶことにします。リネームするときに、textsopranoLyrics とりネームしましょう。これらのインスタンスをリネームすることも忘れないでください −- 初期定義 (melody = \relative c' { 部分) とその名前が使われているところ (\score セクションの中) の両方です。

リネームする際に、チェロ パートの譜表も変更しましょう −- 通常、チェロは低音部を使用します。さらに、チェロの音符を変えてみます。

\version "2.13.45"
sopranoMusic = \relative c' {
  \clef treble
  \key c \major
  \time 4/4
  a4 b c d
}

sopranoLyrics = \lyricmode {
  Aaa Bee Cee Dee
}

celloMusic = \relative c {
  \clef bass
  \key c \major
  \time 4/4
  d4 g fis8 e d4
}

\score {
  <<
    \new Voice = "one" {
      \autoBeamOff
      \sopranoMusic
    }
    \new Lyrics \lyricsto "one" \sopranoLyrics
  >>
  \layout { }
  \midi { }
}

これでうまくいくように見えますが、チェロ パートが楽譜に表示されません −- チェロ パートを \score セクションの中で使っていないからです。チェロ パートをソプラノ パートの下に表示させたいのなら、以下をソプラノの譜の下に追加する必要があります:

\new Staff \celloMusic

さらに、音楽を <<>> で囲む必要もあります −- これは LilyPond に複数のもの (この場合は 2 つの Stave) が同時に起こるということを知らせます。\score は以下のようになります:

\score {
  <<
  <<
    \new Voice = "one" {
      \autoBeamOff
      \sopranoMusic
    }
    \new Lyrics \lyricsto "one" \sopranoLyrics
  >>
  \new Staff \celloMusic
  >>
  \layout { }
  \midi { }
}

これは少し見にくいです。インデントがきちんと入っていません。これは簡単に修正できます。ここで、完成したソプラノとチェロ用のテンプレートを挙げます。

\version "2.13.45"
sopranoMusic = \relative c' {
  \clef treble
  \key c \major
  \time 4/4
  a4 b c d
}

sopranoLyrics = \lyricmode {
  Aaa Bee Cee Dee
}

celloMusic = \relative c {
  \clef bass
  \key c \major
  \time 4/4
  d4 g fis8 e d4
}

\score {
  <<
    <<
      \new Voice = "one" {
        \autoBeamOff
        \sopranoMusic
      }
      \new Lyrics \lyricsto "one" \sopranoLyrics
    >>
    \new Staff \celloMusic
  >>
  \layout { }
  \midi { }
}

[image of music]

参照

開始点となるテンプレートは付録 ‘テンプレート’ で見つけることができます。単一の譜表 を参照してください。


3.4.2 4 パート SATB ボーカル譜

Mendelssohn の Elijah や Handel の Messiah などのオーケストラ伴奏付きの 4 パート聖歌隊のために書かれたボーカル譜の多くは 4 つの譜上に音符と歌詞を持ち、それぞれの譜は SATB (ソプラノ、アルト、テナー、バス) のうちの 1 つであり、その下にオーケストラ伴奏のピアノ譜が付きます。ここで、Handel の Messiah から例を挙げます:

[image of music]

このレイアウトをそのまま提供するテンプレートはありません。最も近いのは ‘SATB ボーカル譜と自動ピアノ伴奏譜’ – 合唱 を参照してください – ですが、レイアウトを変更して、ボーカル パートから自動的に生成されたものではないピアノ伴奏譜を付け加える必要があります。ボーカル パートのための音楽と歌詞を保持している変数はそのまま使えますが、ピアノ伴奏譜のための変数を付け加える必要があります。

テンプレートの ChoirStaff の中でコンテキストが出現する順序は上で示したボーカル譜の順序と一致していません。そのため、コンテキストを再配置して、それぞれの歌詞が対応する譜表のすぐ下にくるようにします。すべてのボイスは \voiceOne – これがデフォルトです – になるべきなので、\voiceXXX コマンドは削除すべきです。さらに、テノールに対してハ音記号 (中音部記号) を指定する必要があります。テンプレートの中で歌詞を指定する方法はまだ説明していませんので、馴染みのある方法を使用する必要があります。さらに、それぞれの譜に名前を追加すべきです。

以上のことを ChoirStaff に対して行います:

    \new ChoirStaff <<
      \new Staff = "sopranos" <<
        \set Staff.instrumentName = #"Soprano"
        \new Voice = "sopranos" { \global \sopranoMusic }
      >>
      \new Lyrics \lyricsto "sopranos" { \sopranoWords }
      \new Staff = "altos" <<
        \set Staff.instrumentName = #"Alto"
        \new Voice = "altos" { \global \altoMusic }
      >>
      \new Lyrics \lyricsto "altos" { \altoWords }
      \new Staff = "tenors" <<
        \set Staff.instrumentName = #"Tenor"
        \new Voice = "tenors" { \global \tenorMusic }
      >>
      \new Lyrics \lyricsto "tenors" { \tenorWords }
      \new Staff = "basses" <<
        \set Staff.instrumentName = #"Bass"
        \new Voice = "basses" { \global \bassMusic }
      >>
      \new Lyrics \lyricsto "basses" { \bassWords }
    >>  % end ChoirStaff

次にピアノ パートに取り掛からなければなりません。これは簡単です – ‘ソロ ピアノ’ テンプレートからピアノ パートを引き抜いてくるだけです:

\new PianoStaff <<
  \set PianoStaff.instrumentName = #"Piano  "
  \new Staff = "upper" \upper
  \new Staff = "lower" \lower
>>

そして、upperlower に変数定義を付け加えます。

ChoirStaffPianoStaff の上に置きたいので、それらを山括弧を使って組み合わせなければなりません:

<<  % combine ChoirStaff and PianoStaff one above the other
  \new ChoirStaff <<
    \new Staff = "sopranos" <<
      \new Voice = "sopranos" { \global \sopranoMusic }
    >>
    \new Lyrics \lyricsto "sopranos" { \sopranoWords }
    \new Staff = "altos" <<
      \new Voice = "altos" { \global \altoMusic }
    >>
    \new Lyrics \lyricsto "altos" { \altoWords }
    \new Staff = "tenors" <<
      \clef "G_8"  % tenor clef
      \new Voice = "tenors" { \global \tenorMusic }
    >>
    \new Lyrics \lyricsto "tenors" { \tenorWords }
    \new Staff = "basses" <<
      \clef "bass"
      \new Voice = "basses" { \global \bassMusic }
    >>
    \new Lyrics \lyricsto "basses" { \bassWords }
  >>  % end ChoirStaff

  \new PianoStaff <<
    \set PianoStaff.instrumentName = #"Piano"
    \new Staff = "upper" \upper
    \new Staff = "lower" \lower
  >>
>>

これらすべてを組み合わせて、上の例の 3 小節分の音楽を付け加えます:

\version "2.13.45"
global = { \key d \major \time 4/4 }
sopranoMusic = \relative c'' {
  \clef "treble"
  r4 d2 a4 | d4. d8 a2 | cis4 d cis2 |
}
sopranoWords = \lyricmode {
  Wor -- thy is the lamb that was slain
}
altoMusic = \relative a' {
  \clef "treble"
  r4 a2 a4 | fis4. fis8 a2 | g4 fis fis2 |
}
altoWords = \sopranoWords
tenorMusic = \relative c' {
  \clef "G_8"
  r4 fis2 e4 | d4. d8 d2 | e4 a, cis2 |
}
tenorWords = \sopranoWords
bassMusic = \relative c' {
  \clef "bass"
  r4 d2 cis4 | b4. b8 fis2 | e4 d a'2 |
}
bassWords = \sopranoWords
upper = \relative a' {
  \clef "treble"
  \global
  r4 <a d fis>2 <a e' a>4 |
  <d fis d'>4. <d fis d'>8 <a d a'>2 |
  <g cis g'>4 <a d fis> <a cis e>2 |
}
lower = \relative c, {
  \clef "bass"
  \global
  <d d'>4 <d d'>2 <cis cis'>4 |
  <b b'>4. <b' b'>8 <fis fis'>2 |
  <e e'>4 <d d'> <a' a'>2 |
}

\score {
  <<  % combine ChoirStaff and PianoStaff in parallel
    \new ChoirStaff <<
      \new Staff = "sopranos" <<
        \set Staff.instrumentName = #"Soprano"
        \new Voice = "sopranos" { \global \sopranoMusic }
      >>
      \new Lyrics \lyricsto "sopranos" { \sopranoWords }
      \new Staff = "altos" <<
        \set Staff.instrumentName = #"Alto"
        \new Voice = "altos" { \global \altoMusic }
      >>
      \new Lyrics \lyricsto "altos" { \altoWords }
      \new Staff = "tenors" <<
        \set Staff.instrumentName = #"Tenor"
        \new Voice = "tenors" { \global \tenorMusic }
      >>
      \new Lyrics \lyricsto "tenors" { \tenorWords }
      \new Staff = "basses" <<
        \set Staff.instrumentName = #"Bass"
        \new Voice = "basses" { \global \bassMusic }
      >>
      \new Lyrics \lyricsto "basses" { \bassWords }
    >>  % end ChoirStaff

    \new PianoStaff <<
      \set PianoStaff.instrumentName = #"Piano  "
      \new Staff = "upper" \upper
      \new Staff = "lower" \lower
    >>
  >>
}

[image of music]


3.4.3 ゼロから楽譜を構築する

LilyPond コードを書くことにある程度熟練した後、あなたはテンプレートの 1 つを変更するよりもゼロから楽譜を構築するほうがより容易であることに気づくかもしれません。さらに、あなたはこの方法であなたの好みのタイプの音楽に適したあなた自身のスタイルを開発することもできます。例として、オルガン前奏曲のための楽譜を作成する手順を見てみましょう。

ヘッダ セクションから始めます。そこでタイトル、作曲者の名前などを記述し、それから任意の変数を定義し、最後にスコア ブロックに取り掛かります。以上のことを概要から始めて、その後に詳細を詰めていきます。

Jesu, meine Freude – これは 2 つの鍵盤とペダルを持つオルガンのために書かれたものです – をベースとする Bach の前奏曲の最初の 2 小節を使います。このセクションの最後でこの音楽の最初の 2 小節を見ることができます。上段鍵盤パートは 2 つのボイスを持ち、下段鍵盤とペダルはそれぞれ 1 つのボイスを持ちます。そのため、4 つの音楽定義と、拍子記号と調号を定義するための 1 つの音楽定義が必要となります:

\version "2.13.45"
\header {
  title = "Jesu, meine Freude"
  composer = "J S Bach"
}
TimeKey = { \time 4/4 \key c \minor }
ManualOneVoiceOneMusic = {s1}
ManualOneVoiceTwoMusic = {s1}
ManualTwoMusic = {s1}
PedalOrganMusic = {s1}

\score {
}

ここでは、実際の音楽の代わりに空白音符 s1 を使用しました。実際の音楽は後で付け加えます。

次に、スコア ブロックで何をすべきなのかを見ていきましょう。単純に望む譜表構造を反映させます。通常、オルガン音楽は 3 つの譜で書かれます – 2 つの鍵盤とペダルのための譜です。鍵盤の譜はブレース (譜表の左端の波括弧) でまとめられているべきなので、それらに対して PianoStaff を使用する必要があります。1 番目の鍵盤パートは 2 つのボイスを必要とし、2 番目の鍵盤パートは 1 つだけボイスを必要とします。

  \new PianoStaff <<
    \new Staff = "ManualOne" <<
      \new Voice { \ManualOneVoiceOneMusic }
      \new Voice { \ManualOneVoiceTwoMusic }
    >>  % end ManualOne Staff context
    \new Staff = "ManualTwo" <<
      \new Voice { \ManualTwoMusic }
    >>  % end ManualTwo Staff context
  >>  % end PianoStaff context

次にペダル オルガンのための譜表を付け加える必要があります。これは PianoStaff の下にきますが、PianoStaff と同時進行でなければなりませんので、ペダル オルガンのための譜表と PianoStaff を山括弧で囲む必要があります。これを忘れるとエラーがログ ファイルに生成されます。このエラーはあなたが早かれ遅かれ遭遇する一般的なミスです!生成されるエラーを確認するために、このセクションの最後にある例をコピーし、この山括弧を削除し、コンパイルしてみてください。

<<  % PianoStaff and Pedal Staff must be simultaneous
  \new PianoStaff <<
    \new Staff = "ManualOne" <<
      \new Voice { \ManualOneVoiceOneMusic }
      \new Voice { \ManualOneVoiceTwoMusic }
    >>  % end ManualOne Staff context
    \new Staff = "ManualTwo" <<
      \new Voice { \ManualTwoMusic }
    >>  % end ManualTwo Staff context
  >>  % end PianoStaff context
  \new Staff = "PedalOrgan" <<
    \new Voice { \PedalOrganMusic }
  >>
>>

2 番目の鍵盤パートとペダル オルガンの譜表は 1 つだけしか音楽表記を保持しないため、それらに対して同時進行構造 << .. >> を使う必要は必ずしもありません。しかしながら、そうしても害はありませんし、\new Staff の後に常に山括弧を置くというのは複数のボイスがある場合では推奨される良い習慣です。Voice はこれとは対照的に、あなたの音楽を連続して演奏すべきいくつかの変数に分けてコード化する場合に Voice の後に波括弧 { .. } を常に置くべきです。

この構造をスコア ブロックに付け加えて、インデントを調整しましょう。さらに、適切な音部記号を付け加え、\voiceOne\voiceTwo を使って上部譜の各ボイスで符幹、タイ、スラーの向きが正しくなるようにし、あらかじめ定義しておいた変数 \TimeKey を使って拍子記号と調号を各譜に挿入します。

\score {
  <<  % PianoStaff and Pedal Staff must be simultaneous
    \new PianoStaff <<
      \new Staff = "ManualOne" <<
        \TimeKey  % set time signature and key
        \clef "treble"
        \new Voice { \voiceOne \ManualOneVoiceOneMusic }
        \new Voice { \voiceTwo \ManualOneVoiceTwoMusic }
      >>  % end ManualOne Staff context
      \new Staff = "ManualTwo" <<
        \TimeKey
        \clef "bass"
        \new Voice { \ManualTwoMusic }
      >>  % end ManualTwo Staff context
    >>  % end PianoStaff context
    \new Staff = "PedalOrgan" <<
      \TimeKey
      \clef "bass"
      \new Voice { \PedalOrganMusic }
    >>  % end PedalOrgan Staff
  >>
}  % end Score context

これでこの構造は完成です。3 つの譜表を持つオルガン音楽はいずれも同様の構造を持ちますが、ボイスの数はさまざまになるかもしれません。この後に行うべきことは、音楽を付け加え、各パートを一緒にすることです。

\version "2.13.45"
\header {
  title = "Jesu, meine Freude"
  composer = "J S Bach"
}
TimeKey = { \time 4/4 \key c \minor }
ManualOneVoiceOneMusic = \relative g' {
  g4 g f ees | d2 c2 |
}
ManualOneVoiceTwoMusic = \relative c' {
  ees16 d ees8~ ees16 f ees d c8 d~ d c~ |
  c c4 b8 c8. g16 c b c d |
}
ManualTwoMusic = \relative c' {
  c16 b c8~ c16 b c g a8 g~ g16 g aes ees |
  f ees f d g aes g f ees d e8~ ees16 f ees d |
}
PedalOrganMusic = \relative c {
  r8 c16 d ees d ees8~ ees16 a, b g c b c8 |
  r16 g ees f g f g8 c,2 |
  }

\score {
  <<  % PianoStaff and Pedal Staff must be simultaneous
    \new PianoStaff <<
      \new Staff = "ManualOne" <<
        \TimeKey  % set time signature and key
        \clef "treble"
        \new Voice { \voiceOne \ManualOneVoiceOneMusic }
        \new Voice { \voiceTwo \ManualOneVoiceTwoMusic }
      >>  % end ManualOne Staff context
      \new Staff = "ManualTwo" <<
        \TimeKey
        \clef "bass"
        \new Voice { \ManualTwoMusic }
      >>  % end ManualTwo Staff context
    >>  % end PianoStaff context
    \new Staff = "PedalOrgan" <<
      \TimeKey
      \clef "bass"
      \new Voice { \PedalOrganMusic }
    >>  % end PedalOrgan Staff context
  >>
}  % end Score context

[image of music]


3.4.4 変数と関数を用いて入力の手間を省く

これまでに、以下のような記述を見てきました:

hornNotes = \relative c'' { c4 b dis c }
\score {
  {
    \hornNotes
  }
}

[image of music]

これは音楽表記を最小化するのに役に立つ可能性があるということに気付くかもしれません:

fragmentA = \relative c'' { a4 a8. b16 }
fragmentB = \relative c'' { a8. gis16 ees4 }
violin = \new Staff { \fragmentA \fragmentA \fragmentB \fragmentA }
\score {
  {
    \violin
  }
}

[image of music]

さらに、これらの変数 (変数、マクロ、(ユーザ定義) コマンドなどと呼ばれます) を調整のために使うこともできます:

dolce = \markup{ \italic \bold dolce }
padText = { \once \override TextScript #'padding = #5.0 }
fthenp=_\markup{ \dynamic f \italic \small { 2nd } \hspace #0.1 \dynamic p }
violin = \relative c'' {
  \repeat volta 2 {
    c4._\dolce b8 a8 g a b |
    \padText
    c4.^"hi there!" d8 e' f g d |
    c,4.\fthenp b8 c4 c-. |
  }
}
\score {
  {
    \violin
  }
\layout{ragged-right=##t}
}

[image of music]

これらの明らかに変数は入力の手間を省くのに役立っています。例えそれらの変数が 1 回しか使用されないとしても、変数化することを考慮する価値があります – 複雑さを減らします。以前に使用した変数を使っていない例を見てみましょう。それはとても読み難く、特に最後の行が読み難いです。

violin = \relative c'' {
  \repeat volta 2 {
    c4._\markup{ \italic \bold dolce } b8 a8 g a b |
    \once \override TextScript #'padding = #5.0
    c4.^"hi there!" d8 e' f g d |
    c,4.\markup{ \dynamic f \italic \small { 2nd }
      \hspace #0.1 \dynamic p } b8 c4 c-. |
  }
}

これまでに見てきたのは静的な置き換えです – LilyPond は \padText を見ると、それを定義した内容 (つまり、padText= の右側にあるもの) に置き換えます。

LilyPond は非静的な置き換えも処理できます (それらを関数と見なすことができます)。

padText =
#(define-music-function (parser location padding) (number?)
  #{
    \once \override TextScript #'padding = #$padding
  #})

\relative c''' {
  c4^"piu mosso" b a b
  \padText #1.8
  c4^"piu mosso" d e f
  \padText #2.6
  c4^"piu mosso" fis a g
}

[image of music]

変数を使うことは、LilyPond 入力構文に変更があった場合の作業を減らす良い方法でもあります ( 古い入力ファイルをアップデートする を参照してください)。あなたがあなたの入力ファイルすべてに使用する単一の定義 (\dolce のような) を持っていて、構文が変更された場合、すべての .ly ファイルを変更する代わりに、\dolce 定義をアップデートするだけで済みます。


3.4.5 楽譜とパート

TODO: this is really old stuff from the really old tutorial. Rewrite, fix, etc. Or maybe delete entirely. -gp Include section on tags -td and then move to section 5. Working ... -td

オーケストラ音楽では、すべての音符は 2 回譜刻されます。1 回は演奏家のためのパート譜で、1 回は指揮者のための総譜で譜刻されます。変数を使うことで二度手間を避けることができます。音楽は 1 回、変数に入力されます。その変数の内容は、パート譜と総譜の両方を生成するために使用されます。

音符を特別なファイルの中に定義すると便利です。例えば、ファイル horn-music.ly は以下のホルン/バスーン デュオのパートを保持しているとします:

hornNotes = \relative c {
  \time 2/4
  r4 f8 a cis4 f e d
}

個々のパートは、ファイルの中に以下の記述をすることによって作り出されます:

\include "horn-music.ly"
\header {
  instrument = "Horn in F"
}

{
 \transpose f c' \hornNotes
}

以下の行:

\include "horn-music.ly"

は、ファイルの中でその行が置かれている場所で、‘horn-music.ly’ の内容に置き換わり、hornNotes はその後に定義されます。コマンド \transpose f c' は、引数 \hornNotes は 5 度上へ移調すべきであるということを示しています。f の音は譜面に表記された c' で表され、これは通常のフレンチ ホルンを F にチューニングすることに相当します。この移調により出力は以下のようになります:

[image of music]

アンサンブルでは、しばしばボイスの 1 つが何小節も演奏されないことがあります。これは特別な休符 – 複小節休符 – によって示されます。これは大文字の R とその後に続く演奏時間 (全音符には 1、半音符には 2 などです) で入力されます。この演奏時間に掛け算を行うことによって、さらに長い休符を構築することができます。例えば、以下の休符は 2/4 拍子で 3 小節分の長さになります:

R2*3

この部分を譜刻するとき、複小節休符を圧縮する必要があります。これは以下のラン-タイム変数を設定することによって行います:

\set Score.skipBars = ##t

このコマンドは Score コンテキストの中にあるプロパティ skipBars を真 (##t) にセットします。この休符とオプションを上記の音楽の先頭に追加することによって、以下のような結果になります:

[image of music]

楽譜はすべての音楽を一緒にすることによって作り出されます。他のボイスはファイル ‘bassoon-music.ly’ の中の bassoonNotes の中にあると仮定すると、楽譜は以下のような記述で作られます:

\include "bassoon-music.ly"
\include "horn-music.ly"

<<
  \new Staff \hornNotes
  \new Staff \bassoonNotes
>>

そして、以下のような楽譜になります:

[image of music]


4. 出力を調整する

この章では出力を変更する方法について議論します。LilyPond は本当にさまざまな設定が可能です。もしかすると出力のすべての部分が変更されるかもしれません。


4.1 調整の基本


4.1.1 調整の紹介

‘調整’ は入力ファイルの解釈中にとられるアクションを変更し、譜刻される音楽の見た目を変更するためにユーザが利用可能なさまざまな手段を指す LilyPond の用語です。いくつかの調整はとても簡単に使うことができます。他の調整はもっと複雑です。しかしながら、調整のために利用可能な手段を組み合わせることによって、ほとんどいかなる望みの見た目を持った楽譜でも譜刻することが可能になります。

このセクションでは、調整を理解するのに必要な基礎となるコンセプトをカバーします。その後、コピーするだけで効果が得られる作成準備が完了しているさまざまなコマンドについての情報を提供し、同時に、あなたがあなた自身の調整を開発する方法を学べるようにそれらのコマンドがどのように構築されるのかを示します。

この章を読み始める前に、あなたは コンテキストとエングラーバ を再読することを望むかもしれません。なぜなら、コンテキスト、エングラーバとそれらの中に含まれるプロパティは調整について理解し、調整を構成するための基礎だからです。


4.1.2 オブジェクトとインタフェイス

調整には LilyPond プログラムの内部オペレーションと構造体への変更も含まれます。そのため、我々はまずそれらの内部オペレーションと構造体を記述するために使用されるいくつかの用語を導入しなければなりません。

‘オブジェクト’ という用語は入力ファイルを処理している最中に LilyPond によってビルドされる多くの内部構造体を参照するために使われる汎用的な用語です。LilyPond が \new Staff のようなコマンドに遭遇した場合、タイプ Staff の新しいオブジェクトを構築します。その Staff オブジェクトは、その譜表のコンテキスト内部で機能するために割り当てられているエングラーバの詳細とともに、その譜表に関連付けられているすべてのプロパティ – 例えば、その譜表の名前、調号 – を保持します。同様に、Voice オブジェクト、Score オブジェクト、Lyrics オブジェクトなどの他のすべてのコンテキストのプロパティを保持するためのオブジェクトが存在し、さらに、小節線、符頭、タイ、強弱記号などのすべての記譜要素を表すためのオブジェクトも存在します。各オブジェクトはそれ自体のプロパティ値のセットを持ちます。

いくつかのタイプのオブジェクトには特別な名前が与えられています。符頭、符幹、スラー、タイ、運指記号、音部記号などの譜刻される出力上の記譜要素を表すオブジェクトは ‘レイアウト オブジェクト’ と呼ばれ、しばしば ‘グラフィカル オブジェクト’ あるいは短くして ‘グロッブ (Grob: GRaphical OBject)’ と呼ばれます。これらのオブジェクトも上記の汎用的な観点から見るとオブジェクトであり、それゆえ、それらもまたそれらのオブジェクトに関連付けされたプロパティ – そのオブジェクトの位置、サイズ、色など – を持ちます。

いくつかのレイアウト オブジェクトも特別です。フレージング スラー、クレッシェンド、オッターバ (訳者: オクターブ?) 記号、他の多くのグラフィカル オブジェクトが置かれる場所は一点ではありません – それらは開始点、終了点、そしておそらくそれらの形に関係する他のプロパティを持ちます。これらのオブジェクトのように形が伸長されるオブジェクトは ‘スパナ (Spanners)’ と呼ばれます。

‘インタフェイス’ とは何なのかという説明が残っています。多くのオブジェクト – たとえそれらが非常に異なっていたとしても – は同じ方法で処理される必要がある共通特徴 (common feature) を共有します。例えば、すべてのグラフィカル オブジェクトは色、サイズ、位置などを持ち、これらのプロパティはすべて LilyPond が入力ファイルを構文解釈する最中に同じ方法で処理されます。これらの内部オペレーションを簡潔にするために、これらの共通アクションとプロパティは 1 つのグループとして grob-interface と呼ばれるオブジェクトにまとめられています。これと同じような共有プロパティのグループ化が他にも多くあり、それぞれに対して最後に interface が付く名前が与えられています。そのようなインタフェイスの総数は 100 を越えます。我々は後でなぜこれがユーザにとって利益となり、役に立つのかを見ていきます。

これらは、我々がこの章で使用するオブジェクトと関係する主要な用語です。


4.1.3 オブジェクトとプロパティの命名規約

我々は以前にも コンテキストとエングラーバ でいくつかのオブジェクト命名規約を見てきました。ここで参照のために、最も一般的なオブジェクトとプロパティをリストアップし、それに加えてそれらの命名規約と実際の名前の例を挙げます。何らかの大文字のアルファベットを表すために ‘A’ を使用し、いくつかの小文字のアルファベットを表すために ‘aaa’ を使用しています。他の文字は実際の命名でもそのまま使用されます。

オブジェクト/プロパティのタイプ

命名規約

コンテキスト

Aaaa や AaaaAaaaAaaa

Staff, GrandStaff

レイアウト オブジェクト

Aaaa や AaaaAaaaAaaa

Slur, NoteHead

エングラーバ

Aaaa_aaa_engraver

Clef_engraver, Note_heads_engraver

インタフェイス

aaa-aaa-interface

grob-interface, break-aligned-interface

コンテキスト プロパティ

aaa や aaaAaaaAaaa

alignAboveContext, skipBars

レイアウト オブジェクト プロパティ

aaa や aaa-aaa-aaa

direction, beam-thickness

これから見ていくのですが、タイプが異なるオブジェクトのプロパティは異なるコマンドによって変更されます。そのため、プロパティの名前からオブジェクトの種類を識別できるようになると役に立ちます。


4.1.4 調整手段

\override コマンド

我々はすでに コンテキスト プロパティを変更するエングラーバを追加 / 削除するコンテキストのプロパティを変更したり、エングラーバを追加/削除したりするために使用するコマンド \set\with を見てきました。ここでは更に重要ないくつかのコマンドについて見ていきます。

レイアウト オブジェクトのプロパティを変更するためのコマンドは \override です。このコマンドは LilyPond の奥深くにある内部プロパティを変更しなければならないため、これまで見てきたコマンドのように単純な構文ではありません。どのコンテキストの中にあるどのオブジェクトのどのプロパティを変更しなければならないのか、そこにセットする新しい値を何にするのかを正確に知っている必要があります。どのようにこれを行うのかを見ていきましょう。

このコマンドの一般的な構文は以下のようなものです:

\override Context.LayoutObject #'layout-property =
#value

これは Context コンテキストのメンバである LayoutObject という名前のレイアウトの layout-property という名前のプロパティに値 value をセットします。

必要とされているコンテキストが明白であり、それが最下位レベルのコンテキストである – つまり、Voice, ChordNamesLyrics である – 場合、その Context は省略可能可能であり (そして通常は省略されます)、この後の例の多くでも省略します。後ほど、コンテキストを指定しなければならない場合について見ていきます。

これから後のセクションでは広範囲に亘るプロパティとそれらの値を扱います。しかしながら、そのフォーマットとそれらのコマンドの使用方法を示すためには、容易に理解できる簡単なプロパティと値を 2, 3 使用してみるだけです。

今や、レイアウト プロパティの前に置かれなければならない #' やプロパティ値の前に置かれなければならない # について心配する必要はありません。これらは常にそのような形式で正確に記述されなければなりません。これは調整では最も一般的に使用されるコマンドであり、この章の残りの部分の大半ではプロパティ (変更コマンド) の使用方法を示すための例を記述しています。ここでは符頭の色を変更する簡単な例を挙げます:

c d
\override NoteHead #'color = #red
e f g
\override NoteHead #'color = #green
a b c

[image of music]

\revert コマンド

一旦オーバライドされると、そのプロパティは再度オーバライドされるか \revert コマンドに遭遇するまで新しい値のままでいます。\revert コマンドは以下の構文を持ち、プロパティの値をオリジナルのデフォルト値に戻します。何度か \override コマンドが発行されている場合は、前の値に戻すわけではないということに注意してください。

\revert Context.LayoutObject #'layout-property

繰り返しますが、\override コマンドでの Context と同様に、多くの場合で Context を記述する必要はありません。以下の例の多くで、Context は省略されます。ここでは、最後の 2 つの音符の符頭の色をデフォルトに戻します:

c d
\override NoteHead #'color = #red
e f g
\override NoteHead #'color = #green
a
\revert NoteHead #'color
b c

[image of music]

\once prefix

\override コマンドと \set コマンドには両方とも接頭辞 \once が付く可能性があります。これはその後に続く \override\set コマンドをその場一回限り有効にし、その後にそのプロパティの値をデフォルト値に戻します。上と同じ例を使って、以下のように 1 つだけの音符の色を変更することができます:

c d
\once \override NoteHead #'color = #red
e f g
\once \override NoteHead #'color = #green
a b c

[image of music]

\overrideProperty コマンド

オーバライド コマンドには \overrideProperty というもう 1 つのフォーマットがあり、時々必要となります。完璧を期すためにここでこれに言及しましたが、詳細は Difficult tweaks を参照してください。

\tweak コマンド

利用可能な最後の調整コマンドは \tweak です。これは同じタイミングで起こるオブジェクト – 和音の中にある音符などのように – のプロパティを変更するために使用されます。\override コマンドを使用すると和音の中にあるすべての音符に影響を与えます。一方、\tweak は入力ストリームの中でその \tweak のすぐ後にある要素 1 つだけに影響を与えます。

ここで例を挙げます。C メジャー コードの中にある真ん中の音符 (ミドル E) の符頭のサイズを変更したいとします。まず最初に、\once \override だとどうなるか見てみましょう:

  <c e g>4
  \once \override NoteHead #'font-size = #-3
  <c e g>
  <c e g>

[image of music]

このオーバライドは和音の中にあるすべての符頭に影響を与えています。これは和音の中にあるすべての音符が同じタイミングで起こるためであり、\once のアクションは \override と同様に同じタイミングで起こる、指定されたタイプすべてのレイアウト オブジェクトへのオーバライドに適用されます。

\tweak コマンドはこれとは異なるやり方で処理されます。これは入力ストリームの中ですぐ後に続く要素にだけ作用します。しかしながら、これは入力ストリームから直接作成されるオブジェクト – 本質的に符頭とアーティキュレーション – にだけ効果を持ちます。符幹や臨時記号などのオブジェクトは後で作成されるため、この方法では調整できません。さらに、\tweak が符頭に適用される場合、それらは和音の内部になければなりません – つまり、単一山括弧 < .. > の内部です。そのため、単一の音符 (和音ではない音符) を調整するには、\tweak コマンドはその音符とともに単一の山括弧で囲わなければなりません。

それでは例に戻り、この方法で和音の真ん中の音符のサイズを変更します:

  <c e g>4
  <c \tweak #'font-size #-3 e g>4

[image of music]

\tweak の構文は \override コマンドの構文とは異なるということに注意してください。コンテキストもレイアウト オブジェクトも指定されません。実際、それらを指定するとエラーになります。これらは両方とも入力ストリームの中で後に続く要素によって示されます。さらに、イコール記号を使うべきではないということに注意してください。そのため、\tweak コマンドの一般的な構文は単純に以下のようになります:

\tweak #'layout-property #value

さらに、\tweak コマンドは一連のアーティキュレーションの中にあるただ 1 つのアーティキュレーションを変更されるためにも使用できます。ここに例を挙げます:

a ^Black
  -\tweak #'color #red ^Red
  -\tweak #'color #green _Green

[image of music]

\tweak コマンドは、まるでそれがアーティキュレーションの一部であるかのように、アーティキュレーション マークの前に置かれなければならないということに注意してください。

さらに、\tweak コマンドは、同時に起こるネストされた連符記号のセットのうちの 1 つの見た目を変更するためにも使用されます。以下の例では、長い連符記号と 3 つの短い連符記号のうちの最初の連符記号が同時に起こります。そのため、\override コマンドだと両方の連符記号に適用されてしまいます。この例では、\tweak は 2 つの連符記号を区別するために使用されています。最初の \tweak コマンドは長い連符記号を音符の上に置くことを指定していて、2 番目の \tweak コマンドは最初の短い連符記号の数字を赤で描くことを指定しています。

\tweak #'direction #up
\times 4/3 {
  \tweak #'color #red
  \times 2/3 { c8[ c8 c8] }
  \times 2/3 { c8[ c8 c8] }
  \times 2/3 { c8[ c8 c8] }
}

[image of music]

ネストされた連符が同時に起こらない場合、それらの見た目は \override コマンドを用いた通常通りの方法で変更されるかもしれません:

\times 2/3 { c8[ c c]}
\once \override TupletNumber
  #'text = #tuplet-number::calc-fraction-text
\times 2/3 {
  c[ c]
  c[ c]
  \once \override TupletNumber #'transparent = ##t
  \times 2/3 { c8[ c c] }
\times 2/3 { c8[ c c]}
}

[image of music]

参照

記譜法リファレンス: The tweak command


4.2 内部リファレンス マニュアル


4.2.1 レイアウト オブジェクトのプロパティ

あなたがスラーを楽譜に描き、そのスラーが細すぎるためにもう少し太くしたいと思ったとします。どうやってスラーを太くしますか?以前に LilyPond の自由度の高さについて述べたので、そのようなことが可能であることは知っています。あなたはおそらく \override コマンドが必要であると推測するでしょう。しかしながら、スラーの太さプロパティは存在するのでしょうか?そして、それが存在するならどうやって変更するのでしょうか?このようなことに内部リファレンス マニュアルは触れています。内部リファレンス マニュアルには、あなたがスラーを太くするために必要な情報、他のすべての \override コマンドを構築するために必要な情報が含まれています。

内部リファレンスを見ていく前に一言警告です。これはリファレンス ドキュメントであり、説明はほんの少しかまったく含まれていません: リファレンスの目的は情報を正確に、かつ簡潔に提供することです。そのため、内部リファレンスを一見してひるんでしまうかもしれません。しかし、心配しないでください!ここにあるガイダンスと説明を読めば、少し練習するだけで、内部リファレンスから必要な情報を取り出せるようになります。

実際の音楽からの簡単な断片を持つ具体例を使用していきましょう:

{
  \time 6/8
  {
    r4 b8 b[( g]) g |
    g[( e]) e d[( f]) a |
    a g
  }
  \addlyrics {
    The man who feels love's sweet e -- mo -- tion
  }
}

[image of music]

ここで、スラーをもう少し太くしようと決めたことにします。それは可能でしょうか?スラーは確かにレイアウト オブジェクトです。そのため、その疑問は ‘スラーに属していて、太さを制御するプロパティは存在するのか?’ ということになります。その答えを得るために内部リファレンス – 縮めて IR – を見なければなりません。

あなたが使用しているバージョンの LilyPond のための内部リファレンスは LilyPond ウェブサイト http://lilypond.org で見つかるでしょう。ドキュメント ページに行き、内部リファレンスへのリンクをクリックしてください。学習目的のためには標準の HTML バージョンを使うべきであり、‘one big page’ (‘大きな 1 ページにまとめたもの’) や PDF を使うべきではありません。次の数段落を読めば、あなたが内部リファレンスを読むときに実際にすべきことがわかるでしょう。

内部リファレンスのトップ ページ下には 5 つのリンクがあります。バックエンド へのリンクを選択してください。そこにはレイアウト オブジェクトについての情報があります。バックエンド 下にある すべてのレイアウト オブジェクト へのリンクを選択してください。そのページには、あなたが使用しているバージョンの LilyPond で使用されるすべてのレイアウト オブジェクトがアルファベット順でリストアップされています。Slur へのリンクを選択すると、Slur のプロパティがリスト アップされます。

記譜法リファレンスからこのページを見つける方法もあります。スラーについて扱っているページで、内部リファレンスへのリンクが見つかるかもしれません。このリンクでこのページに直接行くことができます。しかしながら、あなたが調整するレイアウト オブジェクトの名前を想像できる場合は、すぐに内部リファレンスに行ってそこで探す方が簡単です。

内部リファレンスの Slur ページでは、まず Slur オブジェクトは Slur_engraver によって作成されるということが述べられています。それから、標準設定がをリストアップされています。標準設定はアルファベット順にはなっていないということに注意してください。太さを制御していそうなプロパティを探してブラウザをスクロール ダウンさせていくと、以下が見つかります:

thickness (number)
     1.2
     Line thickness, generally measured in line-thickness

これが太さを変更するプロパティのようです。thickness の値はであり、デフォルト値は 1.2、この値は他のプロパティでは line-thickness と呼ばれるということがわかります。

前にも言ったように、内部リファレンスには説明がほとんど、あるいはまったくありません。しかしながら、すでにスラーの太さを変えるための十分な情報を持っています。レイアウト オブジェクトの名前は Slur であり、変更するプロパティの名前は thickness であり、スラーをもっと太くするには新しい値を 1.2 よりも大きくすべきであることがわかります。

今度は、レイアウト オブジェクト名で見つけた値を置き換えることによって \override コマンドを構築することができます。コンテキストは省略します。最初は太さに非常に大きな値を割り当ててみます。それによって、そのコマンドが確かに機能していることを確かめることができます。実行するコマンドは以下のようになります:

\override Slur #'thickness = #5.0

プロパティ名の前に #' を付けること、新しい値の前に # を付けることを忘れないでください!

最後の疑問は ‘このコマンドをどこに置くべきか?’ ということです。そのことについて不確かであり、学んでいる最中であるのならば、ベストな答えはこうです ‘音楽表記の内部で、最初のスラーの直前’。ではやってみましょう:

{
  \time 6/8
  {
    % Increase thickness of all following slurs from 1.2 to 5.0
    \override Slur #'thickness = #5.0
    r4 b8 b[( g]) g |
    g[( e]) e d[( f]) a |
    a g
  }
  \addlyrics {
    The man who feels love's sweet e -- mo -- tion
  }
}

[image of music]

確かにスラーが太くなっています。

これが \override コマンドを構築する基本的な方法です。これより後のセクションで遭遇するものはもう少し複雑ですが、必要な要点はすべて知っています – しかしながら、まだ練習が必要でしょう。これは以下の例で提供されます。

コンテキストを見つけ出す

しかしながら、まず最初にコンテキストを指定しなければならないとしたらどうでしょうか?指定すべきコンテキストは何でしょうか?スラーとボイスは音楽表記の各行で明らかに関係が深いので、スラーは Voice コンテキストの中にあると推測できるかもしれません。しかし、それは確かでしょうか?この問題を解決するには、Slur について記述している内部リファレンス ページの先頭に戻ります。そこには ‘Slur オブジェクトは Slur エングラーバによって作成される’ と書かれています。そのため、スラーは Slur_engraver が存在しているコンテキストのどれかで作成されるということになります。Slur_engraver へのリンクを辿ります。そのページの最後の方で Slur_engraver は 5 つのボイス コンテキスト – 標準のボイス コンテキストである Voice を含む – の一部であることが述べられています。ですから、推測は正しかったのです。そして、Voice は最下位のコンテキストの 1 つである – このことは、そこに音符を入力するという事実によって明らかに示されています – ため、ここではそのコンテキストを省略することができるのです。

1 回だけオーバライドする

上記の最後の例ではすべてのスラーが太くなっています。しかし、最初のスラーだけを太くしたい場合はどうでしょうか?これは \once コマンドを使うことによって達成されます。\override コマンドの直前に \once コマンドを置くことによって、\override コマンドは直後にある音符から始まるスラーだけを変更するようになります。直後にある音符がスラーの開始点ではない場合、そのコマンドはまったく機能しません – それがスラーに遭遇するまで保持されるということはなく、ただ切り捨てられるだけです。そのため、\once コマンド付きの \override コマンドは以下のように上記の例とは異なる場所に置かなくてはなりません:

{
  \time 6/8
  {
    r4 b8
    % Increase thickness of immediately following slur only
    \once \override Slur #'thickness = #5.0
    b[( g]) g |
    g[( e]) e d[( f]) a |
    a g
  }
  \addlyrics {
    The man who feels love's sweet e -- mo -- tion
  }
}

[image of music]

今度は、最初のスラーだけが太くなりました。

\once コマンドは \set コマンドの前でも使用される可能性があります。

元に戻す

最後に、最初の 2 つだけのスラーを太くしたい場合はどうでしょうか?その場合、2 つのコマンド – それぞれの前に \once を付けた – をスラーが始まる音符の直前に置きます:

{
  \time 6/8
  {
    r4 b8
    % Increase thickness of immediately following slur only
    \once \override Slur #'thickness = #5.0
    b[( g]) g |
    % Increase thickness of immediately following slur only
    \once \override Slur #'thickness = #5.0
    g[( e]) e d[( f]) a |
    a g
  }
  \addlyrics {
    The man who feels love's sweet e -- mo -- tion
  }
}

[image of music]

あるいは、\once コマンドを省略して、2 番目のスラーの後に thickness プロパティをデフォルト値に戻すために \revert コマンドを使うこともできます:

{
  \time 6/8
  {
    r4 b8
    % Increase thickness of all following slurs from 1.2 to 5.0
    \override Slur #'thickness = #5.0
    b[( g]) g |
    g[( e])
    % Revert thickness of all following slurs to default of 1.2
    \revert Slur #'thickness
    e d[( f]) a |
    a g
  }
  \addlyrics {
    The man who feels love's sweet e -- mo -- tion
  }
}

[image of music]

\revert コマンドは \override コマンドで変更されたどのプロパティでもデフォルト値に戻すことができます。状況に相応しい方を使用してください。

これで内部リファレンスと調整の基本的な方法についての紹介を終わりにします。この章で後に続くセクションの中にあるいくつのかの例でも一部では、内部リファレンスの特徴についての追加の紹介や、そこから情報を取り出すための更なる練習を提供します。それらの例ではガイダンスや説明のための言葉はずっと少ないでしょう。


4.2.2 インタフェイスの中で見つかるプロパティ

今度は歌詞をイタリック体で譜刻したいということにします。そうするには \override コマンドをどのように使う必要があるのでしょうか?以前と同様に、まず ‘すべてのレイアウト オブジェクト’ をリストアップしている内部リファレンス ページを開き、歌詞をコントロールしていそうなオブジェクトを探します。LyricText がそれであるようです。これをクリックすると、歌詞のテキストに対してセットすることができるプロパティが表示されます。そこには font-seriesfont-size が含まれますが、歌詞をイタリック体にするためのプロパティらしきものはありません。これは、形に関するプロパティはすべてのフォント オブジェクトに共通なものであり、そのため、各レイアウト オブジェクトに含まれているのではなく、他の同様な共通プロパティと一緒にグループ化されていて、インタフェイスの 1 つ font-interface の中に置かれているからです。

そのため、インタフェイスのプロパティを見つける方法と、どのオブジェクトがこれらのインタフェイス プロパティを使うのかを調べる方法を学ぶ必要があります。

LyricText について記述している内部リファレンスのページを再び開いてください。そのページの最後に LyricText がサポートするインタフェイスへのリンクがリスト アップされています。そのリストには font-interface を含むいくつかの要素があります。このリンクをクリックすると、このインタフェイスに関連付けされているプロパティのところに行きます。これらのプロパティは LyricText を含む font-interface をサポートするすべてのオブジェクトのプロパティでもあります。

font-shape(symbol) を含むフォントを制御するユーザが設定可能なプロパティをすべて見つけました。font-shape(symbol) では symbolupright, italics, あるいは caps にセットすることができます。

そこには、font-seriesfont-size もリスト アップされていることに気づくでしょう。そこで次のような疑問が湧いてきます: 共通フォントプロパティ font-seriesfont-sizeLyricText とインタフェイス font-interface の両方でリスト アップされているのに、なぜ font-shape はそうでないのか?その答えは、font-seriesfont-size は、LyricText オブジェクトが作成されるときに、それらのグローバルなデフォルト値から変更されるのに対して、font-shape はそうではないからです。LyricText の中にあるエントリから LyricText に適用されるそれら 2 つのプロパティの値がわかります。font-interface をサポートする他のオブジェクトは、それらのオブジェクトが作成されるときに、それらのプロパティを異なる値にセットします。

今度は歌詞をイタリック体に変更するように \override コマンドを構築できるかどうかを見ていきましょう。オブジェクトは LyricText であり、プロパティは font-shape であり、セットする値は italic です。前と同様に、コンテキストを省略します。

話は逸れますが重要なことを 1 つ挙げます。font-shape の値はシンボルなので、シングル アポストロフィ ' を付ける必要があるということに注意してください。その理由は、以前の例での thicknessfont-shape の前にアポストロフィを付ける必要がある理由と同じです。それらも両方ともシンボルです。シンボルは LilyPond によって内部的に読み取られます。それらのいくつかは thicknessfont-shape のようなプロパティの名前であり、他のものは italic のようにプロパティに与えられる値として使用されます。任意のテキスト文字列との違い – 任意のテキスト文字列は "a text string" のような形で表記されます – に注意してください。シンボルと文字列についてのより詳細な説明は、Scheme チュートリアル を参照してください。

さて、それでは歌詞をイタリック体で譜刻するために必要となる \override コマンドは以下のようになります:

\override LyricText #'font-shape = #'italic

そして、これは以下のように影響を与える歌詞の前に、そして近くに置くべきです:

{
  \time 6/8
  {
    r4 b8 b[( g]) g |
    g[( e]) e d[( f]) a |
    a g
  }
  \addlyrics {
    \override LyricText #'font-shape = #'italic
    The man who feels love's sweet e -- mo -- tion
  }
}

[image of music]

これで歌詞がすべてイタリック体で譜刻されました。

歌詞モードの中でコンテキストを指定する

歌詞の場合、以前のようなコマンドの発行の仕方の中でコンテキストを指定しようとしても失敗するでしょう。歌詞モードの中で入力される音節はスペース、改行、数字のいずれかで区切られます。他のすべての文字は音節の一部と見なされます。これが、終端の } の前にはスペースか改行を置かなければならない理由です。そうしないと、終端の } は最後の音節の一部に含まれてしまいます。同様に、コンテキスト名とオブジェクト名を区切るために、ピリオドまたはドット ‘.’ の前と後ろにスペースを挿入しなければなりません。さもないと 2 つの名前は一緒になってしまい、インタプリタはそれらを認識できなくなります。そのため、コマンドは以下のようにすべきです:

\override Lyrics . LyricText #'font-shape = #'italic

Note: 歌詞の中では、最後の音節と終端の波括弧の間に常にスペースを置いてください。

Note: 歌詞の中のオーバライドでは、コンテキスト名とオブジェクト名の間にあるドットの両側に常にスペースを置いてください。

参照

学習マニュアル: Scheme チュートリアル


4.2.3 プロパティのタイプ

これまでにプロパティのタイプを 2 つ見てきました: numbersymbol です。プロパティに与える値が有効であるためには、その値は正しいタイプであり、そのタイプのルールに従っていなければなりません。プロパティのタイプは内部リファレンスの中で常にプロパティ名の後の括弧の中に表示されています。ここに、あなたが必要になるであろうプロパティのタイプを、そのタイプのルールといくつかの例と共にリスト アップします。もちろん、\override コマンドの中でプロパティの値を入力する時は、常にそれらの値の前にハッシュ記号 # を付け加える必要があります。

プロパティ タイプ

規則

Boolean

真か偽のどちらかで、それぞれ #t と #f で表されます

#t, #f

Dimension (譜表スペース)

正の小数 (譜表スペース単位)

2.5, 0.34

Direction

有効な向きを表す定数またはそれと等価な数値 (-1 から 1 までの小数が許可されます)

LEFT, CENTER, UP, 1, -1

Integer

正の整数

3, 1

List

値のセット。セットの値はスペースで区切られ、前にアポストロフィが付いた括弧で囲まれます

'(left-edge staff-bar), '(1), '(1.0 0.25 0.5)

Markup

有効なマークアップ

\markup { \italic "cresc." }

Moment

make-moment 関数で構築される全音符の分数

(ly:make-moment 1 4), (ly:make-moment 3 8)

Number

正または負の小数

3.5, -2.45

(数の) Pair

‘スペース . スペース’ で区切られ、前にアポストロフィが付いた括弧で囲まれた 2 つの数値

'(2 . 3.5), '(0.1 . -3.2)

Symbol

プロパティに許可されているシンボルのセットのいずれかであり、前にアポロストロフィを付けます

'italic, 'inside

Unknown

手続き。何のアクションも起こさない場合は #f

bend::print, ly:text-interface::print, #f

Vector

前にアポストロフィ-ハッシュ '# が付いた括弧で囲まれた 3 要素のリスト

'#(#t #t #f)

参照

学習マニュアル: Scheme チュートリアル


4.3 オブジェクトの見た目

いくつかの例を使ってこれまでに学んだことを練習して、譜刻される楽譜の見た目を変更するためにどのように調整が使われるのかを見ていきましょう。


4.3.1 オブジェクトの可視性と色

教育目的の楽譜では、ある要素を省略した楽譜を譜刻して、学生にそれを付け足させるという訓練にしたいと思うかもしれません。簡単な例として、その訓練とは小節線の無い楽譜だと仮定してみましょう。しかしながら、通常、小節線は自動的に挿入されます。どうやって小節線が譜刻されることを防ぐのでしょうか?

このことに挑戦する前に、オブジェクト プロパティはインタフェイスと呼ばれるものにグループ化されているということを思い出してください – インタフェイスの中で見つかるプロパティ を参照してください。これはあるグラフィカル オブジェクトを調整するために一緒に使用されるかもしれないプロパティをグループ化したものです – あるオブジェクトに対してインタフェイス内のプロパティの 1 つを使うことが許可されるのなら、他のプロパティも許可されます。あるオブジェクトはいくつかのインタフェイス内にあるプロパティを使用し、別のオブジェクトはそれとは別のインタフェイス内にあるプロパティを使用します。ある特定のグラフィカルオブジェクトによって使用されるプロパティを保持しているインタフェイスは、そのグラフィカル オブジェクトについて記述している内部リファレンス ページの最後にリスト アップされていて、それらのプロパティはそれらのインタフェイスを参照することによって閲覧できます。

グラフィカル オブジェクトについての情報を見つけ出す方法を レイアウト オブジェクトのプロパティ で説明しました。同じアプローチを使って、内部リファレンスで小節線を譜刻するレイアウト オブジェクトを見つけ出します。バックエンドを経由してすべてのレイアウト オブジェクトに行くと、そこに BarLine と呼ばれるレイアウト オブジェクトがあることがわかります。そのレイアウト オブジェクトのプロパティには小節線の可視性をコントロールする 2 つのプロパティが含まれています: break-visibilitystencil です。さらに、BarLine はインタフェイスのいくつかをサポートしています。grob-interface もサポートされていて、そこには transparent プロパティと color プロパティが含まれています。これらすべてが小節線の可視性に影響を与えます (そしてもちろん、拡大解釈すれば他の多くのレイアウト オブジェクトにも影響を与えます)。次はこれらのプロパティをそれぞれ見ていきましょう。

ステンシル (stencil)

このプロパティは譜刻すべきシンボル (グリフ) を指定することによって小節線の見た目を制御します。他の多くのプロパティでも共通に言えますが、このプロパティの値に #f をセットすることによって何も譜刻させなくすることができます。ではやってみましょう。以前と同様に、暗黙のコンテキスト Voice は省略します:

{
  \time 12/16
  \override BarLine #'stencil = ##f
  c4 b8 c d16 c d8 |
  g, a16 b8 c d4 e16 |
  e8
}

[image of music]

小節線はまだ譜刻されています。何が間違っているのでしょうか?内部リファレンスに戻って、BarLine のプロパティを記述しているページを読み返してください。そのページの先頭に “BarLine オブジェクトは Bar_engraver によって作成されます” と記述されています。Bar_engraver ページに行ってください。そのページの最後で、Bar_engraver を保持するコンテキストがリスト アップされています。それらのコンテキストのタイプはすべて Staff です。ですから、\override コマンドが予期したように機能しなかったのは、BarLine はデフォルトの Voice コンテキストの中にはいなかったからなのです。コンテキストが間違って指定された場合、そのコマンドは機能しません。エラー メッセージは生成されず、ログ ファイルには何もログが残りません。正しいコンテキストを付け加えることによってコマンドを修正してみましょう:

{
  \time 12/16
  \override Staff.BarLine #'stencil = ##f
  c4 b8 c d16 c d8 |
  g, a16 b8 c d4 e16 |
  e8
}

[image of music]

今度は小節線が消えました。

可視性の破棄 (break-visibility)

内部リファレンスの BarLine のプロパティから break-visibility プロパティには 3 つのブール値からなるベクトルが必要であることがわかります。これらはそれぞれ、小節線が行の最後、行の途中、行の最初に譜刻されるかどうかを制御します。以下の例ではすべての小節線を消したいので、必要となる値は '#(#f #f #f) です。それではやってみましょう。Staff コンテキストを含めることを忘れないでください。また、この値を書くときに括弧を始める前に #'# を付ける必要があることにも注意してください。'# はベクトルを導入するときに値の一部として必要とされ、先頭の #\override コマンドの中で常に値の前に置くことが必要とされます。

{
  \time 12/16
  \override Staff.BarLine #'break-visibility = #'#(#f #f #f)
  c4 b8 c d16 c d8 |
  g, a16 b8 c d4 e16 |
  e8
}

[image of music]

今度もすべての小節線が消えました。

透過性 (transparent)

内部リファレンスの grob-interface ページにあるプロパティから transparent プロパティはブール値であることがわかります。これはグラフィカル オブジェクトを透明にする場合には #t にセットします。次の例では、小節線ではなく拍子記号を不可視にしてみましょう。そうするには、まず、拍子記号のグラフィカル オブジェクト名を見つける必要があります。TimeSignature レイアウト オブジェクトのプロパティを見つけるために内部リファレンスの ‘すべてのレイアウト オブジェクト’ ページに戻ってください。TimeSigunatureTime_signature_engraver によって作り出され、さらに、Time_signature_engraverStaff コンテキストに含まれ、さらに、Staff コンテキストは grob-interface をサポートしているということがわかります。そのため、拍子記号を透明にするためのコマンドは以下のようになります:

{
  \time 12/16
  \override Staff.TimeSignature #'transparent = ##t
  c4 b8 c d16 c d8 |
  g, a16 b8 c d4 e16 |
  e8
}

[image of music]

拍子記号は消えました。しかしながら、このコマンドは拍子記号があるべき場所に隙間を残しています。たぶん、これは学生がその部分を埋めるための練習としては望ましいでしょうが、他の状況ではこの隙間は望ましくありません。この隙間を取り除くには、拍子記号の transparent の代わりにステンシル (型、型紙) を #f にセットします:

{
  \time 12/16
  \override Staff.TimeSignature #'stencil = ##f
  c4 b8 c d16 c d8 |
  g, a16 b8 c d4 e16 |
  e8
}

[image of music]

違いは明白です: ステンシルを #f にセットすると、オブジェクト自体が削除されます。一方、オブジェクトを transparent (透明) にするとそのオブジェクトは消えますが、オブジェクトは不可視になっただけです。

色 (color)

最後に、小節線の色を白にすることによって小節線を不可視にしてみましょう。(これには白い小節線が譜表線と交差したところで譜表線を見えたり見えなくしてしまうかもしれないという問題があります。以下のいくつかの例で、このことを予測することはできないと思うかもしれません。そうなる理由と、それを制御する方法についての詳細は、 Painting objects white でカバーされています。しかしここでは色について学んでいるところなので、オブジェクトを白で描くことの限界を受け入れるだけにしてください。)

grob-interface はカラー プロパティの値はリストであると指定しています。しかしながら、そのリストが何であるべきなのかの説明はありません。カラー プロパティで必要とされるリストは実際のところ内部ユニットの中にある値のリストです。しかし、内部ユニットの中にある値を知らなくても済むように、カラーを指定するための手段がいくつか用意されています。最初の方法は List of colors にある最初の表でリスト アップされている ‘標準’ のカラーの 1 つを使用する方法です。小節線を白にするには以下のように記述します:

{
  \time 12/16
  \override Staff.BarLine #'color = #white
  c4 b8 c d16 c d8 |
  g, a16 b8 c d4 e16 |
  e8
}

[image of music]

今度も再び小節線は見えなくなりました。white の前にアポストロフィは付かないということに注意してください – これはシンボルではなく関数です。この関数が呼び出されると、この関数はカラーを白にセットするために必要とされる内部値のリストを提供します。標準カラー リストにある他のカラーもまた関数です。これが機能していることをあなた自身が納得するために、カラーをこのリストの中にある他の関数の 1 に変更しようと思うかもしれません。

カラーを変えるための 2 番目の方法は、 List of colors の 2 番目のリストの中にある X11 カラー名のリストを使用する方法です。しかしながら、以下のように、これらの前には X11 カラー名を内部値のリストに変更するもう 1 つの関数 – x11-color – がなければなりません:

{
  \time 12/16
  \override Staff.BarLine #'color = #(x11-color 'white)
  c4 b8 c d16 c d8 |
  g, a16 b8 c d4 e16 |
  e8
}

[image of music]

この場合、関数 x11-color はシンボルを引数として扱うので、シンボルの前にはアポストロフィをつけなくてはならず、x11-color とシンボルは括弧で囲まれていなければならないということに注意してください。

まだ 3 番目の方法が残っています。これは RGB 値を内部カラーに変換する rgb-color 関数を使用する方法です。この関数は赤、緑、青の輝度を表す 3 つの引数をとります。これらの引数は 0 から 1 までの値をとります。ですから、カラーを赤にセットする場合の値は (rgb-color 1 0 0) となり、白の場合は (rgb-color 1 1 1) となります:

{
  \time 12/16
  \override Staff.BarLine #'color = #(rgb-color 1 1 1)
  c4 b8 c d16 c d8 |
  g, a16 b8 c d4 e16 |
  e8
}

[image of music]

最後に、X11 カラー セットの一部であるグレー スケールを用いる方法もあります。グレー スケールの範囲は黒 'grey0' から白 'grey100' まで 1 段階ずつあります。グレー スケールの使用方法を示すために、例の中にあるすべてのレイアウト オブジェクトのカラーをさまざまな濃度のグレーにセットしてみましょう:

{
  \time 12/16
  \override Staff.StaffSymbol   #'color = #(x11-color 'grey30)
  \override Staff.TimeSignature #'color = #(x11-color 'grey60)
  \override Staff.Clef          #'color = #(x11-color 'grey60)
  \override Voice.NoteHead      #'color = #(x11-color 'grey85)
  \override Voice.Stem          #'color = #(x11-color 'grey85)
  \override Staff.BarLine       #'color = #(x11-color 'grey10)
  c4 b8 c d16 c d8 |
  g, a16 b8 c d4 e16 |
  e8
}

[image of music]

各レイアウト オブジェクトに関連付けされているコンテキストに注意してください。これらのコンテキストを正しく取得することが重要であり、そうしなければコマンドは機能しません!コンテキストの中には特定のエングラーバが置かれているということを忘れないでください。エングラーバに対するデフォルト コンテキストを見つけ出すには、内部リファレンスのレイアウト オブジェクトからスタートして、そこからそれを作り出すエングラーバのページに行きます。エングラーバのページには、通常はどのコンテキストにそのエングラーバが含まれているのかが記述されています。


4.3.2 オブジェクトのサイズ

以前の例を見直すことから始めてみましょう (音楽表記をネストする を参照してください)。そこでは ossia として新たに一時的な譜表を導入する方法が示されています。

\new Staff ="main" {
       \relative g' {
         r4 g8 g c4 c8 d |
         e4 r8
         <<
           { f c c }
           \new Staff \with {
             alignAboveContext = #"main" }
           { f8 f c }
         >>
         r4 |
       }
     }

[image of music]

通常、オッシアは音部記号と拍子記号無しで記述され、メインの譜表よりもわずかに小さく譜刻されます。今度は、すでに音部記号と拍子記号を削除する方法を知っています – 以下のようにそれぞれのステンシルを #f にセットするだけです:

\new Staff ="main" {
  \relative g' {
    r4 g8 g c4 c8 d |
    e4 r8
    <<
      { f c c }
      \new Staff \with {
        alignAboveContext = #"main"
      }
      {
        \override Staff.Clef #'stencil = ##f
        \override Staff.TimeSignature #'stencil = ##f
        { f8 f c }
      }
    >>
    r4 |
  }
}

[image of music]

ここで、\with 節の後にある追加の括弧のペアが、その括弧に囲まれているオーバライドと音楽がオッシア譜表に適用されることを保証するために、必要となります。

しかし、\with を使った譜表コンテキストの変更と \override を使った音部記号と拍子記号のステンシルの変更との違いは何なのでしょうか?主な違いは、\with 節の中で行われた変更はそのコンテキストが作成されるときに行われ、そのコンテキストではデフォルト値として残ります。一方、音楽の中に埋め込まれた \set コマンドや \override コマンドは動的です – それらは音楽のある特定のポイントに同期して変更を行います。変更が \unset\revert を使ってセットを解除されたり元に戻された場合、デフォルト値 – これは \with 節でセットされていた場合はその値、そうでない場合は通常のデフォルト値 – に戻ります。

いくつかのコンテキスト プロパティは \with 節でのみ変更可能です。これらは、コンテキストが作成された後では、変更されることのないプロパティです。alignAboveContext とそのパートナー alignBelowContext がそのようなプロパティです – いったん譜表が作成されると、譜表のアラインメントは決定され、それを後で変更しようとすることには意味がありません。

レイアウト オブジェクトのデフォルト値は \with 節でセットすることもできます。通常の \override コマンドをコンテキスト名を省いて使用するだけです。コンテキスト名を省略するのは、そのコンテキストは明らかに \with 節が変更しようとしているコンテキストだからです。実際、\with 節の中でコンテキストを指定するとエラーが発生します。

それでは上記の例を以下のように書き換えます:

\new Staff ="main" {
  \relative g' {
    r4 g8 g c4 c8 d |
    e4 r8
    <<
      { f c c }
      \new Staff \with {
        alignAboveContext = #"main"
        % Don't print clefs in this staff
        \override Clef #'stencil = ##f
        % Don't print time signatures in this staff
        \override TimeSignature #'stencil = ##f
      }
        { f8 f c }
    >>
    r4 |
  }
}

[image of music]

最後に、レイアウト オブジェクトのサイズを変更してみます。

いくつかのレイアウト オブジェクトはある書体から選択されたグリフとして作成されます。これには符頭、臨時記号、マークアップ、音部記号、拍子記号、強弱記号、歌詞が含まれます。それらのサイズは、これから見ていくように、font-size プロパティを変更することによって変更されます。スラーやタイのような他のレイアウト オブジェクト – 一般には、スパナ オブジェクト (spanner objects) – は個々に描かれるため、font-size プロパティとは関係がありません。一般に、それらのオブジェクトはそれらを取り付けられるオブジェクトからサイズを決定する (訳者: 例えば、スラーはそのスラーが付着する音符からそのスラーのサイズを決定する) ので、通常はサイズを手動で変更する必要はありません。さらに、符幹や小節線の長さ、連桁や他の線の太さ、譜表線の間隔などといった他のプロパティはすべて特別な方法で変更する必要があります。

オッシアの例に戻って、まず font-size を変更してみましょう。これを行うには 2 通りの方法があります。以下のようなコマンドで NoteHead のような各オブジェクト タイプのフォント サイズを変更する:

\override NoteHead #'font-size = #-2

あるいは、\set を使って特別なプロパティ fontSize を設定するか、それを \with 節に含める (ただし、\set は含めません) ことによってすべてのフォントのサイズを変更します:

\set fontSize = #-2

これらの命令文は両方ともフォント サイズを前の値から 2 段階減らします。各段階でサイズはおよそ 12% 増減します。

それではオッシアの例でフォント サイズを変更してみましょう:

\new Staff ="main" {
  \relative g' {
    r4 g8 g c4 c8 d |
    e4 r8
    <<
      { f c c }
      \new Staff \with {
        alignAboveContext = #"main"
        \override Clef #'stencil = ##f
        \override TimeSignature #'stencil = ##f
        % Reduce all font sizes by ~24%
        fontSize = #-2
      }
        { f8 f c }
    >>
    r4 |
  }
}

[image of music]

これでもまだ完璧ではありません。符頭とフラグは小さくなりましたが、符幹はそれに対して長すぎ、譜表線は離れすぎています。これらをフォント サイズの減少に比例してスケール ダウンさせる必要があります。次のサブ セクションでそれを行う方法について議論します。


4.3.3 オブジェクトの長さと太さ

LilyPond では距離と長さは一般に譜表スペース – 譜表の中の隣り合う線の間隔 – で測ります (特別な場合では、譜表スペースの半分で測ることもあります)。一方、たいていの thickness プロパティは line-thickness と呼ばれる内部プロパティを単位として測ります。例えば、デフォルトでは、ヘアピン (訳者: 強弱記号) の線の太さは 1 単位の line-thickness であり、音符の符幹の thickness は 1.3 です。けれども、それとは単位の異なる太さプロパティがあるということにも注意してください。例えば、連桁の太さプロパティは譜表スペースで測ります。

それでは、どうやって長さをフォント サイズに比例させるのでしょうか?これは、まさにこの目的のために提供されている magstep と呼ばれる特別な関数の助けを借りることによって達成できます。この関数は引数を 1 つ – フォント サイズの変化 (前の例では #-2) – をとり、他のオブジェクトの縮小に比例したスケーリング ファクタを返します。以下のように使用します:

\new Staff ="main" {
  \relative g' {
    r4 g8 g c4 c8 d |
    e4 r8
    <<
      { f c c }
      \new Staff \with {
        alignAboveContext = #"main"
        \override Clef #'stencil = ##f
        \override TimeSignature #'stencil = ##f
        fontSize = #-2
        % Reduce stem length and line spacing to match
        \override StaffSymbol #'staff-space = #(magstep -2)
      }
        { f8 f c }
    >>
    r4 |
  }
}

[image of music]

符幹の長さと他の多くの長さに関係するプロパティは常に staff-space プロパティの値と比例関係になるよう算出されるため、それらの長さも自動的にスケール ダウンされます。これはオッシアの垂直方向のスケールだけに効果を及ぼすということに注意してください – 水平方向のスケールは、メインの音楽と同期するよう、メインの音楽のレイアウトによって決定されるため、水平方向のスケールは staff-space の変更によっていかなる影響も受けません。もちろん、メインの音楽のすべてのスケールがこの方法で変更された場合、水平方向のスペースも影響を受けます。このことについては、後のレイアウト セクションで議論します。

そして、これでオッシアの作成は完了です。他のすべてのオブジェクトのサイズと長さが類似の方法で変更されるかもしれません。

上記の例のようなスケールのちょっとした変更に対して、小節線、連桁、ヘアピン、スラーなどのさまざまな描画線の太さは通常はグローバルな調節を必要としません。ある特定のレイアウト オブジェクトの太さを調節する必要がある場合、それを達成する最良の方法はそのオブジェクトの thickness プロパティをオーバライドすることです。スラーの太さを変更する例は レイアウト オブジェクトのプロパティ で示されています。すべての描画オブジェクト (つまり、フォントから作り出されるオブジェクトではないもの) の太さが同様の方法で変更されるかもしれません。


4.4 オブジェクトの配置


4.4.1 自動配置

音楽記譜法には譜表に属するオブジェクトがいくつかあり、他のオブジェクトは譜表の外側に置かれるべきです。それらはそれぞれ譜表内部オブジェクトと譜表外部オブジェクトと呼ばれます。

譜表内部オブジェクトは譜表上に置かれます – 符頭、符幹、臨時記号などです。通常、それらの位置は音楽自体によって決定されます – 譜表内部オブジェクトは譜表のある特定の線と同じ垂直位置に置かれたり、そこに置かれるべき他のオブジェクトにくっつけられたりします。近接する和音の中にある符頭、符幹、臨時記号の衝突は普通は自動的に回避されます。これから見ていくように、この自動配置を変更することができるコマンドとオーバライドがあります。

譜表の外部にあるオブジェクトには、リハーサル記号、テキスト、強弱記号などがあります。LilyPond が持つ譜表外部オブジェクトの垂直位置のルールは、譜表外部オブジェクトをできるだけ譜表の近くに、しかし他のオブジェクトと衝突しない程度の近さに置くというものです。以下で示すように、LilyPond はオブジェクトを配置する順番を決定するために outside-staff-priority プロパティを使用します。

最初に、LilyPond はすべての譜表内部オブジェクトを配置します。それから、outside-staff-priority に従って譜表外部オブジェクトを並べます。譜表外部オブジェクトは最小の outside-staff-priority を持つオブジェクトから順番に 1 つずつ並べられ、すでに配置されたオブジェクトと衝突しないように配置されます。つまり、2 つの譜表外部オブジェクトが同じスペースを巡って競合する場合、より小さな outside-staff-priority を持つオブジェクトが譜表の近くに配置されます。2 つのオブジェクトが同じ outside-staff-priority を持つ場合、先に発生するオブジェクトが譜表の近くに配置されます。

以下の例では、すべてのマークアップ テキストが同じ優先度を持っています (なぜなら、優先度が明示的にセットされていないからです)。‘Text3’ が自動的に譜表の近く、‘Text2’ のすぐ下に納まるよう配置されていることに注意してください。

c2^"Text1"
c^"Text2"
c^"Text3"
c^"Text4"

[image of music]

デフォルトでは、譜も互いにできるだけ近くなるよう配置されます (最小間隔に従います)。音符が隣接する譜表に向かって長く突き出てている場合、譜を離さないと記譜したものが重なり合ってしまう場合にのみ譜は離されます。以下の例は譜の調整によって音符が ‘ぴったりと納まる’ 様子を示しています:

<<
  \new Staff {
    \relative c' { c a, }
  }
  \new Staff {
    \relative c'''' { c a, }
  }
>>

[image of music]


4.4.2 譜表内部オブジェクト

これまでにコマンド \voiceXXX がスラー、タイ、運指法記号、符幹の向きに依存する他のすべてに対してどのように影響を与えるかを見てきました。これらのコマンドは、多声部音楽を記述しているときに上下する旋律を見分けられるようにすることを可能にするために不可欠なものです。しかしながら、この自動機能をオーバライドする必要がある場合もあります。このオーバライドは音楽全体に対しても、個々の音符に対してもできます。この自動機能を制御しているプロパティは各レイアウト オブジェクトの direction プロパティです。まず、これは何をするのかを説明し、それから、作成済みのコマンドをいくつか紹介します。それらのコマンドを使うと、一般的な変更のための明示的なオーバライドをコードしなくて済みます。

スラーやタイのようなレイアウト オブジェクトはカーブを描き、曲がり、上下します。符幹やフラグのような他のオブジェクトも上下の向きによって位置が左右します。direction がセットされているときは、これは自動的に制御されます。

以下の例は、小節 1 で符幹のデフォルトの振る舞いを示しています。高い位置にある音符の符幹は下向きで、低い位置にある音符の符幹は上向きです。続いて 4 つの音符の符幹をすべて強制的に下向きにし、4 つの音符の符幹をすべて強制的に上向きにし、最後に 4 つの音符の符幹をデフォルトに戻します。

a4 g c a
\override Stem #'direction = #DOWN
a g c a
\override Stem #'direction = #UP
a g c a
\revert Stem #'direction
a g c a

[image of music]

ここで定数 DOWNUP を使っています。これらはそれぞれ値 -1+1 を持ち、定数の代わりにそれらの数値を使うこともできまはす。さらに値 0 を使う場合もあります。この値は符幹では UP を意味するものとして扱われますが、いくつかのオブジェクトでは ‘center’ という意味になります。値 0 を持つ定数に CENTER があります。

しかしながら、これらの明示的なオーバライドは普通は使われません。もっと簡単で定義済みのコマンドが利用可能だからです。ここに一般的なコマンドの表を挙げます。それぞれのコマンドの意味が明白でない場合は、そのコマンドの意味を述べています。

下/左

上/右

元に戻す

効果

\arpeggioArrowDown

\arpeggioArrowUp

\arpeggioNormal

矢印が下に付く、上に付く、付かない

\dotsDown

\dotsUp

\dotsNeutral

譜表線を避けるための移動方向

\dynamicDown

\dynamicUp

\dynamicNeutral

\phrasingSlurDown

\phrasingSlurUp

\phrasingSlurNeutral

Note: スラー コマンドとは別になります

\slurDown

\slurUp

\slurNeutral

\stemDown

\stemUp

\stemNeutral

\textSpannerDown

\textSpannerUp

\textSpannerNeutral

スパナとして挿入されるテキストが譜表の下/上にくる

\tieDown

\tieUp

\tieNeutral

\tupletDown

\tupletUp

\tupletNeutral

連符記号が音符の下/上にくる

これらの定義済みコマンドの前には \once が付かないかもしれません。コマンドの効果を単一の音符に制限したい場合、等価の \once \override コマンドを使用するか、あるいは、定義済みコマンドを使用して、効果を受けた音符の後に対応する \xxxNeutral コマンドを置かなければなりません。

運指法記号 (Fingering)

単一の音符に対する運指法記号の配置も direction プロパティによって制御できますが、direction を変更しても和音の運指法記号は影響を受けません。これから見ていくように、和音の中の個々の音符の運指法記号を制御するための特別なコマンドがあります。このコマンドを使うことで運指法記号を各音符の上、下、左、右に配置することができます。

まず、単一の音符の運指法記号に対する direction を効果を示します。最初の小節はデフォルト状態で、その後で DOWNUP を指定したときの効果を示します:

c-5 a-3 f-1 c'-5
\override Fingering #'direction = #DOWN
c-5 a-3 f-1 c'-5
\override Fingering #'direction = #UP
c-5 a-3 f-1 c'-5

[image of music]

しかしながら、direction プロパティをオーバライドすることは、手動で運指法記号を音符の上または下に配置するもっとも簡単な方法ではありません。運指法番号の前に - の代わりに _ または ^ を使う方が普通は適切です。ここで、上記の例にこの方法を用いた例を挙げます:

c-5 a-3 f-1 c'-5
c_5 a_3 f_1 c'_5
c^5 a^3 f^1 c'^5

[image of music]

direction プロパティは和音では無視されますが、方向を示す接頭辞 _^ は機能します。以下で示すように、デフォルトでは、運指法記号は和音の音符の上と下の両方に自動的に配置されます:

<c-5 g-3>
<c-5 g-3 e-2>
<c-5 g-3 e-2 c-1>

[image of music]

しかし、以下で示すように、運指法番号のすべてまたはいずれかを手動で強制的に和音の上または下に配置するために、これはオーバライドされるかもしれません:

<c-5 g-3 e-2 c-1>
<c^5 g_3 e_2 c_1>
<c^5 g^3 e^2 c_1>

[image of music]

\set fingeringOrientations コマンドを使うことによって和音の中にある個々の音符の運指法記号の配置をより細かく制御することさえできます。このコマンドのフォーマットは以下のようなものです:

\set fingeringOrientations = #'([up] [left/right] [down])

fingeringOrientationsVoice コンテキストのプロパティであり、New_fingering_engraver によって作成、使用されるため、\set が使用されます。

このプロパティには 1 つから 3 つまでの値のリストがセットされるかもしれません。このプロパティは運指法記号を上 (リストに up がある場合)、下 (リストに down がある場合)、左 (リストに left がある場合。リストに right がある場合は右) に配置します。逆に配置位置がリストされていない場合、その位置に運指法記号は配置されません。LilyPond はこれらの制約を受け取り、 後に続く和音の音符への運指法記号をうまく配置します。leftright は相互排他的であるということに注意してください – 運指法記号は左右のどちらかにしか配置されないか、どちらにも配置されません。

Note: このコマンドを使って単一の音符への運指法記号の配置をコントロールするには、その音符を山括弧で囲んで単一音符の和音として記述する必要があります。

いくつか例を挙げます:

\set fingeringOrientations = #'(left)
<f-2>
< c-1  e-2 g-3 b-5 > 4
\set fingeringOrientations = #'(left)
<f-2>
< c-1  e-2 g-3 b-5 > 4
\set fingeringOrientations = #'(up left down)
<f-2>
< c-1  e-2 g-3 b-5 > 4
\set fingeringOrientations = #'(up left)
<f-2>
< c-1  e-2 g-3 b-5 > 4
\set fingeringOrientations = #'(right)
<f-2>
< c-1  e-2 g-3 b-5 > 4

[image of music]

運指法記号が少し込み合っているように見える場合は、font-size でサイズを下げることができます。デフォルト値は内部リファレンスの Fingering オブジェクトのページから -5 であることがわかるので、-7 にセットしてみましょう:

\override Fingering #'font-size = #-7
\set fingeringOrientations = #'(left)
<f-2>
< c-1  e-2 g-3 b-5 > 4
\set fingeringOrientations = #'(left)
<f-2>
< c-1  e-2 g-3 b-5 > 4
\set fingeringOrientations = #'(up left down)
<f-2>
< c-1  e-2 g-3 b-5 > 4
\set fingeringOrientations = #'(up left)
<f-2>
< c-1  e-2 g-3 b-5 > 4
\set fingeringOrientations = #'(right)
<f-2>
< c-1  e-2 g-3 b-5 > 4

[image of music]


4.4.3 譜表外部オブジェクト

譜表外部オブジェクトは自動的に衝突を回避するよう配置されます。小さな値の outside-staff-priority プロパティを持つオブジェクトは譜表の近くに配置され、他の譜表外部オブジェクトは衝突を避けるのに必要な分だけ離されます。outside-staff-prioritygrob-interface の中で定義されているため、すべてのレイアウト オブジェクトのプロパティです。デフォルトでは、すべての譜表内部オブジェクトの outside-staff-priority#f にセットされていて、譜表外部オブジェクトが作成されたときにその譜表外部オブジェクトの outside-staff-priority に適当な数値がセットされます。以下の表はデフォルトで Staff コンテキストまたは Voice コンテキストの中に配置されるいくつかの一般的な譜表外部オブジェクトのデフォルトの outside-staff-priority 値を示しています。

レイアウト オブジェクト

優先度

以下のオブジェクトの配置を制御する:

MultiMeasureRestText

450

全休符上のテキスト

TextScript

450

マークアップ テキスト

OttavaBracket

400

オッターバ (オクターブを上下させる記号) の囲み

TextSpanner

350

テキスト スパナ

DynamicLineSpanner

250

すべての強弱記号

VoltaBracketSpanner

100

Volta (番号付きのリピート) の囲み

TrillSpanner

50

トリル記号

これらのうちのいくつかのデフォルトでの配置を示している例を挙げます。

% Set details for later Text Spanner
\override TextSpanner #'(bound-details left text)
    = \markup { \small \bold Slower }
% Place dynamics above staff
\dynamicUp
% Start Ottava Bracket
\ottava #1
c' \startTextSpan
% Add Dynamic Text
c\pp
% Add Dynamic Line Spanner
c\<
% Add Text Script
c^Text
c c
% Add Dynamic Text
c\ff c \stopTextSpan
% Stop Ottava Bracket
\ottava #0
c, c c c

[image of music]

この例はテキスト スパナ – 音楽の上に置かれる延長線付きのテキスト – の作成方法についても示しています。スパナは \startTextSpan コマンドから \stopTextSpan コマンドまで延び、テキストのフォーマットは \override TextSpanner コマンドによって定義されます。詳細は Text spanners を参照してください。

この例はさらにオッターバ囲みを作成する方法についても示しています。

小節番号、メトロノーム記号、リハーサル記号は示されていないということに注意してください。デフォルトでは、それらは Score コンテキストの中で作成され、それらの outside-staff-priorityStaff コンテキストの中で作成されるレイアウト オブジェクトとは異なり無視されます。小節番号、メトロノーム記号あるいはリハーサル記号をそれらの outside-staff-priority に従って配置したいのなら、Score コンテキストからそれぞれ Bar_number_engraver, Metronome_mark_engraver, Mark_engraver を削除して最上位の Staff コンテキストに置く必要があります。そうした場合、それらの記号には以下のデフォルトの outside-staff-priority 値が与えられます:

レイアウト オブジェクト

優先度

RehearsalMark

1500

MetronomeMark

1000

BarNumber

100

outside-staff-priority のデフォルト値による配置があなたの望みに合わない場合、いずれかのオブジェクトの優先度をオーバライドすることになるかもしれません。上記の例で、オッターバ囲みをテキスト スパナの下に配置したいとします。すべきことは、OttavaBracketStaff コンテキストの中に作成されるということを思い出し、OttavaBracket の優先度を内部リファレンスか上記の表で調べて、それを TextSpanner の値よりも小さくすることです:

% Set details for later Text Spanner
\override TextSpanner #'(bound-details left text)
    = \markup { \small \bold Slower }
% Place dynamics above staff
\dynamicUp
%Place following Ottava Bracket below Text Spanners
\once \override Staff.OttavaBracket #'outside-staff-priority = #340
% Start Ottava Bracket
\ottava #1
c' \startTextSpan
% Add Dynamic Text
c\pp
% Add Dynamic Line Spanner
c\<
% Add Text Script
c^Text
c c
% Add Dynamic Text
c\ff c \stopTextSpan
% Stop Ottava Bracket
\ottava #0
c, c c c

[image of music]

スラーはデフォルトでは譜表内部オブジェクトに分類されています。しかしながら、譜表の上部に配置された音符に付くスラーはしばしば譜表の上に表示されます。このことは、スラーがまず最初に配置されるため、アーティキュレーションなどの譜表外部オブジェクトをあまりにも高い位置に押し上げる可能性があります。アーティキュレーションの avoid-slur プロパティに 'inside をセットすることでアーティキュレーションをスラーよりも内側に配置することができます。しかし、avoid-slur プロパティはアーティキュレーションの outside-staff-priority#f にセットされている場合にのみ効果を持ちます。代替手段として、スラーの outside-staff-priority に数値をセットすることによって、スラーを他の譜表外部オブジェクトとともに outside-staff-priority 値に従って配置することができます。ここで、2 つの方法の効果を示す例を挙げます:

c4( c^\markup\tiny\sharp d4.) c8
c4(
\once \override TextScript #'avoid-slur = #'inside
\once \override TextScript #'outside-staff-priority = ##f
c^\markup\tiny\sharp d4.) c8
\once \override Slur #'outside-staff-priority = #500
c4( c^\markup\tiny\sharp d4.) c8

[image of music]

outside-staff-priority は、個々のオブジェクトの垂直方向の配置を制御するために使用することもできます。しかしながら、その結果は常に望み通りになるわけではありません。自動配置 にある例で “Text3” を “Text4” の上に配置したいとします。すべきことは TextScript の優先度を内部リファレンスか上記の表で調べて、“Text3” の優先度を大きくすることです:

c2^"Text1"
c^"Text2"
\once \override TextScript #'outside-staff-priority = #500
c^"Text3"
c^"Text4"

[image of music]

これはたしかに “Text3” を “Text4” の上に配置しています。しかし、“Text3”を “Text2” の上に配置して、“Text4” を押し下げてもいます。おそらく、これはそれほど望ましい結果ではないでしょう。本当に望んでいることは、すべての注釈を譜表の上に譜表から同じ距離だけ離して配置することです。そうするには明らかに、テキストのためにもっと広いスペースを確保するために、音符を水平方向に広げる必要があります。これは \textLengthOn コマンドを用いることで達成できます。

\textLengthOn

デフォルトでは、音楽のレイアウトが考慮されている限り、マークアップによって作り出されるテキストは水平方向のスペースと関係しません。\textLengthOn コマンドはこの動作を逆にして、テキストの配置に便宜をはかる必要がある限り、音符の間隔を広げます:

\textLengthOn  % Cause notes to space out to accommodate text
c2^"Text1"
c^"Text2"
c^"Text3"
c^"Text4"

[image of music]

デフォルトの動作に戻すためのコマンドは \textLengthOff です。\once\override, \set, \revert それに \unset だけに付けることができるということを思い出してください。そのため、\textLengthOn\once を使うことはできません。

マークアップ テキストは譜表の上に突き出している音符を避けます。このことが望ましくない場合、優先度を #f にセットすることによって上方向への自動再配置を Off にすることになるかもしれません。ここで、マークアップ テキストがそのような音符とどのように相互作用するかを示す例を挙げます。

% This markup is short enough to fit without collision
c2^"Tex"
c''2
R1
% This is too long to fit, so it is displaced upwards
c,,2^"Text"
c''2
R1
% Turn off collision avoidance
\once \override TextScript #'outside-staff-priority = ##f
c,,2^"Long Text   "
c''2
R1
% Turn off collision avoidance
\once \override TextScript #'outside-staff-priority = ##f
\textLengthOn  % and turn on textLengthOn
c,,2^"Long Text   "  % Spaces at end are honored
c''2

[image of music]

強弱記号

通常、強弱記号は譜表の下に配置されます。しかしながら、dynamicUp コマンドを使うことで上に配置されるかもしれません。強弱記号は、その記号が付いている音符と垂直方向の関係で配置され、フレージング スラーや小節番号などの譜表内部オブジェクトのすべてよりも下 (あるいは上) に配置されます。このことは、以下の例のように、到底受け入れられない結果を生み出す可能性があります:

\clef "bass"
\key aes \major
\time 9/8
\dynamicUp
bes4.~\f\< \( bes4 bes8 des4\ff\> c16 bes\! |
ees,2.~\)\mf ees4 r8 |

[image of music]

しかしながら、音符とそれに付けられた強弱記号が互いに近い場合、自動配置は後の方にある強弱記号を譜表から離すことによって衝突を避けます。しかし、以下のかなり不自然な例が示すように、それは最適な配置ではないかもしれません:

\dynamicUp
a4\f b\mf c\mp b\p

[image of music]

‘実際’ の音楽で同じような状況があった場合、音符の間隔をもう少し広げて、すべての強弱記号が譜表から垂直方向に同じだけ離れるようにする方が望ましいかもしれません。マークアップ テキストの場合は \textLengthOn コマンドを用いることによってそうすることができますが、強弱記号には等価のコマンドがありません。そのため、\override コマンドを用いてそれを達成する方法を見出す必要があります。

グラフィカル オブジェクトのサイズ

まず最初に、グラフィカル オブジェクトのサイズがどのように決定されるかを学ばなくてはなりません。すべてのグラフィカル オブジェクトの内部では参照ポイントが定義され、それはそれらの親オブジェクトとの相対位置を決定するために使用されます。このポイントは親オブジェクトから垂直方向に X-offset、垂直方向に Y-offset 離れた位置になります。オブジェクトの水平方向の広がりは数値のペア X-extent で与えられ、そのペアはオブジェクトの左端と右端の参照ポイントとの相対関係について述べています。垂直方向の広がりも同様に数値のペア Y-extent によって与えられます。これらは grob-interface をサポートするすべてのグラフィカル オブジェクトが持つプロパティです。

デフォルトでは、譜表外部オブジェクトには 0 の幅が与えられているため、水平方向で重なる可能性があります。これは extra-spacing-width'(+inf.0 . -inf.0) をセットすることによって、左端の広がりにプラス無限大、右端の広がりにマイナス無限大を付け加えるというトリックによって達成されています。そのため、譜表外部オブジェクトが水平方向で重ならないことを保証するには、extra-spacing-width の値を '(0 . 0) にオーバライドする必要があります。これにより、本当の幅が明らかになります。以下は強弱記号テキストに対してこれを行うコマンドです:

\override DynamicText #'extra-spacing-width = #'(0 . 0)

これが前の例で機能するかどうかを見てみましょう:

\dynamicUp
\override DynamicText #'extra-spacing-width = #'(0 . 0)
a4\f b\mf c\mp b\p

[image of music]

確かに強弱記号の再配置をストップさせています。しかし、2 つの問題が残っています。強弱記号を互いにもう少し離すべきであり、それらは譜表から同じ距離にあるほうが望ましいです。最初の問題は簡単に解決できます。extra-spacing-width を 0 にする代わりに、もう少し大きな値を与えるのです。単位は 2 本の譜表線の間隔なので、左端を 1 単位の半分だけ左に移動させ、右端を 1 単位の半分だけ右に移動させると解決になります:

\dynamicUp
% Extend width by 1 staff space
\override DynamicText #'extra-spacing-width = #'(-0.5 . 0.5)
a4\f b\mf c\mp b\p

[image of music]

これで前よりも良くなりました。しかし、強弱記号が音符に合わせて上下するよりも、同じベースラインで揃っている方が望ましいでしょう。それを行うためのプロパティは staff-padding であり、後に続くセクションでカバーされています。


4.5 オブジェクトの衝突


4.5.1 オブジェクトを移動させる

これを聞いて驚くかもしれませんが、LilyPond は完璧ではありません。いくつかの記譜要素が重なりある可能性があります。これは遺憾なことですが、実際にはごく稀です。通常、オブジェクトを移動させる必要性は読みやすさや美しさのためです – オブジェクトの周りにもう少しスペースを多く/少なくとった方がより良くなるといった場合です。

記譜要素の重なりを解決する主要なアプローチが 3 つあります。それらは以下の順番で考慮されるべきです:

  1. 重なり合っているオブジェクトの 1 つの direction譜表内部オブジェクト でリストアップした内部オブジェクトのための定義済みコマンドを用いて変更することになるかもしれません。符幹、スラー、連桁、タイ、強弱記号、テキスト、連符はこの方法で容易に再配置できるかもしれません。この方法の限界は配置の仕方の選択肢が 2 つしかないことであり、どちらも適当でないかもしれません。
  2. LilyPond がレイアウト オブジェクトを配置するときに使用するオブジェクト プロパティ\override を用いて変更することになるかもしれません。オブジェクト プロパティに変更を加えることの利点は、(a) スペースをとる必要がある場合に他のいくつかのオブジェクトは自動的に移動させられます、(b) 1 回のオーバライドを同じオブジェクト タイプのインスタンスすべてに適用することができます。変更するプロパティには以下のものが含まれます:
    • direction

      これはすでに詳しくカバーされています – 譜表内部オブジェクト を参照してください。

    • padding, left-padding, right-padding, staff-padding

      あるオブジェクトが配置されるとき、そのオブジェクトの padding プロパティが、そのオブジェクトとそのオブジェクトに最も隣接するオブジェクトの端との間に置かれる間隔を指定します。配置される最中のオブジェクトの padding 値が使用されるということに注意してください。すでに配置されたオブジェクトの padding 値は無視されます。padding によって指定された間隔は side-position-interface をサポートするオブジェクトすべてに適用することができます。

      臨時記号のグループの配置は、padding の代わりに、left-paddingright-padding によって制御されます。これらのプロパティは AccidentalPlacement オブジェクトの中にあり、注意すべきことに、そのオブジェクトは Staff コンテキストの中にあります。譜刻プロセスでは、符頭が最初に譜刻され、臨時記号 (がある場合は) が次に符頭の左側に付け加えられます。このとき、臨時記号と符頭の間隔は right-padding プロパティによって指定されます。そのため、AccidentalPlacement オブジェクトの right-padding プロパティだけが臨時記号の配置に影響を与えます。

      staff-padding プロパティは padding プロパティと深い関わりがあります: padding プロパティは、side-position-interface をサポートするオブジェクトとそれに最隣接する他のオブジェクト (一般には音符や譜表線) との間のスペースの最小量を制御します。一方、staff-padding は常に譜表の外側に配置されるレイアウト オブジェクトにのみ適用されます – これは譜表の外側に配置されるオブジェクトと譜表の間に挿入されるべきスペースの最小量を制御します。staff-paddin は譜表ではなく音符との相対関係で配置されるオブジェクトには影響を与えないということに注意してください。そのようなオブジェクトに対して staff-padding のオーバライドを行ったとしてもエラーは起きないかもしれませんが、無視されます。

      あなたが再配置しようとしているオブジェクトに対して求められる padding プロパティはどれなのかを見つけるには、内部リファレンスに戻ってそのオブジェクトのプロパティを調べる必要があります。padding プロパティはあなたが再配置しようとしているオブジェクトの中には無いかもしれないということに注意してください。その場合は、そのオブジェクトに関係があるオブジェクトを調べてください。

      すべての padding 値は譜表スペースで測られます。たいていのオブジェクトでは、この値はデフォルトで約 1.0 かそれ以下にセットされています (それぞれのオブジェクトで値はさまざまです)。間隔を大きく (あるいは小さく) する必要がある場合、その値はオーバライドされるかもしれません。

    • self-alignment-X

      このプロパティを使うことで、親オブジェクトの参照ポイントに従って、オブジェクトを左、右、中央に揃えることができます。このプロパティは self-alignment-interface をサポートするオブジェクトすべてに対して使用することができます。一般に、テキストを保持するオブジェクトです。値は Left, RIGHT, CENTER です。代替手段として、-1 から +1 までの数値を指定することもできます。-1 は左揃えであり、+1 は右揃え、その間の数値は左揃えから右揃えへのテキストを移動させます (訳者: -0.5 であれば、左揃えと中央揃えの中間ということ)。1 よりも大きな数値を指定することでテキストをさらに左へ、-1 よりも小さな数値を指定することでテキストをさらに右へ移動させることができます。この値を 1 増減することによる移動量はそのテキストの長さの半分です。

    • extra-spacing-width

      このプロパティは item-interface をサポートするオブジェクトすべてで利用可能です。このプロパティは 2 つの数値をとり、最初の数値はオブジェクトの左側に余白を追加し、2 番目の数値はオブジェクトの右側に余白を追加します。負値はオブジェクトの端を左に移動させ、正値は右に移動させます。そのため、オブジェクトを広くするには、最初の数値を負値にして、2 番目の数値を正値にする必要があります。すべてのオブジェクトが両方の数値を遵守するわけではないということに注意してください。例えば、Accidental オブジェクトは最初の数値 (左端) にしか注意を払いません。

    • staff-position

      staff-positionstaff-symbol-referencer-interface のプロパティです。これは、譜表との相対関係で配置されるオブジェクトによってサポートされます。このプロパティはオブジェクトの垂直方向の位置を、譜表の中央にある譜表線から譜表スペースの半分を単位として、指定します。このプロパティは複数小節に亘る休符、タイ、異なるボイスの中にある音符といったレイアウト オブジェクトの衝突を解決する場合に有用です。

    • force-hshift

      和音の中で近接して配置された音符や異なるボイスの中にあって同時に起こる音符は、符頭の衝突を避けるために、2 つ (場合によってはそれ以上) の列に配置されます。この列は音符列と呼ばれ、その列に音符をレイアウトするために NoteColumn と呼ばれるオブジェクトが作成されます。

      force-hshift プロパティは NoteColumn のプロパティです (実際には note-column-interface のプロパティです)。このプロパティを変更することで音符列を、音符列特有の単位 – すなわち、最初のボイスの中にある音符の符頭の幅 – に従って、移動させることができます。このプロパティは、通常の \shiftOn コマンド (ボイスの明示的なインスタンス化 を参照してください) が音符の衝突を解決できないような複雑な状況で使用されるべきです。この目的のためには、extra-offset プロパティを用いるよりも force-hshift プロパティを用いる方が好ましいです。なぜなら、譜表スペースを単位とした距離を算出する必要が無く、NoteColumn の内外に音符を移動させることは符頭のマージといった他のアクションに影響を与えるからです。

  3. 最後に、他の方法がすべて失敗した場合、オブジェクトを手動で譜表の中央線からの垂直方向の相対位置に従って、あるいは新たに設定した位置との距離に従って、再配置することになるかもしれません。この方法の欠点は、再配置のための正確な値を算出する必要がある – しばしば、その算出はそれぞれのオブジェクトに対して個々に、トライ&エラーで行われます – 必要があるということ、さらに、この方法による移動は LilyPond が他のオブジェクトをすべて配置した後に行われるため、ユーザはその結果として起こるかもしれない衝突をすべて回避する責任があるということです。しかし、この方法の最大の問題点は、音楽が後で変更された場合に、再配置用の値を再び算出する必要があるということです。このタイプの手動再配置のために使用されるプロパティは以下のようなものです:
    extra-offset

    このプロパティは grob-interface をサポートするレイアウト オブジェクトのいずれかに適用されます。このプロパティはペアになった数値をとり、それぞれの数値は水平方向と垂直方向の移動を指定します。負値はオブジェクトを左または下へ移動させます。単位は譜表スペースです。この移動はオブジェクトの譜刻が完了した後に行われるため、あるオブジェクトを任意の位置へ、他のオブジェクトに影響を与えることなく、再配置することができます。

    positions

    このプロパティは、連桁、スラー、連符の傾きと高さを手動で調節するために最も有用なプロパティです。このプロパティはペアになった数値をとり、それぞれの数値は連桁、スラーなどの左端と右端の位置を譜表の中央線との距離で指定します。単位は譜表スペースです。けれども、スラーとフレージング スラーを任意の値で再配置することはできないということに注意してください。LilyPond はまずスラーが取り得る位置のリストを生成し、それからデフォルトでは “最良に見える” スラーを探します。positions がオーバライドされていた場合、そのリストの中からリクエストされた位置に最も近いスラーが選択されます。

あるオブジェクトがこれらのプロパティすべてを持っているわけではありません。内部リファレンスに行き、そのオブジェクトではどのプロパティが利用可能なのかを調べる必要があります。

オブジェクト タイプ

オブジェクト名

アーティキュレーション (Articulation)

Script

連桁 (Beam)

Beam

強弱記号 (Dynamic) (垂直方向)

DynamicLineSpanner

強弱記号 (Dynamic) (水平方向)

DynamicText

運指法記号 (Fingering)

Fingering

リハーサル / テキスト記号 (Rehearsal / Text mark)

RehearsalMark

スラー (Slur)

Slur

テキスト – つまり、^"text" (Text)

TextScript

タイ (Tie)

Tie

連符 (Tuplet)

TupletBracket


4.5.2 表記の重なりを修正する

今度は、前のセクションで扱ったプロパティが記譜の重なりを解決する手助けをどのようにできるかを見ていきましょう。

padding プロパティ

padding プロパティに値をセットすることによって、音符とその上または下に譜刻される記号との間の距離を増減することができます。

c2\fermata
\override Script #'padding = #3
b2\fermata

[image of music]

% This will not work, see below:
\override MetronomeMark #'padding = #3
\tempo 4=120
c1
% This works:
\override Score.MetronomeMark #'padding = #3
\tempo 4=80
d1

[image of music]

2 番目の例では、ある特定のオブジェクトを扱うのはどのコンテキストなのかを突き止めることが重要であるということに注意してください。MetronomeMark オブジェクトは Score コンテキストの中で処理されるため、Voice コンテキストの中でのプロパティの変更は無視されます。更に詳細を知りたければ、 Modifying properties を参照してください。

outside-staff-priority に従って配置されているオブジェクトの並びの中のあるオブジェクトの padding プロパティが増やされた場合、そのオブジェクトとそれよりも外側にあるすべてオブジェクトが移動させられます。

left-padding と right-padding

right-padding プロパティは臨時記号とそれが適用される音符との間のスペースに影響を与えます。このプロパティを変更することは必ずしも必要ではありませんが、以下の例は変更を必要とする状況の 1 つを示しています。B ナチュラルと B フラットの両方を保持する和音を譜刻したいとします。あいまいさ (あるいは多義: ここでは B が B ナチュラルと B フラットの両方に解釈できるということ) を避けるために、音符の前にナチュラル記号とフラット記号の両方を置くことにします。以下に、それを達成するための試みをいくつか挙げます:

<b bes>
<b! bes>
<b? bes>

[image of music]

どれもうまくいっていません。2 番目と 3 番目の (和) 音符では 2 つの記号が衝突しています。

これを達成するための方法の 1 つは、臨時記号のステンシルを、ナチュラル記号とフラット記号を望んでいる並びで保持しているマークアップでオーバライドすることです。以下のように:

naturalplusflat = \markup { \natural \flat }
\relative c'' {
  \once \override Accidental
    #'stencil = #ly:text-interface::print
  \once \override Accidental #'text = #naturalplusflat
  \once \override Score.AccidentalPlacement #'right-padding = #1.5
  <b bes>
}

[image of music]

これは必然的に臨時記号のステンシルをオーバライドすることになります。このオーバライドについては後々までカバーされません。ステンシル タイプは手続きでなければならず、ここでは Accidentaltext プロパティの内容 – フラット記号が後に続くナチュラル記号 – を譜刻するように変更されています。それらの記号は right-padding のオーバライドによって符頭からさらに遠くへ移動させられています。

staff-padding プロパティ

staff-padding を使うことで、強弱記号などのオブジェクトを、それらが取り付けられる音符の位置に依存した高さではなく、譜表上のある固定した高さのベースラインに揃えることができます。このプロパティは DynamicText のプロパティではなく、DynamicSpanner のプロパティです。この理由は、このベースラインは延長スパナを含むすべての強弱起動に等しく適用されるべきだからです。そのため、これは以前のセクションでの例の中にある強弱記号を揃えるための方法になります:

\dynamicUp
% Extend width by 1 unit
\override DynamicText #'extra-spacing-width = #'(-0.5 . 0.5)
% Align dynamics to a base line 2 units above staff
\override DynamicLineSpanner #'staff-padding = #2
a4\f b\mf c\mp b\p

[image of music]

self-alignment-X プロパティ

以下の例はこのプロパティが、運指法記号オブジェクトの右端を親の音符の参照ポイントに揃えることによって、弦楽器の運指法記号オブジェクトと音符の符幹とのこのプロパティが衝突を解決している様子を示しています:

\voiceOne
< a \2 >
\once \override StringNumber #'self-alignment-X = #RIGHT
< a \2 >

[image of music]

staff-position プロパティ

あるボイスの中にある複数小節に亘る休符は他のボイスの中にある音符と衝突する可能性があります。このような休符は小節線と小節線の間の中央に譜刻されるため、LilyPond がそれと衝突するかもしれない音符を突き止めるのは非常に困難です。なぜなら、現在の音符間それに音符-休符間の衝突対応は、同時に起こる音符と休符に対してのみ行われるからです。以下に、このタイプの衝突の例を挙げます:

<< {c c c c} \\ {R1} >>

[image of music]

ここでの最良の解決策は、複数小節に亘る休符を下へ移動させることです。なぜなら、その休符はボイス 2 の中にあるからです。\voiceTwo (すなわち、<<{...} \\ {...}>> 構造の 2 番目のボイス) のデフォルト状態では、MultiMeasureReststaff-position-4 にセットされています。そのため、そのプロパティを、例えば半譜表スペース 4 つ分押し下げるには、-8 に変更する必要があります。

<<
  {c c c c}
\\
  \override MultiMeasureRest #'staff-position = #-8
  {R1}
>>

[image of music]

これは、例えば extra-offset を使うよりも良い解決方法です。なぜなら、その休符の上に加線が自動的に挿入されるからです。

extra-offset プロパティ

extra-offset プロパティは、あるオブジェクトの水平方向と垂直方向の配置を完全に制御します。

以下の例では、2 番目の運指法記号が少し左に、そして 1.8 譜表スペース下に移動させられています:

\stemUp
f-5
\once \override Fingering
    #'extra-offset = #'(-0.3 . -1.8)
f-5

[image of music]

positions プロパティ

positions プロパティは連符、スラー、フレージング スラー、連桁の位置と傾きを手動で制御することを可能にします。ここで、装飾音符に付いたスラーを避けようとしているために醜いフレージング スラーを持つ例を挙げます。

r4  \acciaccatura e8\( d8 c ~c d c d\)

[image of music]

フレージング スラーを音符の上へ移動させることで、より良い結果が得られます:

r4
\phrasingSlurUp
\acciaccatura e8\( d8 c ~c d c d\)

[image of music]

しかし、何らかの理由でそうすることができない場合、それに代わる解決策は、positions プロパティを使ってフレージング スラーの左端を少し下げることです。この方法でも見栄えの悪さを解決できます。

r4
\once \override PhrasingSlur #'positions = #'(-4 . -3)
\acciaccatura
e8\( d8 c ~c d c d\)

[image of music]

さらに、Chopin の 前奏曲 Op 28 No. 2 の左手の譜の開始部分から取った例を挙げます。連桁が上部にある音符と衝突しています:

{
\clef "bass"
<< {b,8 ais, b, g,} \\ {e, g e, g} >>
<< {b,8 ais, b, g,} \\ {e, g e, g} >>
}

[image of music]

これは、譜表の中央線から 2 譜表スペース上の位置にある連桁の両端を、例えば、3 に手動で上げることによって解決することができます:

{
  \clef "bass"
  <<
    \override Beam #'positions = #'(3 . 3)
    {b,8 ais, b, g,}
  \\
    {e, g e, g}
  >>
  << {b,8 ais, b, g,} \\ {e, g e, g} >>
}

[image of music]

オーバライドの効果は継続して 2 番目のブロックのボイス 1 にも適用されていますが、ボイス 2 の連桁にはまったく適用されていないということに注意してください。

force-hshift プロパティ

今や、私はボイスを聴いている の最後で挙げた Chopin の例にどのように修正を加えるべきかを知っています。この例は以下のような状態でした:

\new Staff \relative c'' {
  \key aes \major
  <<
    { c2 aes4. bes8 } \\
    { aes2 f4 fes   } \\
    { \voiceFour
      <ees c>2
      des2
    }
  >> |
  <c ees aes c>1 |
}

[image of music]

最初の和音の下の方にある 2 つの音符 (つまり、3 番目のボイス (ボイス 4) の音符) を上の方にある 2 つの音符の音符列からずらすべきではありません。これを修正するには、下の音符の force-hshift – これは NoteColumn のプロパティです – を 0 にセットします。2 番目の和音の下の方の音符は、上の方の音符のすぐ右に置くのが最良です。そうするには、この音符の force-hshift を 0.5 にセットします – つまり、上の方の音符の音符列から符頭の幅の半分だけ右にずらします。

ここで、最終結果を挙げます:

\new Staff \relative c'' {
  \key aes \major
  <<
    { c2 aes4. bes8 } \\
    { aes2 f4 fes   } \\
    { \voiceFour
      \once \override NoteColumn #'force-hshift = #0 <ees c>2
      \once \override NoteColumn #'force-hshift = #0.5 des2
    }
  >> |
  <c ees aes c>1 |
}

[image of music]


4.5.3 実際の音楽からの例

調整についてのセクションを、望みの出力を作り出すためにいくつかの調整を必要とするトリッキーな例を処理するときにとられるステップを示すことで締めくくります。この例は、記譜法についての普通ではない問題を解決するための記譜法リファレンスの使い方を示すために慎重に選ばれたものです。この例は一般的な譜刻プロセスを代表するものではありません。ですから、この例の複雑さでやる気を失わないでください!幸いなことに、このように複雑な問題は非常に稀です!

この例は Chopin の Première Ballade, Op. 23 の第 6 - 9 小節からとりました。序盤の Lento から Moderato へと移調する部分です。まず最初に望んでいる出力挙げますが、例があまりにも複雑になり過ぎないように強弱記号、運指法記号、ペダル記号は省きました。

[image of music]

まず、第 3 小節の右手パートには 4 つのボイスが必要であることに注目します。それぞれのボイスは、連桁でつながれた 5 つの 8 分音符、タイで結ばれた C、半音符の D – これは 8 分音符の D とマージされています、付点 4 分音符の F シャープ – これも同じピッチの 8 分音符とマージされています – です。他の部分はすべて単一のボイスなので、最も容易な方法は 4 つのボイスを必要になったときに一時的に導入する方法です。一時的に多声にする方法を忘れてしまったのならば、私はボイスを聴いている を見てください。音符を 2 つの変数として入力し、譜表構造を Score ブロックの中でセットアップすることから始めて、それで LilyPond がデフォルトでどのような出力を作り出すのか見てみましょう:

rhMusic = \relative c'' {
  r2 c4. g8 |
  bes1~ |
  \time 6/4
  bes2. r8
  % Start polyphonic section of four voices
  <<
    {c,8 d fis bes a | }
  \\
    {c,8~ c2 | }
  \\
    {s8 d2 | }
  \\
    {s4 fis4. | }
  >>
  g2.
}

lhMusic = \relative c' {
  r2 <c g ees>2 |
  <d g, d>1 |
  r2. d,,4 r4 r |
  r4
}

\score {
  \new PianoStaff <<
    \new Staff = "RH"  <<
      \key g \minor
      \rhMusic
    >>
    \new Staff = "LH" <<
      \key g \minor
      \clef "bass"
      \lhMusic
    >>
  >>
}

[image of music]

すべての音符は間違っていません。しかしながら、見た目は満足とは程遠いものです。タイは移調する拍子記号と衝突していて、第 3 小節の連桁の付け方は間違っていて、音符はマージされておらず、いくつかの記譜要素は欠けています。簡単なものから片付けていきましょう。連桁の付け方は手動で連桁を挿入することで修正でき、左手パートのスラーと右手パートのフレージング スラーは簡単に追加できます – なぜなら、これらはすべてチュートリアルでカバーされているからです。これらの修正を加えると、以下のようになります:

rhMusic = \relative c'' {
  r2 c4.\( g8 |
  bes1~ |
  \time 6/4
  bes2. r8
  % Start polyphonic section of four voices
  <<
    {c,8[ d fis bes a] | }
  \\
    {c,8~ c2 | }
  \\
    {s8 d2 | }
  \\
    {s4 fis4. | }
  >>
  g2.\)
}

lhMusic = \relative c' {
  r2 <c g ees>2( |
  <d g, d>1) |
  r2. d,,4 r4 r |
  r4
}

\score {
  \new PianoStaff <<
    \new Staff = "RH"  <<
      \key g \minor
      \rhMusic
    >>
    \new Staff = "LH" <<
      \key g \minor
      \clef "bass"
      \lhMusic
    >>
  >>
}

[image of music]

第 1 小節は正しくなりました。第 2 小節にはアルペジオが含まれていて、2 重の小節線で終わります。この学習マニュアルではこれらのことは言及されてこなかったのに、どうやってやればいいのでしょうか?ここで、記譜法リファレンスに移行する必要があります。索引で ‘arpeggio’ と ‘bar line’ を探せばすぐに、アルペジオは \arpeggio を和音の後に付け加えることによって作り出され、2 重小節線は \bar "||" コマンドによって作り出されることがわかります。それは簡単にできます。次に、タイと拍子記号の衝突を修正する必要があります。これはタイを上に移動させる方法が最善です。オブジェクトの移動については以前に オブジェクトを移動させる でカバーしました。そこでは、譜表との相対位置で配置されるオブジェクトは、そのオブジェクトの staff-position プロパティをオーバライドすることによって、移動させることができると述べられています。このプロパティは譜表スペースの半分を単位として、譜表の中央線からの距離で指定されます。ですから、以下の以下のオーバライドをタイで結ばれる最初の音符の前に置けば、タイは中央線から 3.5 半譜表スペースだけ上の位置に移動させられます:

\once \override Tie #'staff-position = #3.5

これで第 2 小節の修正も完了で、以下のようになります:

rhMusic = \relative c'' {
  r2 c4.\( g8 |
  \once \override Tie #'staff-position = #3.5
  bes1~ |
  \bar "||"
  \time 6/4
  bes2. r8
  % Start polyphonic section of four voices
  <<
    {c,8[ d fis bes a] | }
  \\
    {c,8~ c2 | }
  \\
    {s8 d2 | }
  \\
    {s4 fis4. | }
  >>
  g2.\)
}

lhMusic = \relative c' {
  r2 <c g ees>2( |
  <d g, d>1)\arpeggio |
  r2. d,,4 r4 r |
  r4
}

\score {
  \new PianoStaff <<
    \new Staff = "RH"  <<
      \key g \minor
      \rhMusic
    >>
    \new Staff = "LH" <<
      \key g \minor
      \clef "bass"
      \lhMusic
    >>
  >>
}

[image of music]

第 3 小節 – Moderato セクションの開始部分 – に取り掛かります。チュートリアルで \markup コマンドを使ってボールド体のテキストを付け加える方法を示しましたので、‘Moderato’ をボールド体で付け加えることは容易です。しかし、異なるボイスの中にある音符をマージするにはどうするのでしょうか?ここで、助けを求めて記譜法リファレンスに移行する必要があります。記譜法リファレンスで “merge” を探せばすぐに、 Collision resolution で符頭や付点の付き方が異なる音符をマージするためのコマンドにたどり着きます。今回の例では、多声部セクションで両方のタイプの音符をマージする (異なる符頭を持つ音符のマージと、付点の付き方が異なる音符のマージ) 必要があるので、記譜法リファレンスで見つけた情報を使って、以下のコマンド:

\mergeDifferentlyHeadedOn
\mergeDifferentlyDottedOn

を多声部セクションの開始点に置き、以下のコマンド:

\mergeDifferentlyHeadedOff
\mergeDifferentlyDottedOff

をセクションの終了点に置きます。これで、例は以下のようになります:

rhMusic = \relative c'' {
  r2 c4.\( g8 |
  \once \override Tie #'staff-position = #3.5
  bes1~ |
  \bar "||"
  \time 6/4
  bes2.^\markup {\bold "Moderato"} r8
  \mergeDifferentlyHeadedOn
  \mergeDifferentlyDottedOn
  % Start polyphonic section of four voices
  <<
    {c,8[ d fis bes a] | }
  \\
    {c,8~ c2 | }
  \\
    {s8 d2 | }
  \\
    {s4 fis4. | }
  >>
  \mergeDifferentlyHeadedOff
  \mergeDifferentlyDottedOff
  g2.\)
}

lhMusic = \relative c' {
  r2 <c g ees>2( |
  <d g, d>1)\arpeggio |
  r2. d,,4 r4 r |
  r4
}

\score {
  \new PianoStaff <<
    \new Staff = "RH"  <<
      \key g \minor
      \rhMusic
    >>
    \new Staff = "LH" <<
      \key g \minor
      \clef "bass"
      \lhMusic
    >>
  >>
}

[image of music]

オーバライドは 2 つの F シャープの音符をマージしましたが、2 つの D をマージしませんでした。なぜマージしなかったのでしょうか?その答えは記譜法リファレンスの同じセクションにあります – マージされる音符は反対向きの符幹を持っていなくてはならず、同じ音符列に 3 つ目の音符がある場合は 2 つの音符をマージさせることはできません。今回の例では、2 つの D は両方とも上向きの符幹を持っていて、3 つ目の音符 – C – が存在します。我々は \stemDown を用いて符幹の向きを変更する方法を知っていて、記譜法リファレンスも C を移動させる方法について述べています – \shift コマンドの 1 つを用いてシフトを行います。しかし、どのシフトを行えばよいのでしょうか?C はシフト off のボイス 2 の中にあり、2 つの D はボイス 1 とボイス 3 – それぞれ、シフト off とシフト on – の中にあります。ですから、C が 2 つの D と衝突するのを避けるために、\shiftOnn を用いて C を更にシフトさせる必要があります。これらの変更を加えると、以下のようになります:

rhMusic = \relative c'' {
  r2 c4.\( g8 |
  \once \override Tie #'staff-position = #3.5
  bes1~ |
  \bar "||"
  \time 6/4
  bes2.^\markup {\bold "Moderato"} r8
  \mergeDifferentlyHeadedOn
  \mergeDifferentlyDottedOn
  % Start polyphonic section of four voices
  <<
    {c,8[ d fis bes a] | }
  \\
    % Move the c2 out of the main note column so the merge will work
    {c,8~ \shiftOnn c2 | }
  \\
    % Stem on the d2 must be down to permit merging
    {s8 \stemDown d2 | }
  \\
    {s4 fis4. | }
  >>
  \mergeDifferentlyHeadedOff
  \mergeDifferentlyDottedOff
  g2.\)
}

lhMusic = \relative c' {
  r2 <c g ees>2( |
  <d g, d>1)\arpeggio |
  r2. d,,4 r4 r |
  r4
}

\score {
  \new PianoStaff <<
    \new Staff = "RH"  <<
      \key g \minor
      \rhMusic
    >>
    \new Staff = "LH" <<
      \key g \minor
      \clef "bass"
      \lhMusic
    >>
  >>
}

[image of music]

もうちょっとです。残っている問題は 2 つだけです: マージされた D の下向きの符幹はあるべきではなく、C は D の右側に配置した方が良いということです。以前に行った調整からこれらを行う方法を両方とも知っています: 符幹を透明にして、force-hshift プロパティを用いて C を移動させます。ここで、最終結果を示します:

rhMusic = \relative c'' {
  r2
  c4.\( g8 |
  \once \override Tie #'staff-position = #3.5
  bes1~ |
  \bar "||"
  \time 6/4
  bes2.^\markup {\bold "Moderato"} r8
  \mergeDifferentlyHeadedOn
  \mergeDifferentlyDottedOn
  <<
    {c,8[ d fis bes a] | }
  \\
    % Reposition the c2 to the right of the merged note
    {c,8~ \once \override NoteColumn #'force-hshift = #1.0
    % Move the c2 out of the main note column so the merge will work
    \shiftOnn c2}
  \\
    % Stem on the d2 must be down to permit merging
    {s8 \stemDown \once \override Stem #'transparent = ##t d2}
  \\
    {s4 fis4.}
  >>
  \mergeDifferentlyHeadedOff
  \mergeDifferentlyDottedOff
  g2.\)
}

lhMusic = \relative c' {
  r2 <c g ees>2( |
  <d g, d>1)\arpeggio |
  r2. d,,4 r4 r |
  r4
}

\score {
  \new PianoStaff <<
    \new Staff = "RH"  <<
      \key g \minor
      \rhMusic
    >>
    \new Staff = "LH" <<
      \key g \minor
      \clef "bass"
      \lhMusic
    >>
  >>
}

[image of music]


4.6 更なる調整


4.6.1 調整のその他の使用方法

異なるボイスの中にある音符をタイで結ぶ

以下の例は異なるボイスの中にある音符をタイで結ぶ方法を示しています。通常、タイで結べるのは同じボイスの中にある 2 つ音符だけです。2 つのボイスを使い、そのうちの 1 つにタイで結んだ音符を置きます:

[image of music]

そして、そのボイスの最初の上向き符幹を消します。これで、タイはボイスをまたがっているように見えます:

<<
  {
    \once \override Stem #'transparent = ##t
    b8~ b8\noBeam
  }
\\
  { b[ g8] }
>>

[image of music]

符幹は表示されなくなっただけなので、タイの長さが十分ではありません。符幹の length8 にセットすることで符幹を伸ばすことができます:

<<
  {
    \once \override Stem #'transparent = ##t
    \once \override Stem #'length = #8
    b8~ b8\noBeam
  }
\\
  { b[ g8] }
>>

[image of music]

MIDI でフェルマータをシミュレートする

譜表外部オブジェクトを出力から削除しようとする場合、そのオブジェクトの transparent プロパティではなく stencil プロパティをオーバライドする方が通常は望ましいです。あるオブジェクトの stencil プロパティを #f にセットすると、そのオブジェクトは出力から完全に削除されます。このことは、削除されたオブジェクトがそのオブジェクトとの相対位置で配置される他のオブジェクトの配置にまったく影響を及ぼさないということを意味します。

例えば、MIDI 出力でフェルマータをシミュレートするためにメトロノーム設定を変更したいとします。その場合、メトロノーム記号を出力に表示させたくありません。そして、それが 2 つのシステム (小節とその中にある表記) 間のスペースと、譜表上にある隣接する注釈の位置に影響を与えることを望みません。そのため、そのメトロノーム記号の stencil プロパティを #f にセットする方法が最良です。ここで、2 つの手法の結果を示します:

\score {
  \relative c'' {
    % Visible tempo marking
    \tempo 4=120
    a4 a a
    \once \override Score.MetronomeMark #'transparent = ##t
    % Invisible tempo marking to lengthen fermata in MIDI
    \tempo 4=80
    a\fermata
    % New tempo for next section
    \tempo 4=100
    a a a a
  }
  \layout { }
  \midi { }
}

[image of music]

\score {
  \relative c'' {
    % Visible tempo marking
    \tempo 4=120
    a4 a a
    \once \override Score.MetronomeMark #'stencil = ##f
    % Invisible tempo marking to lengthen fermata in MIDI
    \tempo 4=80
    a\fermata
    % New tempo for next section
    \tempo 4=100
    a a a a
  }
  \layout { }
  \midi { }
}

[image of music]

両方の手段とも、フェルマータ部分の演奏時間を伸ばすメトロノーム記号を出力から削除していて、両方とも MIDI の演奏に必要な効果を与えています。しかし、1 番目の例の透明なメトロノーム記号がそれに続く拍子指示を上に押し上げているのに対して、2 番目のメトロノーム記号 (ステンシルが削除されたもの) は押し上げていません。


4.6.2 調整のために変数を使用する

オーバライド コマンドはしばしば長く、入力するのが大変なものになります。そして、それらは完全に正しく記述されなければなりません。同じオーバライドが何度も使用される場合、それらを保持する変数を定義すると非常に役に立ちます。

歌詞の中のある特定の単語をボールド イタリック体で譜刻することによって、それらを強調したいと仮定します。歌詞の中では、\italic\bold は (書式を) 変更したい単語や文と一緒に \markup ブロックの中に入れた場合にのみ機能しますが、それを毎回入力するのは大変です。埋め込む必要のある単語自体が、2 つのコマンドを簡単な変数を用いて使うことを妨げます。代替手段として、\override コマンドと \revert コマンドを使うことはできないでしょうか?

\override Lyrics . LyricText #'font-shape = #'italic
\override Lyrics . LyricText #'font-series = #'bold

\revert Lyrics . LyricText #'font-shape
\revert Lyrics . LyricText #'font-series

これらも、強調する必要のある単語がたくさんある場合、入力するのが非常に大変です。しかしながら、これらは 2 つの変数として定義することができ、それらの変数で単語を囲むことによって使ってその単語を強調することができます。これらのオーバライドに変数を用いることのもう 1 つの利点は、ドットの両側にスペースを置く必要が無いことです。なぜなら、これらのオーバライドは \lyricmode の中で直接解釈されるわけではないからです。ここで変数を用いる例を挙げますが、実際には早く打ち込めるようにもっと短い変数名を使用します:

emphasize = {
  \override Lyrics.LyricText #'font-shape = #'italic
  \override Lyrics.LyricText #'font-series = #'bold
}
normal = {
  \revert Lyrics.LyricText #'font-shape
  \revert Lyrics.LyricText #'font-series
}

global = { \time 4/4 \partial 4 \key c \major}
SopranoMusic   = \relative c' { c4 | e4. e8 g4  g  | a a g }
AltoMusic  = \relative c' { c4 | c4. c8 e4  e  | f f e }
TenorMusic = \relative c  { e4 | g4. g8 c4. b8 | a8 b c d e4 }
BassMusic  = \relative c  { c4 | c4. c8 c4  c  | f8 g a b c4 }
VerseOne   = \lyrics { E -- | ter -- nal \emphasize Fa -- ther, \normal | strong to save, }
VerseTwo   = \lyricmode { O | \emphasize Christ, \normal whose voice the | wa -- ters heard, }
VerseThree = \lyricmode { O | \emphasize Ho -- ly Spi -- rit, \normal | who didst brood }
VerseFour  = \lyricmode { O | \emphasize Tri -- ni -- ty \normal of | love and pow'r }

\score {
  \new ChoirStaff <<
    \new Staff <<
      \clef "treble"
      \new Voice = "Soprano"  { \voiceOne \global \SopranoMusic }
      \new Voice = "Alto" { \voiceTwo \AltoMusic }
      \new Lyrics \lyricsto "Soprano" { \VerseOne   }
      \new Lyrics \lyricsto "Soprano" { \VerseTwo   }
      \new Lyrics \lyricsto "Soprano" { \VerseThree }
      \new Lyrics \lyricsto "Soprano" { \VerseFour  }
    >>
    \new Staff <<
      \clef "bass"
      \new Voice = "Tenor" { \voiceOne \TenorMusic }
      \new Voice = "Bass"  { \voiceTwo \BassMusic  }
    >>
  >>
}

[image of music]


4.6.3 スタイル シート

LilyPond が作り出す出力にはさまざまな変更を加えることができます (詳細は 出力を調整する を参照してください)。しかしながら、調整を加えたい入力ファイルがたくさんあるとしたらどうでしょう?また、単に調整を実際の音楽表記から分離したいとしたらどうでしょう?これはとても簡単なことです。

以下の例を見てみましょう。#() を持つ部分を理解できなくても心配しないでください。Scheme を用いた高度な調整 で説明されています。

mpdolce = #(make-dynamic-script (markup #:hspace 1 #:translate (cons 5 0)
  #:line(#:dynamic "mp" #:text #:italic "dolce" )))
tempoMark = #(define-music-function (parser location markp) (string?)
#{
  \once \override Score . RehearsalMark #'self-alignment-X = #left
  \once \override Score . RehearsalMark #'extra-spacing-width = #'(+inf.0 . -inf.0)
  \mark \markup { \bold $markp }
#})

\relative c'' {
  \tempo 4=50
  a4.\mpdolce d8 cis4--\glissando a | b4 bes a2
  \tempoMark "Poco piu mosso"
  cis4.\< d8 e4 fis | g8(\! fis)-. e( d)-. cis2
}

[image of music]

この例には出力が重なり合うという問題がいくつかあり、オブジェクトを移動させる のテクニックを使ってそれらを修正しています。そこで、さらに mpdolce 定義と tempoMark 定義に関して何かしてみましょう。それらは望みの出力を作り出していますが、それらを別の楽曲で使いたいとします。単純にそれらを各ファイルの先頭部分にカット&ペーストすることもできますが、わずらわしいです。その方法では定義は依然として入力ファイルの中にあり、私は個人的にすべての #() は何か醜いと感じます。それらを他のファイルの中に隠すことにしましょう:

%%% save this to a file called "definitions.ly"
%%% これを "definitions.ly" というファイル名で保存してください
mpdolce = #(make-dynamic-script (markup #:hspace 1 #:translate (cons 5 0)
  #:line(#:dynamic "mp" #:text #:italic "dolce" )))
tempoMark = #(define-music-function (parser location markp) (string?)
#{
  \once \override Score . RehearsalMark #'self-alignment-X = #left
  \once \override Score . RehearsalMark #'extra-spacing-width = #'(+inf.0 . -inf.0)
  \mark \markup { \bold $markp }
#})

今度は音楽ファイルを変更しましょう (このファイルを ‘"music.ly"’ として保存してください)。

\include "definitions.ly"

\relative c'' {
  \tempo 4=50
  a4.\mpdolce d8 cis4--\glissando a | b4 bes a2
  \once \override Score.RehearsalMark #'padding = #2.0
  \tempoMark "Poco piu mosso"
  cis4.\< d8 e4 fis | g8(\! fis)-. e( d)-. cis2
}

[image of music]

これで前よりも良くなりましたが、いくつか変更を加えることにします。グリッサンド (訳者: 第 1 小節の C シャープと A の間) は見え難いので、もっと太く、符頭に近づけます。メトロノーム記号を、最初の音符の上ではなく、音部記号の上に持ってきます。最後に、私の作曲の先生は ‘C’ 拍子記号を嫌っているので、‘4/4’ に変更した方が良さそうです。

music.ly’ には変更を加えないでください。‘definitions.ly’ を以下のように書き換えます:

%%%  definitions.ly
mpdolce = #(make-dynamic-script (markup #:hspace 1 #:translate (cons 5 0)
  #:line( #:dynamic "mp" #:text #:italic "dolce" )))
tempoMark = #(define-music-function (parser location markp) (string?)
#{
  \once \override Score . RehearsalMark #'self-alignment-X = #left
  \once \override Score . RehearsalMark #'extra-spacing-width = #'(+inf.0 . -inf.0)
  \mark \markup { \bold $markp }
#})

\layout{
  \context { \Score
    \override MetronomeMark #'extra-offset = #'(-9 . 0)
    \override MetronomeMark #'padding = #'3
  }
  \context { \Staff
    \override TimeSignature #'style = #'numbered
  }
  \context { \Voice
    \override Glissando #'thickness = #3
    \override Glissando #'gap = #0.1
  }
}

[image of music]

もっと良くなりました!今度はこれを公表したいとします。私の作曲の先生は ‘C’ 拍子記号を嫌っていますが、私は幾分好きです。現在の definitions.lyweb-publish.ly にコピーして、それにを変更を加えてみましょう。この音楽はスクリーンに表示される PDF を作り出すことを意図したものなので、出力のフォントを全体に大きくすることにします。

%%%  definitions.ly
mpdolce = #(make-dynamic-script (markup #:hspace 1 #:translate (cons 5 0)
  #:line( #:dynamic "mp" #:text #:italic "dolce" )))
tempoMark = #(define-music-function (parser location markp) (string?)
#{
  \once \override Score . RehearsalMark #'self-alignment-X = #left
  \once \override Score . RehearsalMark #'extra-spacing-width = #'(+inf.0 . -inf.0)
  \mark \markup { \bold $markp }
#})

#(set-global-staff-size 23)
\layout{
  \context { \Score
    \override MetronomeMark #'extra-offset = #'(-9 . 0)
    \override MetronomeMark #'padding = #'3
  }
  \context { \Staff
  }
  \context { \Voice
    \override Glissando #'thickness = #3
    \override Glissando #'gap = #0.1
  }
}

[image of music]

音楽ファイルの中では、単に \include "definitions.ly"\include "web-publish.ly" に置き換えるだけです。もちろん、これをもっと便利なようにすることができます。‘definitions.ly’ ファイルには mpdolcetempoMark の定義だけを持たせて、‘web-publish.ly’ ファイルには上で記述した \layout セクションだけを持たせ、‘university.ly’ ファイルには私の先生の好む出力を作り出すための調整だけを持たせます。‘music.ly’ の先頭部分は以下のようになります:

\include "definitions.ly"

%%%  Only uncomment one of these two lines!
\include "web-publish.ly"
%\include "university.ly"

このアプローチは、あなたがパーツ一式を作っているだけだとしても役に立つ可能性があります。私は自分のプロジェクトのために半ダースの ‘スタイル シート’ ファイルを使います。私はそれぞれの音楽ファイルを \include "../global.ly" で始め、‘gloval.ly’ には以下の内容を記述しています:

%%%   global.ly
\version "2.13.45"
#(ly:set-option 'point-and-click #f)
\include "../init/init-defs.ly"
\include "../init/init-layout.ly"
\include "../init/init-headers.ly"
\include "../init/init-paper.ly"

4.6.4 その他の情報源

内部リファレンスは LilyPond についての多くの情報を持っていますが、LilyPond の内部ファイルを調べることによってさらに多くの情報を収集することができます。内部ファイルを探究するには、まずあなたの使っているシステム特有のディレクトリを見つけ出す必要があります。このディレクトリの場所は、(a) あなたが lilypond.org からコンパイル済みのバイナリをダウンロードすることによって LilyPond を手に入れたのか、それとも、パッケージ マネージャから LilyPond をインストールした (つまり、Linux と一緒に配布されたか、fink や cygwin でインストールされた) のか、(b) LilyPond はどの OS 上で使用されているのか、に依存します:

lilypond.org からダウンロードした

パッケージ マネージャからインストールした、あるいは、ソースからコンパイルした

PREFIX/share/lilypond/X.Y.Z/’ に進んでください。PREFIX はパッケージ マネージャか configure スクリプトによってセットされるものであり、X.Y.Z は LilyPond のバージョン番号です。


このディレクトリの中に 2 つの興味深いサブディレクトリがあります:

ly/’ の中にあるファイルから見ていきましょう。‘ly/property-init.ly’ をテキスト エディタで開いてください。エディタはあなたが普段 .ly ファイルを編集するために使っているもので結構です。このファイルは標準の LilyPond 定義済みコマンド – \stemUp\slurDotted など – のすべての定義を保持しています。1 つまたは複数の \override コマンドを保持している変数の定義以外のものはないということがわかるでしょう。例えば、\tieDotted は以下のように定義されています:

tieDotted = {
  \override Tie #'dash-period = #0.75
  \override Tie #'dash-fraction = #0.1
}

あなたがこれらのデフォルト値を好まない場合、これらの定義済みコマンドを容易に再定義することができます – 他の変数と同様に、入力ファイルの先頭で定義します。

以下のファイルは ‘ly/’ で見つかる有用なファイルです:

ファイル名

内容

ly/engraver-init.ly

エングラーバ コンテキストの定義

ly/paper-defaults-init.ly

紙面関係のデフォルトの仕様

ly/performer-init.ly

パフォーマ コンテキストの定義

ly/property-init.ly

すべての共通定義済みコマンドの定義

ly/spanner-init.ly

スパナ関係の定義済みコマンドの定義

他の設定 (マークアップ コマンドの定義など) は .scm (Scheme) ファイルとして保存されています。Scheme プログラミング言語は、LilyPond 内部処理へのプログラム可能なインタフェイスを提供するために使用されます。これらのファイルについての詳しい説明は、Scheme 言語についての知識が必要となるため、このマニュアルの範囲外です。Scheme 言語とこれらのファイルを理解するには、十分な知識や時間が必要であるということを知っておくべきです (Scheme チュートリアル を参照してください)。

あなたがこの知識を持っているのなら、興味を持つかもしれない Scheme ファイルは以下のものです:

ファイル名

内容

scm/auto-beam.scm

サブ 連桁のデフォルト (訳者: 8 分音符には連桁だけが使用され、16 分音符やそれよりも短い音符には連桁とサブ 連桁が使われるのだと思います)

scm/define-grobs.scm

Grob (グラフィカル オブジェクト) プロパティのデフォルト設定

scm/define-markup-commands.scm

すべてのマークアップ コマンドの仕様

scm/midi.scm

MIDI 出力のデフォルト設定

scm/output-lib.scm

フレット、色、臨時記号、小節線などの見た目に影響を与える設定

scm/parser-clef.scm

サポートされる音部記号の定義

scm/script.scm

アーティキュレーションのデフォルト設定


4.6.5 処理に時間のかかる調整を避ける

LilyPond は入力ファイルの処理中に追加のチェックを行うことができます。これらのチェックは実行時間を伸ばしますが、適切な結果を得るのに必要とされる手動調整を減らすかもしれません。テキストや歌詞の一部が余白まではみ出す場合、これらのチェックは楽譜のその行を縮めてマージンの内側に収まるようにします。

すべての状況下で有効にするには、以下のように、音楽の中の行ではなく Score\with ブロックの中にこれらのチェックのオーバライドを置くことによって、動作可能な状態にする必要があります:

\new Score \with {
  % Makes sure text scripts and lyrics are within the paper margins
  \override PaperColumn #'keep-inside-line = ##t
  \override NonMusicalPaperColumn #'keep-inside-line = ##t
} {
   ..
}

4.6.6 Scheme を用いた高度な調整

\override\tweak コマンドを用いることで多くのことが可能になりますが、LilyPond のアクションを変更するもっと強力な手段が LilyPond 内部処理へのプログラム可能なインタフェイスを通じて利用可能です。Scheme プログラミング言語で書かれたコードは LilyPond の内部処理に直接組み込むことができます。もちろん、それを行うには Scheme プログラミングについての基礎知識が必要であり、その手引きが Scheme チュートリアル で提供されています。

多くの実現可能なことの 1 つの例としては、プロパティに定数をセットする代わりに Scheme プロシージャをセットすることができます。このプロパティが LilyPond によってアクセスされたときに、このプロシージャが呼び出されます。このプロシージャが呼び出されたときに、このプロシージャによって決定された値を動的にそのプロパティにセットすることができます。以下の例では、符頭にその音符の譜表上での位置に従って色を付けています:

#(define (color-notehead grob)
  "Color the notehead according to its position on the staff."
  (let ((mod-position (modulo (ly:grob-property grob 'staff-position) 7)))
    (case mod-position
      ;;   Return rainbow colors
      ((1) (x11-color 'red    ))  ; for C
      ((2) (x11-color 'orange ))  ; for D
      ((3) (x11-color 'yellow ))  ; for E
      ((4) (x11-color 'green  ))  ; for F
      ((5) (x11-color 'blue   ))  ; for G
      ((6) (x11-color 'purple ))  ; for A
      ((0) (x11-color 'violet ))  ; for B
    )
  )
)

\relative c' {
  % Arrange to obtain color from color-notehead procedure
  \override NoteHead #'color = #color-notehead
  c2 c' |
  b4 g8 a b4 c |
  c,2 a' |
  g1 |
}
\addlyrics {
  Some -- where o -- ver the Rain -- bow, way up high,
}

[image of music]

Tweaking with Scheme に、これらのプログラム可能なインタフェイスの使い方を示している例がもっとあります。


A. テンプレート

このセクションにはセットアップ済みの LilyPond 楽譜を持つテンプレートがあります。音符を付け加えて、LilyPond を実行してください。あとは美しく譜刻された楽譜をお楽しみください!


A.1 単一の譜表


A.1.1 音符のみ

これは音符を持つ譜表を提供するとても簡単なテンプレートであり、ソロの楽器や旋律に適しています。これをファイルにカット&ペーストして、音符を付け加えれば完了です!

\version "2.13.45"
melody = \relative c' {
  \clef treble
  \key c \major
  \time 4/4

  a4 b c d
}

\score {
  \new Staff \melody
  \layout { }
  \midi { }
}

[image of music]


A.1.2 音符と歌詞

この小さなテンプレートは歌詞を持つ簡単な旋律を表しています。カット&ペーストして、音符を付け加えて、それから歌詞の単語を付け加えてください。この例は自動ビームを off にしています。これはボーカル パートでは一般的なことです。自動ビームを使用するには、対応する行を変更するか、コメント アウトしてください。

\version "2.13.45"
melody = \relative c' {
  \clef treble
  \key c \major
  \time 4/4

  a4 b c d
}

text = \lyricmode {
  Aaa Bee Cee Dee
}

\score{
  <<
    \new Voice = "one" {
      \autoBeamOff
      \melody
    }
    \new Lyrics \lyricsto "one" \text
  >>
  \layout { }
  \midi { }
}

[image of music]


A.1.3 音符とコード

旋律とコードを持つリード譜を欲しくはありませんか?他を見る必要はありません!

melody = \relative c' {
  \clef treble
  \key c \major
  \time 4/4

  f4 e8[ c] d4 g
  a2 ~ a
}

harmonies = \chordmode {
  c4:m f:min7 g:maj c:aug
  d2:dim b:sus
}

\score {
  <<
    \new ChordNames {
      \set chordChanges = ##t
      \harmonies
    }
    \new Staff \melody
  >>
  \layout{ }
  \midi { }
}

[image of music]


A.1.4 音符、歌詞それにコード

これは旋律、単語、コードを持つ歌曲の楽譜のためのテンプレートです。

melody = \relative c' {
  \clef treble
  \key c \major
  \time 4/4

  a4 b c d
}

text = \lyricmode {
  Aaa Bee Cee Dee
}

harmonies = \chordmode {
  a2 c
}

\score {
  <<
    \new ChordNames {
      \set chordChanges = ##t
      \harmonies
    }
    \new Voice = "one" { \autoBeamOff \melody }
    \new Lyrics \lyricsto "one" \text
  >>
  \layout { }
  \midi { }
}

[image of music]


A.2 ピアノ テンプレート


A.2.1 ソロ ピアノ

いくつかの音符を持つシンプルなピアノ譜を挙げます。

upper = \relative c'' {
  \clef treble
  \key c \major
  \time 4/4

  a4 b c d
}

lower = \relative c {
  \clef bass
  \key c \major
  \time 4/4

  a2 c
}

\score {
  \new PianoStaff <<
    \set PianoStaff.instrumentName = #"Piano  "
    \new Staff = "upper" \upper
    \new Staff = "lower" \lower
  >>
  \layout { }
  \midi { }
}

[image of music]


A.2.2 ピアノと歌詞を持つ旋律

これは一般的な歌曲のフォーマットです: 旋律と歌詞を持つ譜表と、その下にピアノ伴奏譜があります。

melody = \relative c'' {
  \clef treble
  \key c \major
  \time 4/4

  a b c d
}

text = \lyricmode {
  Aaa Bee Cee Dee
}

upper = \relative c'' {
  \clef treble
  \key c \major
  \time 4/4

  a4 b c d
}

lower = \relative c {
  \clef bass
  \key c \major
  \time 4/4

  a2 c
}

\score {
  <<
    \new Voice = "mel" { \autoBeamOff \melody }
    \new Lyrics \lyricsto mel \text
    \new PianoStaff <<
      \new Staff = "upper" \upper
      \new Staff = "lower" \lower
    >>
  >>
  \layout {
    \context { \Staff \RemoveEmptyStaves }
  }
  \midi { }
}

[image of music]


A.2.3 中央に歌詞を持つピアノ譜

旋律と歌詞のための譜表を持つ代わりに、歌詞をピアノ譜の 2 つの譜の間に置くことができます。

upper = \relative c'' {
  \clef treble
  \key c \major
  \time 4/4

  a4 b c d
}

lower = \relative c {
  \clef bass
  \key c \major
  \time 4/4

  a2 c
}

text = \lyricmode {
  Aaa Bee Cee Dee
}

\score {
  \new GrandStaff <<
    \new Staff = upper { \new Voice = "singer" \upper }
    \new Lyrics \lyricsto "singer" \text
    \new Staff = lower { \lower }
  >>
  \layout {
    \context {
      \GrandStaff
      \accepts "Lyrics"
    }
    \context {
      \Lyrics
      \consists "Bar_engraver"
    }
  }
  \midi { }
}

[image of music]


A.2.4 中央に強弱記号を持つピアノ譜s

多くのピアノ譜は、強弱記号を 2 つの譜の間に置きます。これを実現するにはちょっとした調整が必要ですが、そのテンプレートがここにあるので、あなた自身が調整を行う必要はありません。

global = {
  \key c \major
  \time 4/4
}

upper = \relative c'' {
  \clef treble
  a4 b c d
}

lower = \relative c {
  \clef bass
  a2 c
}

dynamics = {
  s2\fff\> s4 s\!\pp
}

pedal = {
  s2\sustainOn s\sustainOff
}

\score {
  \new PianoStaff = "PianoStaff_pf" <<
    \new Staff = "Staff_pfUpper" << \global \upper >>
    \new Dynamics = "Dynamics_pf" \dynamics
    \new Staff = "Staff_pfLower" << \global \lower >>
    \new Dynamics = "pedal" \pedal
  >>
  \layout { }
}

\score {
  \new PianoStaff = "PianoStaff_pf" <<
    \new Staff = "Staff_pfUpper" << \global \upper \dynamics \pedal >>
    \new Staff = "Staff_pfLower" << \global \lower \dynamics \pedal >>
  >>
  \midi { }
}

[image of music]


A.3 弦楽四重奏


A.3.1 弦楽四重奏

これは簡単な弦楽四重奏のためのテンプレートです。これは拍子記号と調号のために \global セクションを使っています。

global= {
  \time 4/4
  \key c \major
}

violinOne = \new Voice \relative c'' {
  \set Staff.instrumentName = #"Violin 1 "

  c2 d
  e1

  \bar "|."
}

violinTwo = \new Voice \relative c'' {
  \set Staff.instrumentName = #"Violin 2 "

  g2 f
  e1

  \bar "|."
}

viola = \new Voice \relative c' {
  \set Staff.instrumentName = #"Viola "
  \clef alto

  e2 d
  c1

  \bar "|."
}

cello = \new Voice \relative c' {
  \set Staff.instrumentName = #"Cello "
  \clef bass

  c2 b
  a1

  \bar "|."
}

\score {
  \new StaffGroup <<
    \new Staff << \global \violinOne >>
    \new Staff << \global \violinTwo >>
    \new Staff << \global \viola >>
    \new Staff << \global \cello >>
  >>
  \layout { }
  \midi { }
}

[image of music]


A.3.2 弦楽四重奏パート

"弦楽四重奏テンプレート" は適切な弦楽四重奏の楽譜を作り出しますが、個々のパート譜を譜刻する必要がある場合はどうでしょうか?今度の新しいテンプレートは \tag 機能を用いて容易に楽曲を個々のパートに分ける方法を示しています。

このテンプレートは別々のファイルに分ける必要があります。ファイル名は各ファイルの開始部分のコメントの中に記述されています。piece.ly はすべての音楽定義を保持しています。他のファイル - score.ly, vn1.ly, vn2.ly, vla.ly それに vlc.ly - は対応するパートを作り出します。

別々のファイルに分ける場合は、指定されたコメントを外すことを忘れないでください!

%%%%% piece.ly
%%%%% (This is the global definitions file)

global= {
  \time 4/4
  \key c \major
}

Violinone = \new Voice { \relative c''{
  \set Staff.instrumentName = #"Violin 1 "

  c2 d e1

\bar "|." }}   %*********************************
Violintwo = \new Voice { \relative c''{
  \set Staff.instrumentName = #"Violin 2 "

  g2 f e1

\bar "|." }}   %*********************************
Viola = \new Voice { \relative c' {
  \set Staff.instrumentName = #"Viola "
  \clef alto

  e2 d c1

\bar "|." }}   %*********************************
Cello = \new Voice { \relative c' {
  \set Staff.instrumentName = #"Cello "
  \clef bass

  c2 b a1

\bar "|."}}   %**********************************

music = {
  <<
    \tag #'score \tag #'vn1 \new Staff { << \global \Violinone >> }
    \tag #'score \tag #'vn2 \new Staff { << \global \Violintwo>> }
    \tag #'score \tag #'vla \new Staff { << \global \Viola>> }
    \tag #'score \tag #'vlc \new Staff { << \global \Cello>> }
  >>
}

%%% These are the other files you need to save on your computer

%%%%% score.ly
%%%%% (This is the main file)


%\include "piece.ly"             %%% uncomment this line when using a separate file
#(set-global-staff-size 14)
\score {
  \new StaffGroup \keepWithTag #'score \music
  \layout { }
  \midi { }
}


%{ Uncomment this block when using separate files

%%%%% vn1.ly
%%%%% (This is the Violin 1 part file)

\include "piece.ly"
\score {
  \keepWithTag #'vn1 \music
  \layout { }
}


%%%%% vn2.ly
%%%%% (This is the Violin 2 part file)

\include "piece.ly"
\score {
  \keepWithTag #'vn2 \music
  \layout { }
}


%%%%% vla.ly
%%%%% (This is the Viola part file)

\include "piece.ly"
\score {
  \keepWithTag #'vla \music
  \layout { }
}


%%%%% vlc.ly
%%%%% (This is the Cello part file)

\include "piece.ly"
\score {
  \keepWithTag #'vlc \music
  \layout { }
}

%}

[image of music]


A.4 合唱


A.4.1 SATB ボーカル譜

これは標準の 4 パート SATB (ソプラノ、アルト、テナー、バス) ボーカル譜です。もっと大きな合唱では、すべてのパートで使用されるセクションをインクルードすると便利です。例えば、拍子記号と調号はほとんど常にすべてのパートで同じです。"賛美歌" テンプレートのように、4 つのボイスは 2 つの譜にグループ分けされています。

global = {
  \key c \major
  \time 4/4
}

sopMusic = \relative c'' {
  c4 c c8[( b)] c4
}
sopWords = \lyricmode {
  hi hi hi hi
}

altoMusic = \relative c' {
  e4 f d e
}
altoWords = \lyricmode {
  ha ha ha ha
}

tenorMusic = \relative c' {
  g4 a f g
}
tenorWords = \lyricmode {
  hu hu hu hu
}

bassMusic = \relative c {
  c4 c g c
}
bassWords = \lyricmode {
  ho ho ho ho
}

\score {
  \new ChoirStaff <<
    \new Lyrics = "sopranos"
    \new Staff = "women" <<
      \new Voice = "sopranos" {
        \voiceOne
        << \global \sopMusic >>
      }
      \new Voice = "altos" {
        \voiceTwo
        << \global \altoMusic >>
      }
    >>
    \new Lyrics = "altos"
    \new Lyrics = "tenors"
    \new Staff = "men" <<
      \clef bass
      \new Voice = "tenors" {
        \voiceOne
        << \global \tenorMusic >>
      }
      \new Voice = "basses" {
        \voiceTwo << \global \bassMusic >>
      }
    >>
    \new Lyrics = "basses"
    \context Lyrics = "sopranos" \lyricsto "sopranos" \sopWords
    \context Lyrics = "altos" \lyricsto "altos" \altoWords
    \context Lyrics = "tenors" \lyricsto "tenors" \tenorWords
    \context Lyrics = "basses" \lyricsto "basses" \bassWords
  >>
}

[image of music]


A.4.2 SATB ボーカル譜と自動ピアノ譜

このテンプレートは、"合唱テンプレート"で示された標準の SATB ボーカル譜に自動ピアノ譜を付け加えています。これは LilyPond の強みの 1 つを示しています - 音楽定義を何回も使用することができます。ボーカルの音符 (例えば、tenorMusic の音符) に変更が加えられた場合、その変更はピアノ譜にも適用されます。

global = {
  \key c \major
  \time 4/4
}

sopMusic = \relative c'' {
  c4 c c8[( b)] c4
}
sopWords = \lyricmode {
  hi hi hi hi
}

altoMusic = \relative c' {
  e4 f d e
}
altoWords =\lyricmode {
  ha ha ha ha
}

tenorMusic = \relative c' {
  g4 a f g
}
tenorWords = \lyricmode {
  hu hu hu hu
}

bassMusic = \relative c {
  c4 c g c
}
bassWords = \lyricmode {
  ho ho ho ho
}

\score {
  <<
    \new ChoirStaff <<
      \new Lyrics = "sopranos"
      \new Staff = "women" <<
        \new Voice = "sopranos" { \voiceOne << \global \sopMusic >> }
        \new Voice = "altos" { \voiceTwo << \global \altoMusic >> }
      >>
      \new Lyrics = "altos"
      \new Lyrics = "tenors"
      \new Staff = "men" <<
        \clef bass
        \new Voice = "tenors" { \voiceOne << \global \tenorMusic >> }
        \new Voice = "basses" { \voiceTwo << \global \bassMusic >> }
      >>
      \new Lyrics = "basses"
      \context Lyrics = "sopranos" \lyricsto "sopranos" \sopWords
      \context Lyrics = "altos" \lyricsto "altos" \altoWords
      \context Lyrics = "tenors" \lyricsto "tenors" \tenorWords
      \context Lyrics = "basses" \lyricsto "basses" \bassWords
    >>
    \new PianoStaff <<
      \new Staff <<
        \set Staff.printPartCombineTexts = ##f
        \partcombine
        << \global \sopMusic >>
        << \global \altoMusic >>
      >>
      \new Staff <<
        \clef bass
        \set Staff.printPartCombineTexts = ##f
        \partcombine
        << \global \tenorMusic >>
        << \global \bassMusic >>
      >>
    >>
  >>
}

[image of music]


A.4.3 整列されたコンテキストを持つ SATB

このテンプレートは基本的に単純な "合唱" テンプレートと同じですが、歌詞が alignAboveContextalignBelowContext を用いて配置されています。

global = {
  \key c \major
  \time 4/4
}

sopMusic = \relative c'' {
  c4 c c8[( b)] c4
}
sopWords = \lyricmode {
  hi hi hi hi
}

altoMusic = \relative c' {
  e4 f d e
}
altoWords = \lyricmode {
  ha ha ha ha
}

tenorMusic = \relative c' {
  g4 a f g
}
tenorWords = \lyricmode {
  hu hu hu hu
}

bassMusic = \relative c {
  c4 c g c
}
bassWords = \lyricmode {
  ho ho ho ho
}

\score {
  \new ChoirStaff <<
    \new Staff = "women" <<
      \new Voice = "sopranos" { \voiceOne << \global \sopMusic >> }
      \new Voice = "altos" { \voiceTwo << \global \altoMusic >> }
    >>
    \new Lyrics \with { alignAboveContext = #"women" } \lyricsto "sopranos" \sopWords
    \new Lyrics \with { alignBelowContext = #"women" } \lyricsto "altos" \altoWords
    % we could remove the line about this with the line below, since we want
    % the alto lyrics to be below the alto Voice anyway.
    % \new Lyrics \lyricsto "altos" \altoWords

    \new Staff = "men" <<
      \clef bass
      \new Voice = "tenors" { \voiceOne << \global \tenorMusic >> }
      \new Voice = "basses" { \voiceTwo << \global \bassMusic >> }
    >>
    \new Lyrics \with { alignAboveContext = #"men" } \lyricsto "tenors" \tenorWords
    \new Lyrics \with { alignBelowContext = #"men" } \lyricsto "basses" \bassWords
    % again, we could replace the line above this with the line below.
    % \new Lyrics \lyricsto "basses" \bassWords
  >>
}

[image of music]


A.5 Orchestral templates


A.5.1 Orchestra, choir and piano

このテンプレートは、同じタイプの楽器をまとめて副グループ化するために StaffGroupGrandStaff をネストして使用する方法と、移調楽器のために \transpose を使用する方法を示しています。変数の中にある音楽はすべて C で保存されています。音楽は C で入力されるか、そうでなければ、楽器の調で入力されてから変数に代入される前に C に移調されています。

#(set-global-staff-size 17)
\paper {
  indent = 3.0\cm  % space for instrumentName
  short-indent = 1.5\cm  % space for shortInstrumentName
}

fluteMusic = \relative c' { \key g \major g'1 b }
% Pitches as written on a manuscript for Clarinet in A
% are transposed to concert pitch.
clarinetMusic = \transpose c' a
  \relative c'' { \key bes \major bes1 d }
trumpetMusic = \relative c { \key g \major g''1 b }
% Key signature is often omitted for horns
hornMusic = \transpose c' f
  \relative c { d'1 fis }
percussionMusic = \relative c { \key g \major g1 b }
sopranoMusic = \relative c'' { \key g \major g'1 b }
sopranoLyrics = \lyricmode { Lyr -- ics }
altoIMusic = \relative c' { \key g \major g'1 b }
altoIIMusic = \relative c' { \key g \major g'1 b }
altoILyrics =  \sopranoLyrics
altoIILyrics = \lyricmode { Ah -- ah }
tenorMusic = \relative c' { \clef "treble_8" \key g \major g1 b }
tenorLyrics = \sopranoLyrics
pianoRHMusic = \relative c { \key g \major g''1 b }
pianoLHMusic = \relative c { \clef bass \key g \major g1 b }
violinIMusic = \relative c' { \key g \major g'1 b }
violinIIMusic = \relative c' { \key g \major g'1 b }
violaMusic = \relative c { \clef alto \key g \major g'1 b }
celloMusic = \relative c { \clef bass \key g \major g1 b }
bassMusic = \relative c { \clef "bass_8" \key g \major g,1 b }

\score {
  <<
    \new StaffGroup = "StaffGroup_woodwinds" <<
      \new Staff = "Staff_flute" {
        \set Staff.instrumentName = #"Flute"
        % shortInstrumentName, midiInstrument, etc.
        % may be set here as well
        \fluteMusic
      }
      \new Staff = "Staff_clarinet" {
        \set Staff.instrumentName =
        \markup { \concat { "Clarinet in B" \flat } }
        % Declare that written Middle C in the music
        %  to follow sounds a concert B flat, for
        %  output using sounded pitches such as MIDI.
        \transposition bes
        % Print music for a B-flat clarinet
        \transpose bes c' \clarinetMusic
      }
    >>
    \new StaffGroup = "StaffGroup_brass" <<
      \new Staff = "Staff_hornI" {
        \set Staff.instrumentName = #"Horn in F"
        \transposition f
        \transpose f c' \hornMusic
      }
      \new Staff = "Staff_trumpet" {
        \set Staff.instrumentName = #"Trumpet in  C"
        \trumpetMusic
      }
    >>
    \new RhythmicStaff = "RhythmicStaff_percussion" <<
      \set RhythmicStaff.instrumentName = #"Percussion"
      \percussionMusic
    >>
    \new PianoStaff <<
      \set PianoStaff.instrumentName = #"Piano"
      \new Staff { \pianoRHMusic }
      \new Staff { \pianoLHMusic }
    >>
    \new ChoirStaff = "ChoirStaff_choir" <<
      \new Staff = "Staff_soprano" {
        \set Staff.instrumentName = #"Soprano"
        \new Voice = "soprano"
        \sopranoMusic
      }
      \new Lyrics \lyricsto "soprano" { \sopranoLyrics }
      \new GrandStaff = "GrandStaff_altos"
      \with { \accepts Lyrics } <<
        \new Staff = "Staff_altoI"  {
          \set Staff.instrumentName = #"Alto I"
          \new Voice = "altoI"
          \altoIMusic
        }
        \new Lyrics \lyricsto "altoI" { \altoILyrics }
        \new Staff = "Staff_altoII" {
          \set Staff.instrumentName = #"Alto II"
          \new Voice = "altoII"
          \altoIIMusic
        }
        \new Lyrics \lyricsto "altoII" { \altoIILyrics }
      >>
      \new Staff = "Staff_tenor" {
        \set Staff.instrumentName = #"Tenor"
        \new Voice = "tenor"
        \tenorMusic
      }
      \new Lyrics \lyricsto "tenor" { \tenorLyrics }
    >>
    \new StaffGroup = "StaffGroup_strings" <<
      \new GrandStaff = "GrandStaff_violins" <<
        \new Staff = "Staff_violinI" {
          \set Staff.instrumentName = #"Violin I"
          \violinIMusic
        }
        \new Staff = "Staff_violinII" {
          \set Staff.instrumentName = #"Violin II"
          \violinIIMusic
        }
      >>
      \new Staff = "Staff_viola" {
        \set Staff.instrumentName = #"Viola"
        \violaMusic
      }
      \new Staff = "Staff_cello" {
        \set Staff.instrumentName = #"Cello"
        \celloMusic
      }
      \new Staff = "Staff_bass" {
        \set Staff.instrumentName = #"Double Bass"
        \bassMusic
      }
    >>
  >>
  \layout { }
}

[image of music]


A.6 Ancient notation templates


A.6.1 Transcription of mensural music

When transcribing mensural music, an incipit at the beginning of the piece is useful to indicate the original key and tempo. While today musicians are used to bar lines in order to faster recognize rhythmic patterns, bar lines were not yet invented during the period of mensural music; in fact, the meter often changed after every few notes. As a compromise, bar lines are often printed between the staves rather than on the staves.

global = {
  \set Score.skipBars = ##t

  % incipit
  \once \override Score.SystemStartBracket #'transparent = ##t
  \override Score.SpacingSpanner #'spacing-increment = #1.0 % tight spacing
  \key f \major
  \time 2/2
  \once \override Staff.TimeSignature #'style = #'neomensural
  \override Voice.NoteHead #'style = #'neomensural
  \override Voice.Rest #'style = #'neomensural
  \set Staff.printKeyCancellation = ##f
  \cadenzaOn % turn off bar lines
  \skip 1*10
  \once \override Staff.BarLine #'transparent = ##f
  \bar "||"
  \skip 1*1 % need this extra \skip such that clef change comes
            % after bar line
  \bar ""

  % main
  \revert Score.SpacingSpanner #'spacing-increment % CHECK: no effect?
  \cadenzaOff % turn bar lines on again
  \once \override Staff.Clef #'full-size-change = ##t
  \set Staff.forceClef = ##t
  \key g \major
  \time 4/4
  \override Voice.NoteHead #'style = #'default
  \override Voice.Rest #'style = #'default

  % FIXME: setting printKeyCancellation back to #t must not
  % occur in the first bar after the incipit.  Dto. for forceClef.
  % Therefore, we need an extra \skip.
  \skip 1*1
  \set Staff.printKeyCancellation = ##t
  \set Staff.forceClef = ##f

  \skip 1*7 % the actual music

  % let finis bar go through all staves
  \override Staff.BarLine #'transparent = ##f

  % finis bar
  \bar "|."
}

discantusNotes = {
  \transpose c' c'' {
    \set Staff.instrumentName = #"Discantus  "

    % incipit
    \clef "neomensural-c1"
    c'1. s2   % two bars
    \skip 1*8 % eight bars
    \skip 1*1 % one bar

    % main
    \clef "treble"
    d'2. d'4 |
    b e' d'2 |
    c'4 e'4.( d'8 c' b |
    a4) b a2 |
    b4.( c'8 d'4) c'4 |
    \once \override NoteHead #'transparent = ##t c'1 |
    b\breve |
  }
}

discantusLyrics = \lyricmode {
  % incipit
  IV-

  % main
  Ju -- bi -- |
  la -- te De -- |
  o, om --
  nis ter -- |
  ra, __ om- |
  "..." |
  -us. |
}

altusNotes = {
  \transpose c' c'' {
    \set Staff.instrumentName = #"Altus  "

    % incipit
    \clef "neomensural-c3"
    r1        % one bar
    f1. s2    % two bars
    \skip 1*7 % seven bars
    \skip 1*1 % one bar

    % main
    \clef "treble"
    r2 g2. e4 fis g | % two bars
    a2 g4 e |
    fis g4.( fis16 e fis4) |
    g1 |
    \once \override NoteHead #'transparent = ##t g1 |
    g\breve |
  }
}

altusLyrics = \lyricmode {
  % incipit
  IV-

  % main
  Ju -- bi -- la -- te | % two bars
  De -- o, om -- |
  nis ter -- ra, |
  "..." |
  -us. |
}

tenorNotes = {
  \transpose c' c' {
    \set Staff.instrumentName = #"Tenor  "

    % incipit
    \clef "neomensural-c4"
    r\longa   % four bars
    r\breve   % two bars
    r1        % one bar
    c'1. s2   % two bars
    \skip 1*1 % one bar
    \skip 1*1 % one bar

    % main
    \clef "treble_8"
    R1 |
    R1 |
    R1 |
    r2 d'2. d'4 b e' | % two bars
    \once \override NoteHead #'transparent = ##t e'1 |
    d'\breve |
  }
}

tenorLyrics = \lyricmode {
  % incipit
  IV-

  % main
  Ju -- bi -- la -- te | % two bars
  "..." |
  -us. |
}

bassusNotes = {
  \transpose c' c' {
    \set Staff.instrumentName = #"Bassus  "

    % incipit
    \clef "bass"
    r\maxima  % eight bars
    f1. s2    % two bars
    \skip 1*1 % one bar

    % main
    \clef "bass"
    R1 |
    R1 |
    R1 |
    R1 |
    g2. e4 |
    \once \override NoteHead #'transparent = ##t e1 |
    g\breve |
  }
}

bassusLyrics = \lyricmode {
  % incipit
  IV-

  % main
  Ju -- bi- |
  "..." |
  -us. |
}

\score {
  \new StaffGroup = choirStaff <<
    \new Voice =
      "discantusNotes" << \global \discantusNotes >>
    \new Lyrics =
      "discantusLyrics" \lyricsto discantusNotes { \discantusLyrics }
    \new Voice =
      "altusNotes" << \global \altusNotes >>
    \new Lyrics =
      "altusLyrics" \lyricsto altusNotes { \altusLyrics }
    \new Voice =
      "tenorNotes" << \global \tenorNotes >>
    \new Lyrics =
      "tenorLyrics" \lyricsto tenorNotes { \tenorLyrics }
    \new Voice =
      "bassusNotes" << \global \bassusNotes >>
    \new Lyrics =
      "bassusLyrics" \lyricsto bassusNotes { \bassusLyrics }
  >>
  \layout {
    \context {
      \Score

      % no bars in staves
      \override BarLine #'transparent = ##t

      % incipit should not start with a start delimiter
      \remove "System_start_delimiter_engraver"
    }
    \context {
      \Voice

      % no slurs
      \override Slur #'transparent = ##t

      % Comment in the below "\remove" command to allow line
      % breaking also at those barlines where a note overlaps
      % into the next bar.  The command is commented out in this
      % short example score, but especially for large scores, you
      % will typically yield better line breaking and thus improve
      % overall spacing if you comment in the following command.
      %\remove "Forbid_line_break_engraver"
    }
  }
}




[image of music]


A.6.2 Gregorian transcription template

This example demonstrates how to do modern transcription of Gregorian music. Gregorian music has no measure, no stems; it uses only half and quarter note heads, and special marks, indicating rests of different length.

\include "gregorian.ly"

chant = \relative c' {
  \set Score.timing = ##f
  f4 a2 \divisioMinima
  g4 b a2 f2 \divisioMaior
  g4( f) f( g) a2 \finalis
}

verba = \lyricmode {
  Lo -- rem ip -- sum do -- lor sit a -- met
}

\score {
  \new Staff <<
    \new Voice = "melody" \chant
    \new Lyrics = "one" \lyricsto melody \verba
  >>
  \layout {
    \context {
      \Staff
      \remove "Time_signature_engraver"
      \remove "Bar_engraver"
      \override Stem #'transparent = ##t
    }
    \context {
      \Voice
      \override Stem #'length = #0
    }
    \context {
      \Score
      barAlways = ##t
    }
  }
}

[image of music]


A.7 Jazz コンボ

これはジャズ アンサンブルのための非常に高度なテンプレートです。すべての楽器は \key c \major で記述されていることに注意してください。これは、調をコンサート ピッチで参照させます。音楽が \tranpose セクションの中に置かれている場合は、調は自動的に移調されます。

\header {
  title = "Song"
  subtitle = "(tune)"
  composer = "Me"
  meter = "moderato"
  piece = "Swing"
  tagline = \markup {
    \column {
      "LilyPond example file by Amelie Zapf,"
      "Berlin 07/07/2003"
    }
  }
}

%#(set-global-staff-size 16)
\include "english.ly"

%%%%%%%%%%%% Some macros %%%%%%%%%%%%%%%%%%%

sl = {
  \override NoteHead #'style = #'slash
  \override Stem #'transparent = ##t
}
nsl = {
  \revert NoteHead #'style
  \revert Stem #'transparent
}
crOn = \override NoteHead #'style = #'cross
crOff = \revert NoteHead #'style

%% insert chord name style stuff here.

jazzChords = { }

%%%%%%%%%%%% Keys'n'thangs %%%%%%%%%%%%%%%%%

global = { \time 4/4 }

Key = { \key c \major }

% ############ Horns ############

% ------ Trumpet ------
trpt = \transpose c d \relative c'' {
  \Key
  c1 | c | c |
}
trpHarmony = \transpose c' d {
  \jazzChords
}
trumpet = {
  \global
  \set Staff.instrumentName = #"Trumpet"
  \clef treble
  <<
    \trpt
  >>
}

% ------ Alto Saxophone ------
alto = \transpose c a \relative c' {
  \Key
  c1 | c | c |
}
altoHarmony = \transpose c' a {
  \jazzChords
}
altoSax = {
  \global
  \set Staff.instrumentName = #"Alto Sax"
  \clef treble
  <<
    \alto
  >>
}

% ------ Baritone Saxophone ------
bari = \transpose c a' \relative c {
  \Key
  c1
  c1
  \sl
  d4^"Solo" d d d
  \nsl
}
bariHarmony = \transpose c' a \chordmode {
  \jazzChords s1 s d2:maj e:m7
}
bariSax = {
  \global
  \set Staff.instrumentName = #"Bari Sax"
  \clef treble
  <<
    \bari
  >>
}

% ------ Trombone ------
tbone = \relative c {
  \Key
  c1 | c | c
}
tboneHarmony = \chordmode {
  \jazzChords
}
trombone = {
  \global
  \set Staff.instrumentName = #"Trombone"
  \clef bass
  <<
    \tbone
  >>
}

% ############ Rhythm Section #############

% ------ Guitar ------
gtr = \relative c'' {
  \Key
  c1
  \sl
  b4 b b b
  \nsl
  c1
}
gtrHarmony = \chordmode {
  \jazzChords
  s1 c2:min7+ d2:maj9
}
guitar = {
  \global
  \set Staff.instrumentName = #"Guitar"
  \clef treble
  <<
    \gtr
  >>
}

%% ------ Piano ------
rhUpper = \relative c'' {
  \voiceOne
  \Key
  c1 | c | c
}
rhLower = \relative c' {
  \voiceTwo
  \Key
  e1 | e | e
}

lhUpper = \relative c' {
  \voiceOne
  \Key
  g1 | g | g
}
lhLower = \relative c {
  \voiceTwo
  \Key
  c1 | c | c
}

PianoRH = {
  \clef treble
  \global
  \set Staff.midiInstrument = #"acoustic grand"
  <<
    \new Voice = "one" \rhUpper
    \new Voice = "two" \rhLower
  >>
}
PianoLH = {
  \clef bass
  \global
  \set Staff.midiInstrument = #"acoustic grand"
  <<
    \new Voice = "one" \lhUpper
    \new Voice = "two" \lhLower
  >>
}

piano = {
  <<
    \set PianoStaff.instrumentName = #"Piano"
    \new Staff = "upper" \PianoRH
    \new Staff = "lower" \PianoLH
  >>
}

% ------ Bass Guitar ------
Bass = \relative c {
  \Key
  c1 | c | c
}
bass = {
  \global
  \set Staff.instrumentName = #"Bass"
  \clef bass
  <<
    \Bass
  >>
}

% ------ Drums ------
up = \drummode {
  \voiceOne
  hh4 <hh sn> hh <hh sn>
  hh4 <hh sn> hh <hh sn>
  hh4 <hh sn> hh <hh sn>
}
down = \drummode {
  \voiceTwo
  bd4 s bd s
  bd4 s bd s
  bd4 s bd s
}

drumContents = {
  \global
  <<
    \set DrumStaff.instrumentName = #"Drums"
    \new DrumVoice \up
    \new DrumVoice \down
  >>
}

%%%%%%%%% It All Goes Together Here %%%%%%%%%%%%%%%%%%%%%%

\score {
  <<
    \new StaffGroup = "horns" <<
      \new Staff = "trumpet" \trumpet
      \new Staff = "altosax" \altoSax
      \new ChordNames = "barichords" \bariHarmony
      \new Staff = "barisax" \bariSax
      \new Staff = "trombone" \trombone
    >>

    \new StaffGroup = "rhythm" <<
      \new ChordNames = "chords" \gtrHarmony
      \new Staff = "guitar" \guitar
      \new PianoStaff = "piano" \piano
      \new Staff = "bass" \bass
      \new DrumStaff \drumContents
    >>
  >>
  \layout {
    \context { \Staff \RemoveEmptyStaves }
    \context {
      \Score
      \override BarNumber #'padding = #3
      \override RehearsalMark #'padding = #2
      skipBars = ##t
    }
  }
  \midi { }
}

[image of music]


A.8 lilypond-book テンプレート

以下のテンプレートは lilypond-book で使用するためのものです。このプログラムに馴染みがないのなら、 LilyPond-book を参照してください。


A.8.1 LaTeX

LilyPond 断片を LaTeX ドキュメントに含めることができます。

\documentclass[]{article}

\begin{document}

通常の LaTeX テキスト。

\begin{lilypond}
\relative c'' {
a4 b c d
}
\end{lilypond}

さらに LaTeX テキスト。

\begin{lilypond}
\relative c'' {
d4 c b a
}
\end{lilypond}
\end{document}

A.8.2 Texinfo

LilyPond 断片を Texinfo に含めることができます。実際、このマニュアル全体が Texinfo で書かれています。

\input texinfo
@node Top

Texinfo テキスト

@lilypond[verbatim,fragment,ragged-right]
a4 b c d
@end lilypond

さらに Texinfo テキスト

@lilypond[verbatim,fragment,ragged-right]
d4 c b a
@end lilypond

@bye

A.8.3 xelatex

\documentclass{article}
\usepackage{ifxetex}
\ifxetex
%xetex 特有の要素
\usepackage{xunicode,fontspec,xltxtra}
\setmainfont[Numbers=OldStyle]{Times New Roman}
\setsansfont{Arial}
\else
%pdftex を使おうとしていないのなら、以下の内容は無意味かもしれません
%This can be empty if you are not going to use pdftex
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{mathptmx}%Times
\usepackage{helvet}%Helvetica
\fi
%ここで、pdftex も理解できるパッケージをすべて挿入することができます
\usepackage[ngerman,finnish,english]{babel}
\usepackage{graphicx}

\begin{document}
\title{A short document with LilyPond and xelatex}
\maketitle

\emph{text} の内部にある通常の \textbf{font} コマンドは機能します。
なぜなら、それは \textsf{\LaTeX{} と XeteX でサポートされているから
です。}もし \verb+\XeTeX+ のような特殊なコマンドを使用したければ、
それらを再度 \verb+\ifxetex+ 環境の中に入れる必要があります。この方
法で \ifxetex \XeTeX{} コマンド \else XeTeX コマンド \fi - これは通
常の \LaTeX ではありません - を表示させることができます。

通常のテキストの中では、以下のように簡単に LilyPond コマンドを使う
ことができます:

\begin{lilypond}
{a2 b c'8 c' c' c'}
\end{lilypond}

\noindent
などのようにです。

LilyPond に設定されいる断片集のフォントは、断片の内部で設定されて
いる必要があります。これを行うには、アプリケーション使用方法を読んで
lilypond-book の使い方を学ぶ必要があります。

\selectlanguage{ngerman}
Auch Umlaute funktionieren ohne die \LaTeX -Befehle, wie auch alle
anderen
seltsamen Zeichen: __ ______, wenn sie von der Schriftart
unterst__tzt werden.
\end{document}

B. Scheme チュートリアル


B.1 Tweaking with Scheme


C. GNU Free Documentation License

Version 1.3, 3 November 2008

 
Copyright © 2000, 2001, 2002, 2007, 2008 Free Software Foundation, Inc.
http://fsf.org/

Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
  1. PREAMBLE

    The purpose of this License is to make a manual, textbook, or other functional and useful document free in the sense of freedom: to assure everyone the effective freedom to copy and redistribute it, with or without modifying it, either commercially or noncommercially. Secondarily, this License preserves for the author and publisher a way to get credit for their work, while not being considered responsible for modifications made by others.

    This License is a kind of “copyleft”, which means that derivative works of the document must themselves be free in the same sense. It complements the GNU General Public License, which is a copyleft license designed for free software.

    We have designed this License in order to use it for manuals for free software, because free software needs free documentation: a free program should come with manuals providing the same freedoms that the software does. But this License is not limited to software manuals; it can be used for any textual work, regardless of subject matter or whether it is published as a printed book. We recommend this License principally for works whose purpose is instruction or reference.

  2. APPLICABILITY AND DEFINITIONS

    This License applies to any manual or other work, in any medium, that contains a notice placed by the copyright holder saying it can be distributed under the terms of this License. Such a notice grants a world-wide, royalty-free license, unlimited in duration, to use that work under the conditions stated herein. The “Document”, below, refers to any such manual or work. Any member of the public is a licensee, and is addressed as “you”. You accept the license if you copy, modify or distribute the work in a way requiring permission under copyright law.

    A “Modified Version” of the Document means any work containing the Document or a portion of it, either copied verbatim, or with modifications and/or translated into another language.

    A “Secondary Section” is a named appendix or a front-matter section of the Document that deals exclusively with the relationship of the publishers or authors of the Document to the Document’s overall subject (or to related matters) and contains nothing that could fall directly within that overall subject. (Thus, if the Document is in part a textbook of mathematics, a Secondary Section may not explain any mathematics.) The relationship could be a matter of historical connection with the subject or with related matters, or of legal, commercial, philosophical, ethical or political position regarding them.

    The “Invariant Sections” are certain Secondary Sections whose titles are designated, as being those of Invariant Sections, in the notice that says that the Document is released under this License. If a section does not fit the above definition of Secondary then it is not allowed to be designated as Invariant. The Document may contain zero Invariant Sections. If the Document does not identify any Invariant Sections then there are none.

    The “Cover Texts” are certain short passages of text that are listed, as Front-Cover Texts or Back-Cover Texts, in the notice that says that the Document is released under this License. A Front-Cover Text may be at most 5 words, and a Back-Cover Text may be at most 25 words.

    A “Transparent” copy of the Document means a machine-readable copy, represented in a format whose specification is available to the general public, that is suitable for revising the document straightforwardly with generic text editors or (for images composed of pixels) generic paint programs or (for drawings) some widely available drawing editor, and that is suitable for input to text formatters or for automatic translation to a variety of formats suitable for input to text formatters. A copy made in an otherwise Transparent file format whose markup, or absence of markup, has been arranged to thwart or discourage subsequent modification by readers is not Transparent. An image format is not Transparent if used for any substantial amount of text. A copy that is not “Transparent” is called “Opaque”.

    Examples of suitable formats for Transparent copies include plain ASCII without markup, Texinfo input format, LaTeX input format, SGML or XML using a publicly available DTD, and standard-conforming simple HTML, PostScript or PDF designed for human modification. Examples of transparent image formats include PNG, XCF and JPG. Opaque formats include proprietary formats that can be read and edited only by proprietary word processors, SGML or XML for which the DTD and/or processing tools are not generally available, and the machine-generated HTML, PostScript or PDF produced by some word processors for output purposes only.

    The “Title Page” means, for a printed book, the title page itself, plus such following pages as are needed to hold, legibly, the material this License requires to appear in the title page. For works in formats which do not have any title page as such, “Title Page” means the text near the most prominent appearance of the work’s title, preceding the beginning of the body of the text.

    The “publisher” means any person or entity that distributes copies of the Document to the public.

    A section “Entitled XYZ” means a named subunit of the Document whose title either is precisely XYZ or contains XYZ in parentheses following text that translates XYZ in another language. (Here XYZ stands for a specific section name mentioned below, such as “Acknowledgements”, “Dedications”, “Endorsements”, or “History”.) To “Preserve the Title” of such a section when you modify the Document means that it remains a section “Entitled XYZ” according to this definition.

    The Document may include Warranty Disclaimers next to the notice which states that this License applies to the Document. These Warranty Disclaimers are considered to be included by reference in this License, but only as regards disclaiming warranties: any other implication that these Warranty Disclaimers may have is void and has no effect on the meaning of this License.

  3. VERBATIM COPYING

    You may copy and distribute the Document in any medium, either commercially or noncommercially, provided that this License, the copyright notices, and the license notice saying this License applies to the Document are reproduced in all copies, and that you add no other conditions whatsoever to those of this License. You may not use technical measures to obstruct or control the reading or further copying of the copies you make or distribute. However, you may accept compensation in exchange for copies. If you distribute a large enough number of copies you must also follow the conditions in section 3.

    You may also lend copies, under the same conditions stated above, and you may publicly display copies.

  4. COPYING IN QUANTITY

    If you publish printed copies (or copies in media that commonly have printed covers) of the Document, numbering more than 100, and the Document’s license notice requires Cover Texts, you must enclose the copies in covers that carry, clearly and legibly, all these Cover Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on the back cover. Both covers must also clearly and legibly identify you as the publisher of these copies. The front cover must present the full title with all words of the title equally prominent and visible. You may add other material on the covers in addition. Copying with changes limited to the covers, as long as they preserve the title of the Document and satisfy these conditions, can be treated as verbatim copying in other respects.

    If the required texts for either cover are too voluminous to fit legibly, you should put the first ones listed (as many as fit reasonably) on the actual cover, and continue the rest onto adjacent pages.

    If you publish or distribute Opaque copies of the Document numbering more than 100, you must either include a machine-readable Transparent copy along with each Opaque copy, or state in or with each Opaque copy a computer-network location from which the general network-using public has access to download using public-standard network protocols a complete Transparent copy of the Document, free of added material. If you use the latter option, you must take reasonably prudent steps, when you begin distribution of Opaque copies in quantity, to ensure that this Transparent copy will remain thus accessible at the stated location until at least one year after the last time you distribute an Opaque copy (directly or through your agents or retailers) of that edition to the public.

    It is requested, but not required, that you contact the authors of the Document well before redistributing any large number of copies, to give them a chance to provide you with an updated version of the Document.

  5. MODIFICATIONS

    You may copy and distribute a Modified Version of the Document under the conditions of sections 2 and 3 above, provided that you release the Modified Version under precisely this License, with the Modified Version filling the role of the Document, thus licensing distribution and modification of the Modified Version to whoever possesses a copy of it. In addition, you must do these things in the Modified Version:

    1. Use in the Title Page (and on the covers, if any) a title distinct from that of the Document, and from those of previous versions (which should, if there were any, be listed in the History section of the Document). You may use the same title as a previous version if the original publisher of that version gives permission.
    2. List on the Title Page, as authors, one or more persons or entities responsible for authorship of the modifications in the Modified Version, together with at least five of the principal authors of the Document (all of its principal authors, if it has fewer than five), unless they release you from this requirement.
    3. State on the Title page the name of the publisher of the Modified Version, as the publisher.
    4. Preserve all the copyright notices of the Document.
    5. Add an appropriate copyright notice for your modifications adjacent to the other copyright notices.
    6. Include, immediately after the copyright notices, a license notice giving the public permission to use the Modified Version under the terms of this License, in the form shown in the Addendum below.
    7. Preserve in that license notice the full lists of Invariant Sections and required Cover Texts given in the Document’s license notice.
    8. Include an unaltered copy of this License.
    9. Preserve the section Entitled “History”, Preserve its Title, and add to it an item stating at least the title, year, new authors, and publisher of the Modified Version as given on the Title Page. If there is no section Entitled “History” in the Document, create one stating the title, year, authors, and publisher of the Document as given on its Title Page, then add an item describing the Modified Version as stated in the previous sentence.
    10. Preserve the network location, if any, given in the Document for public access to a Transparent copy of the Document, and likewise the network locations given in the Document for previous versions it was based on. These may be placed in the “History” section. You may omit a network location for a work that was published at least four years before the Document itself, or if the original publisher of the version it refers to gives permission.
    11. For any section Entitled “Acknowledgements” or “Dedications”, Preserve the Title of the section, and preserve in the section all the substance and tone of each of the contributor acknowledgements and/or dedications given therein.
    12. Preserve all the Invariant Sections of the Document, unaltered in their text and in their titles. Section numbers or the equivalent are not considered part of the section titles.
    13. Delete any section Entitled “Endorsements”. Such a section may not be included in the Modified Version.
    14. Do not retitle any existing section to be Entitled “Endorsements” or to conflict in title with any Invariant Section.
    15. Preserve any Warranty Disclaimers.

    If the Modified Version includes new front-matter sections or appendices that qualify as Secondary Sections and contain no material copied from the Document, you may at your option designate some or all of these sections as invariant. To do this, add their titles to the list of Invariant Sections in the Modified Version’s license notice. These titles must be distinct from any other section titles.

    You may add a section Entitled “Endorsements”, provided it contains nothing but endorsements of your Modified Version by various parties—for example, statements of peer review or that the text has been approved by an organization as the authoritative definition of a standard.

    You may add a passage of up to five words as a Front-Cover Text, and a passage of up to 25 words as a Back-Cover Text, to the end of the list of Cover Texts in the Modified Version. Only one passage of Front-Cover Text and one of Back-Cover Text may be added by (or through arrangements made by) any one entity. If the Document already includes a cover text for the same cover, previously added by you or by arrangement made by the same entity you are acting on behalf of, you may not add another; but you may replace the old one, on explicit permission from the previous publisher that added the old one.

    The author(s) and publisher(s) of the Document do not by this License give permission to use their names for publicity for or to assert or imply endorsement of any Modified Version.

  6. COMBINING DOCUMENTS

    You may combine the Document with other documents released under this License, under the terms defined in section 4 above for modified versions, provided that you include in the combination all of the Invariant Sections of all of the original documents, unmodified, and list them all as Invariant Sections of your combined work in its license notice, and that you preserve all their Warranty Disclaimers.

    The combined work need only contain one copy of this License, and multiple identical Invariant Sections may be replaced with a single copy. If there are multiple Invariant Sections with the same name but different contents, make the title of each such section unique by adding at the end of it, in parentheses, the name of the original author or publisher of that section if known, or else a unique number. Make the same adjustment to the section titles in the list of Invariant Sections in the license notice of the combined work.

    In the combination, you must combine any sections Entitled “History” in the various original documents, forming one section Entitled “History”; likewise combine any sections Entitled “Acknowledgements”, and any sections Entitled “Dedications”. You must delete all sections Entitled “Endorsements.”

  7. COLLECTIONS OF DOCUMENTS

    You may make a collection consisting of the Document and other documents released under this License, and replace the individual copies of this License in the various documents with a single copy that is included in the collection, provided that you follow the rules of this License for verbatim copying of each of the documents in all other respects.

    You may extract a single document from such a collection, and distribute it individually under this License, provided you insert a copy of this License into the extracted document, and follow this License in all other respects regarding verbatim copying of that document.

  8. AGGREGATION WITH INDEPENDENT WORKS

    A compilation of the Document or its derivatives with other separate and independent documents or works, in or on a volume of a storage or distribution medium, is called an “aggregate” if the copyright resulting from the compilation is not used to limit the legal rights of the compilation’s users beyond what the individual works permit. When the Document is included in an aggregate, this License does not apply to the other works in the aggregate which are not themselves derivative works of the Document.

    If the Cover Text requirement of section 3 is applicable to these copies of the Document, then if the Document is less than one half of the entire aggregate, the Document’s Cover Texts may be placed on covers that bracket the Document within the aggregate, or the electronic equivalent of covers if the Document is in electronic form. Otherwise they must appear on printed covers that bracket the whole aggregate.

  9. TRANSLATION

    Translation is considered a kind of modification, so you may distribute translations of the Document under the terms of section 4. Replacing Invariant Sections with translations requires special permission from their copyright holders, but you may include translations of some or all Invariant Sections in addition to the original versions of these Invariant Sections. You may include a translation of this License, and all the license notices in the Document, and any Warranty Disclaimers, provided that you also include the original English version of this License and the original versions of those notices and disclaimers. In case of a disagreement between the translation and the original version of this License or a notice or disclaimer, the original version will prevail.

    If a section in the Document is Entitled “Acknowledgements”, “Dedications”, or “History”, the requirement (section 4) to Preserve its Title (section 1) will typically require changing the actual title.

  10. TERMINATION

    You may not copy, modify, sublicense, or distribute the Document except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense, or distribute it is void, and will automatically terminate your rights under this License.

    However, if you cease all violation of this License, then your license from a particular copyright holder is reinstated (a) provisionally, unless and until the copyright holder explicitly and finally terminates your license, and (b) permanently, if the copyright holder fails to notify you of the violation by some reasonable means prior to 60 days after the cessation.

    Moreover, your license from a particular copyright holder is reinstated permanently if the copyright holder notifies you of the violation by some reasonable means, this is the first time you have received notice of violation of this License (for any work) from that copyright holder, and you cure the violation prior to 30 days after your receipt of the notice.

    Termination of your rights under this section does not terminate the licenses of parties who have received copies or rights from you under this License. If your rights have been terminated and not permanently reinstated, receipt of a copy of some or all of the same material does not give you any rights to use it.

  11. FUTURE REVISIONS OF THIS LICENSE

    The Free Software Foundation may publish new, revised versions of the GNU Free Documentation License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. See http://www.gnu.org/copyleft/.

    Each version of the License is given a distinguishing version number. If the Document specifies that a particular numbered version of this License “or any later version” applies to it, you have the option of following the terms and conditions either of that specified version or of any later version that has been published (not as a draft) by the Free Software Foundation. If the Document does not specify a version number of this License, you may choose any version ever published (not as a draft) by the Free Software Foundation. If the Document specifies that a proxy can decide which future versions of this License can be used, that proxy’s public statement of acceptance of a version permanently authorizes you to choose that version for the Document.

  12. RELICENSING

    “Massive Multiauthor Collaboration Site” (or “MMC Site”) means any World Wide Web server that publishes copyrightable works and also provides prominent facilities for anybody to edit those works. A public wiki that anybody can edit is an example of such a server. A “Massive Multiauthor Collaboration” (or “MMC”) contained in the site means any set of copyrightable works thus published on the MMC site.

    “CC-BY-SA” means the Creative Commons Attribution-Share Alike 3.0 license published by Creative Commons Corporation, a not-for-profit corporation with a principal place of business in San Francisco, California, as well as future copyleft versions of that license published by that same organization.

    “Incorporate” means to publish or republish a Document, in whole or in part, as part of another Document.

    An MMC is “eligible for relicensing” if it is licensed under this License, and if all works that were first published under this License somewhere other than this MMC, and subsequently incorporated in whole or in part into the MMC, (1) had no cover texts or invariant sections, and (2) were thus incorporated prior to November 1, 2008.

    The operator of an MMC Site may republish an MMC contained in the site under CC-BY-SA on the same site at any time before August 1, 2009, provided the MMC is eligible for relicensing.

ADDENDUM: How to use this License for your documents

To use this License in a document you have written, include a copy of the License in the document and put the following copyright and license notices just after the title page:

 
  Copyright (C)  year  your name.
  Permission is granted to copy, distribute and/or modify this document
  under the terms of the GNU Free Documentation License, Version 1.3
  or any later version published by the Free Software Foundation;
  with no Invariant Sections, no Front-Cover Texts, and no Back-Cover
  Texts.  A copy of the license is included in the section entitled ``GNU
  Free Documentation License''.

If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts, replace the “with…Texts.” line with this:

 
    with the Invariant Sections being list their titles, with
    the Front-Cover Texts being list, and with the Back-Cover Texts
    being list.

If you have Invariant Sections without Cover Texts, or some other combination of the three, merge those two alternatives to suit the situation.

If your document contains nontrivial examples of program code, we recommend releasing these examples in parallel under your choice of free software license, such as the GNU General Public License, to permit their use in free software.


D. LilyPond インデックス

Jump to:   !   %   '   (   ,   .   <   >   [   \   ]   ^   _   ~    
A   B   C   D   E   F   G   H   I   K   L   M   N   O   P   Q   R   S   T   U   V   W   X  
インデックス エントリ セクション

!
!強弱記号

%
%1.3.2 入力ファイルに取り組む
%{ ... %}1.3.2 入力ファイルに取り組む

'
'ピッチ

(
( ... )2.1.2 タイとスラー

,
,ピッチ

.
...1.3.2 入力ファイルに取り組む

<
<強弱記号
<2.2.4 音符を組み合わせて和音にする
< ... >2.2.4 音符を組み合わせて和音にする
<<同時進行の音楽表記: 複数の譜
<<2.2.5 単一譜表での多声
<< ... >>同時進行の音楽表記: 複数の譜
<< ... \\ ... >>2.2.5 単一譜表での多声
<< \\ >>3.2.1 私はボイスを聴いている

>
>強弱記号
>2.2.4 音符を組み合わせて和音にする
>>同時進行の音楽表記: 複数の譜
>>2.2.5 単一譜表での多声

[
[2.1.5 自動連桁と手動連桁
[ ... ]2.1.5 自動連桁と手動連桁

\
\!強弱記号
\( ... \)2.1.2 タイとスラー
\<強弱記号
\>強弱記号
\acciaccatura装飾小音符
\addlyrics2.3.1 簡単な歌詞をセットする
\addlyrics example (\addlyrics の例)4.2.1 レイアウト オブジェクトのプロパティ
\addlyrics, example (\addlyrics の例)4.2.2 インタフェイスの中で見つかるプロパティ
\appoggiatura装飾小音符
\autoBeamOff2.1.5 自動連桁と手動連桁
\autoBeamOff3.2.3 ボイスとボーカル
\autoBeamOn2.1.5 自動連桁と手動連桁
\book3.1.1 LilyPond ファイル構造の紹介
\book3.1.1 LilyPond ファイル構造の紹介
\book3.2.3 ボイスとボーカル
\clef音部記号
\consists3.3.5 エングラーバを追加 / 削除する
\contextSetting context properties with \context
\f強弱記号
\ff強弱記号
\grace装飾小音符
\header2.4.3 タイトルを付け加える
\header3.1.1 LilyPond ファイル構造の紹介
\key調号
\layout3.1.1 LilyPond ファイル構造の紹介
\layoutChanging all contexts of the same type
\lyricmode3.2.3 ボイスとボーカル
\lyricsto3.2.3 ボイスとボーカル
\major調号
\markup2.1.4 テキストを追加する
\mf強弱記号
\midi3.1.1 LilyPond ファイル構造の紹介
\minor調号
\mp強弱記号
\new2.2.2 複数の譜
\new3.3.2 コンテキストを作成する
\new ChoirStaff3.2.3 ボイスとボーカル
\new Lyrics3.2.3 ボイスとボーカル
\new Staff2.2.2 複数の譜
\new Voice3.2.2 ボイスの明示的なインスタンス化
\once4.1.4 調整手段
\once1 回だけオーバライドする
\oneVoice3.2.2 ボイスの明示的なインスタンス化
\override4.1.4 調整手段
\overrideProperty4.1.4 調整手段
\p強弱記号
\partial部分小節
\pp強弱記号
\relativeピッチ
\remove3.3.5 エングラーバを追加 / 削除する
\revert4.1.4 調整手段
\revert元に戻す
\score3.1.1 LilyPond ファイル構造の紹介
\score3.1.2 Score は (単一の) 複合的な音楽表記
\set3.3.4 コンテキスト プロパティを変更する
\set, example of using (\set の使用例)運指法記号 (Fingering)
\shiftOffNote columns
\shiftOnNote columns
\shiftOnnNote columns
\shiftOnnnNote columns
\startTextSpan4.4.3 譜表外部オブジェクト
\stopTextSpan4.4.3 譜表外部オブジェクト
\textLengthOff\textLengthOn
\textLengthOn\textLengthOn
\time拍子記号
\times連符
\tweak4.1.4 調整手段
\tweak, example (\tweak の例)4.1.4 調整手段
\tweak, example (\tweak の例)4.1.4 調整手段
\tweak, example (\tweak の例)4.1.4 調整手段
\unset3.3.4 コンテキスト プロパティを変更する
\version2.4.2 バージョン番号
\voiceFour3.2.2 ボイスの明示的なインスタンス化
\voiceFourStyle3.2.1 私はボイスを聴いている
\voiceNeutralStyle3.2.1 私はボイスを聴いている
\voiceOne3.2.2 ボイスの明示的なインスタンス化
\voiceOneStyle3.2.1 私はボイスを聴いている
\voiceThree3.2.2 ボイスの明示的なインスタンス化
\voiceThreeStyle3.2.1 私はボイスを聴いている
\voiceTwo3.2.2 ボイスの明示的なインスタンス化
\voiceTwoStyle3.2.1 私はボイスを聴いている
\withSetting context properties with \with
\with, example (\with の例)4.3.2 オブジェクトのサイズ
\with, example (\with の例)4.3.2 オブジェクトのサイズ
\with, example (\with の例)4.3.2 オブジェクトのサイズ
\with, example (\with の例)4.3.2 オブジェクトのサイズ
\with, example (\with の例)4.3.3 オブジェクトの長さと太さ
\\2.2.5 単一譜表での多声
\\3.2.1 私はボイスを聴いている

]
]2.1.5 自動連桁と手動連桁

^
^運指法記号

_
_運指法記号

~
~2.1.2 タイとスラー

A
absolute mode (絶対モード)2.4.4 絶対音符名
absolute note names (絶対音符名)2.4.4 絶対音符名
absolute values for pitches (ピッチの絶対値)2.4.4 絶対音符名
accent (アクセント)アーティキュレーション
acciaccatura装飾小音符
acciaccatura装飾小音符
acciaccatura (短前打音)装飾小音符
accidentalピッチ
accidental臨時記号
accidental警告: 調号と音高
Accidental, example of overriding (Accidental をオーバライドする例)left-padding と right-padding
AccidentalPlacement, example of overriding (AccidentalPlacement をオーバライドする例)left-padding と right-padding
Accidentals参照
accidentals (臨時記号)臨時記号
accidentals and key signature (臨時記号と調号)調号
accidentals and key signatures (臨時記号と調号)臨時記号
accidentals and relative mode (臨時記号と相対モード)ピッチ
adding engravers (エングラーバを追加する)3.3.5 エングラーバを追加 / 削除する
adding text (テキストを追加する)2.1.4 テキストを追加する
addlyrics2.3.1 簡単な歌詞をセットする
alignAboveContext property, example (alignAboveContext プロパティの例)4.3.2 オブジェクトのサイズ
alignAboveContext property, example (alignAboveContext プロパティの例)4.3.2 オブジェクトのサイズ
alignAboveContext property, example (alignAboveContext プロパティの例)4.3.2 オブジェクトのサイズ
alignAboveContext property, example (alignAboveContext プロパティの例)4.3.2 オブジェクトのサイズ
alignAboveContext property, example (alignAboveContext プロパティの例)4.3.3 オブジェクトの長さと太さ
aligning lyrics (歌詞を揃える)2.3.2 歌詞を旋律に揃える
aligning objects on a baseline (オブジェクトをベースラインに揃える)staff-padding プロパティ
alto (アルト)音部記号
ambitusChanging a single context
ambitus engraver (音域エングラーバ)Changing a single context
anacrusis部分小節
anacrusis (弱拍)部分小節
appoggiatura装飾小音符
appoggiatura (前打音)装飾小音符
articulation警告: スラー vs. タイ
articulationアーティキュレーション
articulation (アーティキュレーション)アーティキュレーション
Articulations and ornamentations参照
articulations and slurs (アーティキュレーションとスラー)4.4.3 譜表外部オブジェクト
assigning variables (変数を割り当てる)2.4.1 変数を用いて楽曲を編成する
autoBeamOff2.1.5 自動連桁と手動連桁
autoBeamOff3.2.3 ボイスとボーカル
autoBeamOn2.1.5 自動連桁と手動連桁
Automatic accidentals警告: 調号と音高
Automatic accidentals参照
Automatic beams参照
automatic beams (自動連桁)2.1.5 自動連桁と手動連桁

B
bar numbers, tweaking placement (小節番号の配置を調節する)4.4.3 譜表外部オブジェクト
BarLine, example of overriding (BarLine をオーバライドする例)ステンシル (stencil)
BarLine, example of overriding (BarLine をオーバライドする例)ステンシル (stencil)
BarLine, example of overriding (BarLine をオーバライドする例)可視性の破棄 (break-visibility)
BarLine, example of overriding (BarLine をオーバライドする例)色 (color)
BarLine, example of overriding (BarLine をオーバライドする例)色 (color)
BarLine, example of overriding (BarLine をオーバライドする例)色 (color)
BarLine, example of overriding (BarLine をオーバライドする例)色 (color)
bass (バス)音部記号
beam演奏時間 (リズム)
beam2.1.5 自動連桁と手動連桁
Beam, example of overriding (Beam をオーバライドする例)positions プロパティ
beaming (連桁を付ける)2.1.5 自動連桁と手動連桁
beaming and lyrics (連桁と歌詞)3.2.3 ボイスとボーカル
beams, automatic (自動連桁)2.1.5 自動連桁と手動連桁
beams, by hand (手動による連桁)2.1.5 自動連桁と手動連桁
beams, controlling manually (連桁を手動で制御する)positions プロパティ
beams, manual (手動連桁)2.1.5 自動連桁と手動連桁
block comment (ブロック コメント)1.3.2 入力ファイルに取り組む
block comment (ブロック コメント)1.3.2 入力ファイルに取り組む
book3.1.1 LilyPond ファイル構造の紹介
book3.1.1 LilyPond ファイル構造の紹介
book3.2.3 ボイスとボーカル
book block, implicit (暗黙の book ブロック)3.1.1 LilyPond ファイル構造の紹介
book, example of using (book の使用例)3.2.3 ボイスとボーカル
bound-details property, example (bound-details プロパティの例)4.4.3 譜表外部オブジェクト
bound-details property, example (bound-details プロパティの例)4.4.3 譜表外部オブジェクト
brace2.2.3 譜表グループ
braces, curly (波括弧)1.3.2 入力ファイルに取り組む
bracket types (括弧のタイプ)3.1.4 ネストされない括弧とタイ
bracket, triplet (3 連符の囲み)4.1.4 調整手段
bracket, tuplet (連符の囲み)4.1.4 調整手段
brackets, enclosing vs. marking (囲みの括弧 vs. マークの括弧)3.1.4 ネストされない括弧とタイ
brackets, nesting (括弧をネストする)3.1.4 ネストされない括弧とタイ
break-visibility property (break-visibility プロパティ)可視性の破棄 (break-visibility)
break-visibility property, example (break-visibility プロパティの例)可視性の破棄 (break-visibility)

C
case sensitive (大文字と小文字を区別する)1.1.1 入力を作成する
case sensitive (大文字と小文字を区別する)1.3.2 入力ファイルに取り組む
center (中央)4.4.2 譜表内部オブジェクト
Changing context default settings参照
Changing context default settings参照
changing size of objects (オブジェクトのサイズを変更する)4.3.2 オブジェクトのサイズ
characters allowed in variables (変数で使用できる文字)2.4.1 変数を用いて楽曲を編成する
choir staff3.2.3 ボイスとボーカル
choir staff (合唱譜)2.2.3 譜表グループ
ChoirStaff2.2.3 譜表グループ
ChoirStaff3.2.3 ボイスとボーカル
chord2.2.4 音符を組み合わせて和音にする
ChordNames2.2.2 複数の譜
chords (和音)2.2.4 音符を組み合わせて和音にする
chords vs. voices (和音 vs. ボイス)3.2.1 私はボイスを聴いている
Clef参照
clef音部記号
clef (音部記号)音部記号
Clef, example of overriding (Clef をオーバライドする例)色 (color)
Clef, example of overriding (Clef をオーバライドする例)4.3.2 オブジェクトのサイズ
Clef, example of overriding (Clef をオーバライドする例)4.3.2 オブジェクトのサイズ
Clef, example of overriding (Clef をオーバライドする例)4.3.2 オブジェクトのサイズ
Clef, example of overriding (Clef をオーバライドする例)4.3.3 オブジェクトの長さと太さ
clickable examples (クリック可能な例)波括弧を省略する
Collision resolution4.5.3 実際の音楽からの例
collisions, notes (音符の衝突)Note columns
color property (color プロパティ)色 (color)
color property, example (color プロパティの例)4.1.4 調整手段
color property, example (color プロパティの例)4.1.4 調整手段
color property, example (color プロパティの例)4.1.4 調整手段
color property, example (color プロパティの例)4.1.4 調整手段
color property, example (color プロパティの例)4.1.4 調整手段
color property, example (color プロパティの例)色 (color)
color property, example (color プロパティの例)色 (color)
color property, example (color プロパティの例)色 (color)
color property, example (color プロパティの例)色 (color)
color property, setting to Scheme procedure (Scheme プロシージャに color プロパティをセットする)4.6.6 Scheme を用いた高度な調整
color, rgb (RGB カラー)色 (color)
color, X11 (X11 カラー)色 (color)
combining expressions in parallel (表記を並列に組み合わせる)同時進行の音楽表記: 複数の譜
comma (カンマ)ピッチ
comment, block (ブロック コメント)1.3.2 入力ファイルに取り組む
comment, line (行コメント)1.3.2 入力ファイルに取り組む
comments (コメント)1.3.2 入力ファイルに取り組む
comments (コメント)1.3.2 入力ファイルに取り組む
compiling (コンパイルする)1.1.1 入力を作成する
compound music expression (複合音楽表記)2.2.1 音楽表記についての説明
compound music expression (複合音楽表記)3.1.2 Score は (単一の) 複合的な音楽表記
concurrent music (並列な音楽)3.2.1 私はボイスを聴いている
consists3.3.5 エングラーバを追加 / 削除する
constructing files, tips (ファイルを構築するための Tips)波括弧を省略する
content vs. layout (内容 vs. レイアウト)調号
contents of a score block (score ブロックの内容)3.1.2 Score は (単一の) 複合的な音楽表記
contextSetting context properties with \context
context (コンテキスト)2.2.2 複数の譜
context properties (コンテキスト プロパティ)3.3.4 コンテキスト プロパティを変更する
context properties, modifying (コンテキスト プロパティを変更する)3.3.4 コンテキスト プロパティを変更する
context properties, setting with \context (\context でコンテキスト プロパティを設定する)Setting context properties with \context
context properties, setting with \with (\with でコンテキスト プロパティを設定する)Setting context properties with \with
context, finding (コンテキストを見つけ出す)コンテキストを見つけ出す
context, identifying correct (正しいコンテキストを特定する)コンテキストを見つけ出す
context, notation (記譜コンテキスト)2.2.2 複数の譜
context, specifying in lyric mode (歌詞モード内でコンテキストを指定する)歌詞モードの中でコンテキストを指定する
context, Voice (Voice コンテキスト)3.2.1 私はボイスを聴いている
Contexts3.3.4 コンテキスト プロパティを変更する
Contexts参照
Contexts explained参照
contexts explained (コンテキストの説明)3.3.1 コンテキストの説明
contexts, creating (コンテキストを作成する)3.3.2 コンテキストを作成する
contexts, implicit (暗黙のコンテキスト)3.1.1 LilyPond ファイル構造の紹介
contexts, naming (コンテキストを名前を付ける)3.3.2 コンテキストを作成する
controlling tuplets, slurs, phrasing slurs, and beams manually (連符、スラー、フレージング スラーそれに連桁を手動で制御する)positions プロパティ
convert-ly2.4.2 バージョン番号
Creating contexts参照
creating contexts (コンテキストを作成する)3.3.2 コンテキストを作成する
Creating MIDI files3.1.1 LilyPond ファイル構造の紹介
Creating titles2.4.3 タイトルを付け加える
crescendo強弱記号
crescendo (クレッシェンド)強弱記号
curly braces (波括弧)1.3.2 入力ファイルに取り組む

D
decrescendo強弱記号
decrescendo (デクレッシェンド)強弱記号
default properties, reverting to (デフォルトのプロパティに戻す)元に戻す
Difficult tweaks4.1.4 調整手段
direction property, example (direction プロパティの例)4.1.4 調整手段
direction property, example (direction プロパティの例)4.4.2 譜表内部オブジェクト
direction property, example (direction プロパティの例)運指法記号 (Fingering)
Displaying staves参照
distances (距離)4.3.3 オブジェクトの長さと太さ
dotted note演奏時間 (リズム)
dotted note (付点音符)演奏時間 (リズム)
double flat臨時記号
double flat (ダブル フラット)臨時記号
double sharp臨時記号
double sharp (ダブル シャープ)臨時記号
down (下)4.4.2 譜表内部オブジェクト
duration演奏時間 (リズム)
durations (演奏時間)演奏時間 (リズム)
DynamicLineSpanner, example of overriding (DynamicLineSpanner をオーバライドする例)staff-padding プロパティ
dynamics強弱記号
Dynamics参照
dynamics (強弱記号)強弱記号
dynamics, tweaking placement (強弱記号の配置を調整する)強弱記号
DynamicText, example of overriding (DynamicText をオーバライドする例)グラフィカル オブジェクトのサイズ
DynamicText, example of overriding (DynamicText をオーバライドする例)グラフィカル オブジェクトのサイズ
DynamicText, example of overriding (DynamicText をオーバライドする例)staff-padding プロパティ

E
engravers (エングラーバ)3.3.3 エングラーバの説明
Engravers and Performers参照
engravers, adding (エングラーバを追加する)3.3.5 エングラーバを追加 / 削除する
engravers, removing (エングラーバを削除する)3.3.5 エングラーバを追加 / 削除する
es臨時記号
eses臨時記号
example of writing a score (楽譜の書き方の例)3.4.3 ゼロから楽譜を構築する
example, first (最初の例)1.1.1 入力を作成する
examples, clickable (クリック可能な例)波括弧を省略する
expression, music (音楽表記)2.2.1 音楽表記についての説明
expressions (表記)1.3.2 入力ファイルに取り組む
expressions, parallel (並列表記)同時進行の音楽表記: 複数の譜
extender line2.3.2 歌詞を旋律に揃える
extender line (延長線)2.3.2 歌詞を旋律に揃える
extra-offset property (extra-offset プロパティ)4.5.1 オブジェクトを移動させる
extra-offset property, example (extra-offset プロパティの例)extra-offset プロパティ
extra-spacing-widthグラフィカル オブジェクトのサイズ
extra-spacing-width property (extra-spacing-width プロパティ)4.5.1 オブジェクトを移動させる
extra-spacing-width property, example (extra-spacing-width プロパティの例)グラフィカル オブジェクトのサイズ
extra-spacing-width property, example (extra-spacing-width プロパティの例)グラフィカル オブジェクトのサイズ
extra-spacing-width property, example (extra-spacing-width プロパティの例)staff-padding プロパティ

F
fermata, implementing in MIDI (MIDI でフェルマータ を実装する)MIDI でフェルマータをシミュレートする
File structure3.1 LilyPond 入力ファイルの仕組み
File structure3.1.1 LilyPond ファイル構造の紹介
File structure参照
file structure (ファイル構造)3.1.1 LilyPond ファイル構造の紹介
files, tips for constructing (ファイルを構築するための Tips)波括弧を省略する
files, updating (ファイルをアップデートする)2.4.2 バージョン番号
fingering運指法記号
fingering (運指法記号)運指法記号
fingering example (運指法記号の例)運指法記号 (Fingering)
fingering example (運指法記号の例)運指法記号 (Fingering)
fingering example (運指法記号の例)運指法記号 (Fingering)
fingering example (運指法記号の例)運指法記号 (Fingering)
Fingering instructions参照
fingering, chords (和音の運指法記号)運指法記号 (Fingering)
Fingering, example of overriding (Fingering をオーバライドする例)運指法記号 (Fingering)
Fingering, example of overriding (Fingering をオーバライドする例)extra-offset プロパティ
fingering, placement (運指法記号の配置)運指法記号 (Fingering)
fingeringOrientations property, example (fingeringOrientations プロパティの例)運指法記号 (Fingering)
first example (最初の例)1.1.1 入力を作成する
fixing overlapping notation (記譜要素の重なりを修正する)padding プロパティ
flat臨時記号
flat警告: 調号と音高
flat (フラット)臨時記号
flat, double (ダブル フラット)臨時記号
font-series property, example (font-series プロパティの例)4.6.2 調整のために変数を使用する
font-shape property, example (font-shape プロパティの例)4.2.2 インタフェイスの中で見つかるプロパティ
font-shape property, example (font-shape プロパティの例)4.6.2 調整のために変数を使用する
font-size property, example (font-size プロパティの例)4.1.4 調整手段
font-size property, example (font-size プロパティの例)4.1.4 調整手段
fontSize property, example (fontSize プロパティの例)4.3.2 オブジェクトのサイズ
fontSize property, example (fontSize プロパティの例)4.3.3 オブジェクトの長さと太さ
fontSize, default and setting (fontSize のデフォルトと設定)Setting context properties with \with
force-hshift property (force-hshift プロパティ)4.5.1 オブジェクトを移動させる
force-hshift property, example4.5.3 実際の音楽からの例
force-hshift property, example (force-hshift プロパティの例)force-hshift プロパティ
future upgrades (将来のアップグレード)2.4.2 バージョン番号

G
grace装飾小音符
Grace notes参照
grace notes装飾小音符
grace notes (装飾小音符)装飾小音符
grand staff (グランド譜)2.2.3 譜表グループ
GrandStaff2.2.3 譜表グループ
grob (グラフィカル オブジェクト)4.1.2 オブジェクトとインタフェイス
grob sizing (グラフィカル オブジェクトのサイズを決定する)グラフィカル オブジェクトのサイズ
grobs, moving colliding (衝突しているグラフィカル オブジェクトを移動させる)4.5.1 オブジェクトを移動させる
grobs, positioning (グラフィカル オブジェクトの位置を決定する)extra-offset プロパティ
grobs, properties of (グラフィカル オブジェクトのプロパティ)4.2.1 レイアウト オブジェクトのプロパティ

H
half note演奏時間 (リズム)
half note (半音符)演奏時間 (リズム)
header2.4.3 タイトルを付け加える
header3.1.1 LilyPond ファイル構造の紹介
header (ヘッダ)3.1.1 LilyPond ファイル構造の紹介
header block (ヘッダ ブロック)2.4.3 タイトルを付け加える
headers (ヘッダ)2.4.3 タイトルを付け加える
hiding objects (オブジェクトを隠す)4.6.1 調整のその他の使用方法
how to read the manual (このマニュアルの読み方)波括弧を省略する
hymn structure (賛美歌構造)3.2.3 ボイスとボーカル
hyphens (ハイフン)2.3.2 歌詞を旋律に揃える

I
identifiers (識別子)2.4.1 変数を用いて楽曲を編成する
implicit book block (暗黙の book ブロック)3.1.1 LilyPond ファイル構造の紹介
implicit contexts (暗黙のコンテキスト)3.1.1 LilyPond ファイル構造の紹介
input format (入力フォーマット)3.1.1 LilyPond ファイル構造の紹介
interface (インタフェイス)4.1.2 オブジェクトとインタフェイス
interface (インタフェイス)4.2.2 インタフェイスの中で見つかるプロパティ
interface properties (インタフェイス プロパティ)4.2.2 インタフェイスの中で見つかるプロパティ
Internals Reference manual (内部リファレンス マニュアル)4.2.1 レイアウト オブジェクトのプロパティ
Internals Reference, example of using (内部リファレンスの使用例)4.2.1 レイアウト オブジェクトのプロパティ
intervalピッチ
invisible objects (不可視のオブジェクト)4.6.1 調整のその他の使用方法
is臨時記号
isis臨時記号
italic, example (italic の例)4.2.2 インタフェイスの中で見つかるプロパティ

K
key調号
key signature調号
Key signature参照
key signature警告: 調号と音高
key signature (調号)調号
key signature, setting臨時記号
Keyboard and other multi-staff instruments参照

L
layers (レイヤ)3.2.1 私はボイスを聴いている
layout3.1.1 LilyPond ファイル構造の紹介
layoutChanging all contexts of the same type
layout (レイアウト)3.1.1 LilyPond ファイル構造の紹介
layout block, effect of location (レイアウト ブロックの配置場所による影響)3.1.1 LilyPond ファイル構造の紹介
layout object (レイアウト プロパティ)4.1.2 オブジェクトとインタフェイス
layout objects, properties of (レイアウト オブジェクトのプロパティ)4.2.1 レイアウト オブジェクトのプロパティ
layout vs. content (レイアウト vs. 内容)調号
left-padding property (left-padding プロパティ)4.5.1 オブジェクトを移動させる
left-padding property (left-padding プロパティ)left-padding と right-padding
length (長さ)4.3.3 オブジェクトの長さと太さ
LilyPond-bookA.8 lilypond-book テンプレート
line comment (行コメント)1.3.2 入力ファイルに取り組む
line comment (行コメント)1.3.2 入力ファイルに取り組む
List of colors色 (color)
List of colors色 (color)
lyric mode, specifying context (歌詞モード内でコンテキストを指定する)歌詞モードの中でコンテキストを指定する
lyricmode3.2.3 ボイスとボーカル
Lyrics2.2.2 複数の譜
lyrics2.3.1 簡単な歌詞をセットする
Lyrics3.2.3 ボイスとボーカル
lyrics (歌詞)2.3.1 簡単な歌詞をセットする
lyrics and beaming (歌詞と連桁)3.2.3 ボイスとボーカル
lyrics and multiple staves (歌詞と複数の譜)2.3.3 複数の譜への歌詞
Lyrics context, creating (歌詞コンテキストを作成する)3.2.3 ボイスとボーカル
lyrics, aligning (歌詞を揃える)2.3.2 歌詞を旋律に揃える
lyrics, linking to voice (歌詞をボイスにリンクさせる)3.2.3 ボイスとボーカル
lyrics, multi-syllable words (歌詞の中で複数の音節を持つ単語)2.3.2 歌詞を旋律に揃える
lyricsto3.2.3 ボイスとボーカル
LyricText, example of overriding (Lyric をオーバライドする例)4.2.2 インタフェイスの中で見つかるプロパティ
LyricText, example of overriding (LyricText をオーバライドする例)4.6.2 調整のために変数を使用する

M
MacOS X, running LilyPond (MacOS X で LilyPond を実行する)音楽を入力して出力を閲覧する
macros (マクロ)2.4.1 変数を用いて楽曲を編成する
magstep4.3.3 オブジェクトの長さと太さ
magstep function, example of using (magstep 関数の使用例)4.3.3 オブジェクトの長さと太さ
major調号
major (メジャー)調号
Manual beams参照
manual beams (手動連桁)2.1.5 自動連桁と手動連桁
manual, reading (マニュアルを読む)波括弧を省略する
manually controlling tuplets, slurs, phrasing slurs, and beams (連符、スラー、フレージング スラーそれに連桁を手動で制御する)positions プロパティ
markup2.1.4 テキストを追加する
markup (マークアップ)2.1.4 テキストを追加する
markup example (マークアップの例)4.4.1 自動配置
markup text, allowing collisions (マークアップ テキストの衝突を許可する)\textLengthOn
melisma2.3.2 歌詞を旋律に揃える
melisma (メリスマ)2.3.2 歌詞を旋律に揃える
metronome mark, tweaking placement (メトロノーム記号の配置を調節する)4.4.3 譜表外部オブジェクト
MetronomeMark, example of overriding (MetronomeMark をオーバライドする例)padding プロパティ
MetronomeMark, example of overriding (MetronomeMark をオーバライドする例)MIDI でフェルマータをシミュレートする
MetronomeMark, example of overriding (MetronomeMark をオーバライドする例)MIDI でフェルマータをシミュレートする
middle Cピッチ
midi3.1.1 LilyPond ファイル構造の紹介
minor調号
minor (マイナー)調号
Modifying context plug-ins参照
modifying context properties (コンテキスト プロパティを変更する)3.3.4 コンテキスト プロパティを変更する
Modifying propertiespadding プロパティ
modifying templates (テンプレートを変更する)3.4.1 ソプラノとチェロ
moving colliding grobs (衝突しているグラフィカル オブジェクトを移動させる)4.5.1 オブジェクトを移動させる
moving colliding objects (衝突しているオブジェクトを移動させる)4.5.1 オブジェクトを移動させる
moving overlapping objects (重なり合っているオブジェクトを移動させる)4.5.1 オブジェクトを移動させる
MultiMeasureRest, example of overriding (MultiMeasureRest をオーバライドする例)staff-position プロパティ
Multiple scores in a book3.1.1 LilyPond ファイル構造の紹介
multiple staves (複数の譜)同時進行の音楽表記: 複数の譜
multiple staves (複数の譜)2.2.2 複数の譜
multiple staves and lyrics (複数の譜と歌詞)2.3.3 複数の譜への歌詞
multiple vocal verses3.2.3 ボイスとボーカル
Multiple voices参照
Multiple voices参照
multiple voices (複数のボイス)2.2.5 単一譜表での多声
multiple voices (複数のボイス)3.2.1 私はボイスを聴いている
music expression (音楽表記)2.2.1 音楽表記についての説明
music expression, compound (複合音楽表記)2.2.1 音楽表記についての説明
music expression, compound (複合音楽表記)3.1.2 Score は (単一の) 複合的な音楽表記
music, concurrent (並列な音楽)3.2.1 私はボイスを聴いている
music, simultaneous (同時進行する音楽)3.2.1 私はボイスを聴いている
Musical notation2.4.5 このチュートリアルの後にすべきこと

N
naming contexts (コンテキストを名前を付ける)3.3.2 コンテキストを作成する
naming conventions for objects (オブジェクトの命名規則)4.1.3 オブジェクトとプロパティの命名規約
naming conventions for properties (プロパティの命名規則)4.1.3 オブジェクトとプロパティの命名規約
natural警告: 調号と音高
nesting music expressions (音楽表記をネストさせる)3.2.2 ボイスの明示的なインスタンス化
nesting simultaneous constructs (同時進行構造をネストさせる)3.2.2 ボイスの明示的なインスタンス化
nesting voices (ボイスをネストさせる)3.2.2 ボイスの明示的なインスタンス化
neutral (ニュートラル)4.4.2 譜表内部オブジェクト
new2.2.2 複数の譜
new3.3.2 コンテキストを作成する
new contexts (新しいコンテキスト)3.3.2 コンテキストを作成する
new Staff2.2.2 複数の譜
notating durations (演奏時間を記譜する)演奏時間 (リズム)
notating rests (休符を記譜する)休符
notation context (記譜コンテキスト)2.2.2 複数の譜
notation, simple (簡単な記譜法)1.3.1 簡単な記譜法
note collisions (音符の衝突)Note columns
note column (音符列)Note columns
note durations (音符の演奏時間)演奏時間 (リズム)
note durations in chords (和音の中での音符の演奏時間)2.2.4 音符を組み合わせて和音にする
note names (音符名)2.4.4 絶対音符名
Note names in other languages臨時記号
Note names in other languages参照
note names, absolute (絶対音符名)2.4.4 絶対音符名
note value連符
NoteColumn, example of overriding4.5.3 実際の音楽からの例
NoteColumn, example of overriding (NoteColumn をオーバライドする例)force-hshift プロパティ
NoteHead, example of overriding (NoteHead をオーバライドする例)4.1.4 調整手段
NoteHead, example of overriding (NoteHead をオーバライドする例)4.1.4 調整手段
NoteHead, example of overriding (NoteHead をオーバライドする例)4.1.4 調整手段
NoteHead, example of overriding (NoteHead をオーバライドする例)4.1.4 調整手段
NoteHead, example of overriding (NoteHead をオーバライドする例)色 (color)
NoteHead, example of overriding (NoteHead をオーバライドする例)4.6.6 Scheme を用いた高度な調整
notes, spreading out with text (テキストに合わせて音符の間隔を広げる)\textLengthOn

O
object (オブジェクト)4.1.2 オブジェクトとインタフェイス
object collision within a staff (譜内部でのオブジェクトの衝突)staff-position プロパティ
object properties (オブジェクト プロパティ)4.1.2 オブジェクトとインタフェイス
object, layout (レイアウト プロパティ)4.1.2 オブジェクトとインタフェイス
objects, aligning on a baseline (オブジェクトをベースラインに揃える)staff-padding プロパティ
objects, changing size of (オブジェクトのサイズを変更する)4.3.2 オブジェクトのサイズ
objects, hiding (オブジェクトを隠す)4.6.1 調整のその他の使用方法
objects, invisible (不可視のオブジェクト)4.6.1 調整のその他の使用方法
objects, making invisible (オブジェクトを不可視にする)4.6.1 調整のその他の使用方法
objects, moving colliding (衝突しているオブジェクトを移動させる)4.5.1 オブジェクトを移動させる
objects, naming conventions (オブジェクトの命名規則)4.1.3 オブジェクトとプロパティの命名規約
objects, outside-staff (譜表外部オブジェクト)4.4.1 自動配置
objects, positioning (オブジェクトの位置を決定する)extra-offset プロパティ
objects, removing (オブジェクトを削除する)4.6.1 調整のその他の使用方法
objects, size of (オブジェクトのサイズ)4.3.2 オブジェクトのサイズ
objects, within-staff (譜表内部オブジェクト)4.4.1 自動配置
octaveピッチ
once4.1.4 調整手段
once1 回だけオーバライドする
once override (一度だけオーバライドする)1 回だけオーバライドする
oneVoice3.2.2 ボイスの明示的なインスタンス化
ossia3.1.3 音楽表記をネストする
ossia4.3.2 オブジェクトのサイズ
Ossia staves参照
ossias (オッシア)3.1.3 音楽表記をネストする
ottava bracket (オッターバ囲み)4.4.3 譜表外部オブジェクト
outside-staff objects (譜表内部オブジェクト)4.4.1 自動配置
outside-staff-priority property, example (outside-staff-priority プロパティの例)4.4.3 譜表外部オブジェクト
outside-staff-priority property, example (outside-staff-priority プロパティの例)\textLengthOn
overlapping notation (重なり合っている記譜要素)padding プロパティ
override4.1.4 調整手段
override command (override コマンド)4.1.4 調整手段
override example (オーバライドの例)4.2.1 レイアウト オブジェクトのプロパティ
override syntax (override 構文)4.1.4 調整手段
overrideProperty4.1.4 調整手段
overrideProperty command (overrideProperty コマンド)4.1.4 調整手段
overriding once only (一度だけオーバライドする)1 回だけオーバライドする

P
padding (パディング)4.5.1 オブジェクトを移動させる
padding (パディング)padding プロパティ
padding property (padding プロパティ)4.5.1 オブジェクトを移動させる
padding property, example (padding プロパティの例)padding プロパティ
padding property, example (padding プロパティの例)padding プロパティ
Painting objects white色 (color)
parallel expressions (並列表記)同時進行の音楽表記: 複数の譜
parallel expressions and relative notes (並列表記と相対音符)同時進行の音楽表記: 複数の譜
partial部分小節
partial measure (部分小節)部分小節
PDF file (PDF ファイル)音楽を入力して出力を閲覧する
phrasingフレージング スラー
phrasing slur (フレージング スラー)2.1.2 タイとスラー
Phrasing slurs参照
phrasing slurs, controlling manually (フレージング スラーを手動で制御する)positions プロパティ
PhrasingSlur, example of overriding (PhrasingSlur をオーバライドする例)positions プロパティ
piano staff (ピアノ譜)2.2.3 譜表グループ
PianoStaff2.2.3 譜表グループ
pickup (ピックアップ)部分小節
pitchピッチ
pitch警告: 調号と音高
Pitch names参照
pitches (ピッチ)ピッチ
pitches, absolute values (ピッチの絶対値)2.4.4 絶対音符名
polyphony同時進行の音楽表記: 複数の譜
polyphony (多声)同時進行の音楽表記: 複数の譜
polyphony (多声)2.2.5 単一譜表での多声
polyphony (多声)3.2.1 私はボイスを聴いている
polyphony and relative note entry (多声と相対音符入力)3.2.1 私はボイスを聴いている
positioning grobs (グラフィカル オブジェクトの位置を決定する)extra-offset プロパティ
positioning objects (オブジェクトの位置を決定する)extra-offset プロパティ
positions property (positions プロパティ)4.5.1 オブジェクトを移動させる
positions property, example (positions プロパティの例)positions プロパティ
positions property, example (positions プロパティの例)positions プロパティ
properties in interfaces (インタフェイス内のプロパティ)4.2.2 インタフェイスの中で見つかるプロパティ
properties of grobs (グラフィカル オブジェクトのプロパティ)4.2.1 レイアウト オブジェクトのプロパティ
properties of layout objects (レイアウト オブジェクトのプロパティ)4.2.1 レイアウト オブジェクトのプロパティ
properties operating in contexts (コンテキスト内でのプロパティの操作)3.3.4 コンテキスト プロパティを変更する
properties, naming conventions (プロパティの命名規則)4.1.3 オブジェクトとプロパティの命名規約
properties, object (オブジェクト プロパティ)4.1.2 オブジェクトとインタフェイス
property types (プロパティ タイプ)4.2.3 プロパティのタイプ

Q
quarter note演奏時間 (リズム)
quarter note (4 分音符)演奏時間 (リズム)
quote, single (シングル クォート)ピッチ

R
reading the manual (このマニュアルを読む)波括弧を省略する
rehearsal marks, tweaking placement (リハーサル記号の配置を調節する)4.4.3 譜表外部オブジェクト
relativeピッチ
relative mode (相対モード)ピッチ
relative mode, and accidentals (臨時記号と相対モード)ピッチ
relative note entry and polyphony (相対音符入力と多声)3.2.1 私はボイスを聴いている
relative notes and parallel expressions (相対音符と並列表記)同時進行の音楽表記: 複数の譜
relative notes and simultaneous music (相対音符と同時進行する音楽)同時進行の音楽表記: 複数の譜
remove3.3.5 エングラーバを追加 / 削除する
removing engravers (エングラーバを削除する)3.3.5 エングラーバを追加 / 削除する
removing objects (オブジェクトを削除する)4.6.1 調整のその他の使用方法
rest休符
rest (休符)休符
rest, spacer (空白休符)2.2.5 単一譜表での多声
revert4.1.4 調整手段
revert元に戻す
revert (元に戻す)元に戻す
revert command (revert コマンド)4.1.4 調整手段
reverting to a single voice (単一のボイスに戻す)3.2.2 ボイスの明示的なインスタンス化
rgb colors (RGB カラー)色 (color)
rgb-color色 (color)
rhythms (リズム)演奏時間 (リズム)
right-padding property (right-padding プロパティ)4.5.1 オブジェクトを移動させる
right-padding property (right-padding プロパティ)left-padding と right-padding
right-padding property, example (right-padding プロパティの例)left-padding と right-padding
running LilyPond under MacOS X (MacOS X で LilyPond を実行する)音楽を入力して出力を閲覧する
running LilyPond under Unix (Unix で LilyPond を実行する)音楽を入力して出力を閲覧する
running LilyPond under Windows (Windows で LilyPond を実行する)音楽を入力して出力を閲覧する

S
SATB structure (SATB 構造)3.2.3 ボイスとボーカル
SATB template (SATB テンプレート)3.4.2 4 パート SATB ボーカル譜
scaleピッチ
Score2.2.2 複数の譜
score3.1.1 LilyPond ファイル構造の紹介
score3.1.2 Score は (単一の) 複合的な音楽表記
score block, contents of (score ブロックの内容)3.1.2 Score は (単一の) 複合的な音楽表記
Score layout3.1.1 LilyPond ファイル構造の紹介
score, example of writing (楽譜の書き方の例)3.4.3 ゼロから楽譜を構築する
scores, multiple (複数の Score)3.1.1 LilyPond ファイル構造の紹介
Script, example of overriding (Script をオーバライドする例)padding プロパティ
self-alignment-X property (self-alignment-X プロパティ)4.5.1 オブジェクトを移動させる
self-alignment-X property, example (self-alignment-X プロパティの例)self-alignment-X プロパティ
set3.3.4 コンテキスト プロパティを変更する
setting properties within contexts (コンテキスト内部のプロパティを設定する)3.3.4 コンテキスト プロパティを変更する
sharp臨時記号
sharp警告: 調号と音高
sharp (シャープ)臨時記号
sharp, double (ダブル シャープ)臨時記号
shift commands (シフト コマンド)Note columns
shiftOffNote columns
shiftOnNote columns
shiftOnnNote columns
shiftOnnnNote columns
simple notation (簡単な記譜法)1.3.1 簡単な記譜法
simultaneous music (同時進行する音楽)3.2.1 私はボイスを聴いている
simultaneous music and relative notes (同時進行する音楽と相対音符)同時進行の音楽表記: 複数の譜
Simultaneous notes参照
single staff polyphony (単一譜表の多声)2.2.5 単一譜表での多声
size of objects (オブジェクトのサイズ)4.3.2 オブジェクトのサイズ
size, changing (サイズを変更する)4.3.3 オブジェクトの長さと太さ
sizing grobs (グラフィカル オブジェクトのサイズを決定する)グラフィカル オブジェクトのサイズ
slurスラー
slurフレージング スラー
slur警告: スラー vs. タイ
slur (スラー)2.1.2 タイとスラー
Slur example of overriding (Slur をオーバライドする例)4.2.1 レイアウト オブジェクトのプロパティ
Slur, example of overriding (Slur をオーバライドする例)1 回だけオーバライドする
Slur, example of overriding (Slur をオーバライドする例)元に戻す
Slur, example of overriding (Slur をオーバライドする例)元に戻す
slur, phrasing (フレージング スラー)2.1.2 タイとスラー
Slurs参照
slurs and articulations (スラーとアーティキュレーション)4.4.3 譜表外部オブジェクト
slurs and outside-staff-priority (スラーと outside-staff-priority)4.4.3 譜表外部オブジェクト
slurs crossing brackets (括弧をまたがるスラー)3.2.1 私はボイスを聴いている
slurs versus ties (スラー vs. タイ)フレージング スラー
slurs, controlling manually (スラーを手動で制御する)positions プロパティ
songs (歌)2.3.1 簡単な歌詞をセットする
spacer rest (空白休符)2.2.5 単一譜表での多声
spacing notes (空白音符)3.2.2 ボイスの明示的なインスタンス化
spanner (スパナ)4.1.2 オブジェクトとインタフェイス
staccato (スタッカート)アーティキュレーション
Staff2.2.2 複数の譜
staff group (譜表グループ)2.2.3 譜表グループ
staff line spacing, changing (譜表線の間隔を変更する)4.3.3 オブジェクトの長さと太さ
staff, choir (合唱譜)2.2.3 譜表グループ
staff, grand (グランド譜)2.2.3 譜表グループ
staff, piano (ピアノ譜)2.2.3 譜表グループ
staff, positioning (譜表の配置)3.1.3 音楽表記をネストする
staff-padding property (staff-padding プロパティ)4.5.1 オブジェクトを移動させる
staff-padding property, example (staff-padding プロパティの例)staff-padding プロパティ
staff-position property (staff-position プロパティ)4.5.1 オブジェクトを移動させる
staff-position property, example4.5.3 実際の音楽からの例
staff-position property, example (staff-position プロパティの例)staff-position プロパティ
staff-space property, example (staff-space プロパティの例)4.3.3 オブジェクトの長さと太さ
StaffSymbol, example of overriding (StaffSymbol をオーバライドする例)色 (color)
StaffSymbol, example of overriding (StaffSymbol をオーバライドする例)4.3.3 オブジェクトの長さと太さ
startTextSpan4.4.3 譜表外部オブジェクト
staves, multiple (複数の譜)同時進行の音楽表記: 複数の譜
staves, multiple (複数の譜)2.2.2 複数の譜
staves, temporary (一時的な譜)3.1.3 音楽表記をネストする
stem directions and voices (符幹の向きとボイス)3.2.1 私はボイスを聴いている
stem down (下向きの符幹)3.2.1 私はボイスを聴いている
stem length, changing (符幹の長さを変更する)4.3.3 オブジェクトの長さと太さ
stem up (上向きの符幹)3.2.1 私はボイスを聴いている
Stem, example of overriding4.5.3 実際の音楽からの例
Stem, example of overriding (Stem をオーバライドする例)色 (color)
Stem, example of overriding (Stem をオーバライドする例)4.4.2 譜表内部オブジェクト
Stem, example of overriding (Stem をオーバライドする例)異なるボイスの中にある音符をタイで結ぶ
stencil property (stencil プロパティ)ステンシル (stencil)
stencil property, example (stencil プロパティの例)ステンシル (stencil)
stencil property, example (stencil プロパティの例)ステンシル (stencil)
stencil property, example (stencil プロパティの例)透過性 (transparent)
stencil property, example (stencil プロパティの例)4.3.2 オブジェクトのサイズ
stencil property, example (stencil プロパティの例)4.3.3 オブジェクトの長さと太さ
stencil property, example (stencil プロパティの例)left-padding と right-padding
stencil property, example (stencil プロパティの例)MIDI でフェルマータをシミュレートする
stencil property, use of (stencil プロパティの使用方法)MIDI でフェルマータをシミュレートする
stopTextSpan4.4.3 譜表外部オブジェクト
StringNumber, example of overriding (StringNumber をオーバライドする例)self-alignment-X プロパティ
Structure of a score参照

T
template, modifying (テンプレートを変更する)3.4.1 ソプラノとチェロ
template, SATB (SATB テンプレート)3.4.2 4 パート SATB ボーカル譜
template, writing your own (自分自身のテンプレートを記述する)3.4.3 ゼロから楽譜を構築する
templates (テンプレート)波括弧を省略する
temporary staves (一時的な譜)3.1.3 音楽表記をネストする
tenor (テナー)音部記号
text editors (テキスト エディタ)音楽を入力して出力を閲覧する
text property, example (text プロパティの例)4.1.4 調整手段
text property, example (text プロパティの例)left-padding と right-padding
text spanner (テキスト スパナ)4.4.3 譜表外部オブジェクト
Text spanners4.4.3 譜表外部オブジェクト
text, adding (テキストを追加する)2.1.4 テキストを追加する
textLengthOff\textLengthOn
textLengthOn\textLengthOn
TextScript, example of overriding (TextScript をオーバライドする例)4.4.3 譜表外部オブジェクト
TextScript, example of overriding (TextScript をオーバライドする例)\textLengthOn
TextSpanner, example of overriding (TextSpanner をオーバライドする例)4.4.3 譜表外部オブジェクト
TextSpanner, example of overriding (TextSpanner をオーバライドする例)4.4.3 譜表外部オブジェクト
The tweak command参照
thickness (太さ)4.3.3 オブジェクトの長さと太さ
thickness property, example (thickness プロパティの例)4.2.1 レイアウト オブジェクトのプロパティ
thickness property, example (thickness プロパティの例)1 回だけオーバライドする
thickness property, example (thickness プロパティの例)元に戻す
thickness property, example (thickness プロパティの例)元に戻す
tie警告: スラー vs. タイ
tie (タイ)2.1.2 タイとスラー
Tie, example of overriding4.5.3 実際の音楽からの例
Ties参照
ties crossing brackest (括弧をまたがるタイ)3.2.1 私はボイスを聴いている
time拍子記号
Time signature参照
time signature拍子記号
time signature (拍子記号)拍子記号
times連符
TimeSignature, example of overriding (TimeSignature をオーバライドする例)透過性 (transparent)
TimeSignature, example of overriding (TimeSignature をオーバライドする例)透過性 (transparent)
TimeSignature, example of overriding (TimeSignature をオーバライドする例)色 (color)
TimeSignature, example of overriding (TimeSignature をオーバライドする例)4.3.2 オブジェクトのサイズ
TimeSignature, example of overriding (TimeSignature をオーバライドする例)4.3.2 オブジェクトのサイズ
TimeSignature, example of overriding (TimeSignature をオーバライドする例)4.3.2 オブジェクトのサイズ
TimeSignature, example of overriding (TimeSignature をオーバライドする例)4.3.3 オブジェクトの長さと太さ
tips for constructing files (ファイルを構築するための Tips)波括弧を省略する
title (タイトル)2.4.3 タイトルを付け加える
transparency (透明性)透過性 (transparent)
transparent property (transparent プロパティ)透過性 (transparent)
transparent property, example4.5.3 実際の音楽からの例
transparent property, example (transparent プロパティの例)4.1.4 調整手段
transparent property, example (transparent プロパティの例)透過性 (transparent)
transparent property, example (transparent プロパティの例)異なるボイスの中にある音符をタイで結ぶ
transparent property, example (transparent プロパティの例)MIDI でフェルマータをシミュレートする
transparent property, use of (transparent プロパティの使用方法)4.6.1 調整のその他の使用方法
transposition警告: 調号と音高
treble (ト音記号、高音部記号)音部記号
triplet連符
triplet bracket (3 連符の囲み)4.1.4 調整手段
triplets (3 連符)連符
triplets, nested (ネストされた 3 連符)4.1.4 調整手段
Tunable context properties3.3.4 コンテキスト プロパティを変更する
Tunable context properties参照
tuplet beams, controlling manually (連譜の連桁を手動で制御する)positions プロパティ
tuplet bracket (連符の囲み)4.1.4 調整手段
tuplet-number function, example (tuplet-number 関数の例)4.1.4 調整手段
TupletBracket4.1.4 調整手段
TupletNumber, example of overriding (TupletNumber をオーバライドする例)4.1.4 調整手段
Tuplets参照
tuplets (連符)連符
tuplets, nested (ネストされた連符)4.1.4 調整手段
tweak4.1.4 調整手段
tweak command (tweak コマンド)4.1.4 調整手段
tweaking bar number placement (小節番号の配置を調節する)4.4.3 譜表外部オブジェクト
tweaking dynamics placement (強弱記号の配置を調整する)強弱記号
tweaking methods (調性手段)4.1.4 調整手段
tweaking metronome mark placement (メトロノーム記号の配置を調節する)4.4.3 譜表外部オブジェクト
tweaking rehearsal mark placement (リハーサル記号の配置を調節する)4.4.3 譜表外部オブジェクト
tweaks, using variables for (調整のために変数を使用する)4.6.2 調整のために変数を使用する
tying notes across voices (異なるボイスの中にある音符をタイで結ぶ)4.6.1 調整のその他の使用方法

U
underscore (アンダスコア)2.3.2 歌詞を旋律に揃える
Unix, running LilyPond (Unix で LilyPond を実行する)音楽を入力して出力を閲覧する
unset3.3.4 コンテキスト プロパティを変更する
up (上)4.4.2 譜表内部オブジェクト
Upbeats参照
updating files (ファイルをアップデートする)2.4.2 バージョン番号
Updating files with convert-ly2.4.2 バージョン番号
upgrades (アップグレード)2.4.2 バージョン番号
using variables (変数を使用する)2.4.1 変数を用いて楽曲を編成する
using variables for tweaks (調整のために変数を使用する)4.6.2 調整のために変数を使用する

V
variables (変数)2.4.1 変数を用いて楽曲を編成する
variables (変数)3.1.1 LilyPond ファイル構造の紹介
variables (変数)3.4.4 変数と関数を用いて入力の手間を省く
variables, characters allowed in (変数で使用できる文字)2.4.1 変数を用いて楽曲を編成する
variables, defining (変数を定義する)2.4.1 変数を用いて楽曲を編成する
variables, using (変数を使用する)2.4.1 変数を用いて楽曲を編成する
variables, using for tweaks (調整のために変数を使用する)4.6.2 調整のために変数を使用する
verse and refrain (歌詞とリフレイン)3.2.3 ボイスとボーカル
verses, multiple vocal3.2.3 ボイスとボーカル
version2.4.2 バージョン番号
version (バージョン)2.4.2 バージョン番号
version number (バージョン番号)2.4.2 バージョン番号
versioning (バージョンを付ける)2.4.2 バージョン番号
viewing music (音楽を閲覧する)音楽を入力して出力を閲覧する
Vocal music参照
Vocal music参照
Vocal music参照
vocal score structure (ボーカル譜構造)3.2.3 ボイスとボーカル
vocal scores with multiple verses (複数のボーカル譜)3.2.3 ボイスとボーカル
Voice2.2.2 複数の譜
Voice context (Voice コンテキスト)3.2.1 私はボイスを聴いている
voice contexts, creating (ボイス コンテキストを作成する)3.2.2 ボイスの明示的なインスタンス化
voiceFour3.2.2 ボイスの明示的なインスタンス化
voiceOne3.2.2 ボイスの明示的なインスタンス化
voices and stem directions (ボイスと符幹の向き)3.2.1 私はボイスを聴いている
voices crossing brackets (括弧をまたがるボイス)3.2.1 私はボイスを聴いている
voices vs. chords (ボイス vs. 和音)3.2.1 私はボイスを聴いている
voices, more on one staff (1 つの譜表上に複数のボイス)2.2.5 単一譜表での多声
voices, multiple (複数のボイス)3.2.1 私はボイスを聴いている
voices, naming (ボイスに名前を付ける)3.2.1 私はボイスを聴いている
voices, nesting (ボイスをネストさせる)3.2.2 ボイスの明示的なインスタンス化
voices, reverting to single (単一のボイスに戻す)3.2.2 ボイスの明示的なインスタンス化
voices, temporary (一時的なボイス)3.2.2 ボイスの明示的なインスタンス化
voiceThree3.2.2 ボイスの明示的なインスタンス化
voiceTwo3.2.2 ボイスの明示的なインスタンス化

W
whitespace insensitive (空白を無視する)1.3.2 入力ファイルに取り組む
whole note演奏時間 (リズム)
whole note (全音符)演奏時間 (リズム)
Windows, running LilyPond (Windows で LilyPond を実行する)音楽を入力して出力を閲覧する
withSetting context properties with \with
within-staff objects (譜表内部オブジェクト)4.4.1 自動配置
words with multiple syllables in lyrics (歌詞の中で複数の音節を持つ単語)2.3.2 歌詞を旋律に揃える
writing a score, example (楽譜の書き方の例)3.4.3 ゼロから楽譜を構築する
Writing pitches参照
Writing rests参照
Writing rhythms参照
Writing text参照

X
X11 colors (X11 カラー)色 (color)
x11-color色 (color)
x11-color function, example of using (x11-color 関数の使用方法)4.6.6 Scheme を用いた高度な調整
x11-color, example of using (x11-color の使用例)色 (color)

古い入力ファイルをアップデートする3.4.4 変数と関数を用いて入力の手間を省く

Jump to:   !   %   '   (   ,   .   <   >   [   \   ]   ^   _   ~    
A   B   C   D   E   F   G   H   I   K   L   M   N   O   P   Q   R   S   T   U   V   W   X  

目次


このドキュメントについて

This document was generated by Sawada on 1 月 3, 2011 using texi2html 1.82.

ナビゲーション パネルの中にあるボタンには以下のような意味があります:

ボタン Name 行き先 1.2.3 からの行き先
[]
[ << ] FastBack この章あるいは前の章の先頭 1
[]
[トップ] トップ ドキュメントの表紙 (先頭)  
[目次] 目次 目次  
[インデックス] インデックス インデックス  
[ ? ] 情報 情報 (ヘルプ)  
[]
[ >> ] FastForward 次の章 2
[]
[]
[ < ] Back 前のセクション 1.2.2
[]
[ 上へ ] 上のセクション 1.2
[]
[ > ] Forward 次のセクション 1.2.4

この表で、 行き先 は、現在の位置が以下のような構造を持つドキュメントの サブサブセクション 1-2-3 であると仮定しています:


他の言語: English, deutsch, español, français, magyar, italiano, nederlands

学習マニュアル

inserted by FC2 system