-
Notifications
You must be signed in to change notification settings - Fork 10
/
mml2vgm_MMLCommandMemo.txt
2084 lines (1878 loc) · 137 KB
/
mml2vgm_MMLCommandMemo.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
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
mml2vgm MMLコマンドメモ
元ネタ: MUSIC LALF MMLコマンドメモ
■ .vgm/.xgm/.zgmファイル作成手順
1. 元になるMMLファイルを作成する。
(1) mml2vgmでは拡張子を便宜上.gwiとする。(以下MMLファイルのことを.gwiと略す。)
(2) UTF-8 BOM付き(改行はCRLF)
2-A. mml2vgm.exeを使用する場合
エクスプローラなどで、mml2vgm.exeのアイコンの上に1で作成したファイルをD&Dする。
又は、コマンドラインから、「mml2vgm.exe ファイル名」と打ち込む。
GUIでも実行できる。ファイル監視と自動起動、vgz変換が可能。(vgmのみ)
2-B. mvc.exeを使用する場合
コマンドプロンプトなどから、mvc.exeを実行する。
(コンパイル対象のファイルを指定する)
vgz変換が可能。(vgmのみ)
2-C. mml2vgmIDE.exeを使用する場合
エクスプローラーなどから、mml2vgmIDE.exeを実行する。
mml統合環境を提供する。内蔵しているテキストエディタで.gwiを編集可能。
プレイヤも内蔵している為、テストプレイも可能。
3. コンパイルが実行され、エラーやワーニング、例外が表示される。
又は、エラー無く無事に.vgmファイルが.gwiと同じフォルダーに生成される。
(曲情報定義でxgmを指定すれば.xgmファイルが生成される。)
4. 手頃なvgm/xgm/zgmプレイヤーで試聴する。IDEの場合はF5キーを押すことで再生する。
修正が必要であれば1から繰り返す。
5. 完成!悦に入る。
xgmの場合はこの後SGDK使って、レッツメガドライブプログラミング!
■ 基本的な記述方法
.gwiは基本的に以下の種類の定義を書き連ねることで構成される。
定義部の順番は自由。
(1) 曲情報定義部
(2) 音色定義部
(3) エンベロープ定義部
(4) アルペジオ定義部
(5) エイリアス定義部
(6) MML定義部
(7) インクルード
・曲情報定義以外はどの定義も1行ごとに記述し、行頭に「'」(アポストロフィ)をつける。
つけない行は全てコメントとして無視される。
(一時的に「'」を省略することによりコメントと解釈させることができる)
・定義行の空白、タブは基本、無視される。
(1) 曲情報定義部
・曲情報定義は「'{」から「}」までを複数行にわたって一気に定義する。
・「定義名称=xxx」で指定した曲情報の定義が行われる。
例)
ComposerJ =YK-2
作曲者を「YK-2」とする。
・コンパイラの振る舞いについてもここで指定できる。
例)
ClockCount=192
クロックカウントを192にする。全音符が192クロックで表現される。
(2) 音色定義部
・FM音源向け、PCM音源、波形メモリ音源向けの音色を定義する。PSG音源は除く。
・FM音源の音色定義は例外的に定義行が複数行要り、決められた順序で定義が必要。
例)
'@ F 070 "ebass3(from MUSIC LALF @70)"
AR DR SR RR SL TL KS ML DT
'@ 031,018,000,006,002,036,000,010,003
'@ 031,014,004,006,002,045,000,000,003
'@ 031,010,004,006,002,018,001,000,003
'@ 031,010,003,006,002,000,001,000,003
AL FB
'@ 000,007
・PCM音源の音色定義は次のような制約がある。
使用できるフォーマットについて。
SN76489
・PCMは8KHz,8bit,mono,圧縮なし,unsignedのwavファイルであること。
mml2vgmは内部で4bitPCMに変換する。
AY8910/YM2203/YM2608 SSGPCM
・PCMは8KHz,8bit,mono,圧縮なし,unsignedのwavファイルであること。
mml2vgmは内部で4bitPCMに変換する。
YM2608 ADPCM
・PCMは16bit,mono,圧縮なし,signedのwavファイルであること。
mml2vgmは内部でADPCMに変換する。
・8bitも読み込めるが16bitに変換される。
・8KHzがo4c(オクターブ4のドの音)として再生される。
・4byte毎にPaddingされる。
・合計256Kbyteまで定義可能。
YM2609 ADPCM1/2/3
・PCMは16bit,mono,圧縮なし,signedのwavファイルであること。
mml2vgmは内部でADPCMに変換する。
・8bitも読み込めるが16bitに変換される。
・8KHzがo4c(オクターブ4のドの音)として再生される。
・4byte毎にPaddingされる。(ADPCM1)
・256byte毎にPaddingされる。(ADPCM2/3)
・合計256Kbyteまで定義可能。(ADPCM1)
・それぞれ合計16Mbyteまで定義可能。(ADPCM2/3)
YM2609B ADPCM-A
・PCMは18.5KHz,16bit,mono,圧縮なし,signedのwavファイルであること。
mml2vgmは内部でADPCMに変換する。
・8bitも読み込めるが16bitに変換される。
・18.5KHz固定で再生される。
・256byte毎にPaddingされる。
・合計16Mbyteまで定義可能。(ADPCM1/2/3とは別)
YM2610B ADPCM-A
・PCMは18.5KHz,16bit,mono,圧縮なし,signedのwavファイルであること。
mml2vgmは内部でADPCMに変換する。
・8bitも読み込めるが16bitに変換される。
・18.5KHz固定で再生される。
・256byte毎にPaddingされる。
・合計16Mbyteまで定義可能。(ADPCM-Bとは別)
YM2610B ADPCM-B
・PCMは16bit,mono,圧縮なし,signedのwavファイルであること。
mml2vgmは内部でADPCMに変換する。
・8bitも読み込めるが16bitに変換される。
・8KHzがo4c(オクターブ4のドの音)として再生される。
・256byte毎にPaddingされる。
・合計16Mbyteまで定義可能。(ADPCM-Aとは別)
Y8950 ADPCM
・PCMは16bit,mono,圧縮なし,signedのwavファイルであること。
mml2vgmは内部でADPCMに変換する。
・8bitも読み込めるが16bitに変換される。
・8KHzがo4c(オクターブ4のドの音)として再生される。
・32byte毎にPaddingされる。
・合計2Mbyte(262144byteメモリ x 8 bank)まで定義可能。
・一つのサンプルは最大262144byteまで。それ以上はカットされる。
・バンクに収まらない場合は次のバンクに格納し、収まらなかったバンクの方はPaddingされる。
・ROMとして定義される。
YM2612
・PCMは8KHz,8bit,mono,圧縮なし,unsignedのwavファイルであること。
・16bit,signedも読み込めるが8bit,unsignedに変換される。(TBD)
・8KHz固定で再生される。
YM2612(XGM)
・PCMは14KHz,8bit,mono,圧縮なし,unsignedのwavファイルであること。
・16bit,signedも読み込めるが8bit,signedに変換される。(TBD)
・14KHz固定で再生される。
YM2612(XGM2)
・PCMは13.3KHz,8bit,mono,圧縮なし,unsignedのwavファイルであること。
・16bit,signedも読み込めるが8bit,signedに変換される。(TBD)
・13.3KHz/6.65KHzのいずれかで再生される。
RF5C164
・PCMは8KHz,8bit,mono,圧縮なし,unsignedのwavファイルであること。
RF5C164は本来、8bit,signedのデータを要求するが、mml2vgmが内部でそれに変換する
・16bit,signedも読み込めるが8bit,unsignedに変換される。(TBD)
・8KHzがo3c(オクターブ3のドの音)として再生される。
・256byte毎にPaddingされる。
・合計64Kbyteまで定義可能。
・RF5C164は再生位置に0xFFのデータを検出すると再生位置がループポイントへ移動する。
その為、mml2vgmはファイル中で見つけた0xFFは0xFEに置換し、ファイルの終わりに0xFFを追加し、
データの最後でループポイントに戻るよう調整する。
SegaPCM
・PCMは8bit,mono,圧縮なし,unsignedのwavファイルであること。
・8KHzがo4c(オクターブ4のドの音)として再生される。
・256byte毎にPaddingされる。
・一つのサンプルは最大65536byteまで。それ以上はカットされる。
・バンクに収まらない場合は次のバンクに格納し、収まらなかったバンクの方はPaddingされる。
HuC6280
・PCMは8KHz,8bit,mono,圧縮なし,unsignedのwavファイルであること。
mml2vgmは内部で5bitPCMに変換する。
・16bit,signedも読み込めるが5bit,unsignedに変換される。(TBD)
・8KHzで再生される。(TBD)
C140
・PCMは 8bit,mono,圧縮なし,unsignedのwavファイルであること。
mml2vgmは内部で8bitPCMとして扱われる。
・PCMは16bit,mono,圧縮なし, signedのwavファイルであること。
mml2vgmは内部で13bit圧縮PCMとして扱われる。
・一つのサンプルは最大65536byteまで。それ以上はカットされる。
・バンクに収まらない場合は次のバンクに格納し、収まらなかったバンクの方はPaddingされる。
・PCM全体のデータサイズが0x100000未満はSYSTEM2、それ以上はSYSTEM21として定義される。(219ASICは未対応)
・合計最大0x200000byteまで定義可能。
C352
・PCMは 8bit,mono,圧縮なし,unsignedのwavファイルであること。
mml2vgmは内部で8bit PCM liner として扱われる。
・PCMは16bit,mono,圧縮なし, signedのwavファイルであること。
mml2vgmは内部で8bit mu-law PCMとして扱われる。
・一つのサンプルは最大65536byteまで。それ以上はカットされる。
・バンクに収まらない場合は次のバンクに格納し、収まらなかったバンクの方はPaddingされる。
・合計最大0x100_0000byteまで定義可能。
QSound
・PCMは 8bit,mono,圧縮なし,unsignedのwavファイルであること。
mml2vgmは内部で8bitPCMとして扱われる。
・一つのサンプルは最大65536byteまで。それ以上はカットされる。
・バンクに収まらない場合は次のバンクに格納し、収まらなかったバンクの方はPaddingされる。
・QSoundは必ずループを行う。よってデータの終端は無音状態にしなければならない(最低4byte)
K053260
・PCMは 8bit,mono,圧縮なし,unsignedのwavファイルであること。
mml2vgmは内部で8bitPCMとして扱われる。
・一つのサンプルは最大65536byteまで。それ以上はカットされる。
・バンクに収まらない場合は次のバンクに格納し、収まらなかったバンクの方はPaddingされる。
・DPCM未対応
K054539
・K054539のPCMは3種類ありそれぞれに対して用意するwavファイルが以下の様に異なる。
Type PCMの種類 ( 0 : 8bit 1 : 16bit 2 : 4bit dpcm)
signed 8bit mono PCM : unsigned 8bit mono PCMの.wavファイルを使用してください。mml2vgmプログラム内部でエンコードします。
signed 16bit mono PCM : signed 16bit mono PCMの.wavファイルを使用してください。
4bit mono DPCM : unsigned 8bit mono PCMの.wavファイルを使用してください。mml2vgmプログラム内部でエンコードします。
・波形メモリ音源の音色定義について
HuC6280,K051649は例外的に定義行が複数行の定義も可能。(1行も可能)
・音色番号の後に32個の波形データを設定する。
例)
50% 矩形波
No,
'@ H 0,
+0 +1 +2 +3 +4 +5 +6 +7
'@ 31,31,31,31,31,31,31,31
'@ 31,31,31,31,31,31,31,31
'@ 00,00,00,00,00,00,00,00
'@ 00,00,00,00,00,00,00,00
(3) エンベロープ定義部
・PSG音源、PCM音源にて音量の変化を定義する
(4) アルペジオ定義部
・音程の変化を定義する
(5) エイリアス定義部
・MMLを呼び出し可能なエイリアスとして定義する。要はBASICのサブルーチンのようなもの。
但し、いくらエイリアスを多用して無駄を省いても生成されるvgm/xgmファイルは全てを展開した状態になり、
ファイルサイズの節約にはならない。アセンブラのマクロ展開のほうが近い。
・エイリアスからエイリアスを呼び出すことも可能。(無限にループするとメモリエラーになります)
(6) MML定義部
・書式
「'パート名 MML」
パート名
「パート識別子(A-Zz)チャンネル番号(1-9/01-99)ページ指定(_)」
パート識別子
パート識別子は1文字或いは2文字の半角英字で構成される。
但し一文字目は大文字の半角英字、二文字目は無し又は小文字の半角英字である。
一文字目(26文字)
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
二文字目(27文字)
(無) a b c d e f g h i j k l m n o p q r s t u v w x y z
26 x 27 = 702種類指定可能
例)
「A」、「B」、「Ac」、「Bz」等々
チャンネル番号
チャンネル番号は1文字或いは2文字の半角数字で構成される。
1文字か2文字かは設定した音源の使用可能なチャンネル数(後述)に依存し、
10チャンネル未満の音源は1文字、それ以上持つ音源の場合は2文字で指定することが必須である。
また、チャンネルは1から開始される。(0チャンネルの指定はできない)
99チャンネル分指定可能
例)
「1」、「2」、「01」、「03」、「15」、「99」等々
「,」でパート名を列挙することも可能。
例)
「F1,A2,Aa4,C24」
10チャンネル未満の音源で「F12」などと指定すると「F1」と「F2」を指定することができる。
10チャンネル以上の音源で「F12」とすると「F12」を指定することを意味する。
(1チャンネルと2チャンネルを指定したい場合は「F0102」と指定する。)
「FS1」などと指定することはできない。この場合は「F1,S1」とする。
「F1-3」などと指定すると「F1」と「F2」更に「F3」を指定したことになる。
ページ指定
_(アンダースコア)を付けるとそのパートは全てページ1以降を指定したことになる。
付けないとページ0を指定したことになる。
_(アンダースコア)を付けた数によって何ページ目かを指定できる。
複数の異なるページを同時に指定することはできない。
例)
'F1 チップ:F チャンネル:1 ページ:0 を指定
'F1_ チップ:F チャンネル:1 ページ:1 を指定
'F1__ チップ:F チャンネル:1 ページ:2 を指定
MML
MML内部の項を参照。
・複数行の場合は上から順番に解釈される。
(7) インクルード
・書式
「'+ "ファイル名"」
ファイル名
インクルード(取り込む)するファイル名を指定。
フルパスで指定する。
ファイル名のみの場合は.gwiファイルと同じ場所のファイルを指定したことになる。
■ 使用可能な音源
名称 略称 パート名 初期周波数(Hz) 使用可能チャンネル数
CONDUCTOR CON Cn - 2Ch(mml2vgm動作指示向け特殊音源)
YM2612 OPN2 F 7670454 9Ch(FM : 6Ch FMex: 3Ch | FM:5Ch FMex:3Ch PCM:1Ch)
YM2612X OPN2X E 7670454 24Ch(FM : 6Ch FMex: 3Ch | FM:5Ch FMex:3Ch PCM:4Ch PCM(overlay):12Ch)
YM2612X2 OPN2X2 E 7670454 24Ch(FM : 6Ch FMex: 3Ch | FM:5Ch FMex:3Ch PCM:3Ch PCM(overlay):12Ch)
SN76489 DCSG S 3579545 4Ch(PSG : 4Ch)
RF5C164 RF5C R 12500000 8Ch(PCM : 8Ch)
YM2203 OPN N 3993600 9Ch(FM : 3Ch FMex: 3Ch SSG : 3Ch)
YM2608 OPNA P 7987200 19Ch(FM : 6Ch FMex: 3Ch SSG : 3Ch Rhythm : 6Ch ADPCM : 1Ch)
YM2609 OPNA2 U 7987200 45Ch(FM : 12Ch FMex: 6Ch SSG : 12Ch Rhythm : 6Ch ADPCM1/2/3 : 3Ch ADPCM-A : 6Ch)
YM2610B OPNB T 8000000 19Ch(FM : 6Ch FMex: 3Ch SSG : 3Ch ADPCM-A: 6Ch ADPCM-B: 1Ch)
YM2151 OPM X 3579545 8Ch(FM : 8Ch)
YM3526 OPL I 3579545 14Ch(FM : 9Ch Rhythm : 5Ch)
Y8950 Y89 B 3579545 15Ch(FM : 9Ch Rhythm : 5Ch ADPCM:1Ch)
YM3812 OPL2 J 3579545 14Ch(FM : 9Ch Rhythm : 5Ch)
YMF262 OPL3 D 14318180 23Ch(FM : 18Ch Rhythm : 5Ch)
YMF271 OPX V 16934400 48Slot(FM : 24Ch PCM : 12Ch)(ルールが特殊です)
(YMF271のエミュレーションは開発中であり完全ではありません。)
SegaPCM SPCM Z 4000000 16Ch(PCM : 16Ch)
HuC6280 HuC8 H 3579545 6Ch(WF : 6Ch)
K051649 SCC K 1789772 5Ch(WF : 5Ch)
C140 C140 Y 8000000 24Ch(PCM : 24Ch)
C352 C352 G 24192000 32Ch(PCM : 32Ch)
AY8910 AY10 A 1789750 3Ch(PSG : 3Ch)
YM2413 OPLL L 3579545 14Ch(FM : 9Ch Rhythm:5Ch)
QSound QSnd Q 4000000 16Ch(PCM : 16Ch)
K053260 K53 O 3579545 4Ch(PCM : 4Ch | DPCM:4Ch)
K054539 K54 W 18432000 8Ch(PCM : 8Ch | DPCM:8Ch)
MIDI MIDI M - 16Ch(MIDI : 16Ch)
NES NES Na 1789772 5Ch(Pulse: 2Ch Tri : 1Ch Noise : 1Ch DPCM : 1Ch)
DMG DMG Ga 4194304 4Ch(Pulse: 2Ch WF : 1Ch Noise : 1Ch)
VRC6 VRC6 Va 1789772 3Ch(SQR: 2Ch Saw: 1Ch)
PWM PWM 23011361 2Ch(PCM : 2Ch)(T.B.D.)
OKIM6258 OKI5 4000000 1Ch(ADPCM: 1Ch)(T.B.D.)
OKIM6295 OKI9 8000000 4Ch(ADPCM: 4Ch)(T.B.D.)
■ パート割り(初期値)
Cn1 CONDUCTOR CH1
Cn2 CONDUCTOR CH2
F1 YM2612(FM音源)(Primary) CH1
F2 YM2612(FM音源)(Primary) CH2
F3 YM2612(FM音源)(Primary) CH3/CH3Ex0
F4 YM2612(FM音源)(Primary) CH4
F5 YM2612(FM音源)(Primary) CH5
F6 YM2612(FM音源)(Primary) CH6/CH6PCM
F7 YM2612(FM音源)(Primary) CH3Ex1
F8 YM2612(FM音源)(Primary) CH3Ex2
F9 YM2612(FM音源)(Primary) CH3Ex3
E01 YM2612(FM音源)(XGM/2 Only) CH1
E02 YM2612(FM音源)(XGM/2 Only) CH2
E03 YM2612(FM音源)(XGM/2 Only) CH3/CH3Ex0
E04 YM2612(FM音源)(XGM/2 Only) CH4
E05 YM2612(FM音源)(XGM/2 Only) CH5
E06 YM2612(FM音源)(XGM/2 Only) CH6/CH6PCM0(pcm ch1)
E07 YM2612(FM音源)(XGM/2 Only) CH3Ex1
E08 YM2612(FM音源)(XGM/2 Only) CH3Ex2
E09 YM2612(FM音源)(XGM/2 Only) CH3Ex3
E10 YM2612(FM音源)(XGM/2 Only) CH6PCM1(pcm ch2)
E11 YM2612(FM音源)(XGM/2 Only) CH6PCM2(pcm ch3)
E12 YM2612(FM音源)(XGM Only) CH6PCM3(pcm ch4)
E13 YM2612(FM音源)(XGM/2 Only) CH6PCM4(pcm overlay ch1)
E14 YM2612(FM音源)(XGM/2 Only) CH6PCM5(pcm overlay ch2)
E15 YM2612(FM音源)(XGM/2 Only) CH6PCM6(pcm overlay ch3)
E16 YM2612(FM音源)(XGM Only) CH6PCM7(pcm overlay ch4)
E17 YM2612(FM音源)(XGM/2 Only) CH6PCM8(pcm overlay ch1)
E18 YM2612(FM音源)(XGM/2 Only) CH6PCM9(pcm overlay ch2)
E19 YM2612(FM音源)(XGM/2 Only) CH6PCM10(pcm overlay ch3)
E20 YM2612(FM音源)(XGM Only) CH6PCM11(pcm overlay ch4)
E21 YM2612(FM音源)(XGM/2 Only) CH6PCM12(pcm overlay ch1)
E22 YM2612(FM音源)(XGM/2 Only) CH6PCM13(pcm overlay ch2)
E23 YM2612(FM音源)(XGM/2 Only) CH6PCM14(pcm overlay ch3)
E24 YM2612(FM音源)(XGM Only) CH6PCM15(pcm overlay ch4)
S1 SN76489(SSG音源)(Primary/XGM) CH1
S2 SN76489(SSG音源)(Primary/XGM) CH2
S3 SN76489(SSG音源)(Primary/XGM) CH3
S4 SN76489(SSG音源)(Primary/XGM) CH4(ノイズ)
R1 RF5C164(PCM音源)(Primary) CH1
...
R8 RF5C164(PCM音源)(Primary) CH8
T01 YM2610B(FM音源)(Primary) CH1
T02 YM2610B(FM音源)(Primary) CH2
T03 YM2610B(FM音源)(Primary) CH3/CH3Ex0
T04 YM2610B(FM音源)(Primary) CH4
T05 YM2610B(FM音源)(Primary) CH5
T06 YM2610B(FM音源)(Primary) CH6
T07 YM2610B(FM音源)(Primary) CH3Ex1
T08 YM2610B(FM音源)(Primary) CH3Ex2
T09 YM2610B(FM音源)(Primary) CH3Ex3
T10 YM2610B(SSG音源)(Primary) CH1
T11 YM2610B(SSG音源)(Primary) CH2
T12 YM2610B(SSG音源)(Primary) CH3
T13 YM2610B(ADPCM-A音源)(Primary) CH1
...
T18 YM2610B(ADPCM-A音源)(Primary) CH6
T19 YM2610B(ADPCM-B音源)(Primary) CH1
P01 YM2608(FM音源)(Primary) CH1
P02 YM2608(FM音源)(Primary) CH2
P03 YM2608(FM音源)(Primary) CH3/CH3Ex0
P04 YM2608(FM音源)(Primary) CH4
P05 YM2608(FM音源)(Primary) CH5
P06 YM2608(FM音源)(Primary) CH6
P07 YM2608(FM音源)(Primary) CH3Ex1
P08 YM2608(FM音源)(Primary) CH3Ex2
P09 YM2608(FM音源)(Primary) CH3Ex3
P10 YM2608(SSG音源)(Primary) CH1
P11 YM2608(SSG音源)(Primary) CH2
P12 YM2608(SSG音源)(Primary) CH3
P13 YM2608(RHYTHM音源)(Primary) CH1
...
P18 YM2608(RHYTHM音源)(Primary) CH6
P19 YM2608(ADPCM音源)(Primary) CH1
U01 YM2609(FM音源)(Primary) CH1
U02 YM2609(FM音源)(Primary) CH2
U03 YM2609(FM音源)(Primary) CH3/CH3Ex0
U04 YM2609(FM音源)(Primary) CH4
...
U08 YM2609(FM音源)(Primary) CH8
U09 YM2609(FM音源)(Primary) CH9/CH9Ex0
U10 YM2609(FM音源)(Primary) CH10
U11 YM2609(FM音源)(Primary) CH11
U12 YM2609(FM音源)(Primary) CH12
U13 YM2609(FM音源)(Primary) CH3Ex1
U14 YM2609(FM音源)(Primary) CH3Ex2
U15 YM2609(FM音源)(Primary) CH3Ex3
U16 YM2609(FM音源)(Primary) CH9Ex1
U17 YM2609(FM音源)(Primary) CH9Ex2
U18 YM2609(FM音源)(Primary) CH9Ex3
U19 YM2609(SSG1音源)(Primary) CH1
U20 YM2609(SSG1音源)(Primary) CH2
U21 YM2609(SSG1音源)(Primary) CH3
U22 YM2609(SSG2音源)(Primary) CH1
U23 YM2609(SSG2音源)(Primary) CH2
U24 YM2609(SSG2音源)(Primary) CH3
U25 YM2609(SSG3音源)(Primary) CH1
U26 YM2609(SSG3音源)(Primary) CH2
U27 YM2609(SSG3音源)(Primary) CH3
U28 YM2609(SSG4音源)(Primary) CH1
U29 YM2609(SSG4音源)(Primary) CH2
U30 YM2609(SSG4音源)(Primary) CH3
U31 YM2609(RHYTHM音源)(Primary) CH1
...
U35 YM2609(RHYTHM音源)(Primary) CH5
U36 YM2609(RHYTHM音源)(Primary) CH6
U37 YM2609(ADPCMA音源)(Primary) CH1
U38 YM2609(ADPCMA音源)(Primary) CH2
U39 YM2609(ADPCMA音源)(Primary) CH3
U40 YM2609(ADPCMB音源)(Primary) CH1
...
U45 YM2609(ADPCMB音源)(Primary) CH6
N1 YM2203(FM音源)(Primary) CH1
N2 YM2203(FM音源)(Primary) CH2
N3 YM2203(FM音源)(Primary) CH3/CH3Ex0
N4 YM2203(FM音源)(Primary) CH3Ex1
N5 YM2203(FM音源)(Primary) CH3Ex2
N6 YM2203(FM音源)(Primary) CH3Ex3
N7 YM2203(SSG音源)(Primary) CH1
N8 YM2203(SSG音源)(Primary) CH2
N9 YM2203(SSG音源)(Primary) CH3
X1 YM2151(FM音源)(Primary) CH1
...
X8 YM2151(FM音源)(Primary) CH8
I01 YM3526(FM音源)(Primary) CH1(2OP)
...
I09 YM3526(FM音源)(Primary) CH9(2OP)
I10 YM3526(RHYTHM)(Primary) CH7(BD)
I11 YM3526(RHYTHM)(Primary) CH8(SD)
I12 YM3526(RHYTHM)(Primary) CH9(TOM)
I13 YM3526(RHYTHM)(Primary) CH9(CYM)
I14 YM3526(RHYTHM)(Primary) CH8(HH)
B01 Y8950(FM音源)(Primary) CH1(2OP)
...
B09 Y8950(FM音源)(Primary) CH9(2OP)
B10 Y8950(RHYTHM)(Primary) CH7(BD)
B11 Y8950(RHYTHM)(Primary) CH8(SD)
B12 Y8950(RHYTHM)(Primary) CH9(TOM)
B13 Y8950(RHYTHM)(Primary) CH9(CYM)
B14 Y8950(RHYTHM)(Primary) CH8(HH)
B15 Y8950(ADPCM音源)(Primary) CH1
J01 YM3812(FM音源)(Primary) CH1(2OP)
...
J09 YM3812(FM音源)(Primary) CH9(2OP)
J10 YM3812(RHYTHM)(Primary) CH7(BD)
J11 YM3812(RHYTHM)(Primary) CH8(SD)
J12 YM3812(RHYTHM)(Primary) CH9(TOM)
J13 YM3812(RHYTHM)(Primary) CH9(CYM)
J14 YM3812(RHYTHM)(Primary) CH8(HH)
D01 YMF262(FM音源)(Primary) CH1(2OP | 4OP)
D02 YMF262(FM音源)(Primary) CH2(2OP | 4OP)
D03 YMF262(FM音源)(Primary) CH3(2OP | 4OP)
D04 YMF262(FM音源)(Primary) CH4(2OP CH1が4OP時は使用不可)
D05 YMF262(FM音源)(Primary) CH5(2OP CH2が4OP時は使用不可)
D06 YMF262(FM音源)(Primary) CH6(2OP CH3が4OP時は使用不可)
D07 YMF262(FM音源)(Primary) CH7(2OP only RHYTHM使用時は使用不可)
D08 YMF262(FM音源)(Primary) CH8(2OP only RHYTHM使用時は使用不可)
D09 YMF262(FM音源)(Primary) CH9(2OP only RHYTHM使用時は使用不可)
D10 YMF262(FM音源)(Primary) CH10(2OP | 4OP)
D11 YMF262(FM音源)(Primary) CH11(2OP | 4OP)
D12 YMF262(FM音源)(Primary) CH12(2OP | 4OP)
D13 YMF262(FM音源)(Primary) CH13(2OP CH10が4OP時は使用不可)
D14 YMF262(FM音源)(Primary) CH14(2OP CH11が4OP時は使用不可)
D15 YMF262(FM音源)(Primary) CH15(2OP CH12が4OP時は使用不可)
D16 YMF262(FM音源)(Primary) CH16(2OP only)
D17 YMF262(FM音源)(Primary) CH17(2OP only)
D18 YMF262(FM音源)(Primary) CH18(2OP only)
D19 YMF262(RHYTHM)(Primary) CH7(BD)
D20 YMF262(RHYTHM)(Primary) CH8(SD)
D21 YMF262(RHYTHM)(Primary) CH9(TOM)
D22 YMF262(RHYTHM)(Primary) CH9(CYM)
D23 YMF262(RHYTHM)(Primary) CH8(HH)
V01 YMF271(FM/PCM)(Primary) Slot01 Group01
V02 YMF271(FM/PCM)(Primary) Slot25 Group01
V03 YMF271(FM/PCM)(Primary) Slot13 Group01
V04 YMF271(FM/PCM)(Primary) Slot37 Group01
...
V45 YMF271(FM音源)(Primary) Slot12 Group12
V46 YMF271(FM音源)(Primary) Slot36 Group12
V47 YMF271(FM音源)(Primary) Slot24 Group12
V48 YMF271(FM音源)(Primary) Slot48 Group12
Z01 SegaPCM(PCM音源)(Primary) CH1
...
Z16 SegaPCM(PCM音源)(Primary) CH16
H1 HuC6280(WF音源)(Primary) CH1
...
H6 HuC6280(WF音源)(Primary) CH6
Y01 C140(PCM音源)(Primary) CH1
...
Y24 C140(PCM音源)(Primary) CH24
G01 C352(PCM音源)(Primary) CH1
...
G32 C352(PCM音源)(Primary) CH32
A1 AY8910(PSG音源)(Primary) CH1
A2 AY8910(PSG音源)(Primary) CH2
A3 AY8910(PSG音源)(Primary) CH3
L01 YM2413(FM音源)(Primary) CH1
...
L09 YM2413(FM音源)(Primary) CH9
L10 YM2413(RHYTHM音源)(Primary) CH10 BD
L11 YM2413(RHYTHM音源)(Primary) CH11 SD
L12 YM2413(RHYTHM音源)(Primary) CH12 TOM
L13 YM2413(RHYTHM音源)(Primary) CH13 CYM
L14 YM2413(RHYTHM音源)(Primary) CH14 HH
K1 K051649(WF音源)(Primary) CH1
...
K5 K051649(WF音源)(Primary) CH5
Q01 QSound(PCM音源)(Primary) CH1
...
Q16 QSound(PCM音源)(Primary) CH16
O1 K053260(PCM音源)(Primary) CH1
...
O4 K053260(PCM音源)(Primary) CH4
W1 K054539(PCM音源)(Primary) CH1
...
W8 K054539(PCM音源)(Primary) CH8
Va1 VRC6(SQR音源)(Primary) CH1
Va2 VRC6(SQR音源)(Primary) CH2
Va3 VRC6(SAW音源)(Primary) CH3
Fs1 YM2612(FM音源)(Secondary) CH1
Fs2 YM2612(FM音源)(Secondary) CH2
Fs3 YM2612(FM音源)(Secondary) CH3/CH3Ex0
Fs4 YM2612(FM音源)(Secondary) CH4
Fs5 YM2612(FM音源)(Secondary) CH5
Fs6 YM2612(FM音源)(Secondary) CH6(PCM)
Fs7 YM2612(FM音源)(Secondary) CH3Ex1
Fs8 YM2612(FM音源)(Secondary) CH3Ex2
Fs9 YM2612(FM音源)(Secondary) CH3Ex3
Ss1 SN76489(SSG音源)(Secondary) CH1
Ss2 SN76489(SSG音源)(Secondary) CH2
Ss3 SN76489(SSG音源)(Secondary) CH3
Ss4 SN76489(SSG音源)(Secondary) CH4(ノイズ)
Rs1 RF5C164(PCM音源)(Secondary) CH1(MDPlayerのみ再生可能)
...
Rs8 RF5C164(PCM音源)(Secondary) CH8(MDPlayerのみ再生可能)
Ts01 YM2610B(FM音源)(Secondary) CH1
Ts02 YM2610B(FM音源)(Secondary) CH2
Ts03 YM2610B(FM音源)(Secondary) CH3/CH3Ex0
Ts04 YM2610B(FM音源)(Secondary) CH4
Ts05 YM2610B(FM音源)(Secondary) CH5
Ts06 YM2610B(FM音源)(Secondary) CH6
Ts07 YM2610B(FM音源)(Secondary) CH3Ex1
Ts08 YM2610B(FM音源)(Secondary) CH3Ex2
Ts09 YM2610B(FM音源)(Secondary) CH3Ex3
Ts10 YM2610B(SSG音源)(Secondary) CH1
Ts11 YM2610B(SSG音源)(Secondary) CH2
Ts12 YM2610B(SSG音源)(Secondary) CH3
Ts13 YM2610B(ADPCM-A音源)(Secondary) CH1
...
Ts18 YM2610B(ADPCM-A音源)(Secondary) CH6
Ts19 YM2610B(ADPCM-B音源)(Secondary) CH1
Ps01 YM2608(FM音源)(Secondary) CH1
Ps02 YM2608(FM音源)(Secondary) CH2
Ps03 YM2608(FM音源)(Secondary) CH3/CH3Ex0
Ps04 YM2608(FM音源)(Secondary) CH4
Ps05 YM2608(FM音源)(Secondary) CH5
Ps06 YM2608(FM音源)(Secondary) CH6
Ps07 YM2608(FM音源)(Secondary) CH3Ex1
Ps08 YM2608(FM音源)(Secondary) CH3Ex2
Ps09 YM2608(FM音源)(Secondary) CH3Ex3
Ps10 YM2608(SSG音源)(Secondary) CH1
Ps11 YM2608(SSG音源)(Secondary) CH2
Ps12 YM2608(SSG音源)(Secondary) CH3
Ps13 YM2608(RHYTHM音源)(Secondary) CH1
...
Ps18 YM2608(RHYTHM音源)(Secondary) CH6
Ps19 YM2608(ADPCM音源)(Secondary) CH1
Ns1 YM2203(FM音源)(Secondary) CH1
Ns2 YM2203(FM音源)(Secondary) CH2
Ns3 YM2203(FM音源)(Secondary) CH3/CH3Ex0
Ns4 YM2203(FM音源)(Secondary) CH3Ex1
Ns5 YM2203(FM音源)(Secondary) CH3Ex2
Ns6 YM2203(FM音源)(Secondary) CH3Ex3
Ns7 YM2203(SSG音源)(Secondary) CH1
Ns8 YM2203(SSG音源)(Secondary) CH2
Ns9 YM2203(SSG音源)(Secondary) CH3
Xs1 YM2151(FM音源)(Secondary) CH1
...
Xs8 YM2151(FM音源)(Secondary) CH8
Is01 YM3526(FM音源)(Secondary) CH1(2OP)
...
Is09 YM3526(FM音源)(Secondary) CH9(2OP)
Is10 YM3526(RHYTHM)(Secondary) CH7(BD)
Is11 YM3526(RHYTHM)(Secondary) CH8(SD)
Is12 YM3526(RHYTHM)(Secondary) CH9(TOM)
Is13 YM3526(RHYTHM)(Secondary) CH9(CYM)
Is14 YM3526(RHYTHM)(Secondary) CH8(HH)
Bs01 Y8950(FM音源)(Secondary) CH1(2OP)
...
Bs09 Y8950(FM音源)(Secondary) CH9(2OP)
Bs10 Y8950(RHYTHM)(Secondary) CH7(BD)
Bs11 Y8950(RHYTHM)(Secondary) CH8(SD)
Bs12 Y8950(RHYTHM)(Secondary) CH9(TOM)
Bs13 Y8950(RHYTHM)(Secondary) CH9(CYM)
Bs14 Y8950(RHYTHM)(Secondary) CH8(HH)
Bs15 Y8950(ADPCM音源)(Secondary) CH1
Js01 YM3812(FM音源)(Secondary) CH1(2OP)
...
Js09 YM3812(FM音源)(Secondary) CH9(2OP)
Js10 YM3812(RHYTHM)(Secondary) CH7(BD)
Js11 YM3812(RHYTHM)(Secondary) CH8(SD)
Js12 YM3812(RHYTHM)(Secondary) CH9(TOM)
Js13 YM3812(RHYTHM)(Secondary) CH9(CYM)
Js14 YM3812(RHYTHM)(Secondary) CH8(HH)
Vs01 YMF271(FM/PCM)(Secondary) Slot01 Group01
Vs02 YMF271(FM/PCM)(Secondary) Slot25 Group01
Vs03 YMF271(FM/PCM)(Secondary) Slot13 Group01
Vs04 YMF271(FM/PCM)(Secondary) Slot37 Group01
...
Vs45 YMF271(FM音源)(Secondary) Slot12 Group12
Vs46 YMF271(FM音源)(Secondary) Slot36 Group12
Vs47 YMF271(FM音源)(Secondary) Slot24 Group12
Vs48 YMF271(FM音源)(Secondary) Slot48 Group12
Zs01 SegaPCM(PCM音源)(Secondary) CH1
...
Zs16 SegaPCM(PCM音源)(Secondary) CH16
Hs1 HuC6280(WF音源)(Secondary) CH1
...
Hs6 HuC6280(WF音源)(Secondary) CH6
Ys01 C140(PCM音源)(Secondary) CH1
...
Ys24 C140(PCM音源)(Secondary) CH24
As1 AY8910(PSG音源)(Secondary) CH1
As2 AY8910(PSG音源)(Secondary) CH2
As3 AY8910(PSG音源)(Secondary) CH3
Ls01 YM2413(FM音源)(Secondary) CH1
...
Ls09 YM2413(FM音源)(Secondary) CH9
Ls10 YM2413(RHYTHM音源)(Secondary) CH10 BD
Ls11 YM2413(RHYTHM音源)(Secondary) CH11 SD
Ls12 YM2413(RHYTHM音源)(Secondary) CH12 TOM
Ls13 YM2413(RHYTHM音源)(Secondary) CH13 CYM
Ls14 YM2413(RHYTHM音源)(Secondary) CH14 HH
Ks1 K051649(WF音源)(Secondary) CH1
...
Ks5 K051649(WF音源)(Secondary) CH5
Os1 K053260(PCM音源)(Secondary) CH1
...
Os4 K053260(PCM音源)(Secondary) CH4
Ws1 K054539(PCM音源)(Secondary) CH1
...
Ws8 K054539(PCM音源)(Secondary) CH8
Vb1 VRC6(SQR音源)(Secondary) CH1
Vb2 VRC6(SQR音源)(Secondary) CH2
Vb3 VRC6(SAW音源)(Secondary) CH3
-----------
計 300 Ch over
■ MML内部
・コマンドは大文字小文字を区別する。
・コマンド中のnは数値を表す。
$を付けると16進数と認識し、つづく2文字を1byteの数値として認識する。必ず2文字、0~Fで記述すること。
数値は-2147483648 ~ 2147483647まで認識するが
実際に機能として成り立つかはコマンドやチャンネルによる。
・コマンド中のxは文字を表す。xxxは複数文字を表す(改行や区切り文字までを認識する)。
・nやxの後の数字は何個目のn(或いはx)かを示している。
凡例
Co Conductor
Ff YM2612 / YM2612(XGM)
Fe YM2612(3ChEx) / YM2612(3ChEx)(XGM/2)
Fp YM2612(6ChPCMmode)
Ep YM2612(6ChPCMmode)(XGM/2)
S SN76489
R RF5C164
Tf YM2610B(FM)
Te YM2610B(FM3ChEx)
Ts YM2610B(SSG)
Ta YM2610B/09(ADPCM-A)
Tb YM2610B(ADPCM-B)
Pf YM2608(FM)
Pe YM2608(FM3ChEx)
Ps YM2608(SSG)
Pr YM2608(RHYTHM)
Pp YM2608(ADPCM)
Uf YM2609(FM)
Ue YM2609(FM3ChEx)
Us YM2609(SSG)
Ur YM2609(RHYTHM)
Up YM2609(ADPCM0,1,2)
Ua YM2609(ADPCM-A)
Nf YM2203(FM)
Ne YM2203(FM3ChEx)
Ns YM2203(SSG)
X YM2151
Z SEGAPCM
H HuC6280
Y C140
G C352
A AY8910
Lf YM2413(FM)
Lr YM2413(RHYTHM)
If YM3526(FM)
Ir YM3526(RHYTHM)
Bf Y8950(FM)
Br Y8950(RHYTHM)
Bp Y8950(ADPCM)
Jf YM3812(FM)
Jr YM3812(RHYTHM)
Df YMF262(FM)
Dr YMF262(RHYTHM)
Vf YMF271(FM)
Vp YMF271(PCM)
K K051649
Q QSound
K3 K053260
K4 K054539
M MIDI
Ne NES
Fd FDS
Gb DMG
Va VRC6(Square)
V3 VRC6(sawCh)
o 対応
- 非対応
* 未実装
コマンド CFFFESRTTTTTPPPPPUUUUUUNNNXZHYGALLIIBBBJJDDVVKQKKMNFGVV 内容
ofepp fesabfesrpfesrpafes frfrfrpfrfrfp 34 edba3
-------------------------------------------------------------------------
@n -oooo-ooo-oooo--ooo--oooo-ooooo-o-o-o-oo-o-ooooooo-oo-- 音色番号指定(0 - 255)
@n1,n2 -------------------------------------------oo---------- 音色番号指定(n1:0 - 255 n2:0 - 255) n1:PCM音色番号 n2:1opeFM音色定義番号
@n1,n2[,n3] --o-----o----o----o-----o------------------------------ 拡張チャンネルのみ(
n1:0 - 255
n2:送信するスロットを列挙する
n3:
1 Algorithmのみ送信
2 Feedback のみ送信
3/省略 AlgorithmとFeedbackの両方を送信
)
@n ---oo-----o-----------------o-------------------------- PCM Map番号指定(0 - 255)(PCMマッピングモードが有効の時のみ)
@In --------------------------------o---------------------- プリセット音色番号指定(1 - 15)
@In --------------------------------------------------o-oo- Duty比切り替え( Ne,Gb:0 - 4 / Va:0 - 7)
@In -------------------o----------------------------------- Duty比その他切り替え( Us:0-9)
@n -----o-------------------------------------oo-----o---- PCM音色番号指定(0 - 255)(PCMモード時)
@n -----o---o----oo---oo----o-----o-o-o-o--o-o------------ エンベロープ番号指定(0 - 255)
@En ------o---oo---oo---ooo----ooooo-o-o-o--o-ooooooooo---- エンベロープ番号指定(0 - 255)
@Tn -oo----oo---oo---oo----oo-o---------------------------- Tone Doubler番号指定(0 - 255)
@Nn -oo----oo---oo---oo----oo-o----------------oo---------- FMの音色を設定直前、何もしない(Default)
@Rn -oo----oo---oo---oo----oo-o----------------oo---------- FMの音色を設定直前、消音の為にRR(ReleaseRate)に15をセットする
@Rn ------------------------------------------------o------ リバース設定する場合の音色指定。音色番号指定(0 - 255)
@An -oo----oo---oo---oo----oo-o---------------------------- FMの音色を設定直前、消音の為の特別な音色をセットする
※@N,@R,@Aコマンドは、FM音色切り替え時のノイズ発生や
エンベロープ再現不良を抑えるために用意した機能。
実際のチップによる演奏の場合を想定していて、
エミュレーションによる演奏の場合は効果が薄い。
@vn -oo--oooooooooooooooooooooooooooooooooooooooooooooooooo )(コマンド使用時、値を省略した場合に適用される値
@Wn,n,n,n -----------------oo------------------------------------ 基本波形番号指定(0 - 255) 基本波形4種を指定した波形に変更できる
ln ooooooooooooooooooooooooooooooooooooooooooooooooooooooo デフォルト音長指定
l#n ooooooooooooooooooooooooooooooooooooooooooooooooooooooo デフォルト音長指定(クロック値指定)
`n ooooooooooooooooooooooooooooooooooooooooooooooooooooooo デフォルト発音音長指定
`#n ooooooooooooooooooooooooooooooooooooooooooooooooooooooo デフォルト発音音長指定(クロック値指定)
on -ooo-ooooo-oooo-oooo-oooooo-o-ooo-o-o-oo-o---oooooooooo オクターブ絶対指定(1 - 8)(実際に発音される音は可能な音域のみ)
on -ooo---oo---oo---oo----oo------------------------------ オクターブ絶対指定(-1 - 9)(実際に発音される音は可能な音域のみ)
on ---o--------------------------------------------------- オクターブ絶対指定(3 - 5)(実際に発音される音は可能な音域のみ)
on ---------------------------o-o------------------------- オクターブ絶対指定(2 - 5)(実際に発音される音は可能な音域のみ)
on -------------------------------------------oo---------- オクターブ絶対指定(1 - 16)(実際に発音される音は可能な音域のみ)
Dn -ooo-ooooo-oooo-oooo-oooooooooooo-o-o-oo-o-oooooooooooo ディチューン (範囲未チェック)絶対指定のみ
D>n -ooo-ooooo-oooo-oooo-oooooooooooo-o-o-oo-o-oooooooooooo ディチューン (範囲未チェック)相対指定
D<n -ooo-ooooo-oooo-oooo-oooooooooooo-o-o-oo-o-oooooooooooo ディチューン (範囲未チェック)相対指定
vn ----------------------------------------------o-------- 音量絶対指定(Q : 0 - 65535)
vn ------------------------------o------------------------ 音量絶対指定(G : 0 - 256)
vn ------o----o----o----oo---------------o---------------- 音量絶対指定(R/Tb/Pp/Bp: 0 - 255)
vn -oo----oo---oo---oo----oo-oo-o-------------oo--o-o----- 音量絶対指定(Y/E/Tf/Te/Pf/Pe/Nf/Ne/Vf/Vp/Z/Y/K3: 0 - 127)
vn ------------------------------------------------o------ 音量絶対指定(K4: 0 - 64)
vn ----------o----o----o-------o-------------------------- 音量絶対指定(Ta/Pr/H: 0 - 31)
vn -----o---o----o----o-----o-----ooo-------oo--o----o-oo- 音量絶対指定(S/Ts/Ps/Ns/Lf/Lr/K/Ne/Gb: 0 - 15)
vn ----------------------------------oooo-oo----------o--o 音量絶対指定(S/Ts/Ps/Ns/Lf/Lr/K: 0 - 63)
Vn ----------o----o----o---------------------------------- ADPCM-A/RHYTHM全体の音量絶対指定(0-63)
Vn ---------------------------------------------------o--- マスターボリュームの音量絶対指定( 0:2/5(min) 1:1/2 2:2/3 3:1/1(max) )
Vn1,n2 ----------------------------o-------------------------- マスターボリュームの音量絶対指定(n1: 左 0 - 15 n2: 右 0 - 15 )
VOPn -oo----oo---oo---oo----oo------------------------------ ボリュームコマンドの対象となるスロットの割り当て(使用するスロットを列挙する)
VGON -oo----oo---oo---oo----oo-o---------------------------- ボリューム(TL)の値をChipに送信しません。yTLなどで完全に手動操作したい時などに使用します。
VGOF -oo----oo---oo---oo----oo-o---------------------------- ボリューム(TL)の値をChipに送信します。(default)
> -ooo-ooooo-oooo-oooo-oooooooooooo-o-o-oo-o-oooooooooooo オクターブ相対指定(上げ)
< -ooo-ooooo-oooo-oooo-oooooooooooo-o-o-oo-o-oooooooooooo オクターブ相対指定(下げ)
) -oo--oooooooooooooooooooooooooooooooooooooooooooooooooo 音量相対指定(上げ)
)n -oo----oo---oo---oo----oo-oo-o-------------oo--ooo----- 音量相対指定(上げ)(Y/E/Tf/Te/Pf/Pe/Nf/Ne/Vf/Vp/Z/Y/K3: 0 - 127)
)n -----o---o----o----o-----o--o--ooo-------oo--o------oo- 音量相対指定(上げ)(S/Ts/Ps/Ns/H/Lf/Lr/K/Ne/Fd/Gb: 0 - 15)
)n ----------------------------------oooo-oo-------------o 音量相対指定(上げ)(S/Ts/Ps/Ns/H/Lf/Lr/K: 0 - 63)
)n ------o----o----o----oo---------------o---------------- 音量相対指定(上げ)(R/Tb/Pp/Bp: 0 - 255)
)n ------------------------------o------------------------ 音量相対指定(上げ)(G: 0 - 256)
)n ----------o----o----o---------------------------------- 音量相対指定(上げ)(Ta/Pr: 0-31)
)n ----------------------------------------------o-------- 音量相対指定(上げ)(Q: 0-65535)
( -oo--oooooooooooooooooooooooooooooooooooooooooooooooooo 音量相対指定(下げ)
(n -oo----oo---oo---oo----oo-oo-o-------------oo--ooo----- 音量相対指定(下げ)(Y/E/Tf/Te/Pf/Pe/Nf/Ne/Z/Y/K3: 0 - 127)
(n -----o---o----o----o-----o--o--ooo-------oo--o------oo- 音量相対指定(下げ)(S/Ts/Ps/Ns/Lf/Lr/K/Ne/Fd/Gb: 0 - 15)
(n ----------------------------------oooo-oo-------------o 音量相対指定(下げ)(Ifr/Bfr/Jfr: 0 - 63)
(n ------o----o----o----oo---------------o---------------- 音量相対指定(下げ)(R/Tb/Pp/Bp: 0 - 255)
(n ------------------------------o------------------------ 音量相対指定(上げ)(G: 0 - 256)
(n ----------o----o----o---------------------------------- 音量相対指定(下げ)(Ta/Pr: 0-31)
(n ----------------------------------------------o-------- 音量相対指定(下げ)(Q: 0-65535)
& ooooooooooooooooooooooooooooooooooooooooooooooooooooooo タイ
yn1,n2 -ooo-oooooooooooooooooooooooooooooooooooooooooooooooo-- レジスタ直接書き込み(n1=レジスタ番号 n2=データ)ポートはそのChによる。
yDTML,n1,n2 -ooo---oo---oo---oo----oo------------------------------ DT,MLレジスタ直接書き込み(n1=OP(1 - 4) n2=データ)ポートはそのChによる。
yDT,n1,n2 -ooo---oo---oo---oo----oo------------------------------ DTレジスタ直接書き込み(n1=OP(1 - 4) n2=データ)MLは音色設定値を参照する。
yML,n1,n2 -ooo---oo---oo---oo----oo------------------------------ MLレジスタ直接書き込み(n1=OP(1 - 4) n2=データ)DTは音色設定値を参照する。
yyDT,n1,n2 -ooo---oo---oo---oo----oo------------------------------ DTレジスタ直接書き込み(n1=OP(1 - 4) n2=データ)DT,MLは音色設定値を参照し、DTはそこへn2を加算する。
yyML,n1,n2 -ooo---oo---oo---oo----oo------------------------------ MLレジスタ直接書き込み(n1=OP(1 - 4) n2=データ)DT,MLは音色設定値を参照し、MLはそこへn2を加算する。
yTL,n1,n2 -ooo---oo---oo---oo----oo------------------------------ TLレジスタ直接書き込み(n1=OP(1 - 4) n2=データ)ポートはそのChによる。
yKSAR,n1,n2 -ooo---oo---oo---oo----oo------------------------------ KS,ARレジスタ直接書き込み(n1=OP(1 - 4) n2=データ)ポートはそのChによる。
yKS,n1,n2 -ooo---oo---oo---oo----oo------------------------------ KSレジスタ直接書き込み(n1=OP(1 - 4) n2=データ)ARは音色設定値を参照する。
yAR,n1,n2 -ooo---oo---oo---oo----oo------------------------------ ARレジスタ直接書き込み(n1=OP(1 - 4) n2=データ)KSは音色設定値を参照する。
yyKS,n1,n2 -ooo---oo---oo---oo----oo------------------------------ KSレジスタ直接書き込み(n1=OP(1 - 4) n2=データ)KS,ARは音色設定値を参照し、KSはそこへn2を加算する。
yyAR,n1,n2 -ooo---oo---oo---oo----oo------------------------------ ARレジスタ直接書き込み(n1=OP(1 - 4) n2=データ)KS,ARは音色設定値を参照し、ARはそこへn2を加算する。
yAMDR,n1,n2 -ooo---oo---oo---oo----oo------------------------------ AM,DRレジスタ直接書き込み(n1=OP(1 - 4) n2=データ)ポートはそのChによる。
yAM,n1,n2 -ooo---oo---oo---oo----oo------------------------------ AMレジスタ直接書き込み(n1=OP(1 - 4) n2=データ)DRは音色設定値を参照する。
yDR,n1,n2 -ooo---oo---oo---oo----oo------------------------------ DRレジスタ直接書き込み(n1=OP(1 - 4) n2=データ)AMは音色設定値を参照する。
yyAM,n1,n2 -ooo---oo---oo---oo----oo------------------------------ AMレジスタ直接書き込み(n1=OP(1 - 4) n2=データ)AM,DRは音色設定値を参照し、AMはそこへn2を加算する。
yyDR,n1,n2 -ooo---oo---oo---oo----oo------------------------------ DRレジスタ直接書き込み(n1=OP(1 - 4) n2=データ)AM,DRは音色設定値を参照し、DRはそこへn2を加算する。
ySR,n1,n2 -ooo---oo---oo---oo----oo------------------------------ SRレジスタ直接書き込み(n1=OP(1 - 4) n2=データ)ポートはそのChによる。
ySLRR,n1,n2 -ooo---oo---oo---oo----oo------------------------------ SL,RRレジスタ直接書き込み(n1=OP(1 - 4) n2=データ)ポートはそのChによる。
ySL,n1,n2 -ooo---oo---oo---oo----oo------------------------------ SLレジスタ直接書き込み(n1=OP(1 - 4) n2=データ)RRは音色設定値を参照する。
yRR,n1,n2 -ooo---oo---oo---oo----oo------------------------------ RRレジスタ直接書き込み(n1=OP(1 - 4) n2=データ)SLは音色設定値を参照する。
yySL,n1,n2 -ooo---oo---oo---oo----oo------------------------------ SLレジスタ直接書き込み(n1=OP(1 - 4) n2=データ)SL,RRは音色設定値を参照し、SLはそこへn2を加算する。
yyRR,n1,n2 -ooo---oo---oo---oo----oo------------------------------ RRレジスタ直接書き込み(n1=OP(1 - 4) n2=データ)SL,RRは音色設定値を参照し、RRはそこへn2を加算する。
ySSG,n1,n2 -ooo---oo---oo---oo----oo------------------------------ SSG-EGレジスタ直接書き込み(n1=OP(1 - 4) n2=データ)ポートはそのChによる。
yFBAL,n1 -ooo---oo---oo---oo----oo------------------------------ FB,ALレジスタ直接書き込み(n1=データ)ポートはそのChによる。
yPANFBAL,n1 --------------------------o---------------------------- PAN,FB,ALレジスタ直接書き込み(n1=データ)ポートはそのChによる。
yPANFLCON,n1 --------------------------o---------------------------- 同上
yPMSAMS,n1 --------------------------o---------------------------- PMS,AMSレジスタ直接書き込み(n1=データ)ポートはそのChによる。
yDTML,n1,n2 --------------------------o---------------------------- DT1,MLレジスタ直接書き込み(n1=OP(1 - 4) n2=データ)ポートはそのChによる。
yDTMUL,n1,n2 --------------------------o---------------------------- 同上
yDT1ML,n1,n2 --------------------------o---------------------------- 同上
yDT1MUL,n1,n2 --------------------------o---------------------------- 同上
yTL,n1,n2 --------------------------o---------------------------- TLレジスタ直接書き込み(n1=OP(1 - 4) n2=データ)ポートはそのChによる。
yKSAR,n1,n2 --------------------------o---------------------------- KS,ARレジスタ直接書き込み(n1=OP(1 - 4) n2=データ)ポートはそのChによる。
yAMDR,n1,n2 --------------------------o---------------------------- AM,DRレジスタ直接書き込み(n1=OP(1 - 4) n2=データ)ポートはそのChによる。
yAMED1R,n1,n2 --------------------------o---------------------------- 同上
yDT2SR,n1,n2 --------------------------o---------------------------- DT2,SRレジスタ直接書き込み(n1=OP(1 - 4) n2=データ)ポートはそのChによる。
yDT2D2R,n1,n2 --------------------------o---------------------------- 同上
ySLRR,n1,n2 --------------------------o---------------------------- SL,RRレジスタ直接書き込み(n1=OP(1 - 4) n2=データ)ポートはそのChによる。
yD1LRR,n1,n2 --------------------------o---------------------------- 同上
Mx1x2n,... -oo--oooooooooooooooooooooooooooooooooooooooooooooooooo LFO(
x1:P/Q/R/S 識別子(1パート当たり4種類定義、使用できる)
x2:T/V/H/W T:音量
V:音程(Ta/Pr不可)
H:ハードウェアLFO(後述)
W:ワウ(OPN/OPMのみ)
n...:パラメーター
)基本的にはFMPと同じで以下の書式。
Delay,Speed,Delta,Depth,Type,Sw,Trans,DepthSpeed,DepthDelta
ワウの場合はスロット指定がある。
Slot,Delay,Speed,Delta,Depth,Type,Sw,Trans,DepthSpeed,DepthDelta
範囲:
Slot 1234(ワウのみ。slot番号を列挙)
Delay 0 ~ clock counter(必須)
Speed 1 ~ 255(必須)
Delta -32768 ~ 32767(必須)
Depth 0 ~ 32767(必須)
Type 0/1/3/4(default:0)
Sw 0 ~ 1(default:1)
Trans -32768 ~ 32767(default:0)
DepthSpeed 0 ~ 255(default:0)
DepthDelta -32768 ~ 32767(default:0)
Type2(矩形波)のみ以下の書式になる。
Val1とVal2は最大値と最小値(逆の並びも可)でVal1,Val2と交互に切り替わる。
Delay,Speed,Val1 ,Val2 ,Type,Sw,Trans
範囲:
Slot 1234
Delay 0 ~ clock counter(必須)
Speed 1 ~ 255(必須)
Val1 -32768 ~ 32767(必須)
Val2 -32768 ~ 32767(必須)
Type 2
Sw 0 ~ 1(default:1)
Trans -32768 ~ 32767(default:0)
DepthSpeed 0 ~ 255(default:0)
DepthDelta -32768 ~ 32767(default:0)
設定項目説明
Slot LFOの対象となるモジュレータを列挙指定する。
例えばslot1とslot3を指定したい場合は 13 となる。
キャリアを指定しても無視される。
Delay 発音してからLFOの効果が開始されるまでの時間をクロック数で指定する。
Speed LFOの1処理あたりの変化速度をクロック数で指定する。1が一番早い変化。
Delta LFOの1処理あたりの変化量を指定する。音程或いは音量に毎度この値が加算(減算)される。
Depth LFOの最大の変化量を指定する。上記Deltaを加算した結果変化量がこの値に達した場合に減算に変わる。
Type LFOの波形を指定する。
0:三角波
1:のこぎり波
2:矩形波
3:ワンショット
4:ランダム
Sw スイッチ。0を指定すると動作しない。よって1固定。Sコマンドの値とは別管理。
Trans 位相。LFOの変化量に加算される。例えば矩形波指定のLFOでバッテリー効果を出すのに使用する。
例えば、eを発音した場合のLFOがdfdf...と繰り返すような場合2度分の位相を指定してegeg...と演奏させるイメージ。
DepthSpeed 指定した数だけDepth値に達成するとDepthDelta分だけDepth値が増えます。0の時は動作しません。
DepthDelta Depthが増える値。
ハードウェアLFO
ハードウェアLFOはSコマンドによる制御必須。
(Sコマンドによってパラメータが送信されるため)
OPN系(YM2203除く)
: Mx1Hn1,n2,n3,n4
n1:Delay(無視されます)TBD
n2:Freq(0 ~ 7)
n3:PMS(0 ~ 7)
n4:AMS(0 ~ 3)
n5:Switch(0必須)TBD
OPM : Mx1Hn1,n2,n3,n4,n5
n1:LFO波形(0 ~ 3)
n2:LFRQ(0 ~ 255)
n3:PMD(0 ~ 127)
n4:AMD(0 ~ 127)
n5:LFO RESET(SYNC)(0 ~ 1)
HuC6280 : Mx1Hn1,n2,n3
n1:Control(n= 0(Disable),1~3(Ch2波形加算))
n2:Freq(n= 0~255)
n3:Ch2Freq(n= 0~4095)
NES : Mx1Hn1,n2
n1:Sweep Speed(0 ~ 7)
n2:Sweep ShiftCount(-7 ~ 7)
DMG : Mx1Hn1,n2
n1:Sweep Speed(0 ~ 7)
n2:Sweep ShiftCount(-7 ~ 7)
MAMSn -oo----oo---oo---oo----oo------------------------------ AMS値 音量LFO感度(0-7)
MAMSn --------------------------o---------------------------- AMS値 音量LFO感度(0-3)
MPMSn -oo----oo---oo---oo----oo------------------------------ PMS値 音程LFO感度(0-3)
MPMSn --------------------------o---------------------------- PMS値 音程LFO感度(0-7)
TTONn -oo----oo---oo---oo----oo-o---------------------------- キーオン時にRRを15にセットするモードを開始
n:指定クロック前にRRに15をセットする(0 ~ )
省略時は1
TTOF -oo----oo---oo---oo----oo-o---------------------------- キーオン時にRRを15にセットするモードを停止
TGON -oo----oo---oo---oo----oo-o---------------------------- ボリューム設定をTLに送信しません
TGOF -oo----oo---oo---oo----oo-o---------------------------- ボリューム設定をTLに送信します
Sx1n -oo--oooooooooooooooooooooooooooooooooooooooooooooooooo LFOスイッチ(x1: P/Q/R/S n: 0(OFF)/1(ON))
rn ooooooooooooooooooooooooooooooooooooooooooooooooooooooo 休符
"xxx"n ooooooooooooooooooooooooooooooooooooooooooooooooooooooo 歌詞
'xxx' ooooooooooooooooooooooooooooooooooooooooooooooooooooooo メモ
[ ooooooooooooooooooooooooooooooooooooooooooooooooooooooo ループ開始位置
]n ooooooooooooooooooooooooooooooooooooooooooooooooooooooo ループ終了位置
/ ooooooooooooooooooooooooooooooooooooooooooooooooooooooo ループ脱出位置指定
{ ooooooooooooooooooooooooooooooooooooooooooooooooooooooo 連符開始位置
} ooooooooooooooooooooooooooooooooooooooooooooooooooooooo 連符終了位置
[|n ooooooooooooooooooooooooooooooooooooooooooooooooooooooo パート別リプレース開始位置(n:有効パート数)
|n ooooooooooooooooooooooooooooooooooooooooooooooooooooooo パート別リプレース区切り位置(n:有効パート数)
|] ooooooooooooooooooooooooooooooooooooooooooooooooooooooo パート別リプレース終了位置
[` ooooooooooooooooooooooooooooooooooooooooooooooooooooooo パート別アルペジオ開始位置 (デフォルト発音音長はデフォルト音長がセットされます。)
`] ooooooooooooooooooooooooooooooooooooooooooooooooooooooo パート別アルペジオ終了位置
EON -----oo--ooo--ooo--oooo--o-ooooo-o-o-oo-o-o--oooooooooo エンベロープの開始
EOF -----oo--ooo--ooo--oooo--o-ooooo-o-o-oo-o-o--oooooooooo エンベロープの停止
EHON ---------o----o----o-----o-----o----------------------- ハードウェアエンベロープの開始
EHOF ---------o----o----o-----o-----o----------------------- ハードウェアエンベロープの停止
EHTn ---------o----o----o-----o-----o----------------------- ハードウェアエンベロープタイプ
EHn ---------o----o----o-----o-----o----------------------- ハードウェアエンベロープ周波数
EHON ----------------------------------------------------o-- サウンドレングスの開始
EHOF ----------------------------------------------------o-- サウンドレングスの停止
EHTn ----------------------------------------------------o-- サウンドレングスの長さ
EHn ----------------------------------------------------o-- ハードウェアエンベロープスピード
HSON ---------o----o----o-----o-----o----------------------- Hardware envelope Sync mode ON
HSOF ---------o----o----o-----o-----o----------------------- Hardware envelope Sync mode OFf(default)
HSOn ---------o----o----o-----o-----o----------------------- Hardware envelope Sync mode Octave ( n : 1 ~ 5 )(default : 3)
H> ---------o----o----o-----o-----o----------------------- Hardware envelope Sync mode Octave (+1)
H< ---------o----o----o-----o-----o----------------------- Hardware envelope Sync mode Octave (-1)
HSDn ---------o----o----o-----o-----o----------------------- Hardware envelope Sync mode Detune ( n : 0 ~ 255 )(default : 0)
HSTN ---------o----o----o-----o-----o----------------------- Hardware envelope Sync mode Tone override oN(default)
HSTF ---------o----o----o-----o-----o----------------------- Hardware envelope Sync mode Tone override oFf
APON -ooooooooo-oooo-oooo-oooooooooooooooooooooooooooooooooo 音程アルペジオの開始
APOF -ooooooooo-oooo-oooo-oooooooooooooooooooooooooooooooooo 音程アルペジオの停止
APn -ooooooooo-oooo-oooo-oooooooooooooooooooooooooooooooooo 音程アルペジオの定義番号を指定
VPON -ooooooooo-oooo-oooo-oooooooooooooooooooooooooooooooooo 音量アルペジオの開始
VPOF -ooooooooo-oooo-oooo-oooooooooooooooooooooooooooooooooo 音量アルペジオの停止
VPn -ooooooooo-oooo-oooo-oooooooooooooooooooooooooooooooooo 音量アルペジオの定義番号を指定
CAONn ooooooooooooooooooooooooooooooooooooooooooooooooooooooo コマンドアルペジオの開始
( n: アルペジオスロット 0 - )
CAOFn ooooooooooooooooooooooooooooooooooooooooooooooooooooooo コマンドアルペジオの停止
( n: アルペジオスロット 0 - )
CAn1,n2 ooooooooooooooooooooooooooooooooooooooooooooooooooooooo コマンドアルペジオの定義番号を指定
( n1: アルペジオスロット 0 -
n2: 定義番号 0 - 255 )
TLOFSONn1,n2 -oo----oo---oo---oo----oo-o---------------------------- TLオフセットの開始(n1:定義番号 n2:使用するスロットの列挙(1-4))
TLOFSOFn1 -oo----oo---oo---oo----oo-o---------------------------- TLオフセットの停止(n1:定義番号)
EXON -oo----oo---oo---oo----oo------------------------------ 効果音モードの開始