NRTDRV MAN EN SYNTAX OPMTONE

From MSX MUSIC WIKI
Jump to: navigation, search

OPM tone definition

It is defined as these syntax below.

#VOICE_MODE is unused or #VOICE_MODE=0

 @<inst> {
 PAN,ALG, FB, OP
 AR, DR, SR, RR, SL, TL, KS,MUL,DT1,DT2,AME ;OP1
 AR, DR, SR, RR, SL, TL, KS,MUL,DT1,DT2,AME ;OP2
 AR, DR, SR, RR, SL, TL, KS,MUL,DT1,DT2,AME ;OP3
 AR, DR, SR, RR, SL, TL, KS,MUL,DT1,DT2,AME ;OP4
}

#VOICE_MODE=1

@<inst> {
 AR, DR, SR, RR, SL, TL, KS,MUL,DT1,DT2,AME ;OP1
 AR, DR, SR, RR, SL, TL, KS,MUL,DT1,DT2,AME ;OP2
 AR, DR, SR, RR, SL, TL, KS,MUL,DT1,DT2,AME ;OP3
 AR, DR, SR, RR, SL, TL, KS,MUL,DT1,DT2,AME ;OP4
 PAN,ALG, FB, OP
}

#VOICE_MODE=2(#VOICE_MODE=0 and PAN is omitted)

 @<inst> {
 ALG, FB, OP
 AR, DR, SR, RR, SL, TL, KS,MUL,DT1,DT2,AME ;OP1
 AR, DR, SR, RR, SL, TL, KS,MUL,DT1,DT2,AME ;OP2
 AR, DR, SR, RR, SL, TL, KS,MUL,DT1,DT2,AME ;OP3
 AR, DR, SR, RR, SL, TL, KS,MUL,DT1,DT2,AME ;OP4
}

#VOICE_MODE=3(#VOICE_MODE=1 and PAN is omitted)

 @<inst> {
 AR, DR, SR, RR, SL, TL, KS,MUL,DT1,DT2,AME ;OP1
 AR, DR, SR, RR, SL, TL, KS,MUL,DT1,DT2,AME ;OP2
 AR, DR, SR, RR, SL, TL, KS,MUL,DT1,DT2,AME ;OP3
 AR, DR, SR, RR, SL, TL, KS,MUL,DT1,DT2,AME ;OP4
 ALG, FB, OP
}

#VOICE_MODE=4 (with AF)

@<inst> {
AF, OP, PAN
AR, DR, SR, RR, SL, TL, KS,MUL,DT1,DT2,AME ;OP1
AR, DR, SR, RR, SL, TL, KS,MUL,DT1,DT2,AME ;OP2
AR, DR, SR, RR, SL, TL, KS,MUL,DT1,DT2,AME ;OP3
AR, DR, SR, RR, SL, TL, KS,MUL,DT1,DT2,AME ;OP4
}

#VOICE_MODE=5 (AF and some effects are used)

@<inst> {
AF, OP, WF, SY, SP,PMD,AMD,PMS,AMS,PAN,NOI
AR, DR, SR, RR, SL, TL, KS,MUL,DT1,DT2,AME ;OP1
AR, DR, SR, RR, SL, TL, KS,MUL,DT1,DT2,AME ;OP2
AR, DR, SR, RR, SL, TL, KS,MUL,DT1,DT2,AME ;OP3
AR, DR, SR, RR, SL, TL, KS,MUL,DT1,DT2,AME ;OP4
}

Its tone is valid for the entire song, wherever it is defined.

<inst> is tone number or tone name. If you use tone name, put it in double quotations. Tone name is not case sensitive.

Line feed is needed after tone number and tone name. Tone name and tone number cannot e written in one line but it is valid written all in one line from second one.

Space and tab is other than comma are available as parameter separator.

Comments with "/* - */" or semi-colon" is valid, ofcource.

If set PAN to 0, pan pot settings until that time is remained. Set 1 or more only if you want to set it appropriate value mandatory. It is convenient if you want to set localization per instrument.

If #VOICE_MODE=5, bit 1 of SY means noise switch as well. If you enable bit 1 (set 2 or 3 to SY value), noise is enabled in Ch.8/OP4.

[sample]
@"SYNTH" { ;synth lead
;PAN ALG  FB  OP
  0,  4,  3, 15
; AR  DR  SR  RR  SL  TL  KS MUL DT1 DT2 AME
 31,  0,  2,  0,  0, 20,  0,  2,  3,  0,  0
 24, 14,  6,  6,  1,  0,  0,  5,  3,  0,  0
 31,  0,  2,  0,  0, 16,  0,  1,  7,  0,  0
 24, 18,  9,  6,  2,  0,  0,  3,  7,  0,  0
}