-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathzm04.txt
910 lines (600 loc) · 37.4 KB
/
zm04.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
MEASURE 4
ZMSコマンド
ここではCOMMAND.X上から音楽プログラムを書くための書式、
つまりZMSファイル(OPMファイル)の文法について解説します。
4.1. ZMSファイルとは
ZMUSIC.XではエディタからMMLやコマンドを記述したファイルを
演奏することが出来る。これをZMUSICシステムでは「ZMSファイル」と
呼ぶ。X68k本体に付属している「OPMDRV.X」用の「OPMファイル」と
概念的には、ほとんど同じである。
ZMSファイルはED.Xなどのスクリーンエディタを使って、ここで解説する
「ZMSコマンド」を記述することによって作成していく。
(ZMSコマンド(Tn)以外のトラックに依存しないZMSコマンドを特に
「共通コマンド/コモンコマンド」と呼ぶ)。MUSICZ.FNCに
揃っているコマンドは、ほとんどZMSコマンドで記述することができ、
BASICの時と同じ感覚で曲を作ることが出来る。
X-BASIC上で記述した音楽プログラムをMUSICZ.FNCの
'm_switch()'コマンドを使用してから実行するとZMSファイルを自動生成する
ことが出来る(MEASURE3参照)。ZMSファイル形式はCOMMAND.X
レベルから手軽に演奏出来たり、コンパイルすることも出来て便利なので、
X-BASICで作った曲をZMSファイルにコンバートして管理するのも
良いだろう。
4.2. コマンド解説を読むにあたって
略しても良いパラメータはその旨を記述してあるがそれ以外は省略不可である。
コマンドは大文字小文字どちらで記述しても構わないが、ここでは説明の都合上
コマンド名を大文字、パラメータを小文字で記述している。
'*'を付けたものはパラメータを複数行に渡って記述出来る。それ以外の
コマンドではその1行で全てのパラメータを記述しなければならない。
MUSICZ.FNCの外部関数命令と対応するものはそのコマンド名を
挙げてある。詳しいパラメータ範囲等はそちらの説明を参照すること。
4.3. ZMSファイル用コマンド
●初期化
----------------------------------------
(I)
各種音源やZMUSIC.X本体の初期化を行う。
通常はZMSの先頭に書く。
MIDI楽器に対して初期化メッセージを送出する
(具体的な送信メッセージ内容に関してはMEASURE3のm_init()の項を参照)。
(ZMDデータとしては生成されないコマンド)
(MEASURE3 m_init()参照)
----------------------------------------
(Zn)
全音符の絶対音長を設定する。設定範囲は1≦n≦254。
(I)コマンドでデフォルト値192が自動設定される。通常は設定する必要はない。
ゲーム等のBGMを制作する際、割り込みを軽くする目的で使うと良い。
192, 144, 128, 96といった数値を設定するのが一般的である。
(MEASURE3 m_count()参照)
----------------------------------------
●トラック確保/チャンネルアサイン
----------------------------------------
(Mtr,sz)
トラックtrにバッファサイズszバイト確保する。1≦tr≦80, 100≦sz≦65535。
例
(m2,3000) トラック2を3000バイト確保する
(ZMDデータとしては生成されないコマンド)
(MEASURE3 m_alloc()参照)
----------------------------------------
(Ach,tr)
チャンネルchをトラックtrへアサインする。1≦ch≦25, 1≦tr≦80。
PCM8モード時は26~32が実用可能。
チャンネル番号はベースチャンネル変更コマンドによって、その対象デバイスが
変動する((Bn)コマンド参照)。
chの部分に規定の文字列を指定することによって(Bn)コマンドの影響を
受けずに絶対的に指定することも可能である。
具体的には
FM1~8 FM音源チャンネル1~8
MIDI1~16 MIDIチャンネル1~16
ADPCM ADPCM音源
ADPCM1~8 PCM8モード時
例
(a1,2) チャンネル1をトラック2へ割り当てる
(aFM1,3) FM音源チャンネル1をトラック3へ割り当てる。
(ZMDデータとしては生成されないコマンド)
(MEASURE3 m_assign(),m_assign2()参照)
----------------------------------------
(Bn)
ベースチャンネルを設定する。
0=FM基準 1=MIDI基準
n=0を設定するとチャンネル番号1~8がFM音源,9がADPCM,10~25がMIDIになる。
n=1を設定するとチャンネル番号1~16がMIDI,17~24がFM音源,25がADPCMになる。
ただしPCM8モードの時は(Bn)の値によらずチャンネル番号26~32が
ADPCMチャンネル2~8に対応する。
(ZMDデータとしては生成されないコマンド)
(MEASURE3 m_ch()参照)
----------------------------------------
●演奏制御
----------------------------------------
(Pn1,n2,…,ni)または(P)
演奏を開始する。
n1~はトラック番号で、1≦ni≦80。全パラメータを省略して
(P)のみでは全トラックの演奏を開始する。
例
(p1,2,3)
(ZMDデータ作成時には全く無視されるコマンド)
(MEASURE3 m_play()参照)
----------------------------------------
(Sn1,n2,…,ni)または(S)
演奏を停止する。
n1~はトラック番号で、1≦ni≦80。全パラメータを省略して
(S)のみでは全トラックの演奏を停止する。
例
(s1,2,3)
(ZMDデータ作成時には全く無視されるコマンド)
(MEASURE3 m_stop()参照)
----------------------------------------
(Cn1,n2,…,ni)または(C)
演奏を再開する。
n1~はトラック番号で、1≦ni≦80。全パラメータを省略して
(C)のみでは全トラックの演奏を再開する。
例
(c1,2,3)
(ZMDデータ作成時には全く無視されるコマンド)
(MEASURE3 m_cont()参照)
----------------------------------------
(Ech1,ch2,…,chi)
演奏中のチャンネルをリアルタイムにマスク/解除することができる。任意の個数の
チャンネル番号を書くことによって指定以外のチャンネルをマスクできる。
チャンネル番号は1≦chi≦25、ただしPCM8モード時は1≦chi≦32となる。
(Bn),'m_ch()'によってチャンネル番号と対象デバイスは変動する点に注意。
後述のZP.Rのオプションスイッチ'-E'と全く同様の機能。
例
(e1,2) チャンネル1,2以外をマスク
必ず(Mtr,size),(Ach,tr),'m_alloc()','m_assign()'以降に書くこと。トラック確保、
チャンネルアサイン前に記述しても意味を持たない。(P)などの直前に書くのが
スタンダードな使い方。
ZP -DとしてZP.Rを常駐させたあとに使用できる再演奏機能([SHIFT]+[XF4])を実行した
時にも影響を与えるので、1つのチャンネルの演奏チェックを何度も行う時には便利。
(ZMDデータとしては生成されないコマンド)
(MEASURE3 m_solo()参照)
----------------------------------------
(Fn)
正数でフェードアウト、負数でフェードインを行うことができる。この指定を
行った時点から演奏中の全トラックがフェードイン/アウトし始める。
ただし、1トラックでもすでにフェードイン/アウトしていた場合は無視される。
-85≦n≦-1 フェードイン指定、絶対値が大きいほど音量増加スピードが速い
n=0 フェードイン/アウトの解除
1≦n≦85 フェードアウト指定、絶対値が大きいほど音量の減衰スピードが速い
(ZMDデータ作成時には全く無視されるコマンド)
(MEASURE3 m_fadeout()参照)
----------------------------------------
●開発補助
----------------------------------------
(Dn)
[@],[!],[end]コマンドの有効無効化スイッチ。
n=0で無効、n=1で有効となる。
コンパイル時のみ有効で演奏中に指定しても無意味。
(ZMDデータとしては生成されないコマンド)
(MEASURE3 m_debug()参照)
----------------------------------------
(Q)
各トラックにセットされたMMLの総ステップタイム数を計算し画面に出力する。
(ZMDデータ作成時には全く無視されるコマンド)
(MEASURE3 m_total()参照)
----------------------------------------
●テンポ
----------------------------------------
(On)
テンポnを設定する。
設定後、1分間にn個の4分音符を演奏するようになる。20≦n≦300。ただし、
タイマーAモードの時は77以下は強制的に77となる。
例
(o120)
(MEASURE3 m_tempo()参照)
----------------------------------------
●MMLの書き込み
----------------------------------------
(Tn1,n2,…,n8)
MMLをトラックn1~n8へ書き込む。1≦ni≦80。n2以降は省略可能。
m_trk(10,"abcde")は(t10)abcdeに相当する。
(MEASURE3 m_trk()参照)
----------------------------------------
●FM音源の音色設定
----------------------------------------
(Vn,0,v1,v2,…,v55) *
FM音源の音色設定を行う。
nは定義する音色番号で1≦n≦200。
例
(v1,0
/ AF OM WF SY SP PMD AMD PMS AMS PAN
60, 15, 2, 0,210, 40, 0, 2, 0, 3, 0
/ AR DR SR RR SL OL KS ML DT1 DT2 AME
31, 5, 0, 12, 2, 30, 1, 2, 7, 0, 0
31, 5, 0, 12, 8, 6, 1, 2, 5, 0, 0
31, 5, 0, 12, 8, 28, 1, 2, 3, 0, 0
31, 5, 0, 12, 8, 6, 1, 2, 5, 0, 0)
(MEASURE3 m_vset()参照)
----------------------------------------
(@n,v1,v2,…,v55) *
AL/FB分離形式によるFM音源の音色設定。
nは定義する音色番号で1≦n≦200。
例
/ AR DR SR RR SL OL KS ML DT1 DT2 AME
(@1, 31, 0, 2, 0, 0, 21, 0, 1, 0, 0, 0
31, 0, 0, 8, 0, 3, 0, 3, 0, 0, 0
31, 0, 0, 8, 0, 3, 0, 1, 0, 0, 0
31, 0, 0, 8, 0, 3, 0, 1, 0, 0, 0
/ AL FB OM PAN WF SY SP PMD AMD PMS AMS
5, 7, 15, 3 0, 0, 0, 0, 0, 0, 0)
(MEASURE3 m_fmvset()参照)
----------------------------------------
.FM_VSETn {v1,v2,…,v55} *
AL/FB分離形式によるFM音源の音色設定。
nは定義する音色番号で1≦n≦200。
機能とデータフォーマットは全く(@)コマンドと同じである。
例
/ AR DR SR RR SL OL KS ML DT1 DT2 AME
fm_vset1 { 31, 0, 2, 0, 0, 21, 0, 1, 0, 0, 0
31, 0, 0, 8, 0, 3, 0, 3, 0, 0, 0
31, 0, 0, 8, 0, 3, 0, 1, 0, 0, 0
31, 0, 0, 8, 0, 3, 0, 1, 0, 0, 0
/ AL FB OM PAN WF SY SP PMD AMD PMS AMS
5, 7, 15, 3 0, 0, 0, 0, 0, 0, 0}
(MEASURE3 m_fmvset()参照)
----------------------------------------
●ADPCMコンフィギュレーション
----------------------------------------
n=ファイルネーム,Pp,Vv,Mm,d,Cc,s,R,Ff,l
ADPCM音の登録。
n=設定音色番号(0~511)
p=ピッチシフトパラメータ(-12~12)
v=ボリュームパラメータ(1~100(原音量)~300)
m=ミキシングノート番号(0~511)
d=ミキシングディレイパラメータ(0~65535)
c=カット・オフセットパラメータ(0~65535)
s=カット・サイズ(0~65535)
f=フェードイン/アウト・オフセット(0~65535)
l=フェードイン/アウト・レベル(0~127)
ファイルネーム以降は省略可能。詳しい使い方とパラメータの意味はMEASURE6参照。
(MEASURE3 m_pcmset(),MEASURE6参照)
----------------------------------------
.ADPCM_BANK n
ADPCM音の登録先のバンクを指定する。
n=バンク番号。1≦n≦4。
'(I)'命令でデフォルト値1が設定される
(MEASURE6参照)
----------------------------------------
.Onk=ファイルネーム,Pp,Vv,Mm,d,Cc,s,R,Ff,l
ADPCM音の登録。
n=オクターブ値(-1~9)
k=音階MML(abcdefg,#,+,-)
p=ピッチシフトパラメータ(-12~12)
v=ボリュームパラメータ(1~100(原音量)~300)
m=ミキシングノート番号(0~511)
d=ミキシングディレイパラメータ(0~65535)
c=カット・オフセットパラメータ(0~65535)
s=カット・サイズ(0~65535)
f=フェードイン/アウトオフセット(0~65535)
l=フェードイン/アウトレベル(0~127)
ファイルネーム以降は省略可能。登録先ノート番号やミキシングノート番号は
'.ADPCM_BANK'命令のバンク番号が考慮される。
詳しい使い方とパラメータの意味はMEASURE6参照。
(MEASURE3 m_pcmset(),MEASURE6参照)
----------------------------------------
.ERASE m
または,
.ERASE .Onk (.Oの'.'はあってもなくてもいい)
m=ノート番号(0~511)
n=オクターブ値(-1~9)
k=音階MML(abcdefg,#,+,-)
不要なAD PCMノートを削除する。
ZPCNV.R専用の命令で,ZMS中に実行してもなんの機能も果たさない。
(MEASURE6参照)
----------------------------------------
.ADPCM_LIST ファイルネーム
ADPCMデータのコンフィギュレーションファイルを読み込み実行する。
(MEASURE3 m_pcmcnf(),MEASURE6参照)
----------------------------------------
.ADPCM_BLOCK_DATA ファイルネーム
ADPCMブロックデータ「ZPDデータ」の読み込み、登録を行う。
拡張子省略時には'.ZPD'が自動添付される。
(MEASURE3 m_adpcm_block(),MEASURE6参照)
----------------------------------------
●MIDIデータ出力
----------------------------------------
(Xn1,n2,…,ni) *
MIDIの生データを送信。MUSICZ.FNCの'm_out()'と
ほぼ同様のコマンドだがパラメータをいくつでも書くことが出来る(複数行に渡っても可)。
データは0≦ni≦255。256以上はその値を7ビットごとに分けて下位から送信される。
例
8192→$00,$40
32700→$3C,$7F,$01
(MEASURE3 m_out(), MEASURE9参照)
----------------------------------------
.MIDI_DATA {n1,n2,…ni} *
MIDIの生データの送信。
データは0≦ni≦255。256以上はその値を7ビットごとに分けて下位から送信される。
例
8192→$00,$40
32700→$3C,$7F,$01
(MEASURE3 m_dirout(), MEASURE9参照)
----------------------------------------
.EXCLUSIVE {n1,n2,…,ni} *
エクスクルーシブデータの送信。
データは0≦ni≦127。128以上はその値を7ビットごとに分けて下位から送信される。
例
255→$01,$7F
8192→$00,$40
32700→$3C,$7F,$01
(MEASURE3 m_exc(), MEASURE9参照)
----------------------------------------
.ROLAND_EXCLUSIVE dev,mdl {n1,n2,…,ni} *
ローランド系の楽器へエクスクルーシブメッセージを送る。
詳しい使い方はMEASURE9参照。
dev=デバイスID, mdl=モデルID
エクスクルーシブ・ヘッダやチェックサム・バイトは自動生成して送信してくれる。
データは0≦ni≦127。128以上はその値を7ビットごとに分けて下位から送信される。
例
255→$01,$7F
8192→$00,$40
32700→$3C,$7F,$01
(MEASURE3 m_roland(), MEASURE9参照)
----------------------------------------
.MIDI_DUMP=ファイルネーム
MIDIダンプデータ「MDDデータ」(MEASURE9参照)を楽器へ送信する。
拡張子省略時には'.MDD'が自動添付される。
(MEASURE3 m_trans(), MEASURE9参照)
----------------------------------------
●MIDIデータ入力
----------------------------------------
(R)
MIDIの生データを取り込み待機状態にする。
ミュージックプログラム中に記述しても意味を持たない。
詳しい使い方はMEASURE9を参照。
(ZMDデータとしては生成されないコマンド)
(MEASURE3 m_rec(), MEASURE9参照)
----------------------------------------
●SC55/SC155/CM300/CM500のGSパート専用命令
パラメータの意味などは楽器のマニュアルあるいはMEASURE3を参照のこと
----------------------------------------
.SC55_INIT id
SC55の初期化を行なう
id:SC55のデバイスID(省略可能、初期値$10)
(MEASURE3 sc55_init()参照)
----------------------------------------
.SC55_V_RESERVE id {n1,n2,…,n16} *
SC55の各パートのボイスリザーブを行う。
id:SC55のデバイスID(省略可能、初期値$10)
パラメータは必ず16個設定しなくてはならない。パラメータ各値の総和は24以内。
また、10番目のパラメータはリズムパートに相当する。
(SC55マニュアルp79, またはMEASURE3 sc55_v_reserve()参照)
----------------------------------------
.SC55_REVERB id {n1,n2,…,n7} *
SC55のリバーブパラメータの設定を行う。
id:SC55のデバイスID(省略可能、初期値$10)
パラメータは7個まで。
(SC55マニュアルp79, またはMEASURE3 sc55_reverb()参照)
----------------------------------------
.SC55_CHORUS id {n1,n2,…,n8} *
SC55のコーラスパラメータの設定を行う。
id:SC55のデバイスID(省略可能、初期値$10)
パラメータは8個まで。
(SC55マニュアルp79, またはMEASURE3 sc55_chorus()参照)
----------------------------------------
.SC55_PART_SETUP pt,id {n1,n2,…,n119} *
SC55のパートのパラメータを設定する。
pt:パートナンバー(1≦pt≦16)省略不可(パートナンバー=10はリズムパート)
id:SC55のデバイスID(省略可能、初期値$10)
パラメータは119個まで。
(SC55マニュアルp79~80, またはMEASURE3 sc55_part_setup()参照)
----------------------------------------
.SC55_DRUM_SETUP map,key,id {n1,n2,…,n8} *
SC55のドラムキットの設定を変える。
map:マップナンバー(0,1)
key:ノートナンバー(0≦key≦127)
id:SC55のデバイスID(省略可能、初期値$10)
パラメータは8個まで。
(SC55マニュアルp82, またはMEASURE3 sc55_drum_setup()参照)
----------------------------------------
.SC55_PRINT id "文字列"
SC55のコンソールに文字列を表示する。
id:SC55のデバイスID(省略可能、初期値$10)
文字列は32文字以内。
(MEASURE3 sc55_print()参照)
----------------------------------------
.SC55_DISPLAY id {n1,n2,…,n16} *
SC55のグラフィックディスプレイにドットパターンを表示する。
id:SC55のデバイスID(省略可能、初期値$10)
パラメータは必ず16個。
例
/画面に'善'を出す
.sc55_display$10 { %0001000000010000
%0000100000100000
%0111111111111100
%0000000100000000
%0011111111111000
%0000000100000000
%0111111111111100
%0001000100010000
%0000100100100000
%1111111111111110
%0000000000000000
%0011111111111000
%0010000000001000
%0010000000001000
%0011111111111000
%0010000000001000}
(MEASURE3 sc55_display()参照)
----------------------------------------
●MT32/CM32L/(CM64/CM500のLAパート)専用命令
パラメータの意味などは楽器のマニュアルあるいはMEASURE3を参照のこと
----------------------------------------
.MT32_INIT id
MT32の初期化を行なう
id:MT32のデバイスID(省略可能、初期値$10)
(MEASURE3 mt32_init()参照)
----------------------------------------
.MT32_P_RESERVE id {n1,n2,…,n9} *
MT32の各パートのパーシャルリザーブを行う。
id:MT32のデバイスID(省略可能、初期値$10)
パラメータは必ず9個、パラメータ各値の総和は32以内。
9番目はリズムパート。
(MEASURE3 mt32_p_reserve()参照)
----------------------------------------
.MT32_REVERB id {n1,n2,n3} *
MT32のリバーブパラメータを設定する。
id:MT32のデバイスID(省略可能、初期値$10)
パラメータは3個まで。
(MT32マニュアルp35, CM64マニュアルp30, またはMEASURE3 mt32_reverb()参照)
----------------------------------------
.MT32_PART_SETUP id {n1,n2,…,n9} *
MT32の各パートのMIDIチャンネルを設定する。
id:MT32のデバイスID(省略可能、初期値$10)
パラメータは9個まで、9番目はリズムパート。
(パラメータはMIDIチャンネルなので1~16まで有効。17以上はパートOFFとみなす。)
(MT32マニュアルp35, CM64マニュアルp30, またはMEASURE3 mt32_part_setup()参照)
----------------------------------------
.MT32_DRUM_SETUP n,id {n1,n2,n3,n4} *
MT32のリズムキットの設定を変更する。
n:変更対象ノートナンバー(24≦n≦87)
id:MT32のデバイスID(省略可能、初期値$10)
パラメータは4個まで。
(MT32マニュアルp35, CM64マニュアルp30, またはMEASURE3 mt32_drum_setup()参照)
----------------------------------------
.MT32_COMMON n,id {"名前",n1,n2,n3,n4} *
MT32の音色のコモンパラメータを設定する。
n:設定対象ティンバー番号(1≦n≦64)
id:MT32のデバイスID(省略可能、初期値$10)
名前は10文字以内(省略不可)
パラメータは4個まで。
(MT32マニュアルp34, CM64マニュアルp29, または MEASURE3 mt32_common()参照)
----------------------------------------
.MT32_PATCH n,id {n1,n2,…,n7} *
MT32のパッチを設定する。
n:設定対象パッチナンバー(1≦n≦128)
id:MT32のデバイスID(省略可能、初期値$10)
パラメータは7個まで。
(MT32マニュアルp35, CM64マニュアルp30, またはMEASURE3 mt32_patch()参照)
----------------------------------------
.MT32_PARTIAL n,p,id {n1,n2,…,n58} *
MT32の音色のパーシャルパラメータを設定する。
n:設定対象ティンバー番号(1≦n≦64)
p:設定対象パーシャルナンバー(1≦p≦4)
id:MT32のデバイスID(省略可能、初期値$10)
パラメータは58個まで。
(MT32マニュアルp34, CM64マニュアルp29, またはMEASURE3 mt32_partial()参照)
----------------------------------------
.MT32_PRINT id "文字列"
MT32のコンソールに文字列を表示する。
id:MT32のデバイスID(省略可能、初期値$10)
文字列は20文字以内。
(MEASURE3 mt32_print()参照)
----------------------------------------
●U220/U20専用命令
パラメータの意味などは楽器のマニュアルあるいはMEASURE3を参照のこと
----------------------------------------
.U220_SETUP id {n1,n2,…,n7} *
U220のセットアップパラメータを設定する。
id:U220デバイスID(省略可能、初期値$10)
パラメータは必ず7個。
(U220マニュアルp46,p146,p148, またはMEASURE3 u220_setup()参照)
----------------------------------------
.U220_PART_SETUP pt,id {n1,n2,…,n13} *
U220のテンポラリ・パッチのパートパラメータを設定する。
pt:パートナンバー(1≦pt≦6)
id:U220のデバイスID(省略可能、初期値$10)
パラメータは必ず13個。
(U220マニュアルp58,p149, またはMEASURE3 u220_part_setup()参照)
----------------------------------------
.U220_COMMON id {n1,n2,…,n18} *
U220のテンポラリ・パッチのコモンパラメータを設定する。
id:U220のデバイスID(省略可能、初期値$10)
パラメータは必ず18個。
(U220マニュアルp54,p149, またはMEASURE3 u220_common()参照)
----------------------------------------
.U220_TIMBRE n,id {"音色名",n1,n2,…,n12} *
U220に音色パラメータを設定する。
n:セット先音色ナンバー(1≦n≦128)
id:U220のデバイスID(省略可能、初期値$10)
音色名は12文字以内。
パラメータは必ず26個。
(U220マニュアルp72,p149, またはMEASURE3 u220_timbre()参照)
----------------------------------------
.U220_DRUM_SETUP id {n1,n2,…,n7} *
U220のテンポラリ・パッチのドラム・パラメータを設定する。
id=U220のデバイスID(省略可能、初期値$10)
パラメータは必ず7個。
(U220マニュアルp63,p149, またはMEASURE3 u220_drum_setup()参照)
----------------------------------------
.U220_DRUM_INST n,id {n1,n2,…,n20} *
U220のテンポラリ・ドラムキットの各ノートにおけるパラメータを設定する。
n:ノートナンバー(35≦n≦99)
id:U220のデバイスID(省略可能、初期値$10)
パラメータは20個以内。
(U220マニュアルp72,p149, またはMEASURE3 u220_midi_inst()参照)
----------------------------------------
.U220_PRINT id {"文字列"}
U220のテンポラリ・パッチの名前を設定する。
id:U220のデバイスID(省略可能、初期値$10)
文字列は12文字以内。
(MEASURE3 u220_print()参照)
----------------------------------------
●M1専用命令
M1専用命令は途中でM1関係以外の命令が入ると正常なデータが楽器側へ
送信されないので注意
パラメータの意味などは楽器のマニュアルあるいはMEASURE3を参照のこと
----------------------------------------
.M1_MIDI_CH {ch1,ch2,…,ch8}
M1のSEQ0の各パートの受信チャンネルを設定する。
パラメータは必ず8個(1≦chi≦16:MIDI CH,17≦chi:off)。
例
.m1_midi_ch {1,2,3,4,5,6,17,10}
(パート1~6をMIDIチャンネル1~6に設定し、パート7はOFF,
パート8をMIDIチャンネル10に設定)
(MEASURE3 m1_midi_ch()参照)
----------------------------------------
.M1_PART_SETUP {n1,n2,…,n40} *
M1のSEQ0の各パートのパラメータを設定する。
パラメータは必ず5×8パート分=40個。
(M1マニュアルp126, またはMEASURE3 m1_part_set_up()参照)
----------------------------------------
.M1_EFFECT_SETUP {n1,n2,…,n25} *
M1のSEQ0のエフェクトパラメータの設定。
パラメータは必ず25個。
(M1マニュアルp127, またはMEASURE3 m1_effect_setup()参照)
----------------------------------------
.M1_PRINT "文字列"
M1のSEQ0のソングネームの設定。
文字列は10文字以内。
(MEASURE3 m1_print()参照)
----------------------------------------
.SEND_TO_M1 id
'.M1_MIDI_CH', '.M1_PART_SEUP', '.M1_EFFECT_SETUP', '.M1_PRINT'で設定した
パラメータをM1へ送信する。
id:M1のデバイスID(省略可能、初期値$30)
備考 デバイスIDは$30+グローバルチャンネル(0~$f)で求められる。
グローバルチャンネルとはGLOBALモードのF5-1で設定出来る。
必ず'.M1_MIDI_CH'~'.M1_PRINT'を設定してからこの命令を実行すること。
'.M1_EFFECT_SETUP'のみ省略が可能。この時はドライバのデフォルトデータが
送信される。
'.M1_MIDI_CH'~'.M1_PRINT'の間にM1関係以外のコマンドがあると正常なデータが
送信されないので注意すること。
(MEASURE3 send_to_m1()参照)
----------------------------------------
●その他
----------------------------------------
.WAVE_FORM wv,lt,lp {dt0,dt1,dt2,…,dt65535}
波形メモリの登録。
wv:波形番号(8≦wv≦31)
lt:ループタイプ(0≦lt≦2)
lp:ループポイント(0≦lp≦65535)
dt0,dt1,dt2,…,dt65535:波形データ(-32768≦dti≦32767)
備考 波形番号8~31に登録できる(波形番号0~7はプリセット波形などが
設定されておりリザーブ)。
パラメータのループタイプとは波形を最後まで処理を終えたあと、
どうループさせるかを設定するもの。
0 → ワンショット (波形を一度実行したら最後の値を継続する)
1 →→→→.... リピート (波形の終点までいったならば
ループポイントに戻る)
2 →←→←.... オルタニティヴ (波形のループポイントから終点まで
交互に反復する)
ループポイントは0~65535までが有効。これは何番目のデータを
ループポイントに設定するかを決めるパラメータで省略すると
ループポイントは0、すなわちデータの先頭がループポイントと見なされる。
波形データは符号付き16ビット整数で構成する。
(-32768~+32767($8000~$7fff))データの個数は65535個まで。
それ以上は設定できない。
例
.wave_form 8,0,10 {0,5,-5,10,3,-300,10,6,80,10}
(MEASURE3 m_wave_form(), 詳しい使い方はMEASURE5参照)
----------------------------------------
.FM_MASTER_VOLUME n
FM音源のマスターボリュームの設定。
設定範囲は0≦n≦255で255が最大音量。通常は255。
コンパイル時のみ有効で演奏中に指定しても無意味。
(ZMDデータとしては生成されないコマンド)
(MEASURE3 fm_master()参照)
----------------------------------------
/ 文字列
'/'より後ろをコメントとして無視する。
例
/ ORGAN SOLO
(ZMDデータとしては生成されないコマンド)
----------------------------------------
.COMMENT 文字列
後ろをコメントとして無視する。
単なるコメント行だが'/'と違うのはコンパイルされたデータ(ZMDデータ)にも
残るという点(ただし演奏には影響なし)。
曲のタイトル、制作日時、自分の名前等をZMSファイル先頭に記述するのが一般的。
例
.comment STAGE 1 BGM VERSION 1.10 (c)1992/11 XVI
----------------------------------------