Page updated with firmware 2.08.
This page explains what midi messages the preenfm2 can send or respond to.
You can select in the menu settings what midi messages you want the preenfm to respond to (none, CC, NRPN, both) and what midi messages you want it to send on its midi output jack when you modify a parameter (none, CC, NRPN).
If Usb midi is set to « In/Out » then the output will also be sent to your USB midi connection.
The preenfm2 responds to several well known midi messages such as :
- Hold Pedal (CC#64), do not listen anymore to note off.
- Keyboard pitch wheel, global after touch and modwheel (CC#1) can be routed in matrix sources.
- Realtime midi clock (time clock, start, stop, continue)
- Program change
- Bank select (CC#0) and Bank Select LSB (#32)
Preenfm bank : CC#0 = 0 then CC#32 = Preenfm bank number
Combo bank : CC#0 = 1 then CC#32 = Combo number
DC7 bank : CC#0 = 2 then CC#32 = DX7 bank from 0 to 127
DC7 bank : CC#0 = 3 then CC#32 = DX7 bank from 128 to 55
- Onmi On (CC#124) and Omni Off (CC#125). Allow an instrument to listen to all midi channel.
- All sounds off (CC#120) mute immediatly all voices
- All note off (CC#123) send note off to all voices. Release stage will be heard.
Sysex can be used to store and restore single presets. This sysex is not really usable outside the preenfm2. It contains a memory dump of the the preenfm2 memory. Set of 32 bits floating point numbers split in 7bits messages.
The preenfm2 will flush all its parameters with NRPN midi messages if it recevies a NRPN with ParamLSB = 127 and ParamMSB = 127. Can be used by editors to read the preenfm2 current preset.
The following table shows with more details the parameters, their NRPN param number and values as well as the midi control change if available.
Parameter | MSB | LSB | Value max | Comment | CC | |
---|---|---|---|---|---|---|
Algorithm number | 0 | 0 | 28 | 16 | ||
Velocity | 0 | 1 | 16 | the higher the more the velocity of a note will impact the volume opf the note | ||
Voice | 0 | 2 | 16 | number of voices for the current instrument | ||
Glide | 0 | 3 | 10 | Valid only if voices | ||
IM <n> | 0 | 4 + (n-1)*2 | 1600 | Value of the modulation index #n (1 <= n <= 5) The real value is the nrpn one divided by 100 | 17 + (n-1) | |
IM <n> velocity | 0 | 5 + (n-1)*2 | 1600 | the modulation index #n (1 <= n <= 5) that depends on velocity. | ||
Mix <n> | 0 | 16 + (n-1)*2 | 100 | Value of the mix #n (1 <= n <= 6 for NRPN and <=4 for CC) | 22 + (n-1) *2 | |
Pan <n> | 0 | 17 + (n-1)*2 | 200 | Value of the pan #n. 0 = Pan Left / 100 = center / 200 = pan right. Only the 4 first Mix are available with CC (1 <= n <= 6 for NRPN and <=4 for CC) | 23 + (n-1) *2 | |
Arpeggiator Clock | 0 | 28 | 2 | 0=Off. 1 = internal. 2 = external | 100 | |
Arpeggiator BPM | 0 | 29 | ||||
Arpeggiator Direction | 0 | 30 | 101 | |||
Arpeggiator Octave | 0 | 31 | 102 | |||
Arpeggiator Pattern | 0 | 32 | 103 | |||
Arpeggiator Division | 0 | 33 | 104 | |||
Arpeggiator Duration | 0 | 34 | 105 | |||
Arp. Latch | 0 | 35 | ||||
Filter Type | 0 | 40 | 4 | 0 = Off / 1 = Mix / 2 = LP / 3 = HP / 4 = Bass | 70 | |
Filter Param1 | 0 | 41 | 100 | 71 | ||
Filter Param2 | 0 | 42 | 100 | 72 | ||
Filter Gain | 0 | 43 | 200 | 73 | ||
Op<n> Shape | 0 | 44 + (n-1)*4 | 7 | 1 <= n <= 6. n is the operator number. | ||
Op<n> Freq Type | 0 | 45 + (n-1)*4 | 1 | |||
Op<n> Frequency | 0 | 46 + (n-1)*4 | 50 + (n-1) | |||
Op<n> Fine tune | 0 | 47 + (n-1)*4 | ||||
Op<n> env Attack | 0 | 68 + (n-1)*8 | 1600 | 65 75 76 77 78 79 | ||
Op<n> env Attack level | 0 | 69 + (n-1)*8 | 100 | |||
Op<n> env Decay | 0 | 70 + (n-1)*8 | 1600 | |||
Op<n> env Decay level | 0 | 71 + (n-1)*8 | 100 | |||
Op<n> env Sustain | 0 | 72 + (n-1)*8 | 1600 | |||
Op<n> env Sustain level | 0 | 73 + (n-1)*8 | 100 | |||
Op<n> env Release | 0 | 74 + (n-1)*8 | 1600 | 82 + (n-1) | ||
Op<n> env Release level | 0 | 75 + (n-1)*8 | 100 | |||
Carrier Op env Attacks | Modify the Attack of the all carrier operators : attack of the sound volume | 80 | ||||
Carrier Op env Releases | Modify the Release of the all carrier operators : release of the sound volume | 81 | ||||
Modulator Op env Attacks | Modify the Attack of all the modulatior operators | 62 | ||||
Modulator Op env Releases | Modify the Release of all the modulator operators | 63 | ||||
Matrix row<n> Source | 0 | 116 + (n -1)*4 | 1 <= n <=3 | |||
Matrix row<n> Multiplier | 0 | 117 + (n -1)*4 | 2000 | Value = 0 mutliplier = -10.0; Value = 1000 mutliplier = 0.0; Value = 2000 mutliplier = 10.0. Only 4 first matrix rows are available with CC. | 46 + (n-1) | |
Matrix row<n> Destination | 0 | 118 + (n -1)*4 | ||||
Matrix row<n> Source | 1 | (n -4)*4 | 4 <= n <= 12. NRPN value is simply the following of the previous one. Matrix row4 Source param value = 128. Which is MSB= 1 and LSB =0. | |||
Matrix row<n> Multiplier | 1 | 1 + (n -4)*4 | 2000 | Value = 0 mutliplier = -10.0; Value = 1000 mutliplier = 0.0; Value = 2000 mutliplier = 10.0 | ||
Matrix row<n> Destination | 1 | 2 + (n -4)*4 | ||||
Performance param<n> | 1 | 36 + (n-1) | n is the parameter number : 1 <= n <= 3 | 115 + (n-1) | ||
LFO <n> Shape | 1 | 40 + (n-1)*4 | 164 | 1 <= n <= 3. Value : 0 = sin / 1 = Ramp / 2 = saw / 3 = square / 4 = rand | 94 + (n-1) | |
LFO <n> Frequency | 1 | 41 + (n-1)*4 | 56 + (n-1) | |||
LFO <n> Bias | 1 | 42 + (n-1)*4 | 91 + (n-1) | |||
LFO <n> Key sync | 1 | 43 + (n-1)*4 | ||||
LFO <n> Phase | 1 | 68 + (n-1) | 88 + (n-1) | |||
Free Env1 Attack | 1 | 52 | ||||
Free Env1 Decay | 1 | 53 | ||||
Free Env1 Sustain | 1 | 54 | ||||
Free Env1 Release | 1 | 55 | ||||
Free Env2 Silence | 1 | 56 | 60 | |||
Free Env2 Attack | 1 | 57 | ||||
Free Env2 Decay | 1 | 58 | ||||
Free Env2 Loop | 1 | 59 | ||||
Step Seq<n> BPM | 1 | 60 + (n-1)*4 | n can be 1 or 2. | |||
Step Seq<n> Gate | 1 | 61 + (n-1)*4 | 61 + (n-1) | |||
Letter <n> of preset name | 1 | 100 + n | You can send a ASCII value to change the letter <n> of the preset name | |||
Step Seq1 Step<n> | 2 | n | 16 | 0<=n<=16. | ||
Step Seq2 Step<n> | 3 | n | 16 | 0<=n<=16. | ||
Scala Enable | Enable (>=1) or Disable (0) scala scale mode | 12 | ||||
Scala Scale | 127 | Select the scala scale to use | 13 | |||