note形式について
土橋佑亮  2004年 7月28日
        
note形式とは"表情の付いた演奏情報を記述する"ためのデータ記述形式である.つまり楽譜上には表せないような,人間による自然な演奏をも表現することができる.ここではこのnote形式について簡単に説明する.
     

  note形式の基本的な構成は次の図1のようになる.

Header {
BEAT 4/4
BPM 96 4
TACTUS 1
}
-0.50 Damper 120
0.00  (+0.10 m C4 64 0.75 +0.12 )
0.75  (+0.08 m D4 70 0.25 +0.10 )
1.00  ( -0.05 m C4 66 0.50 -0.08 )
1.50  BPM 90.5 4
1.50  (+0.02 m E4 74 1.00 -0.10 ) (+0.01 m G4 80 1.00 -0.11)
2.50  (+0.08 m E4 54 0.50 +0.12 ) (+0.10 m G4 60 0.50 +0.22)
3.00  (+0.34 m G4 70 5.00 +0.15) (+0.05 m C5 80 5.00 +0.12)
END
図1 note形式の基本的構成

まずはHeader部分の説明をしていこう. (注意)拍子記号の分母の数字=拍として選ばれた音符
    拍子記号の分子の数字=1小節内に単位となった拍がいく
               つあるのか
BEAT 拍子を記述している 表記方法は(拍子記号の分子/拍子記号の分母)
*ここで拍として選ばれた音符がボディ部分の表記の時間単位1.0にあたることになる.
つまり図1の場合,拍子記号の分母が4より,4分音符の長さが時間情報の1.0になる.
BEAT 6/8の表記の場合には拍子記号の分母が8より,8分音符が時間情報の1.0にあたる.
BPM 曲のテンポを記述している 表記方法は(BPM値/BPM基準拍)
*BPMはBeat/Minutes,つまり1分間に何回基準のBEATとなる音符(拍子記号の分母の数字で表される長さの音符.今回この数字をBPM基準拍という)を演奏することになるのかを表す.これは次に説明するBEATTIMEでも代用できる.
BEATTIME 曲のテンポを記述している 表記方法は(拍時間/基準拍)
*これ曲のテンポを表すがBPMとは表現が異なり,こちらは基準値となる音符(同じく拍子記号の分母の数字で表される長さの音符.今回この数字を基準拍という)を1音演奏するのにかかる時間を表す.単位はミリ秒(1/1000秒)である.
TACTUS 拍打回数を記述している 表記方法は(拍打回数/基準拍)
*例えば TACTUS 1 4 と表記された場合,四分音符あたりの拍打回数が1回である(四分音符あたりに1回手拍子を打つ)ことを表す.
また,これらの表記はHeader以外にBodyの中にも表記することができる.
上の例においての表記(1.50  BPM 90.5 4)は時間軸上の1.50(後で詳しく述べる)のところでBPMが90.5に変更されたことを表している.

それでは次にメインとなるBody部分を見ていこう.
図2を見てほしい

これは図1による例において,いつどのように音が鳴っているのかを図に簡単に表したものである.
 
図2では,楽譜上で表すことのできる固定的な音の長さを黒のラインで,note形式ならば表現できる実際の演奏状況を赤のラインで表した.

注意して欲しいのは横軸のtの値である.この数値の1.0はHeaderのBEATの説明でも述べた,基準となる音符1音分の長さにあたる.つまり4分音符が基準の場合,4分音符は1.0,8分音符は0.5の長さにあたる.
つまりここでのtは相対的な音の長さを単位とした時間軸を表すものであり,実際の時間上の長さはこれにBPMやBEATTIMEが関わってくることになる.
図2 図1における演奏状況
 ではここからはBody内の表記方法を見ていこう.
ここでは例としてBodyの4行目,1.00  ( -0.05 m C4 66 0.50 -0.08 )をあげてみることにする.
この書式は以下のように対応されている.
           スタート時刻 (On_devi  Ident  Pitch  Vel  Len  Len_devi)

1.00(スタート時刻)これはこの音の発音が行われる基準時刻を表す.あくまで基準時刻であり,実際に発音が行われる時刻はこの数字に
-0.05(On_devi)を加えた時刻となる.
次にその音の長さであるが,基準となる
0.50(Len)はあくまで想定していた長さであり,実際は-0.08(Len_devi)を加えた長さになる.また,ここで注意してほしいのは,Lenで記述された音の長さは(拍子記号の分母の数字によって決められた)拍として選ばれた音符が1音なる長さを1.0として定めていることである.

図でまとめてみることにしよう
図3 note形式で表現できる音の長さ

では残りの表記について見てみよう.

m(Ident) :音符を識別するための識別子.一般的にこの音符が主旋律か伴奏なのかを表す.
       伝統的には主旋律の音符にm,伴奏にaを書くことが多いが,任意の文字列を書くことができる.

C4(Pitch) :前半Cは音名を表す.Cならばドのこと.CDEFGAB,#,♭,X,♭♭が用いられる.
      そのあとの数字4はオクターブの数値(この場合C4は一点ハ音)を表す.また,ここにRestと
      書き入れることで休符,すなわち音高のない音符を記述することができる.

66(Vel)  :これは発音の強さを表す数値である.
       MIDIのベロシティと同じで1(最小)〜127(最大)の整数で表す.
※1.50  (+0.02 m E4 74 1.00 -0.10 ) (+0.01 m E4 80 1.00 -0.11)などのように
 同時に2つの音表記がある場合は同時に2音鳴っていることを意味する.
最後に -0.50 Damper 120  はDamperペダルの踏み具合を表す.
-0.50は踏み込んだ時刻(基準とした時刻0.00より0.50前に踏み込んでいた)を表し,これ以降次のDamper記述があるまで継続する.踏み込み具合は0(開放)〜127(最深まで踏み込む)で表す.

(付録)図1で示したデータの演奏を聞き比べてほしい。
     sample_normal_def.mp3 は楽譜通りの演奏をしたもの。
     sample_note_def.mp3 はnote形式のデータによって演奏したものである。