@Mlv1,lv2,...,lv8 |
ピッチモジュレーション設定 |
|---|---|
[VIBRATO.DEPTH mode, dp1,
dp2, ... , dp8] |
[未実装] ビブラート振幅 |
[VIBRATO.DEEPEN sw, spd,
dpn, rpt] |
[未実装] ビブラート振幅増加 |
[VIBRATO.SPEED sp1,
sp2,
.... , sp8] |
[未実装] ビブラート・スピード(周期) |
[VIBRATO.DELAY dl0,
dl1,
.... , dl8] |
[未実装] ビブラート・ディレイ |
[VIBRATO.WAVEFORM w] |
[未実装] ビブラート・波形選択 |
[VIBRATO.SWITCH mode] |
[未実装] ビブラートスイッチ |
[VIBRATO.SYNC m, c] |
[未実装] ビブラート同期モード |
[VIBRATO.MODE mode] |
[未実装] ビブラートモード |
| ARCCとは? | |
@Cc,r.m | ARCC コントロールチェンジ登録 |
@Alv1,lv2,...,lv8 | ARCC 振幅設定 |
[ARCCn.LEVEL mode,
lv1,lv2,…,lv8][ARCCn.DEPTH mode,
lv1,lv2,…,lv8] |
ARCC振幅設定 |
[ARCCn.DEEPEN
sw,spd,dpn,rpt] |
ARCC振幅増加) |
[ARCCn.CONTROL ctrl] |
ARCCコントロールチェンジ設定 |
[ARCCn.ORIGIN org] |
ARCC波形の原点設定 |
[ARCCn.RESET rst] |
ARCC波形の初期化値の設定 |
[ARCCn.SPEED
sp1,sp2,…,sp8] |
ARCCスピード(周期) |
[ARCCn.DELAY
dl0,dl1,…,dl8] |
ARCCディレイ |
[ARCCn.WAVEFORM w] |
ARCC波形 |
[ARCCn.SWITCH mode] |
ARCCスイッチ |
[ARCCn.SYNC m,c] |
ARCC同期モード |
[ARCCn.MODE mode] |
ARCCモード |
[ARCCn.PHASE mode] |
ARCC波形位相制御 |
[ARCCn.OFFSET o] |
ARCC オフセット値 |
@Hm,a | ピッチモジュレーション/ARCC ディレイ値設定 |
|---|---|
@Sm,a | ピッチモジュレーション/ARCC スピード設定 |
Sm,a | ピッチモジュレーション/ARCC 波形設定 |
Hm,a | ピッチモジュレーション/ARCC 同期モード設定 |
Mm,a | ピッチモジュレーション/ARCC モード設定 |
@Mlv1,...,lv8 または (2) @Mlv [V2]
(ピッチ・モジュレーションの振幅設定)
ピッチ・モジュレーション(音程を細かく震わせる)の振幅設定を行う。
- @m60,,,50,127
- @m,,,,127
- @m,,120,-10,+5
初期値はいずれのモードにおいても0。 また全ての値を省略した場合はモジュレーション解除のスイッチとなる。
@m / モジュレーション解除
[VIBRATO.DEPTH mode, dp1,
dp2, ... , dp8] [V3]
[未実装]OFF, 1/8,
OPTIONAL, ON
ビブラートの振幅の設定をdp1〜dp8において行う。
基本MMLの@Mとほぼ同等の機能だがmodeが設定できるのが特徴。
modeとはビブラートの動作方式を設定するもの。
以下にmodeと対応する動作を示す。
ONOFF1/8OPTIONAL[VIBRATO.DELAY]で行う。
modeは省略するとスイッチはそれまでの設定を保持したままとなる。
dp1〜dp8のビブラート振幅は任意の位置で省略可能で、 数値の頭に±を付けることによって相対的な値の指定も可能。例えば
といった記述ができる。省略した部分は前の値を持続するということになり、 その間は振幅の変更は行われない。
相対指定時にオーバーフロー/アンダーフローを起こした値は、 有効範囲内の最大値,最小値に修正される。
[VIBRATO.DEEPEN sw, spd,
dpn, rpt] [V3]
[未実装]OFF, ON
ビブラートの振幅の増加/減少を設定する。
OFF, ONOFFで無効に、ONで有効に設定される。
[VIBRATO.SPEED sp1, sp2,
.... , sp8] [V3]
[未実装]
ビブラートの振動速度を設定する。
基本MMLの@Sとほぼ同等の機能を持つが、
最大8つの振幅変化に対応した振動速度変化の設定が行えるのが特長。
設定範囲は1≦sp1〜sp8≦32767。
実際の波形にどう影響するかは拡張MML[VIBRATO.WAVEFORM]の項で解説するが、
値が小さいほど高速に、値が大きいほど低速に音が振動する。
sp1〜sp8の振動速度は任意の位置で省略可能だが、 初期値を持たないので注意。
[VIBRATO.DELAY dl0, dl1,
.... , dl8] [V3]
[未実装]
ビブラートの動作モードの一つである
「OPTIONAL」モードにおけるビブラートの振幅切り換えタイミングを決定する区間時間の設定を行う。
基本MML @Hに相当する機能。
dl0は最初のビブラートがかかるまでのディレイ(遅延時間)に相当し、 絶対音長値で指定する。有効範囲は0〜32767。初期値は0。 dl1〜dl8は次の振幅切り換えまでの区間時間で、 これも絶対音長値で指定する。有効範囲は0〜65535。初期値は無し。
dl0〜dl8の任意のものを省略可能だが、 dl1〜dl8は初期値を持たないので注意。
[VIBRATO.WAVEFORM w] [V3]
[未実装]
ビブラート波形を選択する。基本MMLのSと同等の機能。
w=0〜4はプリセット波形に割り当てられている。
またはプリセット波形はSAW (w=0:鋸歯波に対応)SQUARE (w=1:矩形波に対応)TRIANGLE (w=2:三角波に対応)S.SAW (w=3:ワンショット鋸歯波に対応)RANDOM (w=4:ランダム波に対応)初期値はw=2の三角波。
w=5〜7はリザーブ。
w=8〜32767はユーザー定義波形となる。
ユーザー波形の登録については、
共通コマンド部の.WAVE_FORM参照。
以下に波形と各パラメータとの関係を示す。
@M: 振幅
[VIBRATO.DEPTH]@H: ディレイ
[VIBRATO.DELAY]@K: ディチューン
@S: 速度
[VIBRATO.SPEED]波形番号0:鋸歯波(SAW) (振幅が正の時) _ /| /| /| /| /↑@M @K→____/ | / | / | / | / ↓ ←──→ | / | / | / | /  ̄ @H |/ |/ |/ |/| | | @S 波形番号0:鋸歯波 (振幅が負の時) |\ |\ |\ |\ @K→____ | \ | \ | \ | \ _ ←──→\ | \ | \ | \ | \ ↑ @H \| \| \| \| |\↓@M | | ̄ @S 波形番号1:矩形波 (振幅が正の時) | ̄ ̄| | ̄ ̄| | ̄ ̄| | ̄ ̄| @K→____| | | | | | | | _ ←──→ | | | | | | | ↑@M @H |__| |__| |__| |__ ↓ | |  ̄ @S 波形番号1:矩形波 (振幅が負の時) _ | ̄ ̄| | ̄ ̄| | ̄ ̄ ↑@M @K→____ | | | | | ↓ ←──→| | | | | |  ̄ @H |__| |__} |__| | | @S 波形番号2:三角波 (振幅が正の時) _ /\ /\ / ↑@M @K→____/ \ / \ / ↓ ←──→ \ / \ /|  ̄ @H \/ \/ | | | @S 波形番号2:三角波 (振幅が負の時) /\ /\ @K→____ / \ / \ _ ←──→\ / \ / |\ ↑@M @H \/ \/ | \ ↓ | | ̄ @S 波形番号3:鋸歯波シングル (振幅が正の時) _____________ /↑@M @K→____/| ↓ ←──→| |  ̄ @H @S 波形番号3:鋸歯波シングル (振幅が負の時) @K→____ _ ←──→\ ↑ @H |\↓@M | | ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ @S 波形番号4:ランダム波 (振幅が正の時) 波形番号8〜32767:ユーザー波形 (振幅が正の時) 波形データ列が+5,−5,+10,+3,0の場合・・・ +10*@M/32 +5*@M/32 | ̄ ̄| | ̄ ̄| | |__+3*@M/32 @K→────| | | |── ←──→ |__| 0*@M/32 @H -5*@M/32 ←→ @S 波形番号4:ランダム波 (振幅が負の時) 波形番号8〜32767:ユーザー波形 (振幅が負の時) 波形データ列が+5,−5,+10,+3,0の場合・・・ +5*@M/32 | ̄ ̄| 0*@M/32 @K→────| | | |── ←──→|__| | | ̄ ̄ @H -5*@M/32 |__| -3*@M/32 -10*@M/32 ←→ @S
[VIBRATO.SWITCH mode] [V3]
[未実装]OFF, 1/8,
OPTIONAL, ON
ビブラートの動作制御を行う。
modeは[VIBRATO.DEPTH]のパラメータのmodeと同等。
modeは数値で与えることもでき、
この時は0=OFF, -1=1/8,
1=OPTIONAL, 2=ONに対応する。
[VIBRATO.SYNC m, c] [V3]
[未実装]OFF, ON 同期モード
ビブラート波形の初期化(リセット)タイミングの設定を行う。
基本MML Hに相当する機能を持つ。
mは同期モードの設定値。
0は非同期,1は同期に対応し、
0と1はそれぞれ文字列OFF,ONにも対応する。
mをON,
OFFといった文字列にて設定することも可能。
「同期」に設定した場合は新しく発音するたびにビブラート波形の初期化を行う。 「非同期」にした場合は発音と無関係にビブラートを続行する。
mは数値指定では0,1以外に、 以下のように2進数で設定すればより高度な初期化設定が行える。 []は初期設定を表す。
| 第0ビット | 発音と同時にリセット | 0:しない [1]:する |
| 第1ビット | タイでもリセット | [0]:しない 1:する |
| 第2ビット | 休符でもリセット | [0]:NO 1:YES |
| 第3ビット | 波形はキーオン毎に進行する | [0]:NO 1:YES |
| 第4ビット | 波形は休符でも進行する | [0]:NO 1:YES |
上から分かるようにmの初期値は1となっている。
cは同期ディレイにあたり、 実際にはmで指定した条件がc回成立すると波形が初期化されることになる。cの初期値は1。
[VIBRATO.MODE mode] [V3]
[未実装]NORMAL,
FM,
MIDI ビブラートモード
Z-MUSICではMIDIでのビブラート制御モードを2つ持っており、
本命令はこのモード選択をするもので、
基本MML Mに相当する。
ビブラートについての詳解は基本MML Mの項を参照のこと。
NORMAL[VIBRATO.DEPTH]で指定できる振幅の範囲は0≦@M≦127。
FM[VIBRATO.DEPTH]で指定される振幅は、半音=64として作用する。
[VIBRATO.DEPTH]で指定できる振幅の範囲は-768≦@M≦768。
MIDI[VIBRATO.DEPTH]で指定される振幅は、そのまま14bitのMIDIのピッチベンダー値となる
(ベンドレンジ=12の時、半音≒683)。
[VIBRATO.DEPTH]で指定できる振幅の範囲は-8192≦@M≦8191。
※注意:
本命令を実行するとそれまで設定されていた振幅
([VIBRATO.DEPTH]の値)は無効となる。
ZMUSICでは、任意のコントロール・チェンジ番号を
@Cコマンドで登録しておき、
@Aコマンドでそのコントロールチェンジにデータを送信することで、
MIDI音源をリアルタイムにコントロールすることができる。
この機能をアサイナブル・リアルタイム・コントロール・チェンジ
(Assignable realtime control change, ARCC)と呼んでいる。
コントロール方法は以下の3通りに大別できる。
@Cc,r,m
[V2]
(コントロールチェンジ登録)
ARCC用に、任意のコントロール・チェンジナンバーcを選んで登録する。
コントロール・チェンジ番号の有効値はMIDI楽器によって異なるので、
各楽器のマニュアルのインプリメンテーション・チャートを参考のこと。
ARCCの実行を解除した時に登録したコントロール・チェンジcに対して、
リセットという意味でなんらかの値を設定することができる。
その設定する値というのがパラメータrで、
省略時は0となる。
設定範囲は0≦r≦127。
後述の拡張ARCCモード使用時にはプリセット波形やユーザー波形が使用可能となるが、
その波形の基準値となるのがmである。
なお、初期設定ではc=11(Expression), r=m=127 である。
@Alv1,...,lv8
または (2) @Alv [V2]
(コントロールチェンジへの送信値指定)
発音後音長の1/8時間単位で先述の@Cコマンドで登録したコントロール・チェンジへ値を送信し音源を制御することが出来る。
値の設定範囲は0≦lvi≦127。
(拡張ARCCモード時には設定範囲は−127≦lvi≦127)
値は任意の位置で省略可能、8個まで記述でき、相対指定も可能で
- @a60,,,50,127
- @a,,,,127
- @a,,120,-10,+5
といった記述が出来る。
こちらのモードを指定した場合は後述のディレイ・コマンドで設定したディレイ値は無視される。
初期値はいずれのケースにおいても0。 また全ての値を省略した場合はARCC解除のスイッチとなる。
@a / ARCC off
@c11,127,127 s,3 m,1 @s,20 @h,20 @a-80 a1
/ note onして20tick後Expression(音量)が小さくなっていく
@c10,64,127 s,2 m,1 @s,10 @h,0 h,1 @a127 c1d1e1
/ 発音とは無関係にパンポットを左右に振り回し続ける
[ARCCn.LEVEL mode,
lv1,lv2,…,lv8]
[V3][ARCCn.DEPTH mode,
lv1,lv2,…,lv8]
[V3]
(ARCC振幅)
OFF,1/8,
OPTIONAL,ON ARCC動作方式
ARCCの振幅設定を行う。基本MMLの
@Aとほぼ同じ機能だが
@AはARCC1に対しての設定しか行えないのに対して、
本命令は各トラック独立動作させることのできる4つのARCCコントローラーに対して個別にパラメータを設定できる。
nはARCC番号で設定範囲は1〜4。
modeとはARCCの動作方式を設定するもの。 以下にmodeと対応する動作を示す。
ONOFF1/8OPTIONAL[ARCCn.DELAY]で行う。
modeは省略するとスイッチはそれまでの設定を保持したままとなる。
lv1〜lv8のARCC振幅は任意の位置で省略可能で、
数値の頭に±を付けることによって相対的な値の指定も可能。
例えば
[ARCCn.LEVEL optional 64,,-10,+5]
といった記述ができる。
省略した部分は前の値を持続するということになり、
その間は振幅の変更は行われない。
相対指定時にオーバーフロー/アンダーフローを起こした値は有効範囲内の最大値,最小値に修正される。
- [ARCC1.LEVEL 1/8 0,0,10,20,30]
modeを1/8とし、lv1=0,lv2=0,lv3=10,lv4=20,lv5=30と設定した。
lv6,lv7,lv8は省略(未設定)。
[ARCCn.DEEPEN
sw,spd,dpn,rpt]
[V3]
(ARCC振幅増加)
OFF,ON ARCC動作スイッチ
ARCCの振幅の増加/減少を設定する。
OFF,ONOFFで無効に、
ONで有効に設定される。
- [ARCC1.DEEPEN ON,6,+8,10]
(ARCC1を増減スピード6で10回振幅を8増加させる)
[ARCCn.CONTROL ctrl]
[V3]
(ARCCコントロールチェンジ設定)
@Cとほぼ同等の機能だが
@CはARCC1に対しての設定しか行えないのに対して、
本命令は各トラック独立動作させることのできる4つのARCCコントローラーに対して個別にパラメータを設定できる。0=BANK_MSB 1=VIBRATO 2=CTRL2 3=CTRL3 4=CTRL4 5=PORTAMENT_TIME 6=DATA_ENTRY_MSB 7=VOLUME 8=CTRL8 9=CTRL9 10=PANPOT 11=EXPRESSION 12=CTRL12 13=CTRL13 14=CTRL14 15=CTRL15 16=CTRL16 17=CTRL17 18=CTRL18 19=CTRL19 20=CTRL20 21=CTRL21 22=CTRL22 23=CTRL23 24=CTRL24 25=CTRL25 26=CTRL26 27=CTRL27 28=CTRL28 29=CTRL29 30=CTRL30 31=CTRL31 32=BANK_LSB 33=CTRL33 34=CTRL34 35=CTRL35 36=CTRL36 37=DATA_ENTRY_LSB 38=CTRL31 39=CTRL39 40=CTRL40 41=CTRL41 42=CTRL42 43=CTRL43 44=CTRL44 45=CTRL45 46=CTRL46 47=CTRL47 48=CTRL48 49=CTRL49 50=CTRL50 51=CTRL51 52=CTRL52 53=CTRL53 54=CTRL54 55=CTRL55 56=CTRL56 57=CTRL57 58=CTRL58 59=CTRL59 60=CTRL60 61=CTRL61 62=CTRL62 63=CTRL63 64=DAMPER 65=PORTAMENT 66=SOSTENUTO 67=SOFT 68=CTRL68 69=FREEZE 70=CTRL70 71=CTRL71 72=CTRL72 73=CTRL73 74=CTRL74 75=CTRL75 76=CTRL76 77=CTRL77 78=CTRL78 79=CTRL79 80=CTRL80 81=CTRL81 82=CTRL82 83=CTRL83 84=PORTAMENT_CONTROL 85=CTRL85 86=CTRL86 87=CTRL87 88=CTRL88 89=CTRL89 90=CTRL90 91=REVERB 92=TREMOLO 93=CHORUS 94=DELAY 95=PHASER 96=DATA_INCREMENT 97=DATA_DECREMENT 98=NRPN_LSB 99=NRPN_MSB 100=RPN_LSB 101=RPN_MSB 102=CTRL102 103=CTRL103 104=CTRL104 105=CTRL105 106=CTRL106 107=CTRL107 108=CTRL108 109=CTRL109 110=CTRL110 111=CTRL111 112=CTRL112 113=CTRL113 114=CTRL114 115=CTRL115 116=CTRL116 117=CTRL117 118=CTRL118 119=CTRL119 120=ALL_SOUND_OFF 121=RESET_ALL_CONTROLLERS 122=LOCAL 123=ALL_NOTES_OFF 124=OMNI_OFF 125=OMNI_ON 126=MONO 127=POLY
- [ARCC1.CONTROL EXPRESSION]
[ARCC1.CONTROL 11]
(上記2つは同義)
[ARCCn.ORIGIN org]
[V3]
(ARCC波形の原点設定)
[ARCCn.DEPTH]([ARCCn.LEVEL])で設定した振幅で振動する。
この値は
[ARCCn.WAVEFORM]の図解中の
@Cに相当する。初期値は127。
- [ARCC1.ORIGIN 64] (ARCC1の波形の基準値を64に設定する)
[ARCCn.RESET rst]
[V3]
(ARCC波形の初期化値の設定)
ARCC波形の初期化値を設定する。後述の
[ARCCn.MODE]の設定によって多少作用が異なる。
初期値は0。
[ARCCn.MODE]がNORMALのとき[ARCCn.DELAY]のdl≠0のとき)。
またARCC解除時にもこの値でコントローラが初期化される。
[ARCCn.MODE]がSPECIAL(ENHANCED)のとき
- [ARCC1.RESET 0] (ARCC1の初期化値を0に設定する)
[ARCCn.SPEED
sp1,sp2,…,sp8]
[V3]
(ARCCスピード(周期))
ARCCの振動速度を設定する。基本MMLの
@Sとほぼ同等の機能を持つが、
最大8つの振幅変化に対応した振動速度変化の設定が行えるのが特長。
nは設定先ARCC番号で設定範囲は1〜4。 sp1〜sp8は速度値で設定範囲は 1≦sp1〜sp8≦32767。
実際の波形にどう影響するかは拡張MML
[ARCCn.WAVEFORM]の項で解説するが、
値が小さいほど高速に、値が大きいほど低速に音が振動する。
sp1〜sp8の振動速度は任意の位置で省略可能だが、 初期値を持たないので注意。
- [ARCC1.SPEED 10,8,20]
(ARCC1の速度をsp1=10,sp2=8,sp3=20と設定,sp4〜sp8は省略(未設定))
[ARCCn.DELAY
dl0,dl1,…,dl8]
[V3]
(ARCCディレイ)
ARCCの動作モードの一つである
「OPTIONAL」モードにおけるARCCの振幅切り換えタイミングを決定する区間時間の設定を行う。
基本MML @Hに相当する機能。
nは設定先ARCC番号で設定範囲は1〜4。
dl0は最初のARCCが実行されるまでのディレイ(遅延時間)に相当し、 絶対音長値で指定する。有効範囲は0〜32767。初期値は0。
dl1〜dl8は次の振幅切り換えまでの区間時間で、 これも絶対音長値で指定する。有効範囲は0〜65535。初期値は無し。
dl0〜dl8の任意のものを省略可能だが、 dl1〜dl8は初期値を持たないので注意。
- [ARCC1.DELAY 10,24,12,12,12,28,28,12,12]
(ARCC1のディレイをdl0=10,dl1=24,dl2=12,dl3=12,dl4=12,dl5=28,dl6=28,
dl7=12,dl8=12と設定する。)
[ARCCn.WAVEFORM w]
[V3]
(ARCC波形)
ARCC波形を選択する。基本MMLの
Sと同等の機能。
nは設定先ARCC番号で設定範囲は1〜4。
wの0〜4はプリセット波形に割り当てられている。
SAW: 鋸歯波
SQUARE: 矩形波
TRIANGLE: 三角波
S.SAW: ワンショット鋸歯波
RANDOM: ランダム波
w=5〜7はリザーブ。 w=8〜32767はユーザー定義波形となる。
ユーザー波形の登録については
.WAVE_FORM参照。
以下に波形と各パラメータとの関係を示す。
[ARCCn.DEPTH]
([ARCCn.LEVEL])
[ARCCn.DELAY]
[ARCCn.ORIGIN]
([ARCCn.CONTROL]
/ @Cの第3パラメータ)
[ARCCn.SPEED]
波形番号0:鋸歯波 (振幅が正の時) @C→____ _ ←──→\ \ \ \ ↑ @H \ \ \ \ | \ \ \ \ |@A \ \ \ |\↓ | | ̄ @S 波形番号0:鋸歯波 (振幅が負の時) @C→____ _ ←──→ / / / /↑ @H / / / / |@A / / / / | / / / /| ↓ | |  ̄ @S 波形番号1:矩形波 (振幅が正の時) @C→____ _ ←──→ ̄ ̄  ̄ ̄  ̄ ̄  ̄ ̄ ↑ @H | |@A __ __ __ __ ↓ | |  ̄ @S 波形番号1:矩形波 (振幅が負の時) @C→____ _ ←──→  ̄ ̄  ̄ ̄  ̄ ̄  ̄ ̄ ↑ @H |@A | __ __ __ __ ↓ | |  ̄ @S 波形番号2:三角波 (振幅が正の時) @C→____ _ ←──→\ /\ / ↑ @H \ / \ / | |\ / \ / |@A | \/ \/ ↓ |←→|  ̄ @S 波形番号2:三角波 (振幅が負の時) @C→____ _ ←──→ /\ /\ ↑ @H / \ / \ | /| \ / \ |@A / | \/ \ ↓ |←→|  ̄ @S 波形番号3:鋸歯波シングル (振幅が正の時) @C→____ _ ←──→\ ↑ @H \ | \ |@A |\↓ | | ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ @S 波形番号3:鋸歯波シングル (振幅が負の時) @C→____ _____________ ←──→ /↑ @H / |@A / | /| ↓ | |  ̄ @S 波形番号4:ランダム波 (振幅が正の時) 波形番号8〜32767:ユーザー波形 (振幅が正の時) 波形データ列が+5,−5,+10,+3,0の場合・・・ +10*@A/32 +5*@A/32 ̄ ̄  ̄ ̄ __+3*@A/32 @C→──── ── ←──→ __ 0*@A/32 @H -5*@A/32 ←→ @S 波形番号4:ランダム波 (振幅が負の時) 波形番号8〜32767:ユーザー波形 (振幅が負の時) 波形データ列が+5,−5,+10,+3,0の場合・・・ +5*@A/32  ̄ ̄ 0*@A/32 @C→──── ── ←──→__  ̄ ̄-3*@A/32 @H -5*@A/32 __ -10*@A/32 ←→ @S
[ARCCn.SWITCH mode]
[V3]
(ARCCスイッチ)
OFF,1/8,
OPTIONAL,ON
ARCCの動作制御を行う。
nは設定先ARCC番号で設定範囲は1〜4。
modeは
[ARCCn.DEPTH]([ARCCn.LEVEL])のパラメータのmodeと同等。
modeは数値で与えることもでき、この時は
0=OFF,-1=1/8,
1=OPTIONAL,2=ON
に対応する。
- [ARCC2.SWITCH 1/8](ARCC2を1/8モードでONにする)
- [ARCC4.SWITCH 2]
(ARCC4を以前のモード(1/8かOPTIONALのいずれか)でONにする)
[ARCCn.SYNC m,c]
[V3]
(ARCC同期モード)
ARCC波形の初期化(リセット)タイミングの設定を行う。
基本MML Hに相当する機能を持つ。
nは設定先ARCC番号で設定範囲は1〜4。
mは同期モードの設定値。0は非同期,1は同期に対応し、
0と1はそれぞれ文字列
OFF,ONにも対応する。
mをON,OFFといった文字列にて
設定することも可能。
「同期」に設定した場合は新しく発音するたびにARCC波形の初期化を行う。 「非同期」にした場合は発音と無関係にARCCを続行する。
mは数値指定では0,1以外に、
以下のように2進数で設定すればより高度な初期化設定が行える。
[]は初期設定を表す。
cは同期ディレイにあたり、 実際にはmで指定した条件がc回成立すると波形が初期化されることになる。 cの初期値は1。
-
[ARCC2.SYNC %011]
(ARCC2を発音と同時、タイ指定においても初期化する)
[ARCCn.MODE mode]
[V3]
(ARCCモード)
NORMAL,SPECIAL(ENHANCED)
ARCCモード
ARCCモードは2つあり、本命令はこのモード選択をするもので、
基本MML Mに相当する。
ARCCについての詳解は基本MML Mの項を参照のこと。
nは設定先ARCC番号で設定範囲は1〜4。
NORMAL[ARCCn.DEPTH]([ARCCn.LEVEL])
で指定できる振幅の範囲は0≦@A≦127。
SPECIAL[ARCCn.DEPTH]([ARCCn.LEVEL])
で指定できる振幅の範囲は−128≦@A≦127。
※注意:本命令を実行するとそれまで設定されていた振幅
([ARCCn.DEPTH],[ARCCn.LEVEL])
は無効となる。
-
[ARCC3.MODE NORMAL]
(ARCC3のARCCモードを通常モードに設定する)
[ARCCn.PHASE mode]
[V3]
(ARCC波形位相制御)
NORMAL,REVERSE(INVERSE)
ARCC波形位相
ARCCの波形の位相を制御する。通常とデフォルト状態では
mode=0(NORMAL)に相当し、
[ARCCn.WAVEFORM]の項で図解した波形が実行される。
一方mode=1
(REVERSE)では
[ARCCn.WAVEFORM]の項で図解した波形において@Cを中心に反転した波形が実行される。
-
[ARCC3.PHASE REVERSE]
(ARCC3のARCC波形を逆位相モードにする)
[ARCCn.OFFSET o]
[zmc3]
(ARCC波形振幅オフセット設定, zmc3拡張)
ARCCの波形の振幅値に対するオフセット値(バイアス値)を設定する。
デフォルト状態ではo=0。
ARCCで実際に出力される波形値には、
[ARCCn.LEVEL]で指定した波形値に[ARCCn.OFFSET]で指定したオフセット値を加えたものが用いられる。
オフセット値を加えた値が127を越える場合や、
-128を下回る場合は、
波形値の出力はそれぞれ127,-128に補正される。
ただし、@a0など、 ARCCをオフにするために振幅値をゼロに設定した場合は、 例外的にオフセット値が無視される。
- [ARCC1.offset 10] @a120,100,90,80
(実際の出力は @a127,110,100,90相当となる)
@Hm,a [V2]
(ディレイ値設定)
MIDIのピッチ・モジュレーション、ARCC、拡張ピッチ・モジュレーション、 拡張ARCCのディレイモード用のディレイクロックを設定する。 モジュレーションやARCCは発音後ディレイ時間待ってから効果が現れる。 (同期モードの場合)
mはピッチ・モジュレーション用のディレイ。 設定範囲は0≦m≦65534。
aはARCC用のディレイ。 設定範囲は0≦a≦65534。
値はどちらか一方の省略は可能。初期値は共に0。
- @h24,10 / (両方同時に設定)
- @h,10 / (ARCC/拡張ARCCのディレイのみ設定する)
- @h24 c1 / (ピッチ・モジュレーションのディレイのみ設定。発音して24tick後モジュレーションがかかる)
@Sm,a [V2]
(波形スピード(波長)設定)
MIDIの拡張ピッチ・モジュレーション、 拡張ARCCモード時のピッチモジュレーション・スピードを設定する。 設定範囲は 1≦m,a≦16383。
本命令はMIDIのノーマル・モジュレーション・モードでは全く考慮されないもので、 拡張モードの時のみ有効である。 ノーマルモードと拡張モードについてはMML Mを参照のこと。
実際の波形にどう影響するかは最後に解説するが、 値が小さいほど高速で、値が大きいほど低速で音が振動する。 (具体的には、指定するパラメータは波長の25%分のtick数に相当する)
値はどちらか一方の省略は可能。初期値は共に6。
- @s24,10 / (両方同時に設定)
- @s,10 / (拡張ARCCのスピードのみ設定する)
- @s24 / (ピッチ・モジュレーションのスピードのみ設定する)
Sm,a [V2]
(波形選択)
MIDIの拡張ピッチ・モジュレーション、 拡張ARCCモード時のモジュレーション波形をセレクトする。
mがピッチ・モジュレーション用の波形、 aが拡張ARCC用の波形に対応する。
波形は波形番号0〜3がプリセット波形で、
8〜31がユーザー定義波形となる。
スピードや振幅パラメータの波形への影響については最後を参照のこと。
| 0 | 鋸歯波 |
|---|---|
| 1 | 矩形波 |
| 2 | 三角波 |
| 3 | ワンショット鋸歯波 |
| 4 | ランダム値 (V3 only) |
| 5〜7 | RESERVED |
値はどちらか一方の省略は可能。初期値は共に2の三角波。
- s1,1 / (両方同時に設定)
- s,2 / (拡張ARCCの波形のみ設定する)
- s3 / (ピッチ・モジュレーションの波形のみ設定する)
|
ZMUSICではユーザーが定義したユーザー波形(波形メモリ)を使って、
ピッチモジュレーション(以下PM)、アゴーギク、アンプリチュード・モジュレーション(以下AM)、ARCC、エンハンスド・ベロシティ・シーケンスを実行する事ができます。
ZMUSIC Ver.2.0では、波形メモリを使用した場合、
振幅値(
拡張ピッチ・モジュレーションで使う場合
例:
(t1) m1 @m256 @s6 s8 @h40 / 順位相で波形メモリ8番をMIDI・拡張PMで実行 (t1) m1 @m-256 @s6 s8 @h40 / 逆位相で波形メモリ8番をMIDI・拡張PMで実行
拡張ARCCで使う場合
例:
(t1) m,1 @a32 @s,6 s,8 @h,40 / 順位相で波形メモリ8番をMIDI・拡張ARCCで実行 (t1) m,1 @a-32 @s,6 s,8 @h,40 / 逆位相で波形メモリ8番をMIDI・拡張ARCCで実行 |
Hm,a [V2]
(波形の同期on/off切り替え)
MIDIの拡張ピッチ・モジュレーション、 拡張ARCCモード時のモジュレーション波形を、 キーオンと同期して初期化させるか(同期モード)、 キーオンと同期して初期化せずに波形タイプの切り換えが起こるまで継続させるか(非同期モード)を設定する。
mがピッチ・モジュレーション用、 aが拡張ARCC用の同期/非同期設定パラメータとなる。 値はどちらか一方の省略は可能。 初期値は共に0の同期モードが設定されている。
- h1,1 / (両方同時に設定)
- h,1 / (拡張ARCCの波形を非同期モードに設定する)
- h1 / (ピッチ・モジュレーションの波形を非同期モードに設定する)
Mp,a [V2]
(制御メッセージの送信モード指定)
MIDIにはモジュレーションとARCCのモードが2つあり、ひとつは、 ある指定されたタイミングにのみMIDI楽器へ制御メッセージ (コントロールチェンジ) を送信するモードで、これをノーマルモードと呼ぶ。
もうひとつはリアルタイムに絶えずMIDI楽器へ制御メッセージを送るモードでこちらを拡張モードと呼ぶ。
ノーマルモードは楽器側のハードウェア的な処理によって特殊効果を実現するので負荷は少ない。 一方、拡張モードは絶えず制御メッセージを送るため多少の負荷はあるものの、 Sコマンドでセレクトされる波形に従って制御できるためノーマルモードより多彩な表現が出来る。
本命令はピッチ・モジュレーションとARCCをどのモードで実行するかを決定するもの。
| p=0 | ノーマルモードの設定。@Mコマンドで設定された値を指定のタイミングでコントロール・チェンジ1番のピッチ・モジュレーションに書き込む。 |
|---|---|
| p=1 | 拡張モード1の設定。設定された振幅の効用をFM音源の@Mと同じにして、(@Mで指定される振幅は半音=64ということになる)Sコマンドでセレクトした波形でピッチ・モジュレーションを実現する。 @Mで指定される振幅の範囲は−768≦@M≦768。 |
| p=2 | 拡張モード2の設定。 設定された振幅の値はそのまま14ビットのMIDIのピッチベンダー直値に該当する。 この振幅で、 Sコマンドでセレクトした波形でピッチ・モジュレーションを実現する (ベンドレンジ=12のとき、半音≒683)。 @Mで指定される振幅の範囲は−8192≦@M≦8191。 |
| a=0 | ノーマルモードの設定。 @Aで設定した値を指定されたタイミングで(@Cで指定したコントロールチェンジに)書き込む。 |
| a=1 | 拡張モードの設定。 @Aで−127〜127までの振幅を設定すると、 Sコマンドでセレクトした波形に従って生成される値を@Cで登録したコントロールチェンジに対して出力できる。 |
m2,1 (両方同時に設定)
m,1 (ARCCのモードのみ設定する)
m1 (ピッチ・モジュレーションのモードのみ設定する)
_
/ / / / /↑@M
@K→____/ / / / / ↓
←──→ / / / /  ̄
@Hの / / / /|
第1para | |
@Sの第1para
\ \ \ \
@K→____ \ \ \ \ _
←──→\ \ \ \ \ ↑
@Hの \ \ \ \ |\↓@M
第1para | | ̄
@Sの第1para
 ̄ ̄  ̄ ̄  ̄ ̄  ̄ ̄
@K→____ _
←──→ ↑@M
@Hの __ __ __ __↓
第1para | |  ̄
@Sの第1para
_
 ̄ ̄  ̄ ̄  ̄ ̄↑@M
@K→____ ↓
←──→  ̄
@Hの __ __ __
第1para | |
@Sの第1para
_
/\ /\ /↑@M
@K→____/ \ / \ / ↓
←──→ \ / \ /|  ̄
@Hの \/ \/ |
第1para | |
@Sの第1para
/\ /\
@K→____ / \ / \ _
←──→\ / \ / |\ ↑@M
@Hの \/ \/ | \↓
第1para | | ̄
@Sの第1para
_____________
/↑@M
@K→____/| ↓
←──→| |  ̄
@Hの @Sの第1para
第1para
@K→____ _
←──→\ ↑
@Hの |\↓@M
第1para | | ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
@Sの第1para
+10
+5  ̄ ̄
 ̄ ̄ __ 0
@K→──── +3 ──
←──→ __
@Hの -5
第1para ←→
@S第1para
+5
 ̄ ̄ 0
@K→──── -3 ──
←──→__  ̄ ̄
@Hの -5 __
第1para -10
←→
@S第1para
@Cの
第3para→____ _
←──→\ \ \ \ ↑
@Hの \ \ \ \ |
第2para \ \ \ \ |@A
\ \ \ |\↓
| | ̄
@Sの第2para
@Cの
第3para →____ _
←──→ / / / /↑
@Hの / / / / |@A
第2para / / / / |
/ / / /| ↓
| |  ̄
@Sの第2para
@Cの
第3para →____ _
←──→ ̄ ̄  ̄ ̄  ̄ ̄  ̄ ̄ ↑
@Hの |
第2para |@A
__ __ __ __↓
| |  ̄
@Sの第2para
@Cの
第3para →____ _
←──→  ̄ ̄  ̄ ̄  ̄ ̄  ̄ ̄ ↑
@Hの |@A
第2para |
__ __ __ __ ↓
| |  ̄
@Sの第2para
@Cの
第3para→____ _
←──→\ /\ / ↑
@Hの \ / \ / |
第2para |\ / \ / |@Aのパラメータ
| \/ \/ ↓
←→  ̄
@Sの第2para
@Cの
第3para→____ _
←──→ /\ /\ ↑
@Hの / \ / \ |
第2para /| \ / \ |@Aのパラメータ
/ | \/ \ ↓
←→  ̄
@Sの第2para
@Cの
第3para→____ _
←──→\ ↑
@Hの \ |
第2para \ |@A
|\↓
| | ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
@Sの第2para
@Cの
第3para→____ _____________
←──→ /↑
@Hの / |@A
第2para / |
/| ↓
| |  ̄
@Sの第2para
+10
+5  ̄ ̄
@Cの  ̄ ̄ __ 0
第3para→──── +3 ──
←──→ __
@Hの -5
第2para ←→
@S第2para
+5
@Cの  ̄ ̄ 0
第3para→──── -3 ──
←──→__  ̄ ̄
@Hの -5 __
第2para -10
←→
@S第2para