MusicXML による悲愴ソナタ第一楽章(3)

先に挙げた例の,残りの部分についてみていくことにします.

複数声部の入力

ひとつの楽器の譜面のなかに,複数の声部があるときには backup, forward というブロックをつかって書き分けます.ピアノ譜のように,右手パートと左手パートというように,同じ楽器の譜面の中に五線譜が複数ある場合もこれを使うようです.先の例では,1小節目の真ん中付近に次のような記述があります.

			
				32
			

これは,32 の長さだけ「巻き戻して書き直す」ということを示しています.つまり,この backup ブロックの直前までは voice = 1 (右手パート)を書き進めてきたわけですが,ここで長さ 32,つまり全音符の長さだけ楽譜を巻き戻して,また小節の最初から別の音符を追加しなおす,ということを宣言しています.この backup というブロックを削除して Finale で表示してみると,右手パートが1小節目の左側半分にだけ表示され,左手パートが右半分に表示されてしまいます(上下の譜面がずれた状態で表示される).

forward ブロックは backup ブロックと反対の働きをして,指定した長さだけ「先送りして書く」ことを示します.backup と forward をうまく使うことで,複数の声部の音符をうまく書き分けることができます.

なお backup ブロックによって時間が巻き戻されたあとには,左手パートの記述が続いていますが,内容については右手パートと似ているので,説明は省略します.

小節線

小節線は何も指定しなければ,通常の縦線が表示されるようです.特殊な小節線を指定したい場合は,barline ブロックを使って表示する種類を指定します.先の例では,最後の小節の中に barline ブロックがあります.

		
			light-heavy
		

barline では,bar-style ブロックによって縦線の種類を決めることができます.他にも,反復やフェルマータなどの指定もできますが,それらは今後出てきたときに個別にみていくことにします.location 属性は小節線を小節の中のどこに書くかを指定します.ただし,指定した位置と measure ブロックの中での barline ブロックの位置は,一致しなければならないと書かれています.ですので,例えば右端に書きたければ right を指定しながら,measure ブロックの最後のブロックとして barline ブロックを書かなければならないようです.location には middle, left, right が指定できるとあるのですが,middle の使い方はいまいちよくわかりません.