Hi,
Here is an Instrument Definition file for the Kodamo Essence FM.
VERSION 1 # Currently, this should only be 1.
Supports all alphanumeric ASCII, and ’ ', ‘_’, ‘-’, ‘+’ - can also be NULL
TRACKNAME EFM
Can be POLY, DRUM, MPE, or NULL
TYPE POLY
Can be A, B, C, D, USBD, USBH, CVGx (x between 1&4), CVx, Gx, or NULL
OUTPORT C
Can be x (between 1-16), or NULL – this is ignored if output port is not MIDI
OUTCHAN 1
Can be NONE, ALLACTIVE, A, B, USBH, USBD, CVG, or NULL
INPORT NULL
Can be x (between 1-16), ALL, or NULL. This definition will be ignored if INPORT is NONE, ALLACTIVE or CVG
INCHAN NULL
DRUMLANES
Syntax: ROW:TRIG:CHAN:NOTENUMBER NAME
ROW must be between 1 and 8
TRIG can be between 0 and 127, or NULL
CHAN can be a number between 1 and 16, Gx, CVx, CVGx (x between 1 and 4), or NULL
NOTENUMBER can be between 0 and 127, or NULL
NAME supports all alphanumeric ASCII, and ’ ', ‘_’, ‘-’, ‘+’ - can also be NULL
Please note this section will be discarded for tracks which are not DRUM tracks
[DRUMLANES]
[/DRUMLANES]
PC
Syntax: NUMBER NAME
number must be either:
- A number (for simple PC)
- Three numbers, delimited by ‘:’, which represent PC:MSB:LSB. You can put ‘NULL’ to not set the MSB/LSB.
PC must be between 1…128
MSB/LSB must be between 0…127
[PC]
[/PC]
CC
Syntax: CC_NUMBER NAME or CC_NUMBER:DEFAULT=xx NAME
DEFAULT_VALUE must be a valid number between 0 and 127
[CC]
0 MSB BANK
32 LSB BANK
1 MOD
5 PORTA
7 VOL
8 BAL
10 PAN
11 EXPR
47 FX1 TYPE
48 FX2 TYPE
51 FX1 CTRL1
52 FX1 CTRL2
53 FX1 CTRL3
54 FX1 CTRL4
55 FX1 CTRL5
56 FX2 CTRL1
57 FX2 CTRL2
58 FX2 CTRL3
59 FX2 CTRL4
60 FX2 CTRL5
61 FX1 LVL
62 FX2 LVL
64 SUSTAIN
90 DRY LVL
91 FX1 SEND
92 FX ROUT MOD
93 FX2 SEND
120 NOTE OFF
126 MONO MOD
127 POLY MOD
[/CC]
NRPN
Syntax: “MSB:LSB:DEPTH NAME” or “MSB:LSB:DEPTH:DEFAULT=xx NAME”
Lsb & msb should be between 0 and 127
DEPTH can be 7 or 14
For NRPN: DEFAULT_VALUE must be a valid number, either between 0 and 127 (for 7 bit NRPNs) or between 0 and 16383 (for 14bit NRPNs)
[NRPN]
[/NRPN]
ASSIGN
Syntax: POT_NUMBER TYPE:VALUE or POT_NUMBER TYPE:VALUE DEFAULT=DEFAULT_VALUE
POT_NUMBER must be between 1 and 8
TYPE can be “CC”, “PB” (pitchbend), “AT” (aftertouch), “CV”, “NRPN”, or “NULL” (this won’t assign the pot).
Non explicitly-defined pots will be considered “NULL”
VALUE VALIDATION
For CC: Value must be a valid number between 0 and 119
For PB and AT, any text after the TYPE will be ignored
For CV, value must be between 1 and 4
For NRPN, value must be MSB:LSB:DEPTH, with both lsb & msb bebtween 0 and 127, and DEPTH being either 7 or 14
DEFAULT VALUE
For CC: DEFAULT_VALUE must be a valid number between 0 and 127
For PB: DEFAULT_VALUE must be a valid number between 0 and 16383
For NRPN: DEFAULT_VALUE must be a valid number, either between 0 and 127 (for 7 bit NRPNs) or between 0 and 16383 (for 14bit NRPNs)
For CV: DEFAULT_VALUE must be either a valid number between 0 and 65535, or a voltage between -5V and 5V, e.g. “-4.25V” or “1.7V”
Please note default value will be ignored for PB and AT messages.
[ASSIGN]
[/ASSIGN]
AUTOMATION
Syntax: TYPE:VALUE
TYPE can be “CC”, “PB” (pitchbend), “AT” (aftertouch), “CV”, or “NRPN”
VALUE VALIDATION
For CC: Value must be a valid number between 0 and 119
For PB and AT, any text after the TYPE will be ignored
For CV, value must be between 1 and 4
For NRPN, value must be MSB:LSB:DEPTH, with both lsb & msb bebtween 0 and 127, and DEPTH being either 7 or 14
[AUTOMATION]
[/AUTOMATION]
This section will be readable from Hapax.
[COMMENT]
[/COMMENT]