1.2.3 リズムを表示する


拍子

拍子は以下のようにセットします:

\time 2/4 c''2
\time 3/4 c''2.

[image of music]

小節の途中で拍子記号を変更することについては、上拍で扱っています。

拍子は楽曲の始まりと拍子が変更されたときに譜刻されます。行の終わりで変更が起こる場合、警告の拍子が行の終わりに譜刻されます。デフォルトの振る舞いを変更することができます。オブジェクトの可視性 を参照してください。

\relative c'' {
  \time 2/4
  c2 c
  \break
  c c
  \break
  \time 4/4
  c c c c
}

[image of music]

2/2 や 4/4 で使用される拍子は数字を使用するスタイルに変更することができます:

\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
}

[image of music]

計量拍子については 計量記譜法の拍子記号 でカバーされています。

譜刻される拍子を設定することに加えて、\time コマンドは拍子に基づくプロパティ baseMoment, beatStructure, それに beamExceptions の値も設定します。これらのプロパティにあらかじめ定義されているデフォルト値は ‘scm/time-signature-settings.scm’ で見つかります。

beatStructure のデフォルトの値は、\time に省略可能な 1 つ目の引数を与えることでオーバライドできます:

\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 } |
    }
  }
}

[image of music]

また、baseMomentbeamExceptions も含めた、全ての拍子に基づくプロパティのデフォルトの値を一度にセットすることができます。値は異なる拍子記号について独立に設定できます。新しい値は同じ拍子記号の \time コマンドが続く時に有効となります。

\score {
  \new Staff {
    \relative c' {
      \overrideTimeSignatureSettings
        4/4        % timeSignatureFraction
        1/4        % baseMomentFraction
        3,1        % beatStructure
        #'()       % beamExceptions
      \time 4/4
      \repeat unfold 8 { c8 } |
    }
  }
}

[image of music]

\overrideTimeSignatureSettings は 4 つの引数をとります:

  1. timeSignatureFraction, この設定が適用される、拍子記号を示す分数。
  2. baseMomentFraction, 拍子の基本タイミングの単位となる分子と分母を保持する分数。
  3. beatStructure, 小節の拍構造を示す Scheme リスト。基本タイミングを単位とします。
  4. beamExceptions, 指定された拍子でそれぞれの拍で終了しない連桁の規則を保持する配列リスト。自動連桁の振る舞いを設定する に説明があります。

デフォルトの拍子プロパティ値の変更を元の値に戻すことができます:

\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 } |
  }
}

[image of music]

Timing_translatorDefault_bar_line_engraverScore コンテキストから Staff コンテキストに移動させることにより、異なる譜に対して異なる値のデフォルト拍子プロパティを割り当てることができます。

\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
    }
    \context {
      \Staff
      \consists Timing_translator
    }
  }
}

[image of music]

これらの拍子記号に基づく変数を変更するさらなる方法 – 変更の際に同じ拍子記号がもう一度表示されることを避ける方法 – については、 自動連桁の振る舞いを設定する にあります。

定義済みコマンド

\numericTimeSignature, \defaultTimeSignature

Selected Snippets

拍子記号の (分数ではなく) 分子のみを数字で表示する

拍子記号の分数全体を表示せず、分子のみ (今回は 7) を表示したい場合があります。これは \override Staff.TimeSignature.style = #'single-digit を用いてスタイルを永続的に変更することで簡単に実現できます。\revert Staff.TimeSignature.style を使用することで、この設定を元に戻すことが出来ます。1 つの拍子記号に対してのみ単一の数字で表示したい場合は、\override の前に \once を記述します。

\relative c'' {
  \time 3/4
  c4 c c
  % Change the style permanently
  \override Staff.TimeSignature.style = #'single-digit
  \time 2/4
  c4 c
  \time 3/4
  c4 c c
  % Revert to default style:
  \revert Staff.TimeSignature.style
  \time 2/4
  c4 c
  % single-digit style only for the next time signature
  \once \override Staff.TimeSignature.style = #'single-digit
  \time 5/4
  c4 c c c c
  \time 2/4
  c4 c
}

[image of music]

参照

音楽用語集: time signature

記譜法リファレンス: 計量記譜法の拍子記号, 自動連桁の振る舞いを設定する, 時間管理

インストールされているファイル: ‘scm/time-signature-settings.scm’.

コード断片集: Rhythms

内部リファレンス: TimeSignature, Timing_translator


メトロノーム記号

基本的なメトロノーム記号は単純に以下のように記述します:

\relative {
  \tempo 4 = 120
  c'2 d
  e4. d8 c2
}

[image of music]

メトロノーム記号を 2 つの数の範囲として譜刻することもできます:

\relative {
  \tempo 4 = 40 - 46
  c'4. e8 a4 g
  b,2 d4 r
}

[image of music]

テキストを持つテンポ指示にすこともできます:

\relative {
  \tempo "Allegretto"
    c''4 e d c
    b4. a16 b c4 r4
}

[image of music]

メトロノーム記号とテキストを組み合わせると、メトロノーム記号は自動的に括弧で囲まれます:

\relative {
  \tempo "Allegro" 4 = 160
  g'4 c d e
  d4 b g2
}

[image of music]

一般に、テキストを任意のマークアップ オブジェクトにすることができます:

\relative {
  \tempo \markup { \italic Faster } 4 = 132
  a'8-. r8 b-. r gis-. r a-. r
}

[image of music]

テキストを伴わないメトロノーム記号を括弧で囲むには、空の文字列を含めて記述します:

\relative {
  \tempo "" 8 = 96
  d''4 g e c
}

[image of music]

長い休符 (小節単位の休符 を参照してください) がある楽器のパート譜では、テンポ表示同士が近づいてしまうことがあります。 \markLengthOn コマンドは、テンポ表示が重ならないように水平方向のスペースを追加し、\markLengthOff はテンポ表示が水平方向のスペースを無視するデフォルトの挙動に戻します。

\compressMMRests {
  \markLengthOn
  \tempo "Molto vivace"
  R1*12
  \tempo "Meno mosso"
  R1*16
  \markLengthOff
  \tempo "Tranquillo"
  R1*20
}

[image of music]

Selected Snippets

メトロノーム記号やリハーサル記号を譜の下に表示する

デフォルトでは、メトロノーム記号やリハーサル記号は譜の上に表示されます。これらを譜の下に表示するには、MetronomeMarkRehearsalMarkdirection プロパティを正しくセットします。

\layout {
  indent = 0
  ragged-right = ##f
}

{
  % Metronome marks below the staff
  \override Score.MetronomeMark.direction = #DOWN
  \tempo 8. = 120
  c''1

  % Rehearsal marks below the staff
  \override Score.RehearsalMark.direction = #DOWN
  \mark \default
  c''1
}

[image of music]

メトロノーム記号を表示せずにテンポを変更する

楽譜には何も出力せずに MIDI 出力のテンポのみを変更するには、メトロノーム記号を非表示にします。

\score {
  \new Staff \relative c' {
    \tempo 4 = 160
    c4 e g b
    c4 b d c
    \set Score.tempoHideNote = ##t
    \tempo 4 = 96
    d,4 fis a cis
    d4 cis e d
  }
  \layout { }
  \midi { }
}

[image of music]

マークアップ モードでメトロノーム記号を作成する

新しいメトロノーム記号はマークアップ モードで作成できますが、MIDI 出力のテンポは変更されません。

\relative c' {
  \tempo \markup {
    \concat {
      (
      \smaller \general-align #Y #DOWN \note {16.} #1
      " = "
      \smaller \general-align #Y #DOWN \note {8} #1
      )
    }
  }
  c1
  c4 c' c,2
}

[image of music]

詳細は テキストをフォーマットする を参照してください。

参照

音楽用語集: metronome, metronomic indication, tempo indication, metronome mark

記譜法リファレンス: テキストをフォーマットする, MIDI 出力を作り出す, 小節単位の休符

コード断片集: Staff notation

内部リファレンス: MetronomeMark


上拍

弱拍上拍 などのような部分小節またはピックアップ小節は、\partial コマンドを使って入力します:

\partial duration

\partial が楽譜の最初で用いられた際には、duration は最初の小節より前にある音楽の長さです。

\relative {
  \time 3/4
  \partial 4.
  r4 e'8 | a4 c8 b c4 |
}

[image of music]

\partial が楽譜の最初より後に用いられた際には、durationは現在の小節の 残りの 長さとなります。新しい番号の小節は作られません。

\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 |
}

[image of music]

\partial コマンドは小節の途中で拍子記号が変化する場合に必要ですが、単独で使われることもあります。

\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] |
}

[image of music]

\partial コマンドは Timing.measurePosition プロパティをセットします。これは小節のどれだけが経過したかを表す分数です。

参照

音楽用語集: anacrusis

記譜法リファレンス: 装飾小音符

コード断片集: Rhythms

内部リファレンス: Timing_translator


無韻律の音楽

韻律のある音楽では、自動的に小節線が挿入され、小節番号が算出されます。無韻律の音楽 (例えばカデンツァ) では、これは望ましくなく、コマンド \cadenzaOn を用いて ‘スイッチ off’ することができます。‘スイッチ on’ に戻すには、適切な場所で \cadenzaOff を用います。

\relative c'' {
  c4 d e d
  \cadenzaOn
  c4 c d8[ d d] f4 g4.
  \cadenzaOff
  \bar "|"
  d4 e d c
}

[image of music]

カデンツァが終わると、小節番号が再開されます。

\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
}

[image of music]

カデンツァの中に \bar コマンドを挿入しても、小節線は表示されますが、新しい小節が始まることはありません。そのため、全ての臨時記号 – 通常小節の最後まで効果が持続する – は、\bar による小節線の後でも有効のままです。もし小節線の後の臨時記号を表示させたいならば、親切の臨時記号 (!) や忠告の臨時記号 (?) を手動で挿入する必要があります。臨時記号 を参照してください。

\relative c'' {
  c4 d e d
  \cadenzaOn
  cis4 d cis d
  \bar "|"
  % 最初の cis は小節線の後ですが、臨時記号無しで表示されます
  cis4 d cis! d
  \cadenzaOff
  \bar "|"
}

[image of music]

自動連桁は \cadenzaOn で無効になります。このため、カデンツァ内の連桁はすべて手動で入力する必要があります (手動連桁)。

\relative {
  \repeat unfold 8 { c''8 }
  \cadenzaOn
  cis8 c c c c
  \bar"|"
  c8 c c
  \cadenzaOff
  \repeat unfold 8 { c8 }
}

[image of music]

これらの定義済みコマンドは、たとえ Voice コンテキストの 1 つの中に配置したとしても、楽譜の中にあるすべての譜に影響を与えます。これを変更するには、Timing_translatorScore コンテキストから Staff コンテキストに移動させます。多拍子記譜法 を参照してください。

定義済みコマンド

\cadenzaOn, \cadenzaOff

参照

音楽用語集: cadenza

記譜法リファレンス: オブジェクトの可視性, 多拍子記譜法, 手動連桁, 臨時記号

コード断片集: Rhythms

既知の問題と警告

自動の改行と改ページが挿入されるのは小節線のある場所だけです。そのため、長い無韻律の音楽で改行や改ページを行うには手動で ‘不可視の’ 小節線を挿入する必要があります:

\bar ""

多拍子記譜法

多拍子記譜法がサポートされます。 複合拍子記譜法がサポートされます。明示的な複合拍子と、拍子指定を変更して音符の演奏時間を伸縮することによる複合拍子のどちらもです。

それぞれの譜は異なる拍子を持ち、小節の長さは等価である場合

各譜共通の拍子記号をセットして、timeSignatureFraction にお望みの分数をセットします。それから、\scaleDurations 関数を用いて共通の拍子記号に対する 各譜の音符の演奏時間を伸縮させます。

以下の例では、拍子記号 3/4, 9/8, それに 10/8 の音楽が並列しています。2 番目の譜では示された演奏時間に 2/3 が掛けられ (なぜなら、2/3 * 9/8 = 3/4 だからです)、3 番目の譜では示された演奏時間に 3/5 が掛けられます (なぜなら、3/5 * 10/8 = 3/4 だからです)。演奏時間の伸縮は自動連桁の規則に影響を与えるため、手動で連桁を付ける必要があるかもしれません。

\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 3 { c8[ c c] }
      \repeat unfold 3 { c4 c8 }
    }
  }
  \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
    }
  }
>>

[image of music]

それぞれの譜は異なる拍子を持ち、小節の長さは等価ではない場合

Timing_translatorDefault_bar_line_engraverStaff コンテキストに移すことによって、それぞれの譜に独立した拍子を与えることができます。

\layout {
  \context {
    \Score
    \remove Timing_translator
  }
  \context {
    \Staff
    \consists Timing_translator
  }
}

% 以上で、各譜はそれぞれに拍子を持つようになります

\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 |
  }
>>

[image of music]

複合拍子記号

複合拍子記号は \compoundMeter を用いて作成します。構文は以下の通りです:

\compoundMeter #'(list of lists)

最も簡単な構成は単一のリストであり、リストの 最後の 数字が拍子記号の分母になります。

\relative {
  \compoundMeter #'((2 2 2 8))
  \repeat unfold 6 c'8 \repeat unfold 12 c16
}

[image of music]

リストを追加することでより複雑な拍子を構築することができます。また、この関数で指定された値に基づいて自動連桁の設定は調節されます。

\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
}

[image of music]

参照

音楽用語集: polymetric, polymetric time signature, meter

記譜法リファレンス: 自動連桁, 手動連桁, 拍子, 演奏時間を変更する

コード断片集: Rhythms

内部リファレンス: TimeSignature, Timing_translator, Staff

既知の問題と警告

それぞれの譜において、同時に起こる音符の水平方向の位置は同じになりますが、(それぞれの譜にある) 小節線は、異なる拍子記号によって一貫性の無いスペーシングを生み出す可能性があります。

多拍子記譜法で midi ブロックを使用した場合、予期しない小節線チェックの警告が表示される可能性があります。その場合は、midi ブロック内で、Timing_translatorScore コンテキストから Staff コンテキストに移動してください。

\midi {
  \context {
    \Score
    \remove Timing_translator
  }
  \context {
     \Staff
     \consists Timing_translator
  }
}

[image of music]


自動音符分割

小節線をまたがる長い音符を自動的にタイで結ばれた音符に変換することができます。これを行うには、Note_heads_engraverCompletion_heads_engraver で置き換えます。同様に、小節線をまたがる長い休符を自動的に分割することができます。 これを行うには、Rest_engraverCompletion_rest_engraver で置き換えます。以下の例では、小節線をまたがる音符と休符は分割され、音符はされにタイで結ばれています。

\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
}

[image of music]

これらのエングラーバは進行中の音符と休符をすべて小節線のところで分割して、音符に対してはタイを挿入します。これらのエングラーバの用途の 1 つに複雑な楽譜のデバッグがあります: 何小節かで音符がきちんと満たされていない場合、このエングラーバで挿入されたタイが、それぞれの小節の狂いを示します。

completionUnit プロパティは音符を分割する際の好ましい長さを指定します。

\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.
}

[image of music]

これらのエングラーバは、連符のような長さが伸縮された音符に対しては、入力と同じ伸縮率を保ったまま分割します。

\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
}

[image of music]

参照

音楽用語集: tie

学習マニュアル: Engravers explained, Adding and removing engravers

コード断片集: Rhythms

内部リファレンス: Note_heads_engraver, Completion_heads_engraver, Rest_engraver, Completion_rest_engraver, Forbid_line_break_engraver

既知の問題と警告

前のバージョンの挙動を維持するため、c1*2 のような 1 小節より長い音符や休符は、{ c1 c1 } のように伸縮しない長さに分割されます。completionFactor プロパティでこの挙動を調整でき、これを#f にセットすることで音符や休符を伸縮することができます。


旋律のリズムを示す

しばしば旋律のリズムだけを示したいことがあります。これはリズム譜を使うことで達成できます。そのような譜上にある音符のピッチはすべて破棄され、その譜自体は 1 本の線を持ちます:

<<
  \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
    }
  }
>>

[image of music]

ギター コード表はしばしばつま弾き (ストラム) のリズムを示します。これは Pitch_squash_engraver\improvisationOn を使うことで達成できます。

<<
  \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
  }
>>

[image of music]

和音を含む音楽も、まず \reduceChords 関数で 1 つの音符にまとめることによって RhythmicStaff に入力したり、Pitch_squash_engraver に使用することができます。

\new RhythmicStaff {
  \time 4/4
  \reduceChords {
    <c>2
    <e>2
    <c e g>2
    <c e g>4
    <c e g>4
  }
}

[image of music]

定義済みコマンド

\improvisationOn, \improvisationOff, \reduceChords

Selected Snippets

ギター ストロークのリズム

ギター音楽では、メロディの音符、コードネーム、フレット図と共に、ストロークのリズムを表示することができます。

\include "predefined-guitar-fretboards.ly"
<<
  \new ChordNames {
    \chordmode {
      c1 | f | g | c
    }
  }
  \new FretBoards {
    \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
    }
  }
  \new Voice = "melody" {
    \relative c'' {
      c2 e4 e4
      f2. r4
      g2. a4
      e4 c2.
    }
  }
  \new Lyrics {
    \lyricsto "melody" {
      This is my song.
      I like to sing.
    }
  }
>>

[image of music]

参照

コード断片集: Rhythms

内部リファレンス: RhythmicStaff, Pitch_squash_engraver


LilyPond — 記譜法リファレンス v2.23.82 (開発版).