A-G
][!#+-
][s,g,v] [V2] (音階MML)!
,#
,+
, -
(!
がナチュラルに, #
と+
が♯に, -
が♭に相当)を つけて、音階を半音ずつずらすことが出来る。c
c+++(d+と同じ)
c-
c!+
[k.sign]
の項を参照。L
で別途指定する) がステップタイムとして用いられる。c (デフォルトの音長)
c4(四分音符)
c+8(8分音符)
.
(ドット,小数点)をつけることで、 (数字で指定した部分の)ステップタイムの半分のステップタイムを付加していく。c4.(付点四分音符)
c+4..(四分音符+8分音符+16分音符の長さ)
*
(アスタリスク)をつける。(Z~)
で変更可能)にc*48(四分音符)
c+*48..(四分音符+8分音符+16分音符の長さ)
&
(アンド記号)をつけることで、 その音階からのタイ/スラー表現を記述出来る。 ただし、スラーについては @J
も確認のこと。c4&c4 (タイ)
c4&d4 (スラー)
&
の代わりに^
(べき乗記号)を用いると、 後からどんどん音長を付加していくことができる。ただしタイのみ。 (つまり、スラーのように、音階を変化させることができない)c1^1^2 (全音符x2 + 二分音符、の長さ)
c1^*48^8 (絶対音長による指定との混在も可能)
c4,16 (音長は四分音符だが、実際の発音時間は16分音符相当。 いわゆるスタッカート)
c4,*2 (もっと短く発音する場合の例)
c,8 (このような指定も可能)
c4,2d2,2
c4,,127 (四分音符をベロシティ127で発音)
c4,*2,+10 (前の音よりベロシティを10強く発音)
c,,-20
@l1 c&d&e&f&g
@l1 cdefg
.legacy_*1_tie
0
c*0e*0g*0 / cegの和音が同時に鳴り始め、鳴りっぱなしになる
c*0&e*0&g4 / cegの和音が同時に鳴り始め、4分音符分鳴る
@u100
c*0& @u-10e*0& @u-10g4 / 構成音のベロシティを変えてcegの和音が4分音符分鳴る
c*0,,100& e*0,,-10& g4,,-10 / 3つ目の例はこのように記述することもできる
z100,-10,-10
c*0& e*0& g4 / このように記述することもできる
z100,-10,-10 "c4eg" / zmc2とzmc3ではこれでも同義
Rs
,g [V2] (休符)R
)に接続された場合、 直前の音符のタイと認識される。&
によるタイ指定が行われた時のみ意味をなす。 たとえばc4
は4分音符音長分発音し続け、休符に差し掛かる。 休符の長さは4分音符音長だがゲートタイムは8分音符に設定されているので、 前の音のc
の音は休符が始まってから8分音符音長後に消音されることとなる。R4 (四分休符)
R4..
R
R*192
R4&R
@Ws
[V2][TRACK_DELAY n]
[V3] (ウエイト・トラックディレイ)@w*64
@w4..
[TRACK_DELAY 10] (そのトラックを絶対音長10分演奏を遅らせる)
@W
はR
(休符)とは 微妙に異なり、「発音時の状態を維持する」ものであるため、 たとえばc*0& @w e や c*0& @w& e : 和音が鳴る
c*0& r e や c*0& r& e : 単音が2つ鳴る (@J0の場合)
@w
につなぐ場合に違いが出てくる。R
とは違って、 ゲートタイムを指定することはできない。[K.SIGN k1,k2,...]
[V2][KEY_SIGNATURE k1,k2,…]
[V3] (調号設定)[K.SIGN +c,+d,+f,+g] (ホ長調) cdfgに自動的に#(シャープ)がつくようになる
[K.SIGN -abde] (変イ長調) abdeに自動的に-(フラット)がつくようになる
[K.SIGN -a,+b] aに-(フラット)が、bに#(シャープ)が自動的につくようになる
[K.SIGN G-Major] / 変ト長調(cdegabに♭)
!
' を使用すれば、 一時的に調号の効力をなくすことができる。 また、調号の効力をなす音階に対してさらに #
,+
(#)や-
(♭)が付いた場合は 調号と両方考慮した音階になる。[K.SIGN -b] b! / (bには通常ならば♭が付き、b-になる (半音下がる)がここでは ! のためナチュラル指定となり bで演奏される)
[K.SIGN G-Major] b!
(この調だとbには通常ならば♭が付き、b-になる) (半音下がる)のだが ! のためナチュラル指定となり bで演奏される)
[K.SIGN -b] b- / (bには通常ならば♭が付き、b-になる (半音下がる)が、ここでは更に-(♭)がついているため b--(つまりa)で演奏される)
[K.SIGN G-Major] b-
(この調だとbには通常ならば♭が付き、b-になる) (半音下がる)のだが♭のためb--(つまりa)で演奏される)
@Jn
[V2][TIE_MODE n]
[V3] (TIEの処理モード設定)NORMAL
,SPECIAL
(ENHANCED
) [V3]c&d
とした場合、通常(@J0時)はMIDIでは &
のない c d として処理される。しかし@J1時はある音の発音後、 その音の持続音(減衰音)で次の音の音程へ変化してくれるようになる(スラー)。 つまり、c&d
はノートオフなしで繋がる。[TIE_MODE ENHANCED] (タイモードをFM音源互換モードに設定する)
On
[V2] (オクターブ指定)O-1
O3
<
>
でオクターブを相対的に+1,-1する (<
は+1し、>
は-1する)。 [zmc3]では、 .OCTAVE_MODEにより、 <
と>
の機能を逆にすることができる。O-1 < (ここではO0状態)
O3 > < (ここではO3状態)
cdefgab<c / いわゆるドレミファソラシド
Ls
[V2]@Lc
[V2] (デフォルト音長設定)L
を用いた場合パラメータは音楽的音長 (もしくは絶対音長)を用い、 @L
だと絶対音長のみとなる。 どちらも付点の併用が可能。L16.
@L96
L*2000 / この指定も可能であるため、@Lの存在意義はないかも
Qn
[V2] (ゲートタイムのレート設定)@Q
を設定した時はQ
は機能せず、 逆にQ
を設定した時は@Q
は機能しない。後に設定したものが有効となる。@Q
同様にゲートタイムを直接指定することができる。q4 cdefg / (スタッカート気味になる)
q-4 cdefg / (V3のみ; 前の音がこれから鳴る音と重なるようになる(音源によってはレガート機能が働く))
@Qn
[V2] (ゲートタイムの微調整)@Q
は機能せず Q8の状態で演奏される。 例えば @Q96 c*16 の場合は発音長が 16 - 96 < 0 となるので @Q
の処理はされず発音長は16tickとなる。c
のゲートタイムは60(=12+48)となる。@Q
を設定した時はQ
は機能せず、 逆にQ
を設定した時は@Q
は 機能しない(排他)。つまり後に設定したものが有効となる。Vn
[V2] (音量(ボリューム)の設定)V
によるボリューム指定と、 それに対応する@V
のボリューム値は以下の通り。@Vn
[V2][VOLUME v]
[V3] (音量(ボリューム)の設定)[VOLUME 42] (音量42を設定)
[VOLUME -12] (それまでの音量を12下げる)
_n
~n
[V2][@VOLUME v]
[V3] (ボリュームの相対設定)~
は音量増加を表し _
は音量減少を 表す。設定範囲は0≦n≦127で、演算の結果、 アンダーフローを起こした場合は0へ、 オーバーフローを起こした場合は127へ修正される。 また計算は@Vnで表される絶対音量レベルで行われる。[@VOLUME]
は、 [VOLUME]
とは違い、 先頭に+,-をつけなくても相対指定としてみなされる。@v120 _10 c _ d ~ e (cは@120 - 10 = @v110で、dは@v110 - 10 = @v100で、 eは@v100 + 10 = @v110で演奏される)
|:10
_10 c :| (段々と音量が下がりながらcが演奏される)
[@VOLUME 12] (それまでの音量を12上げる)
[@VOLUME -12] (それまでの音量を12下げる)
Un
/ @Un
[V2][VELOCITY n]
[V3][@VELOCITY n2]
[V3] (ベロシティの設定)Un:f
/ @Un:f
[zmc2][VELOCITY n:f]
[zmc3] (ベロシティのゆらぎつきでの設定)[@VELOCITY]
では、 指定値n2は無条件に相対値と見なされる。@u
の場合は以前設定した相対値が補われる。 初期値は+1。 同様にu
の場合は最後に設定した@u
の値を再設定する。@u
の代わりに[VELOCITY]
を使用することができる。u
と@u
の違いは、 演奏時にリアルタイムに考慮されるか否か、 ループの影響を受けるか受けないかといったところにある。@u100|:4 @u+5 c :| / 4回ともベロシティ105
@u100|:4 u+5 c :| / ベロシティ105,110,115,120で演奏
@u5 |:3 @u+50 c u-5:| d / ベロシティ55が3回でc、ベロシティ50でd
@u110|:10 u+2 c :|u e / eはベロシティ110
[VELOCITY 42] (ベロシティを42に設定)
[VELOCITY -12] (それまでのベロシティを12下げる)
[@VELOCITY 12] (それまでのベロシティを12上げる)
[@VELOCITY -12] (それまでのベロシティを12下げる)
@u105
で c
が演奏されますが@u105
, @u110
, @u115
, @u120
でそれぞれ演奏されます。@u
と u
はまったく別です。 ですから@u55
で3回 c
が演奏され @u50
で d
が演奏されます。u
のみの指定は、 それまでに最後に設定した @u
をもう1回設定するのでe
は @u110
で演奏されます。@U
相対ベロシティを使用した場合は @U
の値自体が変化してしまうので、 U
のみの設定は余り意味を持たなくなります。 この例ならば e
は d
と同じく @U108
(110-2)で演奏されます。U
, @U
を使い分ければ、 複雑で高度なシーケンスをすることが出来ます。 @u
は、ループなどの影響を受けない大局的な設定、 u
はループ等の影響を受ける局所的な設定というわけです。[VELOCITY]
と[@VELOCITY]
は 単に絶対値指定か相対値指定かの違いだけで、 U
と@U
に相当する違いはありません。Zn1,...
[V2] (ベロシティの先行指定)Zn1:f1,...
[zmc2] (ベロシティのゆらぎつきでの先行設定)z127,99,80 cdefg
cはベロシティ127で、dはベロシティ99で、eはベロシティ80で、 fは再びベロシティ127で、gはベロシティ99で発音される。
z127:10,99:5,80 cdefg
cはベロシティ127±10で、dはベロシティ99±5で、eはベロシティ80±5 (ゆらぎ値省略時は直前の指定値を流用)で、 fは再びベロシティ127±10で、gはベロシティ99±5で発音される。
@U
と全く同様に機能する。 数値の頭に±を記述すれば相対指定が可能である。 数値を全く書かずに 'Z
'のみ記述するとベロシティ・シーケンスのOFFと解釈される。 また、ベロシティコマンド@U
/ U
を使用してもベロシティ・シーケンスは解除される。z99,100,127 |:100 c :| d e
[VELOCITY.REVISE type, power]
[zmc2] (ベロシティ補正)[VELOCITY.OFFSET o]
[zmc3] (ベロシティオフセット設定)[VELOCITY]
で指定した値に[VELOCITY.OFFSET]
で指定したオフセット値を加えたものが用いられる。 オフセット値を加えた値が127を越える場合や、 -128を下回る場合は、それぞれ127,-128に補正される。[velocity.offset -10] z120,100,90,80 cdef
(cのベロシティは110, dのベロシティは90,...相当となる)
Tn
[V2][TEMPO t]
[V3] (テンポの設定)[@TEMPO t]
[V3] (相対テンポ設定)[@TEMPO]
を用いると、 指定値に±がなくてもテンポの相対指定となる。 演算の結果有効範囲を超えてしまった場合は、 設定可能範囲内に自動修正される。[TEMPO 200] (テンポ200を設定)
[@TEMPO -20] (現在のテンポに20を引いた値を設定)
@n
[V2], [TIMBRE n]
[V3], [PROGRAM n]
[V3] (音色の設定 その1)@n1,n2
[V3], [TIMBRE n1,n2]
[V3], [PROGRAM n1,n2]
[V3] (音色の設定 その2)@n1:n2,n3
[V3], [TIMBRE n1:n2,n3]
[V3], [PROGRAM n1:n2,n3]
[V3] (音色の設定 その3)@"program str.."
[zmc3], [TIMBRE "program str.."]
[zmc3], [PROGRAM "program str.."]
[zmc3], (音色の設定 その4)[TIMBRE 25] (音色番号25を設定)
[TIMBRE 4,25] (バンク4の音色番号25を設定)
[TIMBRE 4:4,25] (バンク4:4の音色番号25を設定)
Im,l
[V2][TIMBRE_BANK n1,n2]
[V3][PROGRAM_BANK n1,n2]
[V3]i0 @128
[TIMBRE_BANK 0] @128 (バンク0の音色番号128に設定)
i0,12 @11
[TIMBRE_BANK 0,12] @11 (バンク0,12の音色番号12に設定)
[TIMBRE_SPLIT sw b1,t1,m1,n1, b2,t2,m2,n2, ... b8,t8,m8,n8]
[V3][PROGRAM_SPLIT sw b1,t1,m1,n1, b2,t2,m2,n2, ... b8,t8,m8,n8]
[V3]OFF
,ON
OFF
で機能解除、 sw=ON
で機能有効に設定する。ON
が指定されたとみなす。 また、 OFF
を指定した場合には以降のパラメータを記述する必要はない。 なお、swには数値は与えられない点に注意。[TIMBRE_SPLIT ON,0,32,o4c,o5c, 8,32,o2c,o3b ]
O4C~O5Cの音符はバンク0,音色番号32で
O2C~O3Bの音符はバンク8,音色番号32で
演奏する。 その他の音域の音符に関してはそれまでに設定されている音色で演奏する。
[TIMBRE_SPLIT.SWITCH sw]
[V3][PROGRAM_SPLIT.SWITCH sw]
[V3]ON
,OFF
[TIMBRE_SPLIT]
のswと同様に文字パラメータを与えることもできる。 この場合はsw=OFF
で機能解除、 sw=ON
で機能有効となる。[TIMBRE_SPLIT.SWITCH off] (TIMBRE_SPLITを機能解除する)