Using HX3 with MIDI controllers
MIDI Control
HX3 expander accepts MIDI key on/off events (default: channel 1 to upper manual, 2 to lower manual, channel 3 to bass pedals) as well as various MIDI CCs with selectable compatibility sets. There is a slight influence to key click noise be MIDI dynamics. SysEx data is always ignored. Both MIDI jacks act as MIDI inputs with equal priority, so that you may connect two separate MIDI keyboards or controllers at the same time. HX3 expander may be remote-controlled via given MIDI CC set, but some settings are available via menu system only. If a valid MIDI CC command is received (despite expression/volume changes) for current MIDI CC set, MenuPanel will briefly show the changed parameter.
General
Please connect MIDI out of your MIDI controller/keyboard to one of the two HX3 MIDI inputs. As MIDI being a one-way interface, HX3 cannot determine the setting of any MIDI controller value until you touch/use it once. As default, all HX3 controllers are OFF. Do not use any controller button or drawbar unless HX3 is ready to accept its data (drawbar preset displayed). It is a good idea to power up HX3 before your MIDI master keyboard or master controller.
MIDI CC #7 controls the rotary amp volume which only affects the rotary or rotary amp simulation, not plain organ output. MIDI CC #11 controls swell pedal/expression if no expression pedal connected to HX3. If you use your HX3-attached swell pedal, any MIDI expression message will be overwritten. Otherwise, by not touching the attached swell pedal, MIDI expression messages are accepted.
Note: Some MIDI controllers as well as organ keyboards (like Hammond XK and SK series) allow 2nd and 3rd harmonic percussion ON at the same time. HX3 implementation regards "2nd ON" as "Percussion ON" tab in this case. See Menu Panel section to select the desired MIDI CC set. Factory default is Native Instruments B4, which provides the most versatile command set.
MenuDisplay and HX3 Remote allow setup of MIDI Channel as well as MIDI CC set. Step down to MIDI menu section to alter settings. Press Encoder knob for 2 seconds to save to power-up defaults.
- MIDI Channel <1> - sets MIDI base send/receive channel 1 to 10 (upper manual, lower manual is on +1, pedals on +2).
- MIDI Option <RcvSendMerge> - sets MIDI routing behaviour to
- 'ReceiveThru' (MIDI OUT is THRU),
- 'ReceiveSend' (MIDI received, only own MIDI key events to MIDI OUT),
- 'RcvSendMerge'(MIDI received, own MIDI key events and incoming MIDI events merged to MIDI OUT) and
- 'RcvSndMgNoCC' (as before, but MIDI CC commands discarded). On expander module, only valid setting is 'ReceiveThru'.
- MIDI CC Set <NI B4> - sets recognized MIDI CC set to
- 'NI B4' Native Instruments B4 (default),
- 'Voce' MIDI drawbars,
- 'Hamichord' (or 'Mojo', same hardware),
- 'Hammond XK',
- 'Hammond SK' (Note: Hammond changed MIDI CC set between XK and SK series, so try out which will fit),
- 'KeyB Duo' or
- 'Custom' (controllers to be set by HX3 Remote)
From firmware 3.82 and up, HX3 will not send own MIDI CCs on MIDI OUT when MIDI Option = 3 (RcvSndMgNoCC). MIDI Option = 3 is now default on all firmwares except HX3 Expander (which has to accept MIDI CCs). This change has been made since the MIDI CCs HX3 sends out may disturb connected MIDI workstations/arrangers. Note: If send/receive of MIDI CCs is enabled (Option = 1 or 2), HX3 will transmit its own CCs (drawbars etc.) always according to NI B4 set, independent from selected MIDI CC interpreter.
For OEM only: Independent from MIDI option selected, HX3 will always send a 3.3V TTL level MIDI signal on PL16 pin 8 for controlling Ventilator/Minivent DSP board with synced stop/slow/fast. Pin 34 of Vent DSP board is MIDI TTL input. Also wire digital ground (PL16 pin 10). Ventilator DSP accepts MIDI CC #21 values 0 (stop), 1 (slow), 2 (fast) on channel 1.
There is no way to save an upper or lower preset/program remotely; you have to use the MenuPanel’s Save function.
MIDI CC Sets
HX3 provides 6 pre-configured MIDI CC sets plus one fully customizable set, selectable by MenuPanel or by HX3 Remote application. Factory default is the Native Instruments B4 set, supported by many MIDI controllers. If MIDI CC output is enabled, HX3 will send CCs always according to NI B4 set. HX3 does not support weird SysEx encodings found on some Roland, Oberheim and Viscount models. All values based decimal!
A very comprehensive Böhm/Keyswerk Sempra MIDI CC set is available on HX3.5 mainboards. Please contact KeyboardPartner for details.
NI B4 d3c
The Doepfer d3c drawbar controller is a very nice and rugged piece of gear, so we recommend it for use with our HX3 board. It has support for foot controllers and foot switches. The Keyswerk/Böhm db4 is also compatible with NI B4 CC set.
Upper, lower and bass drawbars work as usual. It is a good idea to set all to zero before switching on as this is a “known state” for HX3. Also the Percussion and Vibrato buttons work as described in d3c manual. There is a small drawback, anyway: Default HX3 Vibrato setting is V1 (but upper/lower vibrato OFF), while the V1 LED will not light when powering up the d3c (there is no “V0” on a real Hammond!). So pressing the V1 button will not change the sound – just it’s LED turns on.
The “Brightness” knob controls AO28 “tone” parameter in HX3. There is no key click emulation in HX3 (it is just there!), so you may not adjust key click (a real Hammond does not have key click adjustment, either). The “Key Click” knob controls the bass sustain instead. You may argue “a real Hammond does not have a bass pedal sustain, too”. Right, but many aftermarket kits are installed, so this is OK (for me).
Do not use the “Harmonic content” knob as it sends the “Percussion” button’s controller number like a continuous controller. Why that? No idea. This is definitely of no use.
Preset buttons may be used, but in a restricted way. First, HX3 yields 15 presets per manual, not 127 like NI B4. When selecting “Bank 1”, all 12 available preset buttons work on upper manual. When selecting “Bank 2”, all 12 preset buttons work on lower manual. Doepfer d3c resends the program change message when changing the bank, which may be annoying. Choose bank 2, lower preset first, then bank 1, upper preset. BTW: Bank buttons do not send bank select messages, they just add an offset to the preset buttons. Blame Doepfer for that.
Doepfer d3c preset 1 is the HX3 “Live” (preset 0) position. It will be saved temporarily (until HX3 switched off) when switching to a preset sound (2 to 12). If you return to preset 1 “Live”, your last drawbar/button setting will be recalled. Please note: HX3 tracks drawbar and button changes even when in preset position 2 to 12, so it keeps itself updated all the time.
NI B4 set accepts program changes for upper manual MIDI channel, range 0..11 = upper presets and 12..23 = lower presets.
Channel | CC# | Type | Function | Remarks |
1 | 1 | Switch | Rotary Slow/Fast | Modulation Wheel |
1 | 7 | Slider | Master Volume | was "122 Amp volume" on older firmwares |
1 | 11 | Slider | Swell Pedal | |
1 | 12..20 | Slider | Upper Drawbars | |
1 | 21..29 | Slider | Lower Drawbars | |
1 | 30 | Switch | Vibr Lower ON | |
1 | 31 | Switch | Vibr Upper ON | |
1 | 33 | Slider | Bass DB 16 | |
1 | 34 | Slider | Bass DB 8 | |
1 | 66 | Switch | Percussion ON | |
1 | 68 | Switch | Rotary RUN | "Rotary On/Off" on B4 |
1 | 70 | Switch | Percussion SOFT | inverted! |
1 | 71 | Switch | Percussion FAST | inverted! |
1 | 72 | Switch | Percussion THIRD | |
1 | 73 | Fixed | Vibr Mix | Chorus if < 96 |
1 | 74 | Fixed | Vibr Amount | 0..55 = V1, 56..87 = V2, 88..127 = V3 |
1 | 75 | Slider | Bass Pedal Sustain | "Key Click" on B4 |
1 | 76 | Slider | Tube Amp Gain | "Tube Amp Drive" on B4 |
1 | 78 | Slider | Swell Trim Cap | "Tube Amp Body" on B4 |
1 | 79 | Slider | Tone | "Tube Amp Brightness" on B4 |
1 | 84 | Fixed | Reverb | 0..23 = OFF, 24..47 = Rev 1, 48..63 = Rev 2, 64..127 = Rev 3 |
2 | 12..20 | Slider | Lower Drawbars | Same as 21..29 on Channel 1 |
2 | 30, 31 | Switch | Vibr Lower ON | Same as 30 on Channel 1 |
Voce Drawbars
Using your HX3 board with Voce MIDI Drawbars is straightforward, as the Voce module sends only on one MIDI channel (i.e. upper manual). Please note that Voce MIDI Drawbars does not send drawbar data unless you press the “Drawbar/Save” button, so it’s LED lits up. You may change the Voce MIDI Drawbars send channel (back rotary HEX switch) at any time to lower (2) and bass channel (3), although this is somewhat inconvenient. Have your technician install a toggle switch on the back side so channels may be changed easily.
Voce CC set accepts program changes for upper and lower manual on separate MIDI channels, range 0..15.
Channel | CC# | Type | HX3 Function | Remarks |
1 | 7 | Slider | Amp 122 Volume | |
1 | 11 | Slider | Swell Pedal | |
1 | 12..20 | Slider | Upper Drawbars | |
1 | 21..29 | Slider | Lower Drawbars | |
1, 2 | 68 | Switch | Rotary Slow/Fast | |
1, 2 | 70 | Switch | Percussion SOFT | |
1, 2 | 71 | Switch | Percussion FAST | |
1, 2 | 72 | Switch | Percussion THIRD | |
1, 2 | 73 | Switch | Percussion ON | |
1, 2 | 87, 89 | Slider | Tone | "Treble" on Voce |
1, 2 | 88 | Slider | Swell Trim Cap | "Bass" on Voce |
1, 2 | 90 | Slider | Reverb | "Hum" on Voce, 0..23 = OFF, 24..47 = Rev 1, 48..63 = Rev 2, 64..127 = Rev 3 |
1, 2 | 91 | Slider | Amp 122 Volume | "Distortion" on Voce, same as CC #7 |
1, 2 | 92 | Switch | Rotary Stop/Run | |
1, 2 | 93 | Fixed | Vibrato Knob | 0..23 = V1, 24..42 = V2, 43..64 = V3, 65..90 = C1, 91..110 = C2, 111..127 = C3 |
1 | 95 | Switch | Vibr Upper ON | |
2 | 12..20 | Slider | Lower Drawbars | Same as 21..29 on Channel 1 |
2 | 95 | Switch | Vibr Lower ON | |
3 | 12 | Slider | Bass DB 16 | |
3 | 13 | Slider | Bass DB 5 1/3 | |
3 | 14 | Slider | Bass DB 8 | |
3 | 15 | Slider | Bass Pedal Sustain |
Hamichord/Mojo
Italian Hamichord/Mojo controller set supports only base MIDI channel. Key ON/OFF data of channel 2 (lower) and 3 (pedals) will be accepted, though.
Hamichord/Mojo CC set will not accept Program Change messages since Hamichord/Mojo always sends a "snapshot" of all MIDI CCs when changing a preset.
Channel | CC# | Type | Function | Remarks |
1 | 1 | Fixed | Rotary Slow/Fast | Modulation Wheel, 0..30 = SLOW, 31..94 = STOP, 95..127 = FAST |
1 | 7 | Slider | Amp 122 Volume | |
1 | 11 | Slider | Swell Pedal | |
1 | 12..20 | Slider | Upper Drawbars | |
1 | 21..29 | Slider | Lower Drawbars | |
1 | 30 | Slider | Pedal DDB 16 | |
1 | 31 | Slider | Pedal DDB 8 | |
1 | 32 | Fixed | Vibr Knob | 0..21 = V1, 22..43 = C1, 44..65 = V2, 66..87 = C2, 88..109 = V3, 110..127 = C3 |
1 | 34 | Slider | Swell Pedal | same as #11 |
1 | 35 | Slider | Amp 122 Volume | same as #7, "Tube Amp Drive" on Hamichord/Mojo |
1 | 38 | Slider | Bass Pedal Sustain | "Keyclick" on Hamichord/Mojo |
1 | 39 | Fixed | Reverb | 0..23 = OFF, 24..47 = Rev 1, 48..63 = Rev 2, 64..127 = Rev 3 |
1 | 42 | Switch | Percussion ON | |
1 | 43 | Switch | Percussion SOFT | inverted! |
1 | 44 | Switch | Percussion FAST | inverted! |
1 | 45 | Switch | Percussion THIRD | |
1 | 46 | Switch | Vibr Upper ON | |
1 | 47 | Switch | Vibr Lower ON | |
1 | 48 | Switch | Rotary RUN | |
1 | 47 | Switch | Rotary SLOW/FAST | |
1 | 54 | Switch | Audio Config A/B | "L/R out select" on Mojo |
1 | 91 | Fixed | TG Leakage | "Crosstalk" on Mojo |
1 | 92 | Fixed | TG Cap Set | "Keyclick length" on Mojo |
1 | 95 | Slider | Swell Trim Cap | "Percussion Volume" on Mojo |
Hammond XK
HX3 supports most of Hammond XK MIDI controller functions. For convenience, some controllers have been relocated to other HX3 functions:
- XK Overdrive knob controls HX3 Rotary tube Amp Volume
- XK Reverb button controls HX3 lower manual Vibrato On
- XK Tube On button controls HX3 Reverb
Hammond uses NRPN controllers instead of standard controller range. Drawbars are encoded through a weird grid scheme using only 3 CC#s, see XK manual for details.
Hammond XK set accepts program changes for upper manual MIDI channel, range 0..15, and changes presets for both upper and lower. Hammond Preset 11 will be converted to HX3 preset 0 (live).
Channel | CC# | Type | Function | Remarks |
1,2,3 | 6 | Value | NRPN data entry | |
1,2,3 | 7 | Slider | Amp 122 Volume | |
1,2,3 | 11 | Slider | Swell Pedal | |
1,2,3 | 80 | Fixed | Upper drawbars | According to Hammond encoding, see XK user manual |
1,2,3 | 81 | Fixed | Lower drawbars | According to Hammond encoding, see XK user manual |
1,2,3 | 82 | Fixed | Pedal drawbars | According to Hammond encoding, see XK user manual |
1,2,3 | 95 | Don't Care | Save Upper | If received, saves upper drawbars and setup to current preset# |
1,2,3 | 96 | Don't Care | Save Lower | If received, saves lower drawbars and setup to current preset# |
1,2,3 | 98 | Value | LSB of NRPN controller# | |
1,2,3 | 99 | Value | MSB of NRPN controller# |
Hammond XK NRPN Encoding is as follows (NRPN represented as hexadecimal values):
NRPN # | XK Function | HX3 Function/Remarks |
00,0A | EQ Bass Gain | Swell Trim (!) |
02,0A | EQ Treble Gain | TONE pot (!) |
02,09 | Vib Upper ON | (same) |
17,09 | Vib Lower ON | (same) |
04,0A | Reverb ON | Vib Lower ON (!) |
03,09 | Vib Knob | 0=V1, 1=V2, 2=V3, 3=C1, 4=C2, 5=C3 |
00,09 | Leslie Run | (same) |
01,09 | Leslie Fast | (same) |
05,09 | Overdrive | Tube Amp Gain |
00,08 | Perc ON | (same) |
01,08 | Perc THIRD | (same) |
02,08 | Perc FAST | (same) |
03,08 | Perc SOFT | (same) |
09,09 | Tube ON | Reverb ON (!) |
07,02 | User Switch | Audio Config A/B (!) |
01,07 | Manual Bass | Key Split ON (!) |
00,07 | Split | Key Split ON |
Hammond SK
Hammond SK does not use the weird drawbar encoding scheme of XK, but standard CCs whith same numbers as NI B4 CCs for upper/lower manual and bass pedal 16'/8'. For other controllers, knobs and buttons, the SK uses nearly the NRPN scheme as found on XK. Some NRPNs differ, though (see table).
Hammond SK set accepts program changes for upper manual MIDI channel, range 0..15, and changes presets for both upper and lower. Hammond Preset 11 will be converted to HX3 preset 0 (live).
Channel | CC# | Type | Function | Remarks |
1,2,3 | 6 | Value | NRPN data entry | |
1,2,3 | 7 | Slider | Amp 122 Volume | |
1,2,3 | 11 | Slider | Swell Pedal | |
1,2,3 | 12..20 | Slider | Upper Drawbars | similar to NI B4 scheme |
1,2,3 | 21..29 | Slider | Lower Drawbars | similar to NI B4 scheme |
1,2,3 | 33 | Slider | Bass DB 16 | similar to NI B4 scheme |
1,2,3 | 34 | Slider | Bass DB 8 | similar to NI B4 scheme |
1,2,3 | 98 | Value | LSB of NRPN controller# | |
1,2,3 | 99 | Value | MSB of NRPN controller# |
Hammond SK NRPN Encoding is as follows (NRPN represented as hexadecimal values):
NRPN # | XK Function | HX3 Function/Remarks |
00,0A | EQ Bass Gain | Swell Trim (!) |
02,0A | EQ Treble Gain | TONE pot (!) |
02,09 | Vib Upper ON | (same) |
03,09 | Vib Lower ON | (same) |
04,0A | Reverb ON | Vib Lower ON (!) |
03,09 | Vib Knob | 0=V1, 1=V2, 2=V3, 3=C1, 4=C2, 5=C3 |
07,09 | Leslie Stop | (inverted Run!) |
01,09 | Leslie Fast | (same) |
00,30 | Overdrive ON | ignored (!) |
02,30 | Overdrive | Tube Amp Gain |
00,08 | Perc ON | (same) |
01,08 | Perc THIRD | (same) |
02,08 | Perc FAST | (same) |
03,08 | Perc SOFT | (same) |
02,22 | Sustain ON | Bass Sustain ON (!) |
09,09 | Tube ON | Reverb ON (!) |
07,02 | User Switch | Audio Config A/B (!) |
00,07 | Manual Bass | Key Split ON (!) |
KeyB Duo
Italian KeyB/Diversi controller set supports three MIDI channels.
KeyB set accepts program changes for upper and lower manual on separate MIDI channels, range 0..15.
Channel | CC# | Type | Function | Remarks |
1 | 7 | Slider | Amp 122 Volume | |
1 | 9 | Fixed | Reverb 0..3 | 0..23 = OFF, 24..47 = Rev 1, 48..63 = Rev 2, 64..127 = Rev 3 |
1 | 11 | Slider | Swell Pedal | |
1 | 12..20 | Slider | Upper Drawbars | |
1 | 21..29 | Slider | Lower Drawbars | |
1 | 68 | Fixed | Rotary Slow/Fast | 0 = SLOW, 64 = STOP, 127 = FAST |
1 | 70 | Switch | Percussion FAST | |
1 | 71 | Switch | Percussion SOFT | |
1 | 72 | Switch | Percussion THIRD | |
1 | 73 | Switch | Percussion ON | |
1 | 79 | Switch | Split ON | "String Bass" on KeyB |
1 | 89 | Slider | Percussion Level | "Key Click" on KeyB |
1 | 90 | Fixed | Leakage | "Crosstalk" on KeyB, scaled to 0..3 |
1 | 91 | Slider | Amp 122 Volume | "Tube Amp Drive" on KeyB |
1 | 95 | Switch | Vibrato Upper ON | |
1 | 93 | Fixed | Vibrato Knob | 18 = V1, 79 = C1, 36 = V2, 100 = C2, 58 = V3, 122 = C3 |
1 | 103 | Slider | Swell Trim Cap | "Bass Equ" on KeyB |
1 | 104 | Slider | Tone | "Treble Equ" on KeyB |
1 | 105 | Slider | Pedal Sustain | |
1 | 106 | Switch | Audio Config A/B | "Volume Soft" on KeyB |
2 | 12..20 | Slider | Lower Drawbars | Same as 21..29 on Channel 1 |
2 | 95 | Switch | Vibr Lower ON | |
3 | 12 | Slider | Bass DB 16 | |
3 | 13 | Slider | Bass DB 8 |
MIDI Custom CC
(Not available on HX3.5 so far!)
FW #3.6x and up provide a "custom MIDI CC" set which may be altered to your needs by using HX3 Remote application. By factory default, it is set to accept Nord C2 MIDI data (also compatible with Ocean Beach DB-1 controller). See wiki page HX3_Remote_Application#Editing_MIDI_Custom_CCs how to create a custom CC set and store it to HX3. Please note that currently the custom MIDI CC set only accepts controller commands on upper manual MIDI channel (1 on factory default).
Böhm Sempra
(implemented in HX3.5 only!)
The most comprehensive CC set #6 is for Böhm Sempra organs. It supports almost every organ parameter available. Please download the Sempra Excel sheet.
Additional Info
Important note: Firmware #3.6x and FPGA #20072014 or newer provide a secondary MIDI input (merged with other) and also sends MIDI CCs from all local controllers (drawbars/buttons/switches).
MIDI implementation tables can be found in our Github Repository, see folder DOCS_PDF.