| [ << 音楽記譜法 ] | [トップ][目次][インデックス] | [ 専門的な記譜法 >> ] |
| [ < 小節単位の休符 ] | [ 上へ : リズム ] | [ 拍子 > ] |
1.2.3 リズムを表示する
| 拍子 | ||
| メトロノーム記号 | ||
| 上拍 | ||
| 無韻律の音楽 | ||
| 多拍子記譜法 | ||
| 自動音符分割 | ||
| 旋律のリズムを示す |
| [ << 音楽記譜法 ] | [トップ][目次][インデックス] | [ 専門的な記譜法 >> ] |
| [ < リズムを表示する ] | [ 上へ : リズムを表示する ] | [ メトロノーム記号 > ] |
拍子
拍子は以下のようにセットします:
\time 2/4 c''2 \time 3/4 c''2.
小節の途中で拍子記号を変更することについては、上拍で扱っています。
拍子は楽曲の始まりと拍子が変更されたときに譜刻されます。行の終わりで変更が起こる場合、警告の拍子が行の終わりに譜刻されます。デフォルトの振る舞いを変更することができます。オブジェクトの可視性 を参照してください。
\relative c'' {
\time 2/4
c2 c
\break
c c
\break
\time 4/4
c c c c
}
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
}
計量拍子については 計量記譜法の拍子記号 でカバーされています。
譜刻される拍子を設定することに加えて、\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 } |
}
}
}
また、baseMoment と beamExceptions も含めた、全ての拍子に基づくプロパティのデフォルトの値を一度にセットすることができます。値は異なる拍子記号について独立に設定できます。新しい値は同じ拍子記号の \time コマンドが続く時に有効となります。
\score {
\new Staff {
\relative c' {
\overrideTimeSignatureSettings
4/4 % timeSignatureFraction
1/4 % baseMomentFraction
3,1 % beatStructure
#'() % beamExceptions
\time 4/4
\repeat unfold 8 { c8 } |
}
}
}
\overrideTimeSignatureSettings は 4 つの引数をとります:
-
timeSignatureFraction, この設定が適用される、拍子記号を示す分数。 -
baseMomentFraction, 拍子の基本タイミングの単位となる分子と分母を保持する分数。 -
beatStructure, 小節の拍構造を示す Scheme リスト。基本タイミングを単位とします。 -
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 } |
}
}
Timing_translator と Default_bar_line_engraver をScore コンテキストから 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"
\remove "Default_bar_line_engraver"
}
\context {
\Staff
\consists "Timing_translator"
\consists "Default_bar_line_engraver"
}
}
}
これらの拍子記号に基づく変数を変更するさらなる方法 – 変更の際に同じ拍子記号がもう一度表示されることを避ける方法 – については、 自動連桁の振る舞いを設定する にあります。
定義済みコマンド
\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
}
参照
音楽用語集: time signature
記譜法リファレンス: 計量記譜法の拍子記号, 自動連桁の振る舞いを設定する, 時間管理
インストールされているファイル: ‘scm/time-signature-settings.scm’.
コード断片集: Rhythms
内部リファレンス: TimeSignature, Timing_translator
| [ << 音楽記譜法 ] | [トップ][目次][インデックス] | [ 専門的な記譜法 >> ] |
| [ < 拍子 ] | [ 上へ : リズムを表示する ] | [ 上拍 > ] |
メトロノーム記号
基本的なメトロノーム記号は単純に以下のように記述します:
\relative {
\tempo 4 = 120
c'2 d
e4. d8 c2
}
メトロノーム記号を 2 つの数の範囲として譜刻することもできます:
\relative {
\tempo 4 = 40 - 46
c'4. e8 a4 g
b,2 d4 r
}
テキストを持つテンポ指示にすこともできます:
\relative {
\tempo "Allegretto"
c''4 e d c
b4. a16 b c4 r4
}
メトロノーム記号とテキストを組み合わせると、メトロノーム記号は自動的に括弧で囲まれます:
\relative {
\tempo "Allegro" 4 = 160
g'4 c d e
d4 b g2
}
一般に、テキストを任意のマークアップ オブジェクトにすることができます:
\relative {
\tempo \markup { \italic Faster } 4 = 132
a'8-. r8 b-. r gis-. r a-. r
}
テキストを伴わないメトロノーム記号を括弧で囲むには、空の文字列を含めて記述します:
\relative {
\tempo "" 8 = 96
d''4 g e c
}
長い休符 (小節単位の休符 を参照してください) がある楽器のパート譜では、テンポ表示同士が近づいてしまうことがあります。
\markLengthOn コマンドは、テンポ表示が重ならないように水平方向のスペースを追加し、\markLengthOff はテンポ表示が水平方向のスペースを無視するデフォルトの挙動に戻します。
\compressMMRests {
\markLengthOn
\tempo "Molto vivace"
R1*12
\tempo "Meno mosso"
R1*16
\markLengthOff
\tempo "Tranquillo"
R1*20
}
Selected Snippets
メトロノーム記号やリハーサル記号を譜の下に表示する
デフォルトでは、メトロノーム記号やリハーサル記号は譜の上に表示されます。これらを譜の下に表示するには、MetronomeMark や RehearsalMark
の direction プロパティを正しくセットします。
\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
}
メトロノーム記号を表示せずにテンポを変更する
楽譜には何も出力せずに 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 { }
}
マークアップ モードでメトロノーム記号を作成する
新しいメトロノーム記号はマークアップ モードで作成できますが、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
}
詳細は テキストをフォーマットする を参照してください。
参照
音楽用語集: 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 |
}
\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 |
}
\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] |
}
\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
}
カデンツァが終わると、小節番号が再開されます。
\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
}
カデンツァの中に \bar コマンドを挿入しても、小節線は表示されますが、新しい小節が始まることはありません。そのため、全ての臨時記号 – 通常小節の最後まで効果が持続する –
は、\bar による小節線の後でも有効のままです。もし小節線の後の臨時記号を表示させたいならば、親切の臨時記号 (!) や忠告の臨時記号 (?) を手動で挿入する必要があります。臨時記号 を参照してください。
\relative c'' {
c4 d e d
\cadenzaOn
cis4 d cis d
\bar "|"
% 最初の cis は小節線の後ですが、臨時記号無しで表示されます
cis4 d cis! d
\cadenzaOff
\bar "|"
}
自動連桁は \cadenzaOn で無効になります。このため、カデンツァ内の連桁はすべて手動で入力する必要があります
(手動連桁)。
\relative {
\repeat unfold 8 { c''8 }
\cadenzaOn
cis8 c c c c
\bar"|"
c8 c c
\cadenzaOff
\repeat unfold 8 { c8 }
}
これらの定義済みコマンドは、たとえ Voice コンテキストの 1 つの中に配置したとしても、楽譜の中にあるすべての譜に影響を与えます。これを変更するには、Timing_translator を Score コンテキストから 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 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
}
}
>>
それぞれの譜は異なる拍子を持ち、小節の長さは等価ではない場合
Timing_translator と Default_bar_line_engraver を
Staff コンテキストに移すことによって、それぞれの譜に独立した拍子を与えることができます。
\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 |
}
>>
複合拍子記号
複合拍子記号は \compoundMeter を用いて作成します。構文は以下の通りです:
\compoundMeter #'(list of lists)
最も簡単な構成は単一のリストであり、リストの 最後の 数字が拍子記号の分母になります。
\relative {
\compoundMeter #'((2 2 2 8))
\repeat unfold 6 c'8 \repeat unfold 12 c16
}
リストを追加することでより複雑な拍子を構築することができます。また、この関数で指定された値に基づいて自動連桁の設定は調節されます。
\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
}
参照
音楽用語集: polymetric, polymetric time signature, meter
記譜法リファレンス: 自動連桁, 手動連桁, 拍子, 演奏時間を変更する
コード断片集: Rhythms
内部リファレンス: TimeSignature, Timing_translator, Default_bar_line_engraver, Staff
既知の問題と警告
それぞれの譜において、同時に起こる音符の水平方向の位置は同じになりますが、(それぞれの譜にある) 小節線は、異なる拍子記号によって一貫性の無いスペーシングを生み出す可能性があります。
多拍子記譜法で midi ブロックを使用した場合、予期しない小節線チェックの警告が表示される可能性があります。その場合は、midi ブロック内で、Timing_translator を Score コンテキストから
Staff コンテキストに移動してください。
\midi {
\context {
\Score
\remove "Timing_translator"
}
\context {
\Staff
\consists "Timing_translator"
}
}
| [ << 音楽記譜法 ] | [トップ][目次][インデックス] | [ 専門的な記譜法 >> ] |
| [ < 多拍子記譜法 ] | [ 上へ : リズムを表示する ] | [ 旋律のリズムを示す > ] |
自動音符分割
小節線をまたがる長い音符を自動的にタイで結ばれた音符に変換することができます。これを行うには、Note_heads_engraver を Completion_heads_engraver
で置き換えます。同様に、小節線をまたがる長い休符を自動的に分割することができます。
これを行うには、Rest_engraver を Completion_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
}
これらのエングラーバは進行中の音符と休符をすべて小節線のところで分割して、音符に対してはタイを挿入します。これらのエングラーバの用途の 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.
}
これらのエングラーバは、連符のような長さが伸縮された音符に対しては、入力と同じ伸縮率を保ったまま分割します。
\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
}
参照
音楽用語集: 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
}
}
>>
ギター コード表はしばしばつま弾き (ストラム) のリズムを示します。これは 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
}
>>
和音を含む音楽も、まず \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
}
}
定義済みコマンド
\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.
}
}
>>
参照
コード断片集: Rhythms
内部リファレンス: RhythmicStaff, Pitch_squash_engraver
| [ << 音楽記譜法 ] | [トップ][目次][インデックス] | [ 専門的な記譜法 >> ] |
| [ < 自動音符分割 ] | [ 上へ : リズムを表示する ] | [ 連桁 > ] |