DeviationInstanceXMLの仕様(2007月12月5日現在) 1. トップレベルタグ トップレベルタグはdeviationである. 2. deviation要素 deviation要素はnon-partwise, partwise, notewise, extra-notesの各子要素を持つ. DTD記述: deviation要素はtarget, init-silenceの各属性を持つ. target属性は当該DeviationInstanceXMLドキュメントに対応するMusicXMLドキュメントの ファイル名を記述する.必須属性である. init-silence属性は最初の無音区間(最初の音符が演奏されるまでの区間)の長さを 秒単位で指定する.指定されていない場合は0とみなす. DTD記述: # xmlns:xlink属性は名前空間の指定で,説明はここでは省略. 3. non-partwise要素 non-partwise要素は,各楽器パート全体に影響を及ぼすdeviation情報を記述するもので, 現バージョンではtempoとtempo-deviationが存在する. non-partwise要素は,0個以上のmeasure要素を持ち, 各measure要素は,0個以上のcontrol要素を持つ. また,各measure要素はnumber属性を持ち,小節番号を指定する. 各control要素は,tempo要素あるいはtempo-deviation要素を持つ. control要素は,beat属性を持ち,拍位置を指定する. 拍位置の指定は実数の利用が認められており, beat="1.5"は1拍めと2拍めのちょうど間の位置を意味する. DTD記述: # 上記内のextra-noteやpedalは後述. tempo要素,tempo-deviation要素ともに,子要素としてテキストを持ち, ここで値を指定する. tempo要素はテンポをBPMで指定する. tempo-deviation要素は,テンポをtempo要素で指定された値に対する割合で指定する. tempo-deviation要素は,その拍内でのみ有効である. (拍が変わったらtempo-deviation=1.0に戻る) DTD記述: 4. partwise要素 partwise要素は,特定の楽器パートに影響を及ぼすdeviation情報を記述するもので, 現バージョンではpedalのみ対応している. partwise要素は,0個以上のpart要素を持ち,各part要素はid属性を持つ. ここに,MusicXMLドキュメント内のpart要素に付与されたid属性を指定することで, どの楽器パートに対するdeviation情報かを指定する. part要素は,0個以上のmeasure要素を持ち,各measure要素のnumber属性で 小節番号を指定する.non-partwiseの場合と同様に, 各measure要素は0個以上のcontrol要素を持ち, 各control要素のbeat属性で拍位置を指定する. DTD記述: 各control要素は,pedal要素を持つ. pedal要素はいかなる子要素も持たない. pedal要素はactionとdepthの2つの属性を持つ. action属性は,on, off, continueのいずれかの値を持つ. onはペダルを踏んだこと,offはペダルを戻したこと, continueはペダルを踏んでいる状態で踏み量を変化させたことを表す. action属性は必須属性である. depth属性はペダルを踏む深さを0.0〜1.0の範囲で表す. 省略した場合は,depth="1.0"とみなされる. ただし,action="off"のときは,depth属性は無視される. DTD記述: ※PEDB 1.0に収録される楽曲にはペダルが使用されているものがないため,  これらの要素は登場しない. 5. notewise要素 notewise要素は,note-deviation要素,chord-deviation要素,miss-note要素の いずれかを0個以上,子要素として保持する. DTD記述: 6. note-deviation要素 note-deviation要素は,attack要素,release要素,dynamics要素,end-dynamics要素を この順で,子要素として保持する. DTD記述: attack要素,release要素,dynamics要素,end-dynamics要素のいずれも 実数を表すテキストを子要素として持つ. attack要素は楽譜上のnote on時刻からのずれを, release要素は楽譜上のnote off時刻からのずれを記述する. 両方とも,4分音符1個分の長さを1.0としたときの値を用い, 値が大きいほど実際の発音時刻が後ろであることを表す. dynamics要素とend-dynamicsは鍵盤を押すときと離すときの強さを表す. これらは本来,別途定められた基準値からの相対値で表すものであるが, 現バージョンでは基準値がベロシティ100に相当する強さを1.0としているため, dynamics要素,end-dynamics要素の値は,ベロシティの値を100で 割ったものになる. DTD記述: note-deviation要素は,xlink:href要素を持つ. ここに,当該要素に対応するMusicXMLドキュメント内でのnote要素への XPointer式を記述する. DTD記述: 7. chord-deviation要素とmiss-note要素 chord-deviation要素は,和音全体に一括で反映されるdeviation情報で, 形式はnote-deviationと同様である. xlink:href属性には,当該和音の構成音のうち,MusicXMLドキュメント内で 最初に出てくるnote要素へのXPointer式を記述する. DTD記述: ※PEDB 1.0のDeviationInstanceXMLドキュメントでは使用されていない. miss-note要素は,楽譜(MusicXMLドキュメント)にはあるが,弾かれなかった 音を表すもので,xlink:href属性に当該音へのXPointer式を記述することで 指定する. miss-note要素はいかなる子要素も持たない. DTD記述: 8. extra-notes要素 extra-notes要素は,楽譜には書かれていないが弾かれた音を記述するのに 用いられる. extra-notes要素内の形式は,partwise要素内のそれと似ている. extra-notes要素は,0個以上のpart要素を持つ. 各part要素はid属性を持ち,MusicXMLドキュメント内で定義された各パートのID情報を 記述する. part要素は,0個以上のmeasure要素を持ち,各measure要素のnumber属性で 小節番号を指定する. 各measure要素は,0個以上のextra-notes要素を持ち, 各extra-note要素のbeat属性で拍位置を指定する. DTD記述: extra-notes要素内におけるmeasure要素のnumber属性の値が"-1"のとき, 最初の小節が始まる前であることを示す. init-silence属性が比較的大きな値をとるとき, この初期無音区間の中にextra-noteを挿入することができ, そのときにmeasure要素のnumber属性が"-1"をとる. この場合,extra-note要素のbeat属性には,発音時刻を テンポを120としたときの拍位置に変換して記述する. 9. extra-note要素 extra-note要素は,楽譜には書かれていないが弾かれた音の各々を表す. extra-note要素が持つべき属性は上記の通り. extra-note要素は,pitch, duration, dynamics, end-dynamicsの各要素を この順で保持する. DTD記述: pitch要素は,MusicXMLにおけるpitch要素と同様の方法で記述する. すなわち,step, alter, octaveの各要素を持ち, step要素が音名,alter要素がシャープやフラットなどによる音高の変化, octave要素がオクターブ番号を表す. DTD記述: duration要素は,音符の長さを4分音符1個分を1.0としたときの実数値で指定する. DTD記述: dynamics要素,end-dynamics要素は,6.と同様である.