4.5.1 水平方向のスペースの概要

スペース エンジンは異なる演奏時間を異なる長さの可変距離 (‘スプリング’) に翻訳します。長い演奏時間はより多くのスペースをとり、短い演奏時間はより少ないスペースをとります。最短の演奏時間は固定量のスペース (これは SpacingSpanner オブジェクトの中にある shortest-duration-space によって制御されます) をとります。演奏時間が長くなるほど、より多くのスペースをとります: 演奏時間が倍になると、固定量のスペース (これは spacing-increment によって制御されます) がその音符に付け加えられます。

例えば、以下の楽曲には多くの 2 分音符、4 分音符、それに 8 分音符が含まれています。 8 分音符の後には符頭幅 (NHW) 1 つ分が挿入されます。4 分音符の後には 2 NHW が挿入され、2 分音符の後には 3 NHW が挿入されます。

c2 c4. c8 c4. c8 c4. c8 c8
c8 c4 c4 c4

[image of music]

通常、spacing-increment は 1.2 譜表スペースに設定されています。これは符頭の幅とだいたい同じです。さらに、shortest-duration-space は 2.0 に設定されています。つまり、最短の音符は 2.4 譜表スペース (spacing-increment の 2 倍) の水平方向のスペースをとります。このスペースはシンボルの左端からカウントされます。そのため、最短の音符の後には一般に 1 NHW のスペースが挿入されます。

上記の手順に正確に従った場合、8 分音符や 16 分音符を含む楽譜に 32 分音符を 1 つ付け加えると、楽譜全体が大きく引き伸ばされます。最短の音符はもはや 16 分音符ではなく、32 分音符であり、それぞれの 16 分音符に 1 NHW が付け加えられます。このことを防ぐため、スペースをとるための最短の演奏時間を、その楽譜の中にある最短の音符ではなく、最も頻繁に出現する音符とします。

最も共通する最短演奏時間は以下のように決定されます: 各小節において、最短の演奏時間が決定されます。スペースの基本として、最も共通する最短演奏時間が選択されます。条件として、この最短演奏時間は常に 8 分音符以上の長さになります。lilypond--verbose オプションを付けて実行すると、最短演奏時間が表示されます。

この演奏時間はカスタマイズすることもできます。 SpacingSpanner の中にある common-shortest-duration を設定した場合、スペースのための基本演奏時間が設定されれます。この基本演奏時間の最大値 (通常、8 分音符) は、base-shortest-duration によって設定されます。

共通の最短音符よりも短い音符の後には、その音符の演奏時間と共通の最短音符の演奏時間の比を反映したスペースが付けられます。そのため、上記の例に 16 分音符を数個付け加えた場合、16 分音符の後には NHW の半分の幅のスペースが付けられます:

c2 c4. c8 c4. c16[ c] c4. c8 c8 c8 c4 c4 c4

[image of music]

導入部 FIXME FIXME FIXME において、符幹の向きはスペースに影響を与えるということを説明しました。これは、 NoteSpacing オブジェクトの中にある stem-spacing-correction プロパティによって制御されます。このオブジェクトは Voice コンテキストごとに生成されます。StaffSpacing オブジェクト ( Staff コンテキストの中で生成されます) は、符幹/小節線のスペースを制御するために、同様のプロパティを保持します。以下の例は、それらプロパティによる修正の様子を示しています。 前半はデフォルト設定による修正であり、後半は修正を誇張しています:

[image of music]

プロポーショナル ノーテーション (proportional notation) がサポートされます。プロポーショナル ノーテーション を参照してください。

参照

コード断片集: Spacing

内部リファレンス: SpacingSpanner, NoteSpacing, StaffSpacing, NonMusicalPaperColumn

既知の問題と警告

スペースを手動でオーバライドするための、手軽な仕組みはありません。余分なスペースを楽譜に挿入するために、以下の手段があります – 必要に応じて、パディングの値を調整しています。

 \override Score.NonMusicalPaperColumn #'padding = #10

スペースを減らすための手段はありません。


他の言語: English, deutsch, español, français

LilyPond — 記譜法リファレンス

inserted by FC2 system