@c -*- coding: utf-8; mode: texinfo; documentlanguage: ja -*- @ignore Translation of GIT committish: eb38c33a95cbe6adf9f176dfbb794373ec062605 When revising a translation, copy the HEAD committish of the version that you are working on. See TRANSLATION for details. @end ignore @c \version "2.19.40" @c Translators: Tomohiro Tatejima, Yoshiki Sawada @c Translation status: post-GDP @node リズム @section リズム @translationof Rhythms @lilypondfile[quote]{rhythms-headword.ly} このセクションではリズム、休符、演奏時間、連桁、小節について議論します。 @menu * リズムを記述する:: * 休符を記述する:: * リズムを表示する:: * 連桁:: * 小節:: * 特殊なリズム関連事項:: @end menu @node リズムを記述する @subsection リズムを記述する @translationof Writing rhythms @menu * 演奏時間:: * 連符:: * 演奏時間を変更する:: * タイ:: @end menu @node 演奏時間 @unnumberedsubsubsec 演奏時間 @translationof Durations @cindex durations, of notes (音符の演奏時間) @cindex note durations (音符の演奏時間) @cindex length of notes (音符の長さ) @cindex note lengths (音符の長さ) @funindex \longa @funindex \breve @funindex \maxima 演奏時間は数とドットで指定されます。@c 演奏時間はその演奏時間の逆数で入力されます。@c 例えば、4 分音符は @code{4} で入力され (1/4 の音符だから)、半音符は @code{2} で入力されます (1/2 の音符だから)。@c 全音符よりも長い音符を入力するには、@code{\longa} コマンド (全音符の 4 倍) と @code{\breve} コマンド (全音符の 2 倍) を使う必要があります。@c 128 分音符のような短い音符を指定することもできます。@c それよりも短い音価を指定することも可能ですが、必ず連桁付きの音符となります。 @c Two 64th notes are needed to obtain beams @lilypond[quote,verbatim] \relative { \time 8/1 c''\longa c\breve c1 c2 c4 c8 c16 c32 c64 c128 c128 } @end lilypond 同じ例で自動連桁を off にしてみます。 @c not strictly "writing rhythms"; more of a "displaying" thing, @c but it's ok here. -gp @lilypond[quote,verbatim] \relative { \time 8/1 \autoBeamOff c''\longa c\breve c1 c2 c4 c8 c16 c32 c64 c128 c128 } @end lilypond 全音符の 8 倍の演奏時間を持つ音符は @code{\maxima} を使って入力することができます。@c しかしながら、これは古代音楽表記でのみサポートされます。@c 詳細は @ref{Ancient notation} を参照してください。 @cindex duration, default (デフォルトの演奏時間) @cindex default note duration (デフォルトの音符演奏時間) @cindex note duration, default (デフォルトの音符演奏時間) 演奏時間を省略した場合、前に入力された演奏時間にセットされます。@c 最初の音符のデフォルト値は 4 分音符です。 @lilypond[quote,verbatim] \relative { a' a a2 a a4 a a1 a } @end lilypond 音楽の中で演奏時間のみを入力した場合、前の音符や和音のピッチを引き継ぎます。 @lilypond[quote,verbatim] \relative { \time 8/1 c'' \longa \breve 1 2 4 8 16 32 64 128 128 } @end lilypond @cindex notes, dotted (付点音符) @cindex dotted notes (付点音符) @cindex notes, double-dotted (2 重付点音符) @cindex double-dotted notes (2 重付点音符) @funindex . 付点音符の演奏時間を得るには、演奏時間の後にドット (@code{.}) を置きます。@c 2 重付点音符は 2 つのドットを置き、3 重付点音符は 3 つのドットなどとなります。 @lilypond[quote,verbatim] \relative { a'4 b c4. b8 a4. b4.. c8. } @end lilypond 演奏時間の中には 2の倍数の演奏時間とドットだけでは表せないものもあります。@c それらを表すには 2 つかそれ以上の音符をタイでつなげるしかありません。@c 詳細は @ref{タイ} を参照してください。 歌詞の音節に対して演奏時間を指定する方法、歌詞を音符に揃える方法については @ref{Vocal music} を参照してください。 オプションとして、音符を音符の演奏時間に厳密に比例させた間隔で@c 配置することができます。@c このオプションとプロポーショナル表記を制御するその他の設定についての@c 詳細は @ref{Proportional notation} を参照してください。 @funindex \dotsUp @funindex \dotsDown @funindex \dotsNeutral 通常、多声でない限り、ドットは譜線を避けるために上に移動させられます。@c ある特定のドットの移動方向を手動で指定するための定義済みコマンドがあります -- 詳細は @ref{Direction and placement} を参照してください。 @predefined @code{\autoBeamOn}, @code{\autoBeamOff}, @code{\dotsUp}, @code{\dotsDown}, @code{\dotsNeutral} @endpredefined @snippets @lilypondfile[verbatim,quote,ragged-right,texidoc,doctitle] {alternative-breve-notes.ly} @lilypondfile[verbatim,quote,ragged-right,texidoc,doctitle] {changing-the-number-of-augmentation-dots-per-note.ly} @seealso 音楽用語集: @rglos{breve}, @rglos{longa}, @rglos{maxima}, @rglos{note value}, @rglos{Duration names notes and rests} 記譜法リファレンス: @ref{Automatic beams}, @ref{Ties}, @ref{Stems}, @ref{Writing rhythms}, @ref{Writing rests}, @ref{Vocal music}, @ref{Ancient notation}, @ref{Proportional notation} コード断片集: @rlsrnamed{Rhythms,リズム} 内部リファレンス: @rinternals{Dots}, @rinternals{DotColumn} @knownissues @c Deliberately duplicated in Durations and Rests. -gp 休符の演奏時間には基本的に限界がありません (最大値としても、最小値としても)。@c しかしながら、図柄の数には限界があります: 128 分から全音符の 8 倍までの休符を譜刻することができます。 @node 連符 @unnumberedsubsubsec 連符 @translationof Tuplets @cindex tuplets (連符) @cindex triplets (3 連符) @funindex \tuplet 連符は @code{\tuplet} を使った音楽表記から作られ、@c 音楽表記の速度に分数を掛け合わせます。 @example \tuplet @var{fraction} @{ @var{music} @} @end example @noindent 分数 (@var{fraction}) の分子が音符の上または下に譜刻され、@c オプションで囲みが付きます。@c 最も一般的な連符は 3 連符です。@c ( 3 つの音符が音符 2 つ分の演奏時間を持ちます。) @lilypond[quote,verbatim] \relative { a'2 \tuplet 3/2 { b4 4 4 } c4 c \tuplet 3/2 { b4 a g } } @end lilypond @cindex 連符のグルーピング @noindent 連符の長いパッセージを入力するとき、@c 各グループに別々の @code{\tuplet} コマンドを記述することは不便です。@c 音楽の前に一つの連符グループの長さを直接指定することで、@c 連符を自動的にグループ化することができます: @lilypond[quote,verbatim] \relative { g'2 r8 \tuplet 3/2 8 { cis16 d e e f g g f e } } @end lilypond @cindex tuplet bracket placement (連符囲みの配置) @funindex \tupletUp @funindex \tupletDown @funindex \tupletNeutral 連符囲みは手動で譜の上または下に配置することができます: @lilypond[quote,verbatim] \relative { \tupletUp \tuplet 3/2 { c''8 d e } \tupletNeutral \tuplet 3/2 { c8 d e } \tupletDown \tuplet 3/2 { f,8 g a } \tupletNeutral \tuplet 3/2 { f8 g a } } @end lilypond 連符はネストすることができます: @lilypond[quote,verbatim] \relative { \autoBeamOff c''4 \tuplet 5/4 { f8 e f \tuplet 3/2 { e[ f g] } } f4 } @end lilypond ネストされた連符の演奏開始点が同時である場合に、それらの連符を変更するには @code{\tweak} を使う必要があります。 連符囲みを譜刻せずに音符の演奏時間を変更する方法は @ref{演奏時間を変更する} を参照してください。 @predefined @code{\tupletUp}, @code{\tupletDown}, @code{\tupletNeutral}. @endpredefined @snippets @cindex tuplet formatting (連符のフォーマット) @cindex triplet formatting (3 連符のフォーマット) @funindex tupletNumberFormatFunction @funindex tupletSpannerDuration @lilypondfile[verbatim,quote,ragged-right,texidoc,doctitle] {entering-several-tuplets-using-only-one--tuplet-command.ly} @cindex Tuplet number changes (連符の数の変更) @funindex TupletNumber @lilypondfile[verbatim,quote,ragged-right,texidoc,doctitle] {changing-the-tuplet-number.ly} @lilypondfile[verbatim,quote,ragged-right,texidoc,doctitle] {non-default-tuplet-numbers.ly} @lilypondfile[verbatim,quote,ragged-right,texidoc,doctitle] {controlling-tuplet-bracket-visibility.ly} @lilypondfile[verbatim,quote,ragged-right,texidoc,doctitle] {permitting-line-breaks-within-beamed-tuplets.ly} @seealso 音楽用語集: @rglos{triplet}, @rglos{tuplet}, @rglos{polymetric} 学習マニュアル: @rlearning{Tweaking methods} 記譜法リファレンス: @ref{Direction and placement}, @ref{Time administration}, @ref{Scaling durations}, @ref{The tweak command}, @ref{Polymetric notation} コード断片集: @rlsr{Rhythms} 内部リファレンス: @rinternals{TupletBracket}, @rinternals{TupletNumber}, @rinternals{TimeScaledMusic}. @node 演奏時間を変更する @unnumberedsubsubsec 演奏時間を変更する @translationof Scaling durations @cindex scaling durations (演奏時間を伸縮する) @cindex durations, scaling (演奏時間を伸縮する) @code{*N/M} (または、@code{M} が 1 の場合は @code{*N}) を演奏時間の後に@c 付け加えることによって、単一の音符、休符、和音の演奏時間を分数 @code{N/M} 倍することができます。@c これは作り出される音符や休符の見た目には影響を与えませんが、@c 変更された演奏時間は小節の中での位置を算出するためと、@c MIDI 出力での演奏時間を決定するために使用されます。@c 掛け合わせる要素は @code{*L*M/N} のように組み合わせることができます。@c 掛け合わせる要素は演奏時間の一部です: 音符の演奏時間が指定されていない@c 場合、前の音符から取ったデフォルトの演奏時間に要素が掛け合わされます。 以下の例では、最初の 3 つの音符で 2 拍ですが、連符囲みは譜刻されていません。 @c KEEP LY @lilypond[quote,verbatim] \relative { \time 2/4 % 演奏時間を変更して 3 連符にします a'4*2/3 gis a % 通常の演奏時間 a4 a % 和音の演奏時間を 2 倍にします 4*2 % 演奏時間は 4 分音符ですが、見た目は 16 分音符です b16*4 c4 } @end lilypond 空白休符の演奏時間も掛け算によって変更できます。@c これは @code{s1*23} のように多くの小節をスキップする場合に役に立ちます。 @cindex compressing music (音楽を圧縮する) @cindex expanding music (音楽を伸長する) @funindex \scaleDurations 同様の方法で分数を使うことで、長く伸びた音楽を圧縮することができます。@c それによりそれぞれの音符、和音、休符には@c 分数が掛け合わせられたかのようになります。@c これは楽譜要素の見た目をそのままにして、要素の内部演奏時間に@c @emph{分子}/@emph{分母}を掛け合わせます。@c ここで、音楽がどのように圧縮され、伸張されるかを示す例を挙げます: @c KEEP LY @lilypond[quote,verbatim] \relative { \time 2/4 % 通常の演奏時間 4 c8 a % 2/3 を掛けます \scaleDurations 2/3 { 4. c8 a f } % 2 を掛けます \scaleDurations 2/1 { 4 c8 b } } @end lilypond このコマンドの応用例の 1 つは多拍子記譜法での使用です。@c @ref{多拍子記譜法} を参照してください。 @seealso 記譜法リファレンス: @ref{Tuplets}, @ref{Invisible rests}, @ref{Polymetric notation} コード断片集: @rlsr{Rhythms} @knownissues 小節内での位置の計算はその小節の音符に適用される全ての演奏時間の伸縮や、@c それより前の小節からの計算結果を考慮する必要があります。@c この計算は分数を用いて行われています。@c 計算の途中で分子あるいは分母が 2^30 を超えると、プログラムの実行と譜刻は@c その時点でエラーを発生せずに止まります。 (訳注: 内部的に、分子と分母をそれぞれ整数型として持つ分数型を@c 用いているため、あまりに複雑な演奏時間の伸縮を行うと、計算の途中で分子や分母が@c 2^30 を超えてしまい譜刻が途中で止まってしまうということです。) @node タイ @unnumberedsubsubsec タイ @translationof Ties @cindex tie (タイ) @funindex ~ タイは同じピッチの隣り合う符頭を結び付けます。@c タイは音符の演奏時間を伸張する効果があります。 @warning{タイを音楽的なフレーズを表す @emph{スラー} や @emph{フレージング スラー} と混同しないでください。@c タイは音符の演奏時間を伸ばす働きを持ち、音価を増やすドットに似ています。} タイは、結ばれる 2 つの音符の 1 つ目にチルド記号 (@code{~}) を付加することで@c 入力します。この記号は音符が次の音符とタイで結ばれるということを示し、@c 次の音符は同じピッチでなければなりません。 @lilypond[quote,verbatim] { a'2~ 4~ 16 r r8 } @end lilypond タイでは、演奏時間のみを入力することで@q{最後に明示されたピッチ}を用いることが@c できます: @lilypond[quote,verbatim] { a'2~ 4~ 16 r r8 } @end lilypond タイは、音符が小節線をまたがる場合か、リズムを表すためにドットを@c 使うことができない場合に使用されます。@c さらに、以下の例のように音価が小節の区画をまたがる場合にも使用されます (訳者補足: 4/4 拍子では 1 小節は 1/4, 1/4, 1/4, 1/4 の区画に分けられます。@c 下の例の第 2 小節では半音符が区画をまたがっているので良くない書き方であり、@c 第 1 小節のように書くべきです。): @c KEEP LY @lilypond[verbatim,quote] \relative { r8 c'4.~ 4 r4 | r8^"こうすべきではありません" c2~ 8 r4 } @end lilypond 小節線をまたいで多くの音符をタイで結び付ける必要がある場合、@c 自動音符分割を使用したほうが簡単かもしれません -- @ref{自動音符分割} を参照してください。@c これは長い音符を自動的に分割して、小節線をまたがる音符をタイで結び付けます。 @cindex ties and chords (タイと和音) @cindex chords and ties (和音とタイ) タイを和音に適用する場合、ピッチが一致する符頭すべてが結ばれます。@c 一致する符頭が無い場合、タイは作成されません。@c 和音の内部にタイを置くことによって、和音の一部だけをタイで結ぶことができます。 @lilypond[quote,verbatim] \relative c' { 2~ 2 | 4~ | } @end lilypond @cindex repeating ties (タイを含む繰り返し) @cindex ties, repeating (タイを含む繰り返し) @cindex volta brackets and ties (volta 囲みとタイ) @cindex ties and volta brackets (タイと volta 囲み) @funindex \repeatTie 繰り返しの 2 回目の差し替え部分はタイで結ばれた音符で始まっています。@c そのような繰り返し部分でのタイは以下のように指定する必要があります: @c KEEP LY @lilypond[quote,verbatim] \relative { \repeat volta 2 { c'' g 2~ } \alternative { % 1 番目の差し替え部分: 後に続く音符は通常通りタイで結ばれます { 2. r4 } % 2 番目の差し替え部分: 後に続く音符にはリピート用のタイを付けます { 2\repeatTie d4 c } } } @end lilypond @cindex laissez vibrer (レセ ヴィブレ) @cindex ties, laissez vibrer (レセ ヴィブレのタイ) @funindex \laissezVibrer @notation{L.v.}@: タイ (@notation{レセ ヴィブレ: laissez vibrer}) は@c 音符を終端で途切れさせないということを示します。@c ピアノ、ハープ、他の弦楽器、それに打楽器のための楽譜で使用されます。@c L.v. タイは以下のように入力します: @lilypond[quote,verbatim,fragment] 1\laissezVibrer @end lilypond @cindex ties, placement (タイの配置) @funindex \tieUp @funindex \tieDown @funindex \tieNeutral タイを手動で上向きまたは下向きに配置することができます。 @ref{Direction and placement} を参照してください。 @cindex ties, appearance (タイの見た目) @cindex ties, dotted (点線のタイ) @cindex ties, dashed (破線のタイ) @cindex dashed ties (破線のタイ) @cindex dotted ties (点線のタイ) @funindex \tieDotted @funindex \tieDashed @funindex \tieSolid タイを破線、点線、実線と破線の組み合わせにすることができます。 @lilypond[quote, verbatim] \relative c' { \tieDotted c2~ 2 \tieDashed c2~ 2 \tieHalfDashed c2~ 2 \tieHalfSolid c2~ 2 \tieSolid c2~ 2 } @end lilypond 破線パターンのカスタマイズを指定することができます: @lilypond[quote, verbatim] \relative c' { \tieDashPattern #0.3 #0.75 c2~ 2 \tieDashPattern #0.7 #1.5 c2~ 2 \tieSolid c2~ 2 } @end lilypond タイの破線パターン定義の構造は、スラーの破線パターン定義と同じです。@c 複雑な破線パターンについての更なる情報は @ref{Slurs} を参照してください。 タイとの間に隙間を作りたいオブジェクトには、@c @var{whiteout} レイアウト プロパティと @var{layer} レイアウト プロパティを@c オーバライドしてください。 @lilypond[verbatim,quote,ragged-right] \relative { \override Tie.layer = #-2 \override Staff.TimeSignature.layer = #-1 \override Staff.KeySignature.layer = #-1 \override Staff.TimeSignature.whiteout = ##t \override Staff.KeySignature.whiteout = ##t b'2 b~ \time 3/4 \key a \major b r4 } @end lilypond @predefined @code{\tieUp}, @code{\tieDown}, @code{\tieNeutral}, @code{\tieDotted}, @code{\tieDashed}, @code{\tieDashPattern}, @code{\tieHalfDashed}, @code{\tieHalfSolid}, @code{\tieSolid} @endpredefined @snippets @lilypondfile[verbatim,quote,ragged-right,texidoc,doctitle] {using-ties-with-arpeggios.ly} @lilypondfile[verbatim,quote,ragged-right,texidoc,doctitle] {engraving-ties-manually.ly} @seealso 音楽用語集: @rglos{tie}, @rglos{laissez vibrer} 記譜法リファレンス: @ref{Slurs}, @ref{Automatic note splitting} コード断片集: @rlsr{Expressive marks}, @rlsr{Rhythms} 内部リファレンス: @rinternals{LaissezVibrerTie}, @rinternals{LaissezVibrerTieColumn}, @rinternals{TieColumn}, @rinternals{Tie} @knownissues タイがアクティブなときに譜を切り換えても斜めのタイは作られません。 タイの最中に音部記号やオクターブを変更することはきちんと定義されていません。@c そのような場合には、スラーを用いる方が好ましいです。 @node 休符を記述する @subsection 休符を記述する @translationof Writing rests 休符は音楽表記の中の音楽の一部として入力されます。 @menu * 休符:: * 不可視の休符:: * 小節単位の休符:: @end menu @node 休符 @unnumberedsubsubsec 休符 @translationof Rests @cindex rest (休符) @cindex rest, entering durations (休符の演奏時間を入力する) @cindex maxima rest (八全休符) @cindex longa rest (四全休符) @cindex breve rest (二全休符) @funindex \rest @funindex r @funindex \maxima @funindex \longa @funindex \breve 休符は音符名 @code{r} を持つ音符として入力されます。@c 全休符よりも長い演奏時間を持つ休符には以下に示す定義済みコマンドを使用します: @c \time 16/1 is used to avoid spurious bar lines @c and long tracts of empty measures @c KEEP LY @lilypond[quote,verbatim] \new Staff { % この 2 行は例を見やすくするためのものです \time 16/1 \omit Staff.TimeSignature % 八全休符を譜刻します。二全休符 4 つと等価です r\maxima % 四全休符を譜刻します。二全休符 2 つと等価です r\longa % 二全休符を譜刻します。 r\breve r1 r2 r4 r8 r16 r32 r64 r128 } @end lilypond @cindex rest, multi-measure (複数小節にまたがる休符) @cindex rest, whole-measure (全休符) 全休符 -- 小節の中心に置かれます -- は複数小節の休符として@c 入力する必要があります。@c 複数小節の休符は多くの小節に対してと同様に単一の小節に対しても@c 使用することができます。@c 詳細は @ref{小節単位の休符} を参照してください。 @cindex rest, specifying vertical position (休符の垂直方向の位置を指定する) 休符の垂直方向の位置を明示的に指定するには、音符の後に続けて @code{\rest} を記述します。@c その音符が譜上で占める位置に、その音符の演奏時間を持つ休符が配置されます。@c これは多声部音楽を手動で精密にフォーマットすることを考慮したものです。@c なぜなら、自動休符フォーマットでは多声部音楽の休符の衝突を回避できないからです。 @lilypond[quote,verbatim] \relative { a'4\rest d4\rest } @end lilypond @snippets @lilypondfile[verbatim,quote,ragged-right,texidoc,doctitle] {rest-styles.ly} @seealso 音楽用語集: @rglos{breve}, @rglos{longa}, @rglos{maxima} 記譜法リファレンス: @ref{Full measure rests} コード断片集: @rlsr{Rhythms} 内部リファレンス: @rinternals{Rest} @knownissues @c Deliberately duplicated in Durations and Rests. -gp 休符の演奏時間には基本的に限界がありません (最大値としても、最小値としても)。@c しかしながら、図柄の数には限界があります: 128 分から全音符の 8 倍までの@c 休符を譜刻することができます。 @node 不可視の休符 @unnumberedsubsubsec 不可視の休符 @translationof Invisible rests @cindex skip (スキップ) @cindex invisible rest (不可視の休符) @cindex rest, invisible (不可視の休符) @cindex spacer note (空白音符) @cindex spacer rest (空白休符) @funindex s @funindex \skip 不可視の休符 (@q{空白休符} とも呼ばれます) は音符名@tie{}@code{s} を@c 持つ音符として入力することができます: @lilypond[verbatim,quote] \relative c'' { c4 c s c | s2 c | } @end lilypond @cindex lyrics, skip (歌詞をスキップする) 空白休符は音符モードと和音モードでのみ利用可能です。@c 他のモードでは、例えば歌詞を入力している場合、音楽モーメントをスキップするには @code{\skip} を使用します。@c @code{\skip} は明示的な演奏時間を必要としますが、@c @code{\addlyrics} や @code{\lyricsto} を使っていて、@c 歌詞が関係するメロディーの音符から演奏時間を得ている場合は無視されます。 @lilypond[quote,verbatim] << { a'2 \skip2 a'2 a'2 } \new Lyrics { \lyricmode { foo2 \skip 1 bla2 } } >> @end lilypond @code{\skip} はコマンドであるため、@c @code{s} とは異なり後に続く音符のデフォルト演奏時間には影響を与えません。 @lilypond[quote,verbatim] << { \repeat unfold 8 { a'4 } } { a'4 \skip 2 a' | s2 a' } >> @end lilypond 空白休符は、音符や休符と同様に、@code{Staff} や @code{Voice} が@c 存在しない場合に、それらを暗黙的に作成します: @lilypond[quote,verbatim] { s1 s s } @end lilypond @code{\skip} はただ音楽的な時間をスキップするだけです。@c これはいかなる種類の出力も作成しません。 @c KEEP LY @lilypond[quote,verbatim] % これは有効な入力ですが、何もしません { \skip 1 \skip1 \skip 1 } @end lilypond @seealso 学習マニュアル: @rlearning{Visibility and color of objects} 記譜法リファレンス: @ref{Hidden notes}, @ref{Visibility of objects} コード断片集: @rlsr{Rhythms} 内部リファレンス: @rinternals{SkipMusic} @node 小節単位の休符 @unnumberedsubsubsec 小節単位の休符 @translationof Full measure rests @cindex multi-measure rests (複数小節にまたがる休符) @cindex full-measure rests (小節単位の休符) @cindex rest, multi-measure (複数小節にまたがる休符) @cindex rest, full-measure (小節単位の休符) @cindex whole rest for a full measure (小節に対する全休符) @cindex rest, whole for a full measure (小節に対する全休符) @funindex \compressMMRests @funindex R 1 つまたは複数の小節に対する休符は@c 音符名として大文字の @code{R} を持つ音符として入力します: @c KEEP LY @lilypond[quote,verbatim] % 休みの小節は 1 つの小節にまとめられます \compressMMRests { R1*4 R1*24 R1*4 b'2^"Tutti" b'4 a'4 } @end lilypond 小節単位の休符の演奏時間は、音符に対する演奏時間と同じ表記を使います。@c 複数小節にまたがる休符の演奏時間は常に小節の長さの整数倍になります。@c そのため、しばしばドットや分数を使う必要があります: @lilypond[quote,verbatim] \compressMMRests { \time 2/4 R1 | R2 | \time 3/4 R2. | R2.*2 | \time 13/8 R1*13/8 | R1*13/8*12 | \time 10/8 R4*5*4 | } @end lilypond 1 小節分の休符は、拍子次第で全休符または二全休符のどちらかとして、@c 小節の中央に譜刻されます。 @lilypond[quote,verbatim,fragment] \time 4/4 R1 | \time 6/4 R1*3/2 | \time 8/4 R1*2 | @end lilypond @cindex multi-measure rest, expanding (複数小節にまたがる休符を展開する) @cindex multi-measure rest, contracting (複数小節にまたがる休符をまとめる) デフォルトでは、複数小節にまたがる休符は@c 休みの小節すべてを明示的に示すように譜刻される楽譜に展開されます。@c そうする代わりに、複数小節にまたがる休符を複数小節の休符記号を持つ単一の@c 小節として譜刻することもできます -- 休みの小節数がその小節の上に譜刻されます。 @c KEEP LY @lilypond[quote,verbatim,fragment] % デフォルトの振る舞い \time 3/4 r2. | R2.*2 | \time 2/4 R2 | \time 4/4 % 休みの小節を 1 つの小節にまとめます \compressMMRests { r1 | R1*17 | R1*4 | } % 休みの小節を展開します \time 3/4 R2.*2 | @end lilypond @cindex text on multi-measure rest (複数小節にまたがる休符上のテキスト) @cindex multi-measure rest, attaching text (複数小節にまたがる休符にテキストを付ける) @cindex script on multi-measure rest (複数小節にまたがる休符上のスクリプト) @cindex multi-measure rest, script (複数小節にまたがる休符上のスクリプト) @cindex fermata on multi-measure rest (複数小節にまたがる休符上のフェルマータ) @cindex multi-measure rest, attaching fermata (複数小節にまたがる休符にフェルマータを付ける) @cindex markup on multi-measure rest (複数小節にまたがる休符上のマークアップ) @cindex multi-measure rest with markup (マークアップを持つ複数小節にまたがる休符) @funindex \fermataMarkup @funindex MultiMeasureRestText マークアップを複数小節にまたがる休符に付け加えることができます。@c フェルマータを付け加えるための定義済みコマンドとして @code{\fermataMarkup} が提供されています。 @lilypond[quote,verbatim] \compressMMRests { \time 3/4 R2.*10^\markup { \italic "ad lib." } R2.^\fermataMarkup } @end lilypond @warning{ 複数小節にまたがる休符に付け加えられるマークアップはタイプ @code{MultiMeasureRestText} のオブジェクトであり、@c @code{TextScript} ではありません。@c オーバライドは正しいオブジェクトに対して行わなければなりません。@c さもないと無視されます。@c 以下の例を見てください。 } @c KEEP LY @lilypond[quote,verbatim,fragment] % この例は誤ったオブジェクト名を指定しているため失敗します \override TextScript.padding = #5 R1^"wrong" % この例は正しいオブジェクト名が指定されています \override MultiMeasureRestText.padding = #5 R1^"right" @end lilypond 複数小節にまたがる休符が @code{\partial} 設定の直後にある場合、@c 小節チェックの警告が表示されないかもしれません。 @funindex \textLengthOn @funindex \textLengthOff @funindex \fermataMarkup @funindex \compressMMRests @predefined @code{\textLengthOn}, @code{\textLengthOff}, @code{\fermataMarkup}, @code{\compressMMRests} @endpredefined @snippets @cindex church rest (教会音楽の休符) @cindex rest, church (教会音楽の休符) @cindex kirchenpausen (教会音楽の休符) @lilypondfile[verbatim,quote,ragged-right,texidoc,doctitle] {changing-form-of-multi-measure-rests.ly} @cindex multi-measure rests, positioning (複数小節にまたがる休符の位置) @cindex positioning multi-measure rests (複数小節にまたがる休符の位置) @lilypondfile[verbatim,quote,ragged-right,texidoc,doctitle] {positioning-multi-measure-rests.ly} @lilypondfile[verbatim,quote,ragged-right,texidoc,doctitle] {multi-measure-rest-markup.ly} @seealso 音楽用語集: @rglos{multi-measure rest} 記譜法リファレンス: @ref{Durations}, @ref{Text}, @ref{Formatting text}, @ref{Text scripts} コード断片集: @rlsr{Rhythms} 内部リファレンス: @rinternals{MultiMeasureRest}, @rinternals{MultiMeasureRestNumber}, @rinternals{MultiMeasureRestText} @cindex fingerings and multi-measure rests (運指記号と複数小節にまたがる休符) @cindex multi-measure rests and fingerings (運指記号と複数小節にまたがる休符) @knownissues 複数小節にまたがる休符の上に運指記号を配置すると (例えば、@code{R1*10-4})、@c 運指の数字が休みの小節数と衝突する可能性があります。 @cindex condensing rests (休符をまとめる) @cindex rest, condensing ordinary (通常の休符をまとめる) 複数の通常の休符を自動的に単一の複数小節休符にまとめる方法はありません。 @cindex rest, collisions of (休符の衝突) 複数小節にまたがる休符が休符の衝突を引き起こすことはありません。 @node リズムを表示する @subsection リズムを表示する @translationof Displaying rhythms @menu * 拍子:: * メトロノーム記号:: * 上拍:: * 無韻律の音楽:: * 多拍子記譜法:: * 自動音符分割:: * 旋律のリズムを示す:: @end menu @node 拍子 @unnumberedsubsubsec 拍子 @translationof Time signature @cindex time signature (拍子) @cindex meter (拍) @funindex \time 拍子は以下のようにセットします: @lilypond[quote,verbatim,fragment] \time 2/4 c''2 \time 3/4 c''2. @end lilypond 小節の途中で拍子記号を変更することについては、@ref{上拍}で扱っています。 @cindex time signature visibility (拍子の可視性) 拍子は楽曲の始まりと拍子が変更されたときに譜刻されます。@c 行の終わりで変更が起こる場合、警告の拍子が行の終わりに譜刻されます。@c デフォルトの振る舞いを変更することができます。@c @ref{Visibility of objects} を参照してください。 @lilypond[quote,verbatim] \relative c'' { \time 2/4 c2 c \break c c \break \time 4/4 c c c c } @end lilypond @cindex time signature style (拍子スタイル) @cindex meter style (拍スタイル) @funindex \numericTimeSignature @funindex \defaultTimeSignature 2/2 や 4/4 で使用される拍子は数字を使用するスタイルに変更することができます: @c KEEP LY @lilypond[quote,verbatim] \relative c'' { % デフォルトのスタイル \time 4/4 c1 \time 2/2 c1 % 数字を使うスタイルに変更します \numericTimeSignature \time 4/4 c1 \time 2/2 c1 % デフォルトのスタイルに戻します \defaultTimeSignature \time 4/4 c1 \time 2/2 c1 } @end lilypond 計量拍子については @ref{Mensural time signatures} でカバーされています。 @cindex time signature default settings (拍子のデフォルト設定) @cindex autobeaming properties for time signatures (拍子のための自動連桁プロパティ) @cindex beaming, time signature default properties (連桁と拍子のデフォルト プロパティ) @funindex \overrideTimeSignatureSettings 譜刻される拍子を設定することに加えて、@c @code{\time} コマンドは拍子に基づくプロパティ @code{baseMoment}, @code{beatStructure}, それに @code{beamExceptions} の値も設定します。@c これらのプロパティにあらかじめ定義されているデフォルト値は @file{scm/time-signature-settings.scm} で見つかります。@c @code{beatStructure} のデフォルトの値は、@code{\time} に省略可能な 1 つ目の@c 引数を与えることでオーバライドできます: @lilypond[quote,verbatim] \score { \new Staff { \relative { \time 2,2,3 7/8 \repeat unfold 7 { c'8 } | \time 3,2,2 7/8 \repeat unfold 7 { c8 } | } } } @end lilypond また、@code{baseMoment} と @code{beamExceptions} も含めた、全ての拍子に基づく@c プロパティのデフォルトの値を一度にセットすることができます。@c 値は異なる拍子記号について独立に設定できます。@c 新しい値は同じ拍子記号の @code{\time} コマンドが続く時に有効となります。 @lilypond[quote,verbatim] \score { \new Staff { \relative c' { \overrideTimeSignatureSettings 4/4 % timeSignatureFraction 1/4 % baseMomentFraction 3,1 % beatStructure #'() % beamExceptions \time 4/4 \repeat unfold 8 { c8 } | } } } @end lilypond @code{\overrideTimeSignatureSettings} は 4 つの引数をとります: @enumerate @item @code{@var{timeSignatureFraction}}, この設定が適用される、拍子記号を示す分数。 @item @code{@var{baseMomentFraction}}, 拍子の基本タイミングの単位となる@c 分子と分母を保持する分数。 @item @code{@var{beatStructure}}, 小節の拍構造を示す Scheme リスト。@c 基本タイミングを単位とします。 @item @code{@var{beamExceptions}}, 指定された拍子でそれぞれの拍で終了しない@c 連桁の規則を保持する配列リスト。@c @ref{自動連桁の振る舞いを設定する} に説明があります。 @end enumerate @cindex time signature properties, restoring default values (拍子プロパティをデフォルト値に戻す) @cindex restoring default properties for time signatures (拍子をデフォルト プロパティに戻す) @funindex \revertTimeSignatureSettings デフォルトの拍子プロパティ値の変更を元の値に戻すことができます: @lilypond[quote,verbatim] \score{ \relative { \repeat unfold 8 { c'8 } | \overrideTimeSignatureSettings 4/4 % timeSignatureFraction 1/4 % baseMomentFraction 3,1 % beatStructure #'() % beamExceptions \time 4/4 \repeat unfold 8 { c8 } | \revertTimeSignatureSettings 4/4 \time 4/4 \repeat unfold 8 { c8 } | } } @end lilypond @code{Timing_translator} と @code{Default_bar_line_engraver} を@c @code{Score} コンテキストから @code{Staff} コンテキストに移動させることにより、@c 異なる譜に対して異なる値のデフォルト拍子プロパティを割り当てることができます。 @lilypond[quote, verbatim] \score { \new StaffGroup << \new Staff { \overrideTimeSignatureSettings 4/4 % timeSignatureFraction 1/4 % baseMomentFraction 3,1 % beatStructure #'() % beamExceptions \time 4/4 \repeat unfold 8 {c''8} } \new Staff { \overrideTimeSignatureSettings 4/4 % timeSignatureFraction 1/4 % baseMomentFraction 1,3 % beatStructure #'() % beamExceptions \time 4/4 \repeat unfold 8 {c''8} } >> \layout { \context { \Score \remove "Timing_translator" \remove "Default_bar_line_engraver" } \context { \Staff \consists "Timing_translator" \consists "Default_bar_line_engraver" } } } @end lilypond これらの拍子記号に基づく変数を変更するさらなる方法 -- 変更の際に@c 同じ拍子記号がもう一度表示されることを避ける方法 -- については、 @ref{Setting automatic beam behavior} にあります。 @predefined @code{\numericTimeSignature}, @code{\defaultTimeSignature} @endpredefined @snippets @lilypondfile[verbatim,quote,texidoc,doctitle] {time-signature-printing-only-the-numerator-as-a-number-instead-of-the-fraction.ly} @seealso 音楽用語集: @rglos{time signature} 記譜法リファレンス: @ref{Mensural time signatures}, @ref{Setting automatic beam behavior}, @ref{Time administration} インストールされているファイル: @file{scm/time-signature-settings.scm}. コード断片集: @rlsr{Rhythms} 内部リファレンス: @rinternals{TimeSignature}, @rinternals{Timing_translator} @node メトロノーム記号 @unnumberedsubsubsec メトロノーム記号 @translationof Metronome marks @cindex tempo (テンポ) @cindex beats per minute (1 分毎の拍数) @cindex metronome mark (メトロノーム記号) @cindex metronome marking with text (テキストを持つメトロノーム記号) @funindex \tempo 基本的なメトロノーム記号は単純に以下のように記述します: @lilypond[verbatim,quote] \relative { \tempo 4 = 120 c'2 d e4. d8 c2 } @end lilypond メトロノーム記号を 2 つの数の範囲として譜刻することもできます: @lilypond[verbatim,quote] \relative { \tempo 4 = 40 - 46 c'4. e8 a4 g b,2 d4 r } @end lilypond テキストを持つテンポ指示にすこともできます: @lilypond[verbatim,quote] \relative { \tempo "Allegretto" c''4 e d c b4. a16 b c4 r4 } @end lilypond メトロノーム記号とテキストを組み合わせると、@c メトロノーム記号は自動的に括弧で囲まれます: @lilypond[verbatim,quote] \relative { \tempo "Allegro" 4 = 160 g'4 c d e d4 b g2 } @end lilypond 一般に、テキストを任意のマークアップ オブジェクトにすることができます: @lilypond[verbatim,quote] \relative { \tempo \markup { \italic Faster } 4 = 132 a'8-. r8 b-. r gis-. r a-. r } @end lilypond テキストを伴わないメトロノーム記号を括弧で囲むには、@c 空の文字列を含めて記述します: @lilypond[verbatim,quote] \relative { \tempo "" 8 = 96 d''4 g e c } @end lilypond @funindex \markLengthOn @funindex \markLengthOff 長い休符がある楽器のパート譜では、テンポ表示同士が近づいてしまうことが@c あります。@code{\markLengthOn} コマンドは、テンポ表示が重ならないように@c 水平方向のスペースを追加し、@code{\markLengthOff} はテンポ表示が水平方向の@c スペースを無視するデフォルトの挙動に戻します。 @lilypond[verbatim,quote] \compressMMRests { \markLengthOn \tempo "Molto vivace" R1*12 \tempo "Meno mosso" R1*16 \markLengthOff \tempo "Tranquillo" R1*20 } @end lilypond @snippets @lilypondfile[verbatim,quote,texidoc,doctitle] {printing-metronome-and-rehearsal-marks-below-the-staff.ly} @c perhaps also an example of how to move it horizontally? @lilypondfile[verbatim,quote,texidoc,doctitle] {changing-the-tempo-without-a-metronome-mark.ly} @lilypondfile[verbatim,quote,texidoc,doctitle] {creating-metronome-marks-in-markup-mode.ly} 詳細は @ref{Formatting text} を参照してください。 @seealso 音楽用語集: @rglos{metronome}, @rglos{metronomic indication}, @rglos{tempo indication}, @rglos{metronome mark} 記譜法リファレンス: @ref{Formatting text}, @ref{Creating MIDI output} コード断片集: @rlsr{Staff notation} 内部リファレンス: @rinternals{MetronomeMark} @node 上拍 @unnumberedsubsubsec 上拍 @translationof Upbeats @cindex anacrusis (弱拍) @cindex upbeat (上拍) @cindex partial measure (部分小節) @cindex measure, partial (部分小節) @cindex measure, pickup (ピックアップ小節) @cindex pickup measure (ピックアップ小節) @cindex time signature, mid-measure (小節の途中の拍子記号) @funindex measurePosition @funindex \partial @emph{弱拍} や @emph{上拍} などのような部分小節またはピックアップ小節は、@c @code{\partial} コマンドを使って入力します:@c @example \partial @var{duration} @end example @code{\partial} が楽譜の最初で用いられた際には、@code{@var{duration}} は@c 最初の小節より前にある音楽の長さです。 @lilypond[quote,verbatim] \relative { \time 3/4 \partial 4. r4 e'8 | a4 c8 b c4 | } @end lilypond @code{\partial} が楽譜の最初より後に用いられた際には、@code{@var{duration}}は@c 現在の小節の @emph{残りの} 長さとなります。新しい番号の小節は作られません。 @lilypond[quote,verbatim] \relative { \set Score.barNumberVisibility = #all-bar-numbers-visible \override Score.BarNumber.break-visibility = #end-of-line-invisible \time 9/8 d''4.~ 4 d8 d( c) b | c4.~ 4. \bar "||" \time 12/8 \partial 4. c8( d) e | f2.~ 4 f8 a,( c) f | } @end lilypond @code{\partial} コマンドは小節の途中で拍子記号が変化する場合に@c @emph{必要}ですが、単独で使われることもあります。 @lilypond[quote,verbatim] \relative { \set Score.barNumberVisibility = #all-bar-numbers-visible \override Score.BarNumber.break-visibility = #end-of-line-invisible \time 6/8 \partial 8 e'8 | a4 c8 b[ c b] | \partial 4 r8 e,8 | a4 \bar "||" \partial 4 r8 e8 | a4 c8 b[ c b] | } @end lilypond @code{\partial} コマンドは @code{Timing.measurePosition} プロパティを@c セットします。これは小節のどれだけが経過したかを表す分数です。 @seealso 音楽用語集: @rglos{anacrusis} 記譜法リファレンス: @ref{Grace notes} コード断片集: @rlsr{Rhythms} 内部リファレンス: @rinternals{Timing_translator} @node 無韻律の音楽 @unnumberedsubsubsec 無韻律の音楽 @translationof Unmetered music @cindex cadenza (カデンツァ) @cindex cadenza, beams (カデンツァでの連桁) @cindex cadenza, accidentals (カデンツァでの臨時記号) @cindex cadenza, bar lines (カデンツァでの小節線) @cindex cadenza, bar numbers (カデンツァでの小節番号) @cindex unmetered music (無韻律の音楽) @cindex unmetered music, beams (無韻律の音楽での連桁) @cindex unmetered music, accidentals (無韻律の音楽での臨時記号) @cindex unmetered music, bar lines (無韻律の音楽での小節線) @cindex unmetered music, bar numbers (無韻律の音楽での小節番号) @cindex accidentals, cadenzas (カデンツァでの臨時記号) @cindex accidentals, unmetered music (無韻律の音楽での臨時記号) @cindex bar lines, cadenzas (カデンツァでの小節線) @cindex bar lines, unmetered music (無韻律の音楽での小節線) @cindex bar numbers, cadenzas (カデンツァでの小節番号) @cindex bar numbers, unmetered music (無韻律の音楽での小節番号) @cindex beams, cadenzas (カデンツァでの連桁) @cindex beams, unmetered music (無韻律の音楽での連桁) @funindex \cadenzaOn @funindex \cadenzaOff 韻律のある音楽では、自動的に小節線が挿入され、小節番号が算出されます。@c 無韻律の音楽 (例えばカデンツァ) では、これは望ましくなく、コマンド @code{\cadenzaOn} を用いて @q{スイッチ off} することができます。@c @q{スイッチ on} に戻すには、適切な場所で @code{\cadenzaOff} を用います。 @lilypond[verbatim,quote] \relative c'' { c4 d e d \cadenzaOn c4 c d8[ d d] f4 g4. \cadenzaOff \bar "|" d4 e d c } @end lilypond カデンツァが終わると、小節番号が再開されます。 @c KEEP LY @lilypond[verbatim,quote] \relative c'' { % すべての小節番号を表示します \override Score.BarNumber.break-visibility = #all-visible c4 d e d \cadenzaOn c4 c d8[ d d] f4 g4. \cadenzaOff \bar "|" d4 e d c } @end lilypond カデンツァの中に @code{\bar} コマンドを挿入しても、小節線は表示されますが、@c 新しい小節が始まることはありません。@c そのため、全ての臨時記号 -- 通常小節の最後まで効果が持続する -- は、@code{\bar} による小節線の後でも有効のままです。@c もし小節線の後の臨時記号を表示させたいならば、親切の臨時記号 (@code{!}) や@c 忠告の臨時記号 (@code{?}) を手動で挿入する必要があります。@c @ref{Accidentals} を参照してください。 @c KEEP LY @lilypond[verbatim,quote] \relative c'' { c4 d e d \cadenzaOn cis4 d cis d \bar "|" % 最初の cis は小節線の後ですが、臨時記号無しで表示されます cis4 d cis! d \cadenzaOff \bar "|" } @end lilypond 自動連桁は @code{\cadenzaOn} で無効になります。@c このため、カデンツァ内の連桁はすべて手動で入力する必要があります (@ref{手動連桁})。 @lilypond[verbatim,quote] \relative { \repeat unfold 8 { c''8 } \cadenzaOn cis8 c c c c \bar"|" c8 c c \cadenzaOff \repeat unfold 8 { c8 } } @end lilypond これらの定義済みコマンドは、たとえ @code{Voice} コンテキストの 1 つの@c 中に配置したとしても、楽譜の中にあるすべての譜に影響を与えます。@c これを変更するには、@code{Timing_translator} を @code{Score} コンテキスト@c から @code{Staff} コンテキストに移動させます。@c @ref{Polymetric notation} を参照してください。 @predefined @code{\cadenzaOn}, @code{\cadenzaOff} @endpredefined @seealso 音楽用語集: @rglos{cadenza} 記譜法リファレンス: @ref{Visibility of objects}, @ref{Polymetric notation}, @ref{Manual beams}, @ref{Accidentals} コード断片集: @rlsr{Rhythms} @cindex cadenza, line breaks (カデンツァでの改行) @cindex cadenza, page breaks (カデンツァでの改ページ) @cindex unmetered music, line breaks (無韻律の音楽での改行) @cindex unmetered music, page breaks (無韻律の音楽での改ページ) @cindex breaks in unmetered music (無韻律の音楽での改行、改ページ) @cindex line breaks, cadenzas (カデンツァでの改行) @cindex page breaks, cadenzas (カデンツァでの改ページ) @cindex line breaks, unmetered music (無韻律の音楽での改行) @cindex page breaks, unmetered music (無韻律の音楽での改ページ) @knownissues 自動の改行と改ページが挿入されるのは小節線のある場所だけです。@c そのため、長い無韻律の音楽で改行や改ページを行うには手動で @q{不可視の} 小節線を挿入する必要があります: @example \bar "" @end example @node 多拍子記譜法 @unnumberedsubsubsec 多拍子記譜法 @translationof Polymetric notation @c This section necessarily uses \set @c This is acceptable -td @cindex double time signatures (2 重拍子) @cindex signatures, polymetric (多拍子) @cindex time signature, polymetric (多拍子) @cindex time signature, double (2 重拍子) @cindex polymetric signatures (多拍子) @cindex meter, polymetric (多拍子) @funindex timeSignatureFraction @funindex \scaleDurations @funindex \tuplet 多拍子記譜法がサポートされます。 複合拍子記譜法がサポートされます。@c 明示的な複合拍子と、拍子指定を変更して音符の演奏時間を@c 伸縮することによる複合拍子のどちらもです。 @subsubsubheading それぞれの譜は異なる拍子を持ち、小節の長さは等価である場合 各譜共通の拍子記号をセットして、@c @code{timeSignatureFraction} にお望みの分数をセットします。@c それから、@code{\scaleDurations} 関数を用いて共通の拍子記号に対する 各譜の音符の演奏時間を伸縮させます。 @cindex beams, with polymetric meters (多拍子での連桁) @cindex polymetric meters, with beams (多拍子での連桁) 以下の例では、拍子記号 3/4, 9/8, それに 10/8 の音楽が並列しています。@c 2 番目の譜では示された演奏時間に 2/3 が掛けられ (なぜなら、2/3 * 9/8 = 3/4 だからです)、@c 3 番目の譜では示された演奏時間に 3/5 が掛けられます (なぜなら、3/5 * 10/8 = 3/4 だからです)。@c 演奏時間の伸縮は自動連桁の規則に影響を与えるため、@c 手動で連桁を付ける必要があるかもしれません。 @lilypond[quote,verbatim] \relative << \new Staff { \time 3/4 c'4 c c | c4 c c | } \new Staff { \time 3/4 \set Staff.timeSignatureFraction = 9/8 \scaleDurations 2/3 \repeat unfold 6 { c8[ c c] } } \new Staff { \time 3/4 \set Staff.timeSignatureFraction = 10/8 \scaleDurations 3/5 { \repeat unfold 2 { c8[ c c] } \repeat unfold 2 { c8[ c] } | c4. c \tuplet 3/2 { c8[ c c] } c4 } } >> @end lilypond @subsubsubheading それぞれの譜は異なる拍子を持ち、小節の長さは等価ではない場合 @code{Timing_translator} と @code{Default_bar_line_engraver} を @code{Staff} コンテキストに移すことによって、@c それぞれの譜に独立した拍子を与えることができます。 @c KEEP LY @lilypond[quote,verbatim] \layout { \context { \Score \remove "Timing_translator" \remove "Default_bar_line_engraver" } \context { \Staff \consists "Timing_translator" \consists "Default_bar_line_engraver" } } % 以上で、各譜はそれぞれに拍子を持つようになります \relative << \new Staff { \time 3/4 c'4 c c | c4 c c | } \new Staff { \time 2/4 c4 c | c4 c | c4 c | } \new Staff { \time 3/8 c4. | c8 c c | c4. | c8 c c | } >> @end lilypond @funindex \compoundMeter @cindex compound time signatures (複合拍子記号) @cindex time signature, compound (複合拍子記号) @subsubsubheading 複合拍子記号 複合拍子記号は @code{\compoundMeter} を用いて作成します。@c 構文は以下の通りです: @example \compoundMeter #'(list of lists) @end example 最も簡単な構成は単一のリストであり、@c リストの @emph{最後の} 数字が拍子記号の分母になります。 @lilypond[quote,verbatim] \relative { \compoundMeter #'((2 2 2 8)) \repeat unfold 6 c'8 \repeat unfold 12 c16 } @end lilypond リストを追加することでより複雑な拍子を構築することができます。@c また、この関数で指定された値に基づいて自動連桁の設定は調節されます。 @lilypond[quote,verbatim] \relative { \compoundMeter #'((1 4) (3 8)) \repeat unfold 5 c'8 \repeat unfold 10 c16 } \relative { \compoundMeter #'((1 2 3 8) (3 4)) \repeat unfold 12 c'8 } @end lilypond @seealso 音楽用語集: @rglos{polymetric}, @rglos{polymetric time signature}, @rglos{meter} 記譜法リファレンス: @ref{Automatic beams}, @ref{Manual beams}, @ref{Time signature}, @ref{Scaling durations} コード断片集: @rlsr{Rhythms} 内部リファレンス: @rinternals{TimeSignature}, @rinternals{Timing_translator}, @rinternals{Default_bar_line_engraver}, @rinternals{Staff} @knownissues 異なる拍子を持つ譜が並列に並べられている場合、@c 同時に起こる音符の水平方向の位置は同じになります。@c しかしながら、それぞれの譜の小節線により、@c 音符の間隔は通常の異なる拍子が無い場合よりも不規則になります。 @node 自動音符分割 @unnumberedsubsubsec 自動音符分割 @translationof Automatic note splitting @cindex notes, splitting (音符を分割する) @cindex splitting notes (音符を分割する) @cindex rests, splitting (休符を分割する) @cindex splitting rests (休符を分割する) @funindex Note_heads_engraver @funindex Completion_heads_engraver @funindex Completion_rest_engraver 小節線をまたがる長い音符を自動的にタイで結ばれた音符に変換することができます。@c これを行うには、@code{Note_heads_engraver} を @code{Completion_heads_engraver} で置き換えます。@c 同様に、小節線をまたがる長い休符を自動的に分割することができます。 これを行うには、@code{Rest_engraver} を @code{Completion_rest_engraver} で置き換えます。@c 以下の例では、小節線をまたがる音符と休符は分割され、@c 音符はされにタイで結ばれています。 @lilypond[quote,verbatim] \new Voice \with { \remove "Note_heads_engraver" \consists "Completion_heads_engraver" \remove "Rest_engraver" \consists "Completion_rest_engraver" } \relative { c'2. c8 d4 e f g a b c8 c2 b4 a g16 f4 e d c8. c2 r1*2 } @end lilypond これらのエングラーバは進行中の音符と休符をすべて小節線のところで分割して、@c 音符に対してはタイを挿入します。@c これらのエングラーバの用途の 1 つに複雑な楽譜のデバッグがあります: 何小節かで音符がきちんと満たされていない場合、@c このエングラーバで挿入されたタイが、それぞれの小節の狂いを示します。 @code{completionUnit} プロパティは音符を分割する際の好ましい長さを指定します。 @lilypond[quote,verbatim] \new Voice \with { \remove "Note_heads_engraver" \consists "Completion_heads_engraver" } \relative { \time 9/8 g\breve. d''4. \bar "||" \set completionUnit = #(ly:make-moment 3 8) g\breve. d4. } @end lilypond これらのエングラーバは、連符のような長さが伸縮された音符に対しては、@c 入力と同じ伸縮率を保ったまま分割します。 @lilypond[quote,verbatim] \new Voice \with { \remove "Note_heads_engraver" \consists "Completion_heads_engraver" } \relative { \time 2/4 r4 \tuplet 3/2 {g'4 a b} \scaleDurations 2/3 {g a b} g4*2/3 a b \tuplet 3/2 {g4 a b} r4 } @end lilypond @seealso 音楽用語集: @rglos{tie} 学習マニュアル: @rlearning{Engravers explained}, @rlearning{Adding and removing engravers} コード断片集: @rlsr{Rhythms} 内部リファレンス: @rinternals{Note_heads_engraver}, @rinternals{Completion_heads_engraver}, @rinternals{Rest_engraver}, @rinternals{Completion_rest_engraver}, @rinternals{Forbid_line_break_engraver} @knownissues 前のバージョンの挙動を維持するため、@code{c1*2} のような 1 小節より長い@c 音符や休符は、@code{@{ c1 c1 @}} のように伸縮しない長さに分割されます。@c @code{completionFactor} プロパティでこの挙動を調整でき、これを@code{#f} に@c セットすることで音符や休符を伸縮することができます。 @node 旋律のリズムを示す @unnumberedsubsubsec 旋律のリズムを示す @translationof Showing melody rhythms @cindex melody rhythms, showing (旋律のリズムを示す) @cindex rhythms, showing melody (旋律のリズムを示す) しばしば旋律のリズムだけを示したいことがあります。@c これはリズム譜を使うことで達成できます。@c そのような譜上にある音符のピッチはすべて破棄され、その譜自体は 1 本の@c 線を持ちます: @lilypond[quote,verbatim] << \new RhythmicStaff { \new Voice = "myRhythm" \relative { \time 4/4 c'4 e8 f g2 r4 g g f g1 } } \new Lyrics { \lyricsto "myRhythm" { This is my song I like to sing } } >> @end lilypond @cindex guitar chord charts (ギター コード表) @cindex strumming rhythms, showing (つま弾き (ストラム) のリズムを示す) @cindex guitar strumming rhythms, showing (ギターのつま弾き (ストラム) のリズムを示す) @funindex Pitch_squash_engraver @funindex \improvisationOn @funindex \improvisationOff ギター コード表はしばしばつま弾き (ストラム) のリズムを示します。@c これは @code{Pitch_squash_engraver} と @code{\improvisationOn} を@c 使うことで達成できます。 @lilypond[quote,verbatim] << \new ChordNames { \chordmode { c1 f g c } } \new Voice \with { \consists "Pitch_squash_engraver" } \relative c'' { \improvisationOn c4 c8 c c4 c8 c f4 f8 f f4 f8 f g4 g8 g g4 g8 g c4 c8 c c4 c8 c } >> @end lilypond 和音を含む音楽も、まず @code{\reduceChords} 関数で 1 つの音符にまとめることに@c よって @code{RhythmicStaff} に入力したり、@code{Pitch_squash_engraver} に@c 使用することができます。 @lilypond[quote,verbatim] \new RhythmicStaff { \time 4/4 \reduceChords { 2 2 2 4 4 } } @end lilypond @predefined @code{\improvisationOn}, @code{\improvisationOff} @endpredefined @snippets @lilypondfile[verbatim,quote,ragged-right,texidoc,doctitle] {guitar-strum-rhythms.ly} @seealso コード断片集: @rlsr{Rhythms} 内部リファレンス: @rinternals{RhythmicStaff}, @rinternals{Pitch_squash_engraver} @node 連桁 @subsection 連桁 @translationof Beams @menu * 自動連桁:: * 自動連桁の振る舞いを設定する:: * 手動連桁:: * 羽状の連桁:: @end menu @node 自動連桁 @unnumberedsubsubsec 自動連桁 @translationof Automatic beams デフォルトでは、連桁は自動的に挿入されます: @cindex beams, manual (手動連桁) @cindex manual beams (手動連桁) @cindex beams, customizing rules (連桁の規則をカスタマイズする) @funindex \autoBeamOn @funindex \autoBeamOff @lilypond[quote,verbatim] \relative c'' { \time 2/4 c8 c c c \time 6/8 c8 c c c8. c16 c8 } @end lilypond 自動的に決定される連桁が満足いかないものである場合、@c 明示的に連桁を挿入することが可能です -- @ref{手動連桁} を参照してください。@c 連桁を休符の上まで伸ばそうと意図しているのなら、@c 連桁を手動で挿入する @emph{必要があります}。 自動連桁を必要としない場合、@c @code{\autoBeamOff} で off にすることができ、@c @code{\autoBeamOn} で on にすることができます: @lilypond[quote,verbatim] \relative c' { c4 c8 c8. c16 c8. c16 c8 \autoBeamOff c4 c8 c8. c16 c8. \autoBeamOn c16 c8 } @end lilypond @cindex melismata, with beams (メリスマの連桁) @cindex beams, with melismata (メリスマの連桁) @warning{歌曲の中でメリスマを表すために連桁を使用する場合、@c @code{@bs{}autoBeamOff} で自動連桁を off にして、手動で連桁を示すべきです。@c @code{@bs{}partcombine} を @code{@bs{}autoBeamOff} と一緒に@c 用いると予期しない結果になる可能性があります。@c 詳細はコード断片集を参照してください。} 自動的に挿入されるデフォルトの連桁とは異なるパターンの連桁を@c 作成することができます -- @ref{自動連桁の振る舞いを設定する} を参照してください。 @predefined @code{\autoBeamOff}, @code{\autoBeamOn} @endpredefined @cindex beams, line breaks (連桁と改行) @cindex line breaks, beams (改行と連桁) @cindex beams, with knee gap (向きの変わる連桁) @cindex knee gap, with beams (向きの変わる連桁) @funindex breakable @snippets @lilypondfile[verbatim,quote,ragged-right,texidoc,doctitle] {beams-across-line-breaks.ly} @lilypondfile[verbatim,quote,ragged-right,texidoc,doctitle] {changing-beam-knee-gap.ly} @cindex beams, \partcombine with \autoBeamOff (連桁と \autoBeamOff を伴う \partcombine) @cindex voices, \partcombine with \autoBeamOff (ボイスと \autoBeamOff を伴う \partcombine) @lilypondfile [verbatim, quote, ragged-right, texidoc, doctitle] {partcombine-and-autobeamoff.ly} @seealso 記譜法リファレンス: @ref{Manual beams}, @ref{Setting automatic beam behavior}. インストールされているファイル: @file{scm/auto-beam.scm} コード断片集: @rlsr{Rhythms} 内部リファレンス: @rinternals{Auto_beam_engraver}, @rinternals{Beam_engraver}, @rinternals{Beam}, @rinternals{BeamEvent}, @rinternals{BeamForbidEvent}, @rinternals{beam-interface}, @rinternals{unbreakable-spanner-interface} @knownissues 連桁のプロパティは連桁構築の開始時に決定され、@c その後から連桁の完了までの間に追加された連桁プロパティの変更は @emph{次の} 連桁から影響を与えます。 @node 自動連桁の振る舞いを設定する @unnumberedsubsubsec 自動連桁の振る舞いを設定する @translationof Setting automatic beam behavior @cindex beams, with lyrics (連桁と歌詞) @cindex lyrics, with beams (歌詞と連桁) @funindex autoBeaming @funindex baseMoment @funindex \beamExceptions @funindex beatStructure @funindex measureLength @funindex \time @funindex \set 自動連桁が有効な場合、連桁の配置は以下の 3 つのコンテキスト プロパティによって@c 決定されます: @code{baseMoment}, @code{beatStructure}, @code{beamExceptions}。@c これらの値は以下で示すようにオーバライドすることができますが、@c @ref{拍子} で説明しているように、デフォルトの値そのものを変更することも@c できます。 @code{beamExceptions} が現在の拍子記号に対して定義されている時、@c そのルールのみが連桁の配置の決定に使用されます。 @code{baseMoment} や @code{beatStructure} の値は使用されません。 @code{beamExceptions} が現在の拍子記号に対して定義されていない時、@c @code{baseMoment} と @code{beatStructure} の値によって連桁の配置が決定されます。 @subsubsubheading @code{baseMoment} と @code{beatStructure} による連桁 デフォルトで、非常によく使われる拍子に対しては @code{beamExceptions} の@c ルールが定義されているため、自動連桁に @code{baseMoment} と @code{beatStructure} の値を使用させるためには、@code{beamExceptions} の@c ルールを無効化しなければいけません。@code{beamExceptions} はこのようにして@c 無効化します: @example \set Timing.beamExceptions = #'() @end example @code{beamExceptions} が @code{#'()} にセットされた場合 (明示的にセットされた@c 場合と、現在の拍子記号に対してルールが定義されていない場合の両方を含みます)、@c 連桁の終了点は @code{baseMoment} と @code{beatStructure} コンテキスト プロパティで指定された拍に従います。@code{beatStructure} は@c 小節内の各拍の長さが @code{baseMoment} の単位で定義された Scheme リストです。@c デフォルトでは、@code{baseMoment} は 1/拍子の分母です。 @code{beatStructure} と @code{baseMoment} の値はそれぞれの拍子記号に対して@c 別々に存在するということに注意してください。これらの値を変更しても、影響が@c 及ぶのは現在有効な拍子記号に対してのみです。そのため、これらの変更は@c 新しい拍子記号のセクションが始まる @code{\time} コマンドの前ではなく後に@c 置かれなければいけません。ある拍子記号に与えられた新しい値は記憶されており、@c その拍子記号が新たに出現した際に再び有効になります。 @c KEEP LY @lilypond[quote,verbatim] \relative c'' { \time 5/16 c16^"default" c c c c | % beamExceptions は 5/16 の拍子については定義されていないようですが、 % 念のために無効にしておきましょう \set Timing.beamExceptions = #'() \set Timing.beatStructure = 2,3 c16^"(2+3)" c c c c | \set Timing.beatStructure = 3,2 c16^"(3+2)" c c c c | } @end lilypond @c KEEP LY @lilypond[quote,verbatim] \relative { \time 4/4 a'8^"default" a a a a a a a % beamExceptions は 4/4 に対しては明らかに定義されているため、 % これを無効にします \set Timing.beamExceptions = #'() \set Timing.baseMoment = #(ly:make-moment 1/4) \set Timing.beatStructure = 1,1,1,1 a8^"changed" a a a a a a a } @end lilypond 連桁の設定変更をある特定のテキストに限定することができます。@c 下位コンテキストに連桁の設定が含まれない場合、@c そのコンテキストを囲んでいる上位コンテキストの設定が適用されます。 @lilypond[quote, verbatim] \new Staff { \time 7/8 % beamExceptions は 7/8 に対しては定義されていないため % 無効にする必要はありません \set Staff.beatStructure = 2,3,2 << \new Voice = one { \relative { a'8 a a a a a a } } \new Voice = two { \relative { \voiceTwo \set Voice.beatStructure = 1,3,3 f'8 f f f f f f } } >> } @end lilypond 譜で複数のボイスが使用されている場合に@c 連桁設定を譜のすべてのボイスに適用するには、@c @code{Staff} コンテキストで設定を行う必要があります: @c KEEP LY @lilypond[quote,verbatim,fragment] \time 7/8 % リズム 3-1-1-2 % デフォルトで連桁設定の変更は Voice に適用され、うまくいきません % なぜなら、自動生成されるボイスで、すべての拍は baseMoment (1 . 8) だからです \set beatStructure = 3,1,1,2 << \relative {a'8 a a a16 a a a a8 a} \\ \relative {f'4. f8 f f f} >> % コンテキスト Staff を指定するとうまくいきます \set Staff.beatStructure = 3,1,1,2 << \relative {a'8 a a a16 a a a a8 a} \\ \relative {f'4. f8 f f f} >> @end lilypond @code{baseMoment} の値を調整することで、@c 連桁の振る舞いを変更することができます。@c @code{baseMoment} の値を変更した場合、@c @code{beatStructure} に新しい @code{baseMoment} と矛盾しない値を@c 設定する必要があります。 @c KEEP LY @lilypond[quote,verbatim,fragment] \time 5/8 % beamExceptions は 5/8 に対しては定義されていないため % 無効にする必要はありません \set Timing.baseMoment = #(ly:make-moment 1/16) \set Timing.beatStructure = 7,3 \repeat unfold 10 { a'16 } @end lilypond @code{beatLength} は @i{moment} -- 演奏時間の単位 -- です。@c タイプ @i{moment} の量は Scheme 関数 @code{ly:make-moment} によって作り出されます。@c この関数についての更なる情報は @ref{Time administration} を参照してください。 デフォルトでは、@code{baseMoment} には「1/拍子の分母」がセットされています。@c このデフォルトの例外は @file{scm/time-signature-settings.scm} で見つかります。 @subsubsubheading @code{beamExceptions} に基づいた連桁 特殊な自動連桁規則 (連桁の終わりが拍に従わないもの) はプロパティ @code{beamExceptions} に定義します。 @code{beamExceptions} の値は -- 少し複雑な Scheme データ構造ですが -- は、 @code{\beamExceptions} 関数によって非常に簡単に生成できます。@c この関数には 1 つ以上の手動連桁を含む、小節の長さのリズムパターンを与えます (小節は小節チェック記号@tie{|} で分割されている必要があります。この関数では@c 他に小節の長さを識別する方法が無いためです)。簡単な例を示します: @lilypond[quote,verbatim] \relative c'' { \time 3/16 \set Timing.beatStructure = 2,1 \set Timing.beamExceptions = \beamExceptions { 32[ 32] 32[ 32] 32[ 32] } c16 c c | \repeat unfold 6 { c32 } | } @end lilypond @warning{@code{beamExceptions} の値は @emph{完全な} 例外リストである@c 必要があります。@c つまり、その設定には適用されるべき例外がすべて含まれている必要があります。@c 例外の 1 つだけを追加、削除、変更することはできません。@c このことは扱い難いように思えるかもしれませんが、@c 新しい連桁パターンを指定する際に現在の連桁設定を知る必要がないということを@c 意味します。} 拍子が変更されると、@code{Timing.baseMoment}, @code{Timing.beatStructure}, それに @code{Timing.beamExceptions} のデフォルト値が設定されます。@c 拍子を設定すると、その @code{Timing} コンテキストの自動連桁設定は@c デフォルトの振る舞いにリセットされます。 @c KEEP LY @lilypond[quote,verbatim] \relative a' { \time 6/8 \repeat unfold 6 { a8 } % (4 + 2) にグループ化します \set Timing.beatStructure = 4,2 \repeat unfold 6 { a8 } % デフォルトの振る舞いに戻ります \time 6/8 \repeat unfold 6 { a8 } } @end lilypond ある拍子に対するデフォルトの自動連桁設定は @file{scm/beam-settings.scm} の中で決定されます。@c ある拍子に対する自動連桁のデフォルト設定を変更する方法は @ref{Time signature} で説明しています。 ある拍子に対する自動連桁設定の多くには @code{beamExceptions} が登録されています。@c 例えば、4/4 拍子は 16 分音符しかない小節を 2 つの連桁で囲もうとします。@c @code{beamExceptions} がリセットされていなければ、@c @code{beamExceptions} 規則は @code{beatStructure} 設定を@c オーバライドすることができます。 @c KEEP LY @lilypond[quote,verbatim,fragment] \time 4/4 \set Timing.baseMoment = #(ly:make-moment 1/8) \set Timing.beatStructure = 3,3,2 % 以下は beamExceptions のため、(3 3 2) の連桁にはなりません \repeat unfold 8 {c''8} | % 以下は beamExceptions をクリアするため、(3 3 2) の連桁になります \set Timing.beamExceptions = #'() \repeat unfold 8 {c''8} @end lilypond 同様に、3/4 拍子はデフォルトで 8 分音符しかない小節を 1 つの連桁で囲み@c ます。@c 3/4 拍子の 8 分音符に拍毎の連桁を付けるには、@code{beamExceptions} を@c リセットします。 @c KEEP LY @lilypond[quote,verbatim,fragment] \time 3/4 % beamExceptions により、デフォルトで (6) の連桁を付けます \repeat unfold 6 {a'8} | % beatLength により、これは (1 1 1) の連桁を付けます \set Timing.beamExceptions = #'() \repeat unfold 6 {a'8} @end lilypond ロマン派や古典派時代の譜刻では、3/4 拍子の小節の途中から連桁が始まる@c ことがありますが、誤った 6/8 拍子の印象を与えるため現代の習慣では@c 用いません (Gould の 153 ページを参照してください)。@c 3/8 拍子でも同様の状況が発生します。@c この振る舞いはコンテキスト プロパティ @code{beamHalfMeasure} によって@c 制御されます -- これは分子が 3 の拍子記号の場合にのみ効果を持ちます: @lilypond[quote,verbatim] \relative a' { \time 3/4 r4. a8 a a | \set Timing.beamHalfMeasure = ##f r4. a8 a a | } @end lilypond @subsubsubheading 自動連桁はどのように機能するのか 自動連桁が有効である場合、自動連桁の配置はコンテキスト プロパティ @code{baseMoment}, @code{beatStructure}, それに @code{beamExceptions} によって決定されます。 連桁の配置を決定する際、以下の規則が並び順の優先度で適用されます: @itemize @item @code{[@dots{}]} で手動連桁が指定されている場合、@c 連桁は指定どおりに設定されます。@c 手動連桁が指定されていない場合、 @item その連桁タイプに対する @code{beamExceptions} に連桁終了規則が@c 定義されている場合、@c その規則を用いて連桁を終了させる位置を決定します。@c 連桁終了規則が定義されていない場合、 @item もっと長い連桁タイプに対する @code{beamExceptions} に連桁終了規則が@c 定義されている場合、@c その規則を用いて連桁を終了させる位置を決定します。@c 連桁終了規則が定義されていない場合、 @item @code{baseMoment} と @code{beatStructure} の値を用いて@c その小節での拍の終わりを決定し、@c 拍の終わりで連桁を終了させます。 @end itemize 上記の規則で、@emph{連桁タイプ} は連桁でグループ化された音符の最短演奏時間です。 デフォルトの連桁規則は @file{scm/time-signature-settings.scm} の中にあります。 @snippets @cindex beams, subdividing (連桁をサブ グループ化する) @lilypondfile[verbatim,quote,ragged-right,texidoc,doctitle] {subdividing-beams.ly} @cindex beamlets, orienting (16 分音符以下の連桁の向き) @lilypondfile[verbatim,quote,ragged-right,texidoc,doctitle] {strict-beat-beaming.ly} @cindex measure groupings (小節をグループ化する) @cindex beats, grouping (拍をグループ化する) @cindex grouping beats (拍をグループ化する) @cindex measure sub-grouping (小節をサブ グループ化する) @lilypondfile[verbatim,quote,ragged-right,texidoc,doctitle] {conducting-signs,-measure-grouping-signs.ly} @cindex beam, endings in a score (楽譜の終わりでの連桁) @cindex beam, endings with multiple voices (複数のボイスの終わりでの連桁) @lilypondfile[verbatim,quote,ragged-right,texidoc,doctitle] {beam-endings-in-score-context.ly} @seealso 記譜法リファレンス: @ref{拍子} インストールされているファイル: @file{scm/time-signature-settings.scm} コード断片集: @rlsr{Rhythms} 内部リファレンス: @rinternals{Auto_beam_engraver}, @rinternals{Beam}, @rinternals{BeamForbidEvent}, @rinternals{beam-interface} @knownissues 自動連桁が終了しておらず、まだ音符を受け付けている最中に楽譜が終了する場合、@c その最後の連桁はまったく譜刻されません。@c @code{<< @dots{} \\ @dots{} >>} で入力される多声ボイスでも同様です。@c 自動連桁がまだ音符を受け付けている最中に多声ボイスが終了する場合、@c その最後の連桁はまったく譜刻されません。@c ボイスや楽譜の最後の連桁には手動で連桁を付けることにより、@c これらの問題を回避できます。 デフォルトでは、@code{Timing} コンテキストは @code{Score} コンテキストに@c エイリアスされています。@c このことは、ある譜で拍子の設定を行うと、@c 他の譜での連桁の付け方にも影響を与えると言うことを意味します。@c このため、後で出てくる譜で拍子の設定を行うと、@c 前にある譜でセットしたカスタム連桁はリセットされます。@c この問題を回避する方法の 1 つは、拍子の設定は 1 つの譜でしか行わないことです。 @lilypond[quote,verbatim] << \new Staff { \time 3/4 \set Timing.baseMoment = #(ly:make-moment 1/8) \set Timing.beatStructure = 1,5 \set Timing.beamExceptions = #'() \repeat unfold 6 { a'8 } } \new Staff { \repeat unfold 6 { a'8 } } >> @end lilypond 拍子に対するデフォルトの連桁設定を変更することで、@c 常にお望みの連桁を使うこともできます。@c ある拍子に対する自動連桁設定を変更する方法は @ref{拍子} で説明しています。 @lilypond[quote,verbatim] << \new Staff { \overrideTimeSignatureSettings 3/4 % timeSignatureFraction 1/8 % baseMomentFraction 1,5 % beatStructure #'() % beamExceptions \time 3/4 \repeat unfold 6 { a'8 } } \new Staff { \time 3/4 \repeat unfold 6 { a'8 } } >> @end lilypond @node 手動連桁 @unnumberedsubsubsec 手動連桁 @translationof Manual beams @cindex beams, manual (手動連桁) @cindex manual beams (手動連桁) @funindex ] @funindex [ 自動連桁アルゴリズムをオーバライドする必要がある場合もあります。@c 例えば、自動連桁は休符や小節線を越えて連桁を配置することはなく、@c 合唱譜では連桁はしばしば音符ではなく歌詞の韻律に従って配置されます。@c そのような連桁は @code{[} と @code{]} で開始点と終了点を記すことによって@c 手動で指定することができます: @lilypond[quote,verbatim] \relative { r4 r8[ g' a r] r g[ | a] r } @end lilypond @cindex manual beams, direction shorthand for (手動連桁の向きを指定する短縮記譜法) @cindex manual beams, grace notes (装飾小音符の手動連桁) 方向指示子を用いることで、連桁の向きを手動で設定することができます: @lilypond[quote,verbatim] \relative { c''8^[ d e] c,_[ d e f g] } @end lilypond @funindex \noBeam 連桁でつながれないようにするために、個々の音符には @code{\noBeam} が記されるかもしれません: @lilypond[quote,verbatim] \relative { \time 2/4 c''8 c\noBeam c c } @end lilypond 装飾小音符の連桁と通常の音符の連桁は同時進行で発生します。@c 通常の音符の連桁の途中に、連桁でつながれない装飾小音符は配置されません。 @lilypond[quote,verbatim] \relative { c''4 d8[ \grace { e32 d c d } e8] e[ e \grace { f16 } e8 e] } @end lilypond @funindex stemLeftBeamCount @funindex stemRightBeamCount プロパティ @code{stemLeftBeamCount} と @code{stemRightBeamCount} を@c セットすることによって連桁をさらに厳密に手動制御することが可能です。@c これらの値はそれぞれ、次の音符の左側と右側に描く連桁の本数を指定します。@c どちらかのプロパティがセットされている場合、その値は 1 度だけ使用され、@c それから消去されます。@c 以下の例では、最後の @code{f} は左側に連桁を 1 本だけ持って -- すなわち、グループ全体をつなげている 8 分音符の連桁を持って -- 譜刻されています。 @lilypond[quote,verbatim] \relative a' { a8[ r16 f g a] a8[ r16 \set stemLeftBeamCount = #2 \set stemRightBeamCount = #1 f16 \set stemLeftBeamCount = #1 g16 a] } @end lilypond @predefined @code{\noBeam} @endpredefined @snippets @lilypondfile[verbatim,quote,ragged-right,texidoc,doctitle] {flat-flags-and-beam-nibs.ly} @seealso 記譜法リファレンス: @ref{Direction and placement}, @ref{Grace notes} コード断片集: @rlsr{Rhythms} 内部リファレンス: @rinternals{Beam}, @rinternals{BeamEvent}, @rinternals{Beam_engraver}, @rinternals{beam-interface}, @rinternals{Stem_engraver} @node 羽状の連桁 @unnumberedsubsubsec 羽状の連桁 @translationof Feathered beams @cindex beams, feathered (羽状の連桁) @cindex feathered beams (羽状の連桁) @funindex \featherDurations @funindex grow-direction 羽状の連桁は、楽曲全体のテンポを変えることなく、音符の小さなグループを@c テンポを上げながら (あるいは下げながら) 演奏すべきであることを示すために@c 使用されます。@c 羽状連桁の範囲は @code{[} と @code{]} を使って手動で指定する必要があり、@c 連桁の羽は @code{Beam} のプロパティ @code{grow-direction} に向きを@c 指定することによって調整することができます。 音符の配置と MIDI 出力での音が羽状連桁によって指示された ritardando (徐々に緩やかに) や accelerando (次第に速く) を@c 反映すべきであるのなら、@c 音符は波括弧で区切られた音楽表記としてグループ化される必要があり、@c さらに、そのグループの最初の音符と最後の音符の演奏時間の比率を指定する @code{featheredDurations} コマンドを前に置く必要があります。 角括弧は連桁の範囲を示し、@c 波括弧は演奏時間を変更される音符はどれなのかを示します。@c 通常これら 2 つは同じ音符のグループを囲みますが、@c 同じであることは必須ではありません: 2 つのコマンドは独立しています。 以下の例では、8 つの 16 分音符は 2 分音符とまったく同じ時間を占めますが、@c 最初の音符の長さは最後の音符の長さの半分であり、@c 中間の音符は徐々に長くなります。@c 最初の 4 つの 32 分音符は徐々にスピード アップしますが、@c 最後の 4 つの 32 分音符は一定のテンポです。 @lilypond[verbatim,quote] \relative c' { \override Beam.grow-direction = #LEFT \featherDurations #(ly:make-moment 2/1) { c16[ c c c c c c c] } \override Beam.grow-direction = #RIGHT \featherDurations #(ly:make-moment 2/3) { c32[ d e f] } % revert to non-feathered beams \override Beam.grow-direction = #'() { g32[ a b c] } } @end lilypond @noindent 譜刻される音符の間隔は音符の演奏時間を近似的に表しているだけですが、@c MIDI 出力での演奏時間は正確です。 @predefined @code{\featherDurations} @endpredefined @seealso コード断片集: @rlsr{Rhythms} @knownissues @code{\featherDurations} は非常に短い音楽コード断片に対してだけ、@c そして分数の数が小さいときにだけ機能します。 @node 小節 @subsection 小節 @translationof Bars @menu * 小節線:: * 小節番号:: * 小節と小節番号のチェック:: * リハーサル記号:: @end menu @node 小節線 @unnumberedsubsubsec 小節線 @translationof Bar lines @cindex bar lines (小節線) @cindex measure lines (小節線) @cindex closing bar lines (閉じの小節線) @cindex bar lines, closing (閉じの小節線) @cindex double bar lines (2 重小節線) @cindex bar lines, double (2 重小節線) @cindex repeat bars (繰り返しの小節線) @funindex \bar 小節線は小節を区切り、繰り返しを示すためにも使用されます。@c 通常、単線の小節線が拍子に基づいて出力に自動的に挿入されます。 自動的に挿入される単線の小節線は @code{\bar} コマンドで他のタイプに変更することができます。@c 例えば、通常、2 重線の閉じの小節線が楽曲の最後に配置されます: @lilypond[quote,verbatim] \relative { e'4 d c2 \bar "|." } @end lilypond ある小節の最後の音符が、自動的に挿入される小節線の所で終わっていなくても@c 無効ではありません: その音符は次の小節に持ち越されるものと見なされます。@c しかしながら、そのような持ち越しのある小節がいくつも続く場合、@c その音楽は圧縮されて表示される可能性があり、@c ページからはみ出す可能性さえあります。@c これは、自動改行は完全な小節 -- つまり、小節の終端ですべての音符が終わっている小節 -- の終わりでのみ発生するからです。 @warning{誤った演奏時間の指定は改行を抑制し、結果として@c 非常に圧縮された楽譜やページからはみ出す楽譜の原因となります。} @cindex line breaks (改行) @cindex bar lines, invisible (不可視の小節線) @cindex measure lines, invisible (不可視の小節線) 手動で挿入された小節線のところでも -- たとえ、その小節が不完全であっても -- 改行することができます。@c 小節線を譜刻せずに改行を可能にするには、以下を使用します: @example \bar "" @end example @noindent これは不可視の小節線を挿入し、@c そこで改行が発生することを可能にします (強制はしません)。@c 小節番号カウンタは増加しません。@c 強制的に改行を行うには、@ref{Line breaking} を参照してください。 @cindex manual bar lines (手動の小節線) @cindex manual measure lines (手動の小節線) @cindex bar lines, manual (手動の小節線) @cindex measure lines, manual (手動の小節線) 不可視の小節線と他の特殊な小節線は任意の位置に手動で挿入することができます。@c それらの小節線の位置がある小節の終わりと一致する場合、@c それらの小節線はそこに自動で挿入されるはずだった単線の小節線に@c 取って代わります。@c 小節の終わりと一致しない場合、指定された小節線がその位置に挿入されます。@c 手動の小節線は純粋に視覚的なものです。@c それらは通常の小節線が影響を与えるプロパティ -- 小節番号、臨時記号、改行など -- には何の影響も与えません。@c 手動の小節線はその後に続く自動小節線の算出や配置に影響を与えません。@c 自動小節線がすでに存在する場所に手動小節線が配置されても、@c 自動小節線の効果は変更されません。 手動で挿入できる小節線として、単線の小節線は 2 種類あり、@c 2 重線の小節線は 5 種類あります: @lilypond[quote,verbatim] \relative { f'1 \bar "|" f1 \bar "." g1 \bar "||" a1 \bar ".|" b1 \bar ".." c1 \bar "|.|" d1 \bar "|." e1 } @end lilypond @noindent さらに、点線と破線の小節線があります: @lilypond[quote,verbatim] \relative { f'1 \bar ";" g1 \bar "!" a1 } @end lilypond @noindent さらに、繰り返しの小節線が 9 種類あります: @lilypond[quote,verbatim] \relative { f'1 \bar ".|:" g1 \bar ":..:" a1 \bar ":|.|:" b1 \bar ":|.:" c1 \bar ":.|.:" d1 \bar "[|:" e1 \bar ":|][|:" f1 \bar ":|]" g1 \bar ":|." a1 } @end lilypond 更に、小節線は単純な短線として表示することができます: @lilypond[quote,fragment,verbatim] f'1 \bar "'" g'1 @end lilypond しかし、このような短線は通常、グレゴリア聖歌の中で使われます。そこでは代わりに @code{\divisioMinima} を用いるほうが良いです。グレゴリア聖歌の @ref{Divisiones} セクションで説明してあります。 LilyPond は Kievan 記譜法をサポートしており、特殊な Kievan の小節線を@c 入力することができます: @lilypond[quote,fragment,verbatim] f'1 \bar "k" @end lilypond この記譜法に関する更なる情報は、@ref{Typesetting Kievan square notation} に@c 説明してあります。 @cindex segno (セーニョ) 行内のセーニョ記号として、3 タイプの小節線があり、@c 改行での振る舞いがそれぞれ異なります: @lilypond[quote,verbatim] \relative c'' { c4 c c c \bar "S" c4 c c c \break \bar "S" c4 c c c \bar "S-|" c4 c c c \break \bar "S-|" c4 c c c \bar "S-S" c4 c c c \break \bar "S-S" c1 } @end lilypond @cindex repeats (繰り返し) 繰り返しを表す小節線は手動で挿入される場合がありますが、@c それらの小節線自体は LilyPond に繰り返されるセクションを@c 認識させることはしません。@c そのような繰り返されるセクションは@c さまざまな繰り返しのコマンドを使って入力した方が良いです (@ref{Repeats} を参照してください)。@c 繰り返しのコマンドは自動的に適切な小節線を譜刻します。 さらに、@code{".|:-||"} を使用することができます。@c これは @code{".|:"} と等価ですが、例外として改行位置では、@c この小節線は行の終わりに 2 重線の小節線を置き、@c 次の行の始めに繰り返し開始の小節線を置きます。 @lilypond[quote,verbatim] \relative c'' { c4 c c c \bar ".|:-||" c4 c c c \break \bar ".|:-||" c4 c c c } @end lilypond 繰り返しとセーニョ記号の組み合わせは 6 種類あります: @lilypond[quote,verbatim] \relative c'' { c4 c c c \bar ":|.S" c4 c c c \break \bar ":|.S" c4 c c c \bar ":|.S-S" c4 c c c \break \bar ":|.S-S" c4 c c c \bar "S.|:-S" c4 c c c \break \bar "S.|:-S" c4 c c c \bar "S.|:" c4 c c c \break \bar "S.|:" c4 c c c \bar ":|.S.|:" c4 c c c \break \bar ":|.S.|:" c4 c c c \bar ":|.S.|:-S" c4 c c c \break \bar ":|.S.|:-S" c1 } @end lilypond さらに、@code{\inStaffSegno} コマンドがあります。@c これは、@code{\repeat volta} コマンドと@c 用いられた際に、繰り返しの小節線と結合したセーニョ小節線を作り出します。@c @ref{通常の繰り返し} を参照してください。 @funindex \defineBarLine @cindex bar lines, defining (小節線を定義する) @cindex defining bar lines (小節線を定義する) @code{\defineBarLine} を用いて、新しい小節線を定義することができます: @example \defineBarLine @var{bartype} #'(@var{end} @var{begin} @var{span}) @end example @code{\defineBarline} の引数は@q{空の}文字列 @code{""} を含むことができ、@c これは不可視の小節線を作り出します。または、@code{#f} にセットすることで、@c 何の小節線も表示しないようにすることができます。 定義した後、新しい小節線は @code{\bar} @var{bartype} で使用することができます。 現在使用できる小節線の要素は 10 個存在します: @lilypond[quote,verbatim] \defineBarLine ":" #'("" ":" "") \defineBarLine "=" #'("=" "" "") \defineBarLine "[" #'("" "[" "") \defineBarLine "]" #'("]" "" "") \new Staff { s1 \bar "|" s1 \bar "." s1 \bar "!" s1 \bar ";" s1 \bar ":" s1 \bar "k" s1 \bar "S" s1 \bar "=" s1 \bar "[" s1 \bar "]" s1 \bar "" } @end lilypond @code{"="} 小節線は、セーニョ記号と組み合わせて使うための二重の小節線を@c 提供します。二重の細い小節線を単独で表示させるためにをこれを使わないで@c ください。@code{\bar} @var{"||"} を使ってください。 @code{"-"} 記号は、小節線に注釈を入れるために使用します。これは、@c 同じ見た目をしていても改行によって挙動が変化する場合や、@c 譜をまたぐ小節線の見た目が異なる場合に区別するのに便利です。@c @code{"-"} の後に続く部分は、小節線を構築する際に使用されません。 @lilypond[quote,verbatim] \defineBarLine "||-dashedSpan" #'("||" "" "!!") \new StaffGroup << \new Staff \relative c'' { c1 \bar "||" c1 \bar "||-dashedSpan" c1 } \new Staff \relative c'' { c1 c1 c1 } >> @end lilypond 更に、スペース文字 @code{" "} は、譜をまたぐ小節線がメインの小節線に@c 正しく揃うようにするプレース ホルダとして機能します: @lilypond[quote,verbatim] \defineBarLine ":|.-wrong" #'(":|." "" "|.") \defineBarLine ":|.-right" #'(":|." "" " |.") \new StaffGroup << \new Staff \relative c'' { c1 \bar ":|.-wrong" c1 \bar ":|.-right" c1 } \new Staff \relative c'' { c1 c1 c1 } >> @end lilypond 小節線の要素を追加したい場合、LilyPond はそれらを定義するシンプルな手段を@c 提供しています。小節線の変更あるいは追加に関する更なる情報は、@c ファイル @file{scm/bar-line-.scm} を参照してください。 多くの譜を持つ楽譜では、ある譜の @code{\bar} コマンドは@c 自動的にすべての譜に適用されます。@c 結果として、@code{StaffGroup}, @code{PianoStaff}, あるいは @code{GrandStaff} では、小節線は譜をまたがって 1 本に接続されます。 @lilypond[quote,verbatim] << \new StaffGroup << \new Staff \relative { e'4 d \bar "||" f4 e } \new Staff \relative { \clef bass c'4 g e g } >> \new Staff \relative { \clef bass c'2 c2 } >> @end lilypond @cindex default bar lines, changing (デフォルトの小節線を変更する) @cindex bar lines, default, changing (デフォルトの小節線を変更する) @funindex whichBar @funindex defaultBarType @funindex \bar @funindex bartype コマンド @code{\bar }@var{bartype} は @samp{\set Timing.whichBar = @var{bartype}} の短縮記法です。@c @code{whichBar} プロパティがセットされるといつでも小節線が作成されます。 自動的に挿入される小節線に使用されるデフォルトの@c 小節線タイプは @code{"|"} です。@c これは @samp{\set Timing.defaultBarType = @var{bartype}} でいつでも@c 変更することができます。 @seealso 記譜法リファレンス: @ref{Line breaking}, @ref{Repeats}, @ref{Grouping staves} インストールされているファイル: @file{scm/bar-line.scm} コード断片集: @rlsr{Rhythms} 内部リファレンス: @rinternals{BarLine} (@rinternals{Staff} の階層で作成されます), @rinternals{SpanBar} (譜をまたぎます), @rinternals{Timing_translator} (@code{Timing} プロパティ用です) @node 小節番号 @unnumberedsubsubsec 小節番号 @translationof Bar numbers @cindex bar numbers (小節番号) @cindex measure numbers (小節番号) @cindex numbers, bar (小節番号) @cindex numbers, measure (小節番号) @funindex currentBarNumber 小節番号は、デフォルトでは、最初の行を除く各行の開始点で譜刻されます。@c 番号自体は @code{currentBarNumber} プロパティに保存されていて、@c 通常は各小節で自動的に更新されます。@c 小節番号を手動で設定することも可能です: @lilypond[verbatim,quote] \relative c' { c1 c c c \break \set Score.currentBarNumber = #50 c1 c c c } @end lilypond @cindex bar numbers, regular spacing 規則的な間隔で小節番号を譜刻する @funindex barNumberVisibility @funindex BarNumber 小節番号は、各行の開始点に配置する代わりに、規則的な間隔で@c 譜刻することができます。@c このようにするには、小節番号を行の開始点以外の位置に譜刻できるよう、@c デフォルトの振る舞いをオーバライドする必要があります。@c これは @code{BarNumber} の @code{break-visibility} プロパティによって@c 制御されます。@c これは 3 つの値をとります -- 3 つの値は、対応する小節番号を可視にするかしないかを指定するために、@c @code{#t} または @code{#f} にセットされます。@c 3 つの値の順番は、@code{end of line visible}, @code{middle of line visible}, @code{beginning of line visible} (行の終了点での可視性、行の途中での可視性、行の開始点での可視性) です。@c 以下の例では、譜刻可能な場所すべてに小節番号を譜刻しています: @c KEEP LY @lilypond[verbatim,quote] \relative c' { \override Score.BarNumber.break-visibility = ##(#t #t #t) \set Score.currentBarNumber = #11 % 最初の小節番号が表示されるようにします \bar "" c1 | c | c | c | \break c1 | c | c | c | } @end lilypond @snippets @lilypondfile[verbatim,quote,ragged-right,texidoc,doctitle] {printing-the-bar-number-for-the-first-measure.ly} @lilypondfile[verbatim,quote,ragged-right,texidoc,doctitle] {printing-bar-numbers-at-regular-intervals.ly} @lilypondfile[verbatim,quote,ragged-right,texidoc,doctitle] {printing-bar-numbers-with-changing-regular-intervals.ly} @cindex measure number, format (小節番号のフォーマット) @cindex bar number, format (小節番号のフォーマット) @lilypondfile[verbatim,quote,ragged-right,texidoc,doctitle] {printing-bar-numbers-inside-boxes-or-circles.ly} @cindex bar numbers, with letters (文字付きの小節番号) @cindex bar numbers, with repeats (繰り返しの小節番号) @lilypondfile[verbatim,quote,texidoc,doctitle] {alternative-bar-numbering.ly} @cindex bar number alignment (小節番号を揃える) @lilypondfile[verbatim,quote,texidoc,doctitle] {aligning-bar-numbers.ly} @lilypondfile[verbatim,quote,ragged-right,texidoc,doctitle] {removing-bar-numbers-from-a-score.ly} @seealso コード断片集: @rlsr{Rhythms} 内部リファレンス: @rinternals{BarNumber}, @rinternals{Bar_number_engraver} @cindex bar number collision (小節番号の衝突) @cindex collision, bar number (小節番号の衝突) @knownissues 小節番号は @code{StaffGroup} の左括弧の上端と衝突する可能性があります。@c これを解決するには、@code{BarNumber} の @code{padding} プロパティを@c 使って小節番号を適切な位置に配置します。@c 詳細は @rinternals{StaffGroup} と @rinternals{BarNumber} を参照してください。 @node 小節と小節番号のチェック @unnumberedsubsubsec 小節と小節番号のチェック @translationof Bar and bar number checks @cindex bar check (小節チェック) @cindex bar number check (小節番号チェック) @cindex measure check (小節チェック) @cindex measure number check (小節番号チェック) @funindex barCheckSynchronize @funindex | 小節チェックは入力された演奏時間の誤りを検出する手助けをします。@c 小節チェックは、小節線が書き込まれると予想される場所ならどこにでも、@c 小節記号 @code{|} を使うことで挿入できます。@c 他の場所で小節チェックの線に遭遇した場合、警告のリストがログ ファイルに@c 書き込まれ、小節チェックに失敗した行番号と行を示します。@c 次の例では、2 番目の小節チェックがエラーを発します。 @example \time 3/4 c2 e4 | g2 | @end example 正しくない演奏時間は滅茶苦茶な楽譜を生成する可能性があります -- 特にその楽譜が多声である場合はそうなる可能性があります。@c 入力を修正するには、@c まずざっと見て失敗した小節チェックと演奏時間の誤りを探すと良いでしょう。 連続する小節チェックは同じ音楽的間隔で off になり、@c 最初の警告メッセージだけが表示されます。@c これにより、警告の焦点がタイミング エラーの発生源に絞られます。 歌詞でも小節チェックを使用することができます。@c 以下に例を挙げます: @example \lyricmode @{ \time 2/4 Twin -- kle | Twin -- kle | @} @end example 歌詞での小節チェック マークは、マークが処理されて@emph{その次の}音節が出現する@c タイミングで評価されます。もし歌詞が、小節の最初に休符を持つボイスと@c 関連づいているなら、その小節の最初に配置できる音節が存在せず、@c 警告が表示されます。 @funindex | @funindex "|" 入力の中で小節チェックあるいはパイプ記号 @code{|} に遭遇した場合にとられる@c アクションを再定義することも可能です。@c これにより、小節チェック以外のことを行うことができます。@c 再定義は音楽表記を @code{"|"} に代入することによって行います。@c 以下の例では、@code{|} は小節の終わりをチェックするのではなく、@c それが現れた場所に 2 重線の小節線を挿入するようセットされています。 @lilypond[quote,verbatim] "|" = \bar "||" { c'2 c' | c'2 c' c'2 | c' c'2 c' } @end lilypond @funindex \barNumberCheck 大きな楽曲をコピーしている場合、LilyPond の小節番号と@c コピー元のオリジナルの小節番号の対応をチェックすると役に立ちます。@c この対応は @code{\barNumberCheck} によってチェックすることができます。@c 例えば、 @verbatim \barNumberCheck #123 @end verbatim @noindent を使用すると、@code{currentBarNumber} が処理された時に 123 でなければ、@c 警告が表示されます。 @seealso コード断片集: @rlsr{Rhythms} @node リハーサル記号 @unnumberedsubsubsec リハーサル記号 @translationof Rehearsal marks @cindex rehearsal marks (リハーサル記号) @cindex mark, rehearsal (リハーサル記号) @funindex \mark リハーサル記号を譜刻するには、@code{\mark} コマンドを使用します: @lilypond[quote,verbatim] \relative c'' { c1 \mark \default c1 \mark \default c1 \mark \default c1 \mark \default } @end lilypond @noindent @code{\mark \default} を使用するとリハーサル記号は自動的に +1 されますが、@c 手動で整数をリハーサル記号にセットすることもできます。@c セットした値は @code{rehearsalMark} に保存されます。 @lilypond[quote,verbatim] \relative c'' { c1 \mark \default c1 \mark \default c1 \mark #8 c1 \mark \default c1 \mark \default } @end lilypond @noindent 文字@tie{}@q{I} は、譜刻の慣習に従って、スキップされます。@c 文字@tie{}@q{I} を含めたければ、@c リハーサル記号のスタイル (文字のみ、四角で囲まれた文字、丸で囲まれた文字) に合わせて以下のコマンドの 1 つを使用します: @example \set Score.markFormatter = #format-mark-alphabet \set Score.markFormatter = #format-mark-box-alphabet \set Score.markFormatter = #format-mark-circle-alphabet @end example @lilypond[quote,verbatim] \relative c'' { \set Score.markFormatter = #format-mark-box-alphabet c1 \mark \default c1 \mark \default c1 \mark #8 c1 \mark \default c1 \mark \default } @end lilypond @cindex rehearsal mark format (リハーサル記号のフォーマット) @cindex rehearsal mark style (リハーサル記号のスタイル) @cindex style, rehearsal mark (リハーサル記号のスタイル) @cindex format, rehearsal mark (リハーサル記号のフォーマット) @cindex mark, rehearsal, style (リハーサル記号のスタイル) @cindex mark, rehearsal, format (リハーサル記号のフォーマット) @cindex rehearsal mark, manual (手動でリハーサル記号をセットする) @cindex mark, rehearsal, manual (手動でリハーサル記号をセットする) @cindex custom rehearsal mark (リハーサル記号のカスタム) @cindex manual rehearsal mark (手動のリハーサル記号) スタイルはプロパティ @code{markFormatter} によって定義されます。@c これは引数としてカレントの記号 (整数) とカレントのコンテキストをとる関数です。@c この関数はマークアップ オブジェクトを返します。@c 以下の例では、@code{markFormatter} には定義済みの手続きがセットされています。@c 数小節後では、四角で囲まれた番号を作り出す手続きがセットされています。 @lilypond[quote,verbatim] \relative c'' { \set Score.markFormatter = #format-mark-numbers c1 \mark \default c1 \mark \default \set Score.markFormatter = #format-mark-box-numbers c1 \mark \default \set Score.markFormatter = #format-mark-circle-numbers c1 \mark \default \set Score.markFormatter = #format-mark-circle-letters c1 } @end lilypond ファイル @file{scm/translation-functions.scm} は @code{format-mark-letters} (デフォルトのフォーマット), @code{format-mark-box-letters}, @code{format-mark-numbers} それに @code{format-mark-box-numbers} の定義を保持しています。@c これらを参考にして他のフォーマット関数を作り出すこともできます。 加算された数字や文字の代わりに小節番号を取得するために @code{format-mark-barnumbers}, @code{format-mark-box-barnumbers}, それに @code{format-mark-circle-barnumbers} を使うことがあります。 リハーサル記号の他のスタイルを手動で指定することができます: @example \mark "A1" @end example @noindent @code{Score.markFormatter} はこの方法で指定された記号に影響を与えません。@c しかしながら、文字列として @code{\markup} 使用することができます。 @example \mark \markup@{ \box A1 @} @end example @cindex segno (セーニョ) @cindex coda (コーダ) @cindex D.S. al Fine (ここで曲の先頭に戻り、Fine で終わる) @cindex fermata (フェルマータ) @cindex music glyphs (音楽的図柄) @cindex glyphs, music (音楽的図柄) @funindex \musicglyph 音楽的図柄 (セーニョ記号など) を @code{\mark} の中に譜刻することができます: @lilypond[quote,verbatim] \relative c' { c1 \mark \markup { \musicglyph #"scripts.segno" } c1 \mark \markup { \musicglyph #"scripts.coda" } c1 \mark \markup { \musicglyph #"scripts.ufermata" } c1 } @end lilypond @noindent @code{\musicglyph} を使用して譜刻できる記号のリストは、@c @ref{The Emmentaler font} を参照してください。 リハーサル記号の配置の一般的な調整については、@c @ref{Formatting text} を参照してください。@c 更に細かな制御を行う場合は、@c @ref{Aligning objects} の @code{break-alignable-interface} を参照してください。 ファイル @file{scm/translation-functions.scm} は @code{format-mark-numbers} と @code{format-mark-letters} の定義を保持@c しています。@c ここにある定義を参考にして他のフォーマット関数を作り出すことができます。 @seealso 記譜法リファレンス: @ref{The Emmentaler font}, @ref{Formatting text}, @ref{Aligning objects} インストールされているファイル: @file{scm/translation-functions.scm} コード断片集: @rlsr{Rhythms} 内部リファレンス: @rinternals{MarkEvent}, @rinternals{Mark_engraver}, @rinternals{RehearsalMark} @node 特殊なリズム関連事項 @subsection 特殊なリズム関連事項 @translationof Special rhythmic concerns @menu * 装飾小音符:: * カデンツァに揃える:: * 時間管理:: @end menu @node 装飾小音符 @unnumberedsubsubsec 装飾小音符 @translationof Grace notes @cindex ornaments (装飾音) @cindex grace notes (装飾小音符) @cindex appoggiatura (アッポジャトゥーラ) @cindex acciaccatura (アッチャカトゥーラ) @funindex \grace @funindex \slashedGrace @funindex \acciaccatura @funindex \appoggiatura 装飾小音符は装飾の音であり、小さなフォントで表示され、@c 論理的には演奏時間を持ちません。 @lilypond[quote,verbatim] \relative { c''4 \grace b16 a4( \grace { b16 c16 } a2) } @end lilypond 装飾音符には他にも 3 つのタイプがあります。@c @emph{acciaccatura} (長さを持たない装飾小音符で、@c スラーでつなげられるスラッシュ付きの符幹を持つ音符) と、 @emph{appoggiatura} (一定の比率で主音符から演奏時間を取り、@c スラッシュを持たない音符) です。@c スラーで結ばれた主音符の間に装飾小音符を配置するために、@c @code{\slashedGrace} 関数を用いて、 @emph{acciaccatura} のようにスラッシュ付きの符幹を持つが@c スラーは付かない装飾小音符を譜刻することもできます。 @lilypond[quote,verbatim] \relative { \acciaccatura d''8 c4 \appoggiatura e8 d4 \acciaccatura { g16 f } e2 \slashedGrace a,8 g4 \slashedGrace b16 a4( \slashedGrace b8 a2) } @end lilypond 装飾小音符の配置は他の譜と同期されます。@c 以下の例では、8 分の装飾小音符 1 つに対して 2 つの 16 分装飾小音符が@c 割り当てられています: @lilypond[quote,verbatim] << \new Staff \relative { e''2 \grace { c16 d e f } e2 } \new Staff \relative { c''2 \grace { g8 b } c2 } >> @end lilypond @cindex grace notes, following (装飾小音符を後ろに配置する) @funindex \afterGrace 装飾小音符で記譜を終えたいのならば、@c @code{\afterGrace} コマンドを使用します。@c このコマンドは 2 つの引数をとります: 主音符と主音符の後に続く装飾小音符です。 @lilypond[quote,verbatim] \relative { c''1 \afterGrace d1 { c16[ d] } c1 } @end lilypond これは主音符の@emph{後に}装飾小音符を配置します。@c 装飾小音符がどのタイミングで配置されるかは、主音符の長さとの割合で@c 決められます。以下に示すデフォルトの設定はトップレベルで@c 再定義することができます: @example afterGraceFraction = 3/4 @end example @noindent 代わりに、個々の @code{\afterGrace} コマンドの直後に分数を与えることで@c 割合を指定することもできます。 次の例は順に、デフォルトのスペース、主音符の @code{15/16} に指定した場合、@c 主音符の @code{1/2} に指定した場合の結果を示しています。 @lilypond[quote,verbatim] << \new Staff \relative { c''1 \afterGrace d1 { c16[ d] } c1 } \new Staff \relative { c''1 \afterGrace 15/16 d1 { c16[ d] } c1 } \new Staff \relative { c''1 \afterGrace 1/2 d1 { c16[ d] } c1 } >> @end lilypond @code{\afterGrace} の効果は、空白休符を用いても得ることができます。@c 以下の例では、主音符の長さの 7/8 のスペースをとった後に装飾小音符を@c 配置しています。 @lilypond[quote,verbatim] \new Voice \relative { << { d''1^\trill_( } { s2 s4. \grace { c16 d } } >> c1) } @end lilypond @cindex tweaking grace notes (装飾小音符を調整する) @cindex grace notes, tweaking (装飾小音符を調整する) @cindex grace notes, changing layout settings (装飾小音符のレイアウト設定を変更する) @code{\grace} 音楽表記は特殊な譜刻設定を導入します -- 例えば、小さなフォントを作り出し、向きを設定するためです。@c それゆえ、装飾小音符の特殊な設定をオーバライドするために@c レイアウトの調整を行う場合、@c 調整は装飾小音符の表記の中に置くべきです。@c さらに、そのオーバライドは装飾小音符の表記の中で元に戻しておくべきです。@c 以下の例では、装飾小音符の符幹のデフォルトの向きがオーバライドされ、@c それから元に戻されています。 @lilypond[quote,verbatim] \new Voice \relative { \acciaccatura { \stemDown f''16-> \stemNeutral } g4 e c2 } @end lilypond @cindex stem, with slash (スラッシュ付きの符幹) @snippets @lilypondfile[verbatim,quote,texidoc,doctitle] {using-grace-note-slashes-with-normal-heads.ly} @lilypondfile[verbatim,quote,texidoc,doctitle] {tweaking-grace-layout-within-music.ly} @lilypondfile[verbatim,quote,texidoc,doctitle] {redefining-grace-note-global-defaults.ly} @lilypondfile[verbatim,quote,texidoc,doctitle] {positioning-grace-notes-with-floating-space.ly} @seealso 音楽用語集: @rglos{grace notes}, @rglos{acciaccatura}, @rglos{appoggiatura} 記譜法リファレンス: @ref{Scaling durations}, @ref{Manual beams} インストールされているファイル: @file{ly/grace-init@/.ly} コード断片集: @rlsr{Rhythms} 内部リファレンス: @rinternals{GraceMusic}, @rinternals{Grace_beam_engraver}, @rinternals{Grace_auto_beam_engraver}, @rinternals{Grace_engraver}, @rinternals{Grace_spacing_engraver} @knownissues @cindex acciaccatura, multi-note (複数音符のアッチャカトゥーラ) @cindex multi-note acciaccatura (複数音符のアッチャカトゥーラ) @cindex grace-note synchronization (装飾小音符の同期) 複数の音符を連桁でつないだ @i{アッチャカトゥーラ} には@c スラッシュは付けられず、@c 複数の音符を連桁でつないだ @i{アッポジャトゥーラ} と@c まったく同じに見えます。 @c TODO Add link to LSR snippet to add slash when available 装飾小音符の同期は予期しない結果を引き起こす可能性があります。@c 譜の記譜要素 -- 拍子、小節線など -- も同期をとられます。@c 装飾小音符を持つ譜と持たない譜を混在させる場合は気をつけて下さい。@c 例えば: @lilypond[quote,verbatim] << \new Staff \relative { e''4 \bar ".|:" \grace c16 d2. } \new Staff \relative { c''4 \bar ".|:" d2. } >> @end lilypond @noindent これは、他の譜にある装飾小音符の演奏時間に対応した空白の@c 装飾小音符を挿入することによって修正することができます。@c 上の例を以下のように修正します: @lilypond[quote,verbatim] << \new Staff \relative { e''4 \bar ".|:" \grace c16 d2. } \new Staff \relative { c''4 \bar ".|:" \grace s16 d2. } >> @end lilypond 実際の音符部分には @code{\acciaccatura} や @code{\appoggiatura} を用いていたと@c しても、空白休符の部分には @code{\grace} コマンドを用いるようにしてください。@c そうしないと、見えない装飾小音符と次の音符とを繋ぐ、醜いスラーが表示されます。 装飾小音符セクションはシーケンシャルな音楽表記の中でのみ使用すべきです。@c 装飾小音符セクションのネスト、並置はサポートされておらず、@c クラッシュや他のエラーを引き起こすかもしれません。 MIDI 出力において装飾小音符はそれぞれ 1/4 の実演奏時間を持ちます。@c 一連の装飾小音符の演奏時間が前の音符の演奏時間よりも長い場合、@c @qq{@code{Going back in MIDI time}} エラーになります。@c エラーを避けるには、装飾小音符の演奏時間を短くします。@c 例えば: @example c'8 \acciaccatura @{ c'8[ d' e' f' g'] @} @end example を以下のようにします: @example c'8 \acciaccatura @{ c'16[ d' e' f' g'] @} @end example あるいは、明示的に演奏時間を変更します: @example c'8 \acciaccatura @{ \scaleDurations 1/2 @{ c'8[ d' e' f' g'] @} @} @end example @ref{Scaling durations} を参照してください。 @node カデンツァに揃える @unnumberedsubsubsec カデンツァに揃える @translationof Aligning to cadenzas @cindex cadenza (カデンツァ) @cindex cadenza, aligning to (カデンツァに揃える) @cindex aligning to cadenza (カデンツァに揃える) オーケストラのコンテキストにおいて、カデンツァは特殊な問題を提起します: 楽譜の構成に演奏時間を持つカデンツァや他のソロ パッセージが含まれる場合、@c 他のすべての楽器は、そのカデンツァの演奏時間の分だけ@c スキップする必要があります。@c さもなければ、他の楽器はカデンツァの終わりよりも早すぎる (あるいは遅すぎる) タイミングで始まってしまいます。 この問題の解決方法の一つは、関数 @code{mmrest-of-length} と @code{skip-of-length} を使用することです。@c これらの Scheme 関数は、引数として定義済みの音楽表記をとり、@c その音楽表記と同じ長さの複数小節休符または @code{\skip} を生成します。 @lilypond[verbatim,quote] MyCadenza = \relative { c'4 d8 e f g g4 f2 g4 g } \new GrandStaff << \new Staff { \MyCadenza c'1 \MyCadenza c'1 } \new Staff { #(mmrest-of-length MyCadenza) c'1 #(skip-of-length MyCadenza) c'1 } >> @end lilypond @seealso 音楽用語集: @rglos{cadenza} コード断片集: @rlsr{Rhythms} @node 時間管理 @unnumberedsubsubsec 時間管理 @translationof Time administration @cindex time administration (時間管理) @cindex timing (within the score) ((楽譜内での) タイミング) @cindex music, unmetered (無韻律の音楽) @cindex unmetered music (無韻律の音楽) @funindex currentBarNumber @funindex measurePosition @funindex measureLength 時間は @code{Timing_translator} -- これは、デフォルトでは、@code{Socre} コンテキストの中にあります -- によって管理されます。@c エイリアス @code{Timing} は @code{Timing_translator} が配置されている@c コンテキストに付け加えられます。 エイリアス @code{Timing} が利用可能であることを保証するため、@c コンテキスト (@code{Voice} や @code{Staff} など) を明示的にインスタンス化@c する必要があるかもしれません。 以下の @code{Timing} のプロパティは、@c 楽譜内でのタイミングの経過を追うために使用されます。 @cindex bar number (小節番号) @cindex measure number (小節番号) @table @code @item currentBarNumber カレントの小節番号。@c このプロパティの使用例は、@ref{小節番号} を参照してください。 @item measureLength カレントの拍子での小節の長さ。@c 4/4 拍子では 1 であり、6/8 拍子では 3/4 です。@c この値は小節線を挿入するタイミングと自動連桁の生成の仕方を決定します。 @item measurePosition カレントで処理している小節内での位置。@c この値は、@code{measureLength} に到達するか超過したときに、@c この値から @code{measureLength} を減算されることによって、リセットされます。@c リセットが起こるときに、@code{currentBarNumber} が +1 されます。 @item timing 真にセットされている場合、各タイム ステップごとに上記の変数は更新されます。@c 偽にセットされている場合、エングラーバはカレントの小節に永久に留まります。 @end table タイミングは、上記の値のいずれかを明示的に設定することによって、@c 変更することができます。@c 次の例では、デフォルトの 4/4 拍子が譜刻されていますが、@c @code{measureLength} は 5/4 にセットされています。@c 第 3 小節の 4/8 の位置で、@code{measurePositoin} は 1/8 進められて 5/8 になり、それによりその小節は 1/8 短くされます。@c 次の小節線は 5/4 ではなく 9/8 の位置で引かれます。 @lilypond[quote,verbatim] \new Voice \relative { \set Timing.measureLength = #(ly:make-moment 5/4) c'1 c4 | c1 c4 | c4 c \set Timing.measurePosition = #(ly:make-moment 5/8) b4 b b8 | c4 c1 | } @end lilypond @noindent この例が示すように、@code{ly:make-moment n/m} は全音符の n/m の長さの@c 演奏時間を構成します。@c 例えば、@code{ly:make-moment 1/8} は 1 個の 8 分音符の演奏時間であり、@c @code{ly:make-moment 7/16} は 7 個の 16 分音符の演奏時間です。 @seealso 記譜法リファレンス: @ref{Bar numbers}, @ref{Unmetered music} コード断片集: @rlsr{Rhythms} 内部リファレンス: @rinternals{Timing_translator}, @rinternals{Score}