@c -*- coding: utf-8; mode: texinfo; documentlanguage: ja -*-
@ignore
- Translation of GIT committish: c1b0482f63f881bd3f67845e5f76a3e04675ef2a
+ Translation of GIT committish: 9bb7fa99aa8bc7c14a45a42224545c726bb6c592
When revising a translation, copy the HEAD committish of the
version that you are working on. For details, see the Contributors'
@c \version "2.19.22"
-@c Translators: Yoshiki Sawada
+@c Translators: Tomohiro Tatejima, Yoshiki Sawada
@c Translation status: post-GDP
@node 基礎となるコンセプト
\header @{ @}
\score @{
- @var{...複合音楽表記...} % すべての音楽がここに入ります!
+ @var{ @dots{} 複合音楽表記 @dots{} } % すべての音楽がここに入ります!
\layout @{ @}
\midi @{ @}
@}
@code{\score} ブロックは常にただ 1 つの音楽表記を@c
保持していなければなりません。@c
-そして、その音楽表記は @code{\score} コマンドのすぐ後に@c
-置かれなければなりません。@c
音楽表記は単一の音符である場合もありますし、以下のような@c
巨大な複合表記である場合もあるということを覚えておいてください:
@example
@{
\new StaffGroup <<
- @var{...ワーグナーのオペラの楽譜全体がここに入ります...}
+ @var{ @dots{} ワーグナーのオペラの楽譜全体がここに入ります @dots{} }
>>
@}
@end example
@noindent
-すべては @code{@{ ... @}} の内部にあるため、@c
+すべては @code{@{ @dots{} @}} の内部にあるため、@c
それは 1 つの音楽表記であるとカウントされます。
以前見てきたように、@code{\score} ブロックは他のものを含む可能性もあります。@c
それらが上記のように記述された場合、LilyPond はそれぞれ譜刻された楽譜と
MIDI 出力を作り出します。@c
それらは記譜法リファレンスの @ruser{Score layout} と
-@ruser{Creating MIDI files} で完全に記述されています。
+@ruser{Creating MIDI output} で完全に記述されています。
@cindex scores, multiple (複数の Score)
@cindex book block, implicit (暗黙の book ブロック)
以下の行がこの謎についてすべてを説明しています:
@quotation
-@emph{@code{\score} ブロックは 1 つの複合音楽表記で始まらなくてはなりません。}
+@emph{@code{\score} ブロックはただ 1 つの音楽表記のみを含まなくてはなりません。}
@end quotation
@noindent
-é\9f³æ¥½è¡¨è¨\98ã\81¨è¤\87å\90\88é\9f³æ¥½è¡¨è¨\98ã\81\8cæ\84\8få\91³ã\81\97ã\81¦ã\81\84ã\82\8bã\82\82ã\81®ã\82\92ç\90\86解ã\81\99ã\82\8bã\81«ã\81¯ã\80\81ã\83\81ã\83¥ã\83¼ã\83\88ã\83ªã\82¢ã\83«ã\81®
+音楽表記が意味しているものを理解するには、チュートリアルの
@ref{音楽表記についての説明} を読み返すと役に立つかもしれません。@c
そこでは、小さな音楽表記 -- 音符から始めて、それから和音など -- から@c
大きな音楽表記を構築する方法を説明しています。@c
@end example
@end ignore
-歌手とピアノが同時進行であることを示すために @code{@{ ... @}} の代わりに
-@code{<< ... >>} を使用するということを思い出してください。@c
+歌手とピアノが同時進行であることを示すために @code{@{ @dots{} @}} の代わりに
+@code{<< @dots{} >>} を使用するということを思い出してください。@c
こうすることで、ボーカル パートはピアノ パートの上に表示されます。@c
上の例で歌手の譜が一続きの音楽表記を保持するだけであるのなら
-@code{<< ... >>} を使う必要はありませんが、@c
+@code{<< @dots{} >>} を使う必要はありませんが、@c
譜が同時進行する複数の音楽表記
-- 例えば、同時進行する 2 つの声部や、声部と歌詞です
-- を保持するのであれば必須となります。@c
@multitable @columnfractions .3 .7
@headitem 括弧のタイプ
@tab 機能
-@item @code{@{ .. @}}
+@item @code{@{ @dots{} @}}
@tab 一続きの音楽を囲みます
-@item @code{< .. >}
+@item @code{< @dots{} >}
@tab 和音となる音符を囲みます
-@item @code{<< .. >>}
+@item @code{<< @dots{} >>}
@tab 同時進行する音楽表記を囲みます
-@item @code{( .. )}
+@item @code{( @dots{} )}
@tab スラーの開始点と終了点を意味します
-@item @code{\( .. \)}
+@item @code{\( @dots{} \)}
@tab フレージング スラーの開始点と終了点を意味します
-@item @code{[ .. ]}
+@item @code{[ @dots{} ]}
@tab 手動連桁の開始点と終了点を意味します
@end multitable
こららに対して、音符の間や音符をまたがって線を生成する他の構文を@c
付け加えるべきです: タイ (チルド @code{~} によって記述されます)、@c
-連符 (@code{\times x/y @{..@}} として記述されます)、@c
-グレイス ノート (@code{\grace@{..@}} として記述されます) です。
+連符 (@code{\tuplet x/y @{ @dots{} @}} として記述されます)、@c
+グレイス ノート (@code{\grace @{ @dots{} @}} として記述されます) です。
LilyPond 以外では、種類の異なる括弧が適切にネストされること
--- @code{[ @{ ( .. ) @} ]} のように --
+-- @code{[ @{ ( @dots{} ) @} ]} のように --
が一般的な使い方であり、@c
括弧の終わりの順序は正確に括弧の始まりの順序と逆になります。@c
このことは上記の表で @q{囲みます} という言葉で記述されている
その手動連桁の前に終わる可能性もあります -- たぶん音楽的では@c
ないかもしれませんが、可能性はあります:
-@lilypond[quote,verbatim,fragment,ragged-right,relative=2]
- { g8\( a b[ c b\) a] }
+@lilypond[quote,verbatim,ragged-right]
+\relative { g'8\( a b[ c b\) a] g4 }
@end lilypond
一般に、種類の異なる括弧、括弧のような構成物、@c
それでは、複数のボイスが実際に必要とされるのはどんな場合なのでしょうか?@c
まずは、4 つの和音を持つ以下の例を見てください:
-@lilypond[quote,verbatim,fragment,ragged-right,relative=1]
-\key g \major
-<d g>4 <d fis> <d a'> <d g>
+@lilypond[quote,verbatim,ragged-right]
+\relative {
+ \key g \major
+ <d' g>4 <d fis> <d a'> <d g>
+}
@end lilypond
-この例は単一の山括弧からなる和音記号 @code{< ... >} を使って@c
+この例は単一の山括弧からなる和音記号 @code{< @dots{} >} を使って@c
表記することができ、必要とされるボイスは 1 つだけです。@c
しかしながら、F シャープが A に移行する際に、F シャープは実際には
8 分音符であり、そのあとに 8 分音符の G が続くとしたらどうでしょうか?@c
1 つの譜に複数のボイスがある楽譜を入力する最も簡単な方法は、@c
各ボイスをシーケンスに (続けて) 入力し
-(各ボイスを @code{@{...@}} の中に入れます)、@c
-それらのボイスを @code{<<...>>} を使って同時進行するよう組み合わせます。@c
+(各ボイスを @code{@{ @dots{} @}} の中に入れます)、@c
+それらのボイスを @code{<< @dots{} >>} を使って同時進行するよう組み合わせます。@c
さらに、各断片は、それぞれが別の断片であることを示すために、@c
ダブル バックスラッシュ @code{\\} で区切られなければなりません。@c
ダブル バックスラッシュが無ければ、すべての音符は単一のボイスの中に挿入され、@c
今度はもう 1 つ簡単な例を挙げてみます:
-@lilypond[quote,verbatim,fragment,ragged-right,relative=2]
-\key d \minor
-% Voice = "1" Voice = "2"
-<< { r4 g g4. a8 } \\ { d,2 d4 g } >> |
-<< { bes4 bes c bes } \\ { g4 g g8( a) g4 } >> |
-<< { a2. r4 } \\ { fis2. s4 } >> |
+@lilypond[quote,verbatim,ragged-right]
+\relative {
+ \key d \minor
+ % Voice = "1" Voice = "2"
+ << { r4 g' g4. a8 } \\ { d,2 d4 g } >> |
+ << { bes4 bes c bes } \\ { g4 g g8( a) g4 } >> |
+ << { a2. r4 } \\ { fis2. s4 } >> |
+}
@end lilypond
各小節で別々に @code{<< \\ >>} 構造を使用する必要はありません。@c
これらの各コンテキストでは、スラー、符幹、タイ、強弱記号などの垂直方向の@c
向きは適切にセットされます。
-@lilypond[quote,verbatim,fragment]
+@lilypond[quote,verbatim]
\new Staff \relative {
% Main voice
c'16 d e f
- % Voice = "1" Voice = "2" Voice = "3"
- << { g4 f e } \\ { r8 e4 d c8 ~ } >> |
- << { d2 e2 } \\ { c8 b16 a b8 g ~ 2 } \\ { s4 b4 c2 } >> |
+ % Voice = "1" Voice = "2" Voice = "3"
+ << { g4 f e } \\ { r8 e4 d c8~ } >> |
+ << { d2 e } \\ { c8 b16 a b8 g~ 2 } \\ { s4 b c2 } >> |
+}
+@end lilypond
+
+@funindex \voices
+もし別の順番で -- 例えば上から下の順番に -- ボイスを入力したい場合、
+@code{<< @dots{} >>} 構造の前に @code{\voices} を用いることで、@c
+各ボイスの番号を指定することができます。以下は例です。
+
+@lilypond[quote,verbatim]
+\new Staff \relative {
+ % Main voice
+ c'16 d e f
+ % Voice = "1" Voice = "2"
+ << { g4 f e } \\ { r8 e4 d c8~ } >> |
+ \voices 1,3,2
+ % Voice = "1" Voice = "3" Voice = "2"
+ << { d2 e } \\ { s4 b c2 } \\ { c8 b16 a b8 g~ 2 } >> |
}
@end lilypond
これらのボイスはすべてメインのボイスからは分かれています。@c
-メインのボイスの音符は@code{<< .. >>} 構造の外にあるからです。@c
-この @code{<< .. >>} 構造を @emph{同時進行構造} と呼ぶことにしましょう。@c
+メインのボイスの音符は@code{<< @dots{} >>} 構造の外にあるからです。@c
+この @code{<< @dots{} >>} 構造を @emph{同時進行構造} と呼ぶことにしましょう。@c
スラーとタイは同じボイス内にある音符だけをつなぎます。@c
そのため、スラーとタイは同時進行構造を出たり入ったりすることはありません。@c
反対に、同じ譜上にある個々の同時進行構造で、@c
@code{\voiceNeutralStyle} (これもここでは使用されていません) は@c
符頭のスタイルをデフォルトに戻します。@c
後ほど、ユーザがこのようなコマンドを作成するための方法を見ていきます。@c
-@ref{オブジェクトの可視性と色} と @ref{調整のために変数を使用する}
+@ref{オブジェクトの可視性と色} と @ref{レイアウトの調整のために変数を使用する}
を参照してください。
@cindex polyphony and relative note entry (多声と相対音符入力)
そのため、以下の例では
@example
-\relative c' @{ noteA << < noteB noteC > \\ noteD >> noteE @}
+\relative @{ noteA << < noteB noteC > \\ noteD >> noteE @}
@end example
@noindent
各ボイスの始めに @code{\relative} コマンドを置くと明瞭になるかもしれません:
@example
-\relative c' @{ noteA ... @}
+\relative @{ noteA @dots{} @}
<<
- \relative c'' @{ < noteB noteC > ... @}
-@bs{}@bs{}
- \relative g' @{ noteD ... @}
+ \relative @{ < noteB noteC > @dots{} @}
+\\
+ \relative @{ noteD @dots{} @}
>>
-\relative c' @{ noteE ... @}
+\relative @{ noteE @dots{} @}
@end example
最後に、もっと複雑な楽曲の中にあるボイスを分析してみましょう。@c
音楽とボイスだけに注目してください -- 込み入った内容は後ほど説明します。
@c The following should appear as music without code
+@c KEEP LY
@lilypond[quote,ragged-right]
\new Staff \relative {
\key aes \major
+ \voices 1,2,4 % ボイス 3 はありません
<< % Voice one
{ c''2 aes4. bes8 }
\\ % Voice two
{
- % Ignore these for now - they are explained in Ch 4
- \once \override NoteColumn.ignore-collision = ##t
+ % ここは今は無視してください - 4 章で説明します
+ \once \override NoteColumn.force-hshift = #0
<ees, c>2
\once \override NoteColumn.force-hshift = #0.5
des2
}
- \\ % No voice three
\\ % Voice four
{
\override NoteColumn.force-hshift = #0
@c The following should appear as music without code
@c The three voice styles should be defined in -init
+@c KEEP LY
@lilypond[quote,ragged-right]
\new Staff \relative {
\key aes \major
+ \voices 1,2,4 % ボイス 3 はありません (符幹を下向きにしたいため)
<<
- { % Voice one
+ { % Voice one
\voiceOneStyle
c''2 aes4. bes8
}
\\ % Voice two
{ \voiceTwoStyle
- % Ignore these for now - they are explained in Ch 4
- \once \override NoteColumn.ignore-collision = ##t
+ % ここは今は無視してください - 4 章で説明します
+ \once \override NoteColumn.force-hshift = #0
<ees, c>2
\once \override NoteColumn.force-hshift = #0.5
des2
}
- \\ % No Voice three (we want stems down)
\\ % Voice four
{ \voiceThreeStyle
\override NoteColumn.force-hshift = #0
@end lilypond
今度は、前のセクションの例を使って同じ多声部音楽のパッセージを
-3 つの異なる方法で表記する例を見ていきます。@c
+4 つの異なる方法で表記する例を見ていきます。@c
それぞれ異なる状況で利点があります。
1 つはメイン ボイスに属する @code{<< >>} の内部に直接表記を記述する方法です
}
@end lilypond
+@cindex voices, continued (続くボイス)
+@funindex \voices
+
+@code{\voices} コマンドはメインのボイスを同時進行表記へと@c
+続けるためにも使えます。
+
+@c KEEP LY
+@lilypond[quote,ragged-right,verbatim]
+\new Staff \relative {
+ \new Voice = "main" {
+ \voiceOneStyle
+ % ここは単声です
+ c'16^( d e f
+ % 3 ボイスの同時進行表記を開始
+ \voices "main",2,3
+ <<
+ % メインのボイスの続き
+ { g4 f e | d2 e) | }
+ \\
+ % ボイス 2 の開始
+ % 符幹などの向きが下になります
+ { r8 e4 d c8~ | 8 b16 a b8 g~ 2 | }
+ \\
+ % ボイス 3 の開始
+ % 符幹などの向きが上になります
+ { s2. | s4 b c2 | }
+ >>
+ }
+}
+@end lilypond
+
@cindex nesting music expressions (音楽表記をネストさせる)
@cindex nesting simultaneous constructs (同時進行構造をネストさせる)
@cindex nesting voices (ボイスをネストさせる)
保持することができます。@c
同じ向きの符幹を持つ 2 つのボイスからの音符が同じ位置に置かれ、両方のボイスに@c
シフトが指定されていない、あるいは同じシフトが指定されている場合、@c
-エラー メッセージ @qq{Too many clashing note columns} (音符が多すぎて音符列で@c
-衝突が起こっています) が生成されます。
+エラー メッセージ
+@qq{This voice needs a @code{@bs{}voiceXx} or @code{@bs{}shiftXx} setting}
+(このボイスは @code{@bs{}voiceXx} か @code{@bs{}shiftXx} の設定が必要です)
+が生成されます。
@seealso
+学習マニュアル:
+@ruser{Moving objects}
+
記譜法リファレンス:
@ruser{複数のボイス}
@cindex creating contexts (コンテキストを作成する)
@cindex contexts, creating (コンテキストを作成する)
-入力ファイルの中で、@code{\score} コマンドによって導入される
-score ã\83\96ã\83ã\83\83ã\82¯ã\81¯å\8d\98ä¸\80ã\81®é\9f³æ¥½è¡¨è¨\98ã\81¨それに関連する出力定義
-(@code{\layout} ã\83\96ã\83ã\83\83ã\82¯ã\81\82ã\82\8bã\81\84ã\81¯ @code{\midi} ã\83\96ã\83ã\83\83ã\82¯)
-ã\82\92ä¿\9dæ\8c\81ã\81\97ます。@c
+入力ファイルの中で、(@code{\score} コマンドによって導入される)
+score ã\83\96ã\83ã\83\83ã\82¯ã\81¯å\8d\98ä¸\80ã\81®é\9f³æ¥½è¡¨è¨\98ã\82\92ä¿\9dæ\8c\81ã\81\97ã\81¾ã\81\99ã\81\8cã\80\81それに関連する出力定義
+(@code{\layout} ã\83\96ã\83ã\83\83ã\82¯ã\81¨ @code{\midi} ã\83\96ã\83ã\83\83ã\82¯ã\81®ã\81\84ã\81\9aã\82\8cã\81\8bã\81\82ã\82\8bã\81\84ã\81¯ä¸¡æ\96¹)
+ã\82\82ä¿\9dæ\8c\81ã\81\99ã\82\8bã\81\93ã\81¨ã\81\8cã\81§ã\81\8dます。@c
通常、@code{Score} コンテキストは省略され、@c
音楽表記の解釈が始まった時点で自動的に作成されます。
これは明らかな場合もありますが、ややこしい場合もあります。@c
間違ったコンテキストが指定された場合、エラー メッセージは表示されませんが、@c
予期したアクションが起こりません。@c
-例えば、@code{instrumentName} は間違いなく @code{Staff} コンテキストの中に@c
+例えば、@code{clefGlyph} は間違いなく @code{Staff} コンテキストの中に@c
きます。@c
-なぜなら、このプロパティが名前を付けるのは譜表だからです。@c
-以ä¸\8bã\81®ä¾\8bã\81§ã\81¯ã\80\81æ\9c\80å\88\9dã\81®è\9c表ã\81«ã\81¯å\90\8då\89\8dã\81\8cä»\98ã\81\91ã\82\89ã\82\8cã\81¦ã\81\84ã\81¾ã\81\99ã\81\8cã\80\812 ç\95ªç\9b®ã\81®è\9c表ã\81«は@c
-付けられていません。@c
-なぜなら、コンテキスト名を省略しているからです。
+なぜなら、変更されるものは譜表に属する音部記号だからです。@c
+以ä¸\8bã\81®ä¾\8bã\81§ã\81¯ã\80\81æ\9c\80å\88\9dã\81®è\9c表ã\81®é\9f³é\83¨è¨\98å\8f·ã\81¯æ£ã\81\97ã\81\8f表示ã\81\95ã\82\8cã\81¦ã\81\84ã\81¾ã\81\99ã\81\8cã\80\812 ç\95ªç\9b®ã\81®è\9c表は@c
+正しくありません -- ヘ音記号を指定したはずですが、デフォルトであるト音記号が@c
+表示されています -- なぜなら、コンテキスト名を省略しているからです。
@lilypond[quote,verbatim,ragged-right]
<<
\new Staff \relative {
- \set Staff.instrumentName = #"Soprano"
+ \set Staff.clefGlyph = "clefs.C"
c''2 c
}
\new Staff \relative {
- \set instrumentName = #"Alto" % Wrong!
+ \set clefGlyph = "clefs.F" % Wrong!
d'2 d
}
>>
デフォルトのコンテキスト名は @code{Voice} であることを思い出してください。@c
このため、2 番目の @code{@bs{}set} コマンドは @code{Voice} コンテキストの@c
-プロパティ @code{instrumentName} を @qq{Alto} にセットしています。@c
+プロパティ @code{clefGlyph} を @qq{clefs.F} にセットしています。@c
しかしながら、LilyPond は @code{Voice} コンテキストでそのようなプロパティを@c
見つけ出さないため、何のアクションも起こしません。@c
これはエラーではなく、ログ ファイルにエラー メッセージは残りません。
@rinternals{Tunable context properties} や @rinternals{Contexts}
を参照してください。
-@code{instrumentName} プロパティは @code{Staff} コンテキストの中に@c
+@code{clefGlyph} プロパティは @code{Staff} コンテキストの中に@c
セットされた場合にのみ効果を持ちますが、いくつかのプロパティは複数の@c
コンテキストの中にセットすることができます。@c
例えば、プロパティ @code{extraNatural} はすべての譜に対してデフォルトで
@end lilypond
他の例としては、@code{clefTransposition} が @code{Score} コンテキストに@c
-セットされた場合、直ちにすべての譜でのオクターブの値を変更し、すべての譜に@c
+セットされた場合、直ちにすべての譜でのオクターブ表示を変更し、すべての譜に@c
適用される新しいデフォルト値をセットします。
逆のことを行うコマンド @code{\unset} はコンテキストからプロパティを@c
チェロ用のセクションを @code{celloMusic} と呼ぶことにします。@c
リネームするときに、@code{text} を @code{sopranoLyrics} とりネームしましょう。@c
これらのインスタンスをリネームすることも忘れないでください
-−- 初期定義 (@code{melody = \relative c' @{ } 部分) とその名前が@c
+−- 初期定義 (@code{melody = \relative @{ } 部分) とその名前が@c
使われているところ (@code{\score セクションの中}) の両方です。
リネームする際に、チェロ パートの譜も変更しましょう
\score {
<< % combine ChoirStaff and PianoStaff in parallel
\new ChoirStaff <<
- \new Staff = "sopranos" <<
- \set Staff.instrumentName = #"Soprano"
+ \new Staff = "sopranos"
+ \with { instrumentName = #"Soprano" }
+ <<
\new Voice = "sopranos" {
\global
\sopranoMusic
\new Lyrics \lyricsto "sopranos" {
\sopranoWords
}
- \new Staff = "altos" <<
- \set Staff.instrumentName = #"Alto"
+ \new Staff = "altos"
+ \with { instrumentName = #"Alto" }
+ <<
\new Voice = "altos" {
\global
\altoMusic
}
>>
- \new Lyrics \lyricsto "altos" { \altoWords }
- \new Staff = "tenors" <<
- \set Staff.instrumentName = #"Tenor"
+ \new Lyrics \lyricsto "altos" {
+ \altoWords
+ }
+ \new Staff = "tenors"
+ \with { instrumentName = #"Tenor" }
+ <<
\new Voice = "tenors" {
\global
\tenorMusic
}
>>
- \new Lyrics \lyricsto "tenors" { \tenorWords }
- \new Staff = "basses" <<
- \set Staff.instrumentName = #"Bass"
+ \new Lyrics \lyricsto "tenors" {
+ \tenorWords
+ }
+ \new Staff = "basses"
+ \with { instrumentName = #"Bass" }
+ <<
\new Voice = "basses" {
\global
\bassMusic
\bassWords
}
>> % end ChoirStaff
- \new PianoStaff <<
- \set PianoStaff.instrumentName = #"Piano"
+ \new PianoStaff \with { instrumentName = #"Piano" }
+ <<
\new Staff = "upper" \upper
\new Staff = "lower" \lower
>>
}
@end lilypond
-このレイアウトをそのまま提供するテンプレートはありません。@c
-最も近いのは @ref{SATB vocal score and automatic piano reduction}
+@warning{このレイアウトは LilyPond に組み込まれているテンプレートを@c
+用いることで簡単に実現できます: @code{satb.ly} 。@c
+@ref{Built-in templates} を参照してください。@c
+簡単に利用できるという利点はありますが、@c
+このテンプレートを用いるということは、必要なコンテキスト構造を@c
+自動で提供する代わりに、それを隠してしまうということです。@c
+ですから学習のために、これを一から作る方法を見てみましょう。@c
+組み込みのテンプレートが完全には望みどおりでない場合、@c
+この手順を行う必要があるかもしれません。}
+
+コピーして編集できるテンプレートの中で、最も近いものは
+@ref{SATB vocal score and automatic piano reduction}
ですが、レイアウトを変更して、ボーカル パートから自動的に生成されたものでは@c
ないピアノ伴奏譜を付け加える必要があります。@c
ボーカル パートのための音楽と歌詞を保持している変数はそのまま使えますが、@c
@example
\new ChoirStaff <<
- \new Staff = "sopranos" <<
- \set Staff.instrumentName = #"Soprano"
+ \new Staff = "sopranos"
+ \with @{ instrumentName = #"Soprano" @}
+ <<
\new Voice = "sopranos" @{
\global
\sopranoMusic
\new Lyrics \lyricsto "sopranos" @{
\sopranoWords
@}
- \new Staff = "altos" <<
- \set Staff.instrumentName = #"Alto"
+ \new Staff = "altos"
+ \with @{ instrumentName = #"Alto" @}
+ <<
\new Voice = "altos" @{
\global
\altoMusic
\new Lyrics \lyricsto "altos" @{
\altoWords
@}
- \new Staff = "tenors" <<
- \set Staff.instrumentName = #"Tenor"
+ \new Staff = "tenors"
+ \with @{ instrumentName = #"Tenor" @}
+ <<
\new Voice = "tenors" @{
\global
\tenorMusic
\new Lyrics \lyricsto "tenors" @{
\tenorWords
@}
- \new Staff = "basses" <<
- \set Staff.instrumentName = #"Bass"
+ \new Staff = "basses"
+ \with @{ instrumentName = #"Bass" @}
+ <<
\new Voice = "basses" @{
\global
\bassMusic
引き抜いてくるだけです:
@example
-\new PianoStaff <<
- \set PianoStaff.instrumentName = #"Piano "
+\new PianoStaff \with @{ instrumentName = #"Piano " @}
+<<
\new Staff = "upper" \upper
\new Staff = "lower" \lower
>>
@}
>> % end ChoirStaff
- \new PianoStaff <<
- \set PianoStaff.instrumentName = #"Piano"
+ \new PianoStaff \with @{ instrumentName = #"Piano " @}
+ <<
\new Staff = "upper" \upper
\new Staff = "lower" \lower
>>
\score {
<< % ChoirStaff と PianoStaff を並行に組み合わせます
\new ChoirStaff <<
- \new Staff = "sopranos" <<
- \set Staff.instrumentName = #"Soprano"
+ \new Staff = "sopranos"
+ \with { instrumentName = #"Soprano" }
+ <<
\new Voice = "sopranos" {
\global
\sopranoMusic
\new Lyrics \lyricsto "sopranos" {
\sopranoWords
}
- \new Staff = "altos" <<
- \set Staff.instrumentName = #"Alto"
+ \new Staff = "altos"
+ \with { instrumentName = #"Alto" }
+ <<
\new Voice = "altos" {
\global
\altoMusic
\new Lyrics \lyricsto "altos" {
\altoWords
}
- \new Staff = "tenors" <<
- \set Staff.instrumentName = #"Tenor"
+ \new Staff = "tenors"
+ \with { instrumentName = #"Tenor" }
+ <<
\new Voice = "tenors" {
\global
\tenorMusic
\new Lyrics \lyricsto "tenors" {
\tenorWords
}
- \new Staff = "basses" <<
- \set Staff.instrumentName = #"Bass"
+ \new Staff = "basses"
+ \with { instrumentName = #"Bass" }
+ <<
\new Voice = "basses" {
\global
\bassMusic
}
>> % ChoirStaff の終了
- \new PianoStaff <<
- \set PianoStaff.instrumentName = #"Piano "
+ \new PianoStaff
+ \with { instrumentName = #"Piano " }
+ <<
\new Staff = "upper" \upper
\new Staff = "lower" \lower
>>
@end example
2 番目の鍵盤パートとペダル オルガンの譜表は 1 つだけしか音楽表記を@c
-保持しないため、それらに対して同時進行構造 @code{<< .. >>} を使う必要は@c
+保持しないため、それらに対して同時進行構造 @code{<< @dots{} >>} を使う必要は@c
必ずしもありません。@c
しかしながら、そうしても害はありませんし、@code{\new Staff} の後に常に@c
山括弧を置くというのは複数のボイスがある場合では推奨される良い習慣です。@c
Voice はこれとは対照的に、あなたの音楽を連続して演奏すべきいくつかの変数に@c
-分けてコード化する場合に Voice の後に波括弧 @code{@{ .. @}} を常に置くべきです。
+分けてコード化する場合に Voice の後に波括弧 @code{@{ @dots{} @}} を常に置くべきです。
この構造をスコア ブロックに付け加えて、インデントを調整しましょう。@c
さらに、適切な音部記号を付け加え、@code{\voiceOne} と @code{\voiceTwo} を@c
さらに、これらの変数 (変数、マクロ、(ユーザ定義) コマンドなどと呼ばれます)
を調整のために使うこともできます:
-@c TODO Avoid padtext - not needed with skylining
@lilypond[quote,verbatim,ragged-right]
dolce = \markup { \italic \bold dolce }
-padText = { \once \override TextScript.padding = #5.0 }
+centreText = { \once \override TextScript.self-alignment-X = #CENTER }
+
fthenp =_\markup {
\dynamic f \italic \small { 2nd } \hspace #0.1 \dynamic p
}
violin = \relative {
\repeat volta 2 {
c''4._\dolce b8 a8 g a b |
- \padText
- c4.^"hi there!" d8 e' f g d |
- c,4.\fthenp b8 c4 c-. |
+ \centreText
+ c4.^"hi there!" d8 e f g d |
+ c4.\fthenp b8 c4 c-. |
}
}
{
\violin
}
- \layout { ragged-right = ##t }
}
@end lilypond
violin = \relative @{
\repeat volta 2 @{
c''4._\markup @{ \italic \bold dolce @} b8 a8 g a b |
- \once \override TextScript.padding = #5.0
- c4.^"hi there!" d8 e' f g d |
- c,4.\markup @{
+ \once \override TextScript.self-alignment-X = #CENTER
+ c4.^"hi there!" d8 e f g d |
+ c4._\markup @{
\dynamic f \italic \small @{ 2nd @} \hspace #0.1 \dynamic p
@}
b8 c4 c-. |
@}
@end example
-@c TODO Replace the following with a better example -td
-@c Skylining handles this correctly without padText
-
これまでに見てきたのは静的な置き換えです
--- LilyPond は @code{\padText} を見つけると、それを定義した内容
-(つまり、@code{padText=} の右側にあるもの) に置き換えます。
+-- LilyPond は @code{\centreText} を見つけると、それを定義した内容
+(つまり、@code{centreText=} の右側にあるもの) に置き換えます。
LilyPond は非静的な置き換えも処理できます (それらを関数と見なすことができます)。
#})
\relative {
- c'''4^"piu mosso" b a b |
+ c''4^"piu mosso" b a b
\padText #1.8
- c4^"piu mosso" d e f |
+ c4^"piu mosso" b a b
\padText #2.6
- c4^"piu mosso" fis a g |
+ c4^"piu mosso" b a b
}
@end lilypond
@end example
この部分を譜刻するとき、複小節休符を圧縮する必要があります。@c
-ã\81\93ã\82\8cã\81¯ä»¥ä¸\8bã\81®ã\83©ã\83³-ã\82¿ã\82¤ã\83 å¤\89æ\95°ã\82\92è¨å®\9aã\81\99ã\82\8bã\81\93ã\81¨ã\81«ã\82\88ã\81£ã\81¦è¡\8cã\81\84ã\81¾ã\81\99:
+ã\81\93ã\82\8cã\82\92è¡\8cã\81\86é\9f³æ¥½é\96¢æ\95°ã\81\8cå\98å\9c¨ã\81\97ã\81¾ã\81\99ã\80\82
@example
-\set Score.skipBars = ##t
+\compressMMRests @{ ... @}
@end example
-@noindent
-このコマンドは @code{Score} コンテキストの中にある@c
-プロパティ @code{skipBars} を真 (@code{##t}) にセットします。@c
-この休符とオプションを上記の音楽の先頭に追加することによって、@c
-以下のような結果になります:
+これを @code{hornNotes} に適用すると、以下のような結果になります:
@lilypond[quote,ragged-right]
-\transpose f c' \relative {
+\compressMMRests \transpose f c' \relative {
\time 2/4
- \set Score.skipBars = ##t
R2*3 |
r4 f8 a | cis4 f | e4 d |
}
>>
@end lilypond
+@seealso
+学習マニュアル:
+@ref{Organizing pieces with variables}.
+
+記譜法リファレンス:
+@ruser{Transpose},
+@ruser{Writing parts},
+@ruser{Full measure rests},
+@ruser{Including LilyPond files}.