V3MMLmanual

2.7 u[1],[2]:音符の周波数番号指定

← 目次

【記述例】ピッチスケール設定が、type=12_TET,halftone_reso=100, の場合

【8分音符のオクターブ4の「ド#」】
u4900,8
【付点16分音符のオクターブ4の「ラ♭」】
u5600,16.

付点を1個つけた場合は1.5倍、2個付けた場合は1.75倍の音長になります。

【2種類の音長表現】
u5600,4&8&16
u4800,%96

上記2種類は同じ長さです。

【音長96tickカウントのオクターブ4の「ド」】
u4800,%96
【初期設定音長を使った記述】
l4 u4800 u5000,8 u5200,8 u5300 u5500

上記の場合、u4800、u5300、u5500 の音長が4分音符になります。

【ポルタメント記述】
u4800_u5700,4&u5700,1

上記の場合、o4c から o4a まで4分音符でポルタメントし、そのあと全音符で o4a を維持します。

【解説】

周波数番号を指定することで、ノートオンします。
指定する引数は次の通りです。

引数はカンマで区切って指定します。カンマとlengthの組は省略できます。

引数[1](freqNo)

発音したい音程(周波数番号)を、数値で指定します。
指定する数値のパターンは、MMLで指定したピッチスケール(psコマンド)の設定内容(type指定)によって変わります。

type=12_TET または
type=12_TET_trunc のとき(12平均律):

freqNo は、音程番号×halftone_reso で指定します。
この場合の freqNo は、小数以下の指定も受け付けます。
例えば、halftone_resoが 100 ならば、オクターブ4のラの4分音符の記述は次のようになります。

u5700,4

type=f_number のとき(Block/F-Number):

freqNo は、14ビットの整数値で指定します。
14ビットのうち、上位3ビットはBlock(オクターブ相当)で、0 〜 7 の範囲で指定できます。
下位11ビットは F-Number で、1〜2047 の範囲で指定できます。F-Number には 0 は指定できないので注意してください。
したがって、この場合の freqNo は、14ビットの数値である 0 〜 16383 のうち、下位11ビットが0にならない値が設定可能なものになります。
また、この場合の freqNo は、通常の10進数の整数指定のほか、接頭語に「0x」を付けることで16進数で記述することもできます。例えば、次のようになります。

u0x2410,4

type=divrate_octavelast または
type=divrate_octavefirst または
type=divrate_fullkey のとき(PSG分周比):

freqNo は、0より大きい、31ビットの整数値で指定します(0は指定不可)。
#MB:PITCHSCALEで定義したPSG分周比のビット幅に合うよう指定してください。また、接頭語に「0x」を付けることで16進数で記述することもできます。例えば、次のようになります。

u0x8d,4

type=steprate_mode0 または
type=steprate_mode1 または
type=steprate_mode2 のとき(WSGステップレート):

freqNo は、0より大きい、31ビットの整数値で指定します(0は指定不可)。
#MB:PITCHSCALEで定義したWSGステップレートのビット幅に合うよう指定してください。また、接頭語に「0x」を付けることで16進数で記述することもできます。

引数[2](length)

freqNo の後にカンマで区切って、発音したい音長を整数で指定します。