Request on Instrument Definitions

Hey,

I created different instrument definition files for my synths which are Behringer MS-101, E-MU Proteus 2000 and Korg Electribe EMX-1 but they don’t seem to work. Could i get any help with this? Sharing the files below…

For the Behringer MS-101:

VERSION 1 # Currently, this should only be 1.

###### DEFINITIONS

# 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 NULL

# Can be x (between 1-16), or NULL -- this is ignored if output port is not MIDI
OUTCHAN NULL

# Can be NONE, ALLACTIVE, A, B, USBH, USBD, CVG, or NULL
INPORT ALLACTIVE

# Can be x (between 1-16), ALL, or NULL. This definition will be ignored if INPORT is NONE, ALLACTIVE or CVG
INCHAN NULL

[CC]
5 PORTAMENTO TIME
7 GAIN
20 VCO RANGE
21 VCO WAVEFORM
22 PULSE WIDTH
23 PWM MOD DEPTH
24 SUB OSC. LEVEL
25 NOISE LEVEL
26 VCF CUTOFF
27 VCF RESONANCE
28 VCF ENV AMOUNT
29 VCF MOD DEPTH
30 VCA GAIN
31 ENV ATTACK
32 ENV DECAY
33 ENV SUSTAIN
34 ENV RELEASE
35 LFO RATE
36 LFO DEPTH
37 LFO WAVEFORM
38 ARP MODE
39 ARP RATE
40 MOD WHEEL (LFO TO VCO/VCF)

[/CC]

# 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 127
# DEFAULT VALUE
#### For CC: DEFAULT_VALUE must be a valid number between 0 and 127
[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 127
[AUTOMATION]
[/AUTOMATION]

# This section will be readable from Hapax.
[COMMENT]
Behringer MS-101
[/COMMENT]

For the Proteus 2000:

VERSION 1 # Currently, this should only be 1.

###### DEFINITIONS

# 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 NULL

# Can be x (between 1-16), or NULL -- this is ignored if output port is not MIDI
OUTCHAN NULL

# Can be NONE, ALLACTIVE, A, B, USBH, USBD, CVG, or NULL
INPORT ALLACTIVE

# Can be x (between 1-16), ALL, or NULL. This definition will be ignored if INPORT is NONE, ALLACTIVE or CVG
INCHAN NULL

[CC]
1 MOD WHEEL
7 GAIN
10 PAN
11 EXPRESSION

74 F. CUTOFF
71 F. RES
75 ATTACK TIME
76 DECAY TIME
77 RELEASE TIME

12 FX1 DEPTH
13 FX2 DEPTH
91 REVERB SEND
93 CHORUS SEND
[/CC]

# 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 127
# DEFAULT VALUE
#### For CC: DEFAULT_VALUE must be a valid number between 0 and 127
[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 127
[AUTOMATION]
[/AUTOMATION]

# This section will be readable from Hapax.
[COMMENT]
E-MU Proteus 2000
[/COMMENT]

For the Electribe EMX-1:

VERSION 1 # Currently, this should only be 1.

###### DEFINITIONS

# 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 NULL

# Can be x (between 1-16), or NULL -- this is ignored if output port is not MIDI
OUTCHAN NULL

# Can be NONE, ALLACTIVE, A, B, USBH, USBD, CVG, or NULL
INPORT ALLACTIVE

# Can be x (between 1-16), ALL, or NULL. This definition will be ignored if INPORT is NONE, ALLACTIVE or CVG
INCHAN NULL

[CC]
7 GAIN
10 PAN
11 EXPRESSION

16 OSC TYPE
17 OSC CONTROL 1
18 OSC CONTROL 2
19 OSC CONTROL 3
20 MOD DEPTH

21 F. CUTOFF
22 F. RES
23 F. EG INTENSITY
24 AMP. EG ATTACK
25 AMP. EG DEC/REL
26 DRIVE
27 FX SEND LEV.

70 FX1 DEPTH
71 FX2 DEPTH
72 FX3 DEPTH
73 FX1 PARAM
74 FX2 PARAM
75 FX3 PARAM
[/CC]

# 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 127
# DEFAULT VALUE
#### For CC: DEFAULT_VALUE must be a valid number between 0 and 127
[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 127
[AUTOMATION]
[/AUTOMATION]

# This section will be readable from Hapax.
[COMMENT]
Korg Electribe EMX-1
[/COMMENT]

Thank you!

In what way do they not work? When you load them on your Hapax does the correct instrument play? The OUTCHAN and OUTPORT are NULL in all three defs. Do you have them at the correct values in your local copies? Also the NAME attribute is missing, so maybe that’s why they don’t (seem?) to load.

I’m not familiar with the EMX or Proteus but the Behringer MS-1 does not support MIDI CC. Where did you get those values from?

They do load but when i send some automation to any of the cc it doesn’t have any effect

So as I said I don’t have an EMX to check, but the CCs in your file don’t seem to match the CCs in Korg’s MIDI implementation file. At least at first glance. (https://cdn.korg.com/us/support/download/files/3ccffef751e1ea9b8178295e60da69df.txt?response-content-disposition=attachment%3Bfilename%3DEMX1_MIDIimp.txt&response-content-type=application%2Foctet-stream%3B)

Where did you get the values in your def files? The Behringer doesn’t support CC, the EMX seems to be off.

i tried chatgpt to do them bc i couldn’t find any info on them. Will fix the EMX file with the ones from the link you shared, thank you!