General Remarks

H-Pi hardware products are Musical Instrument Digital Interface (MIDI) devices, so the first thing to do is make sure you understand how MIDI works. Your destination synth must at least support standard MIDI. Non-MIDI gear will not work with our hardware products. If you work with non-MIDI analog synthesizers for example, you will need to get a MIDI-to-CV converter to connect to our devices.

MIDI DIN5 and USB Jacks

Since 1983, the MIDI standard has required DIN5 connectors on all MIDI hardware. These connectors allow all MIDI devices to communicate with each other easily without the need for a host. MIDI is thus known as a peer to peer or P2P system. Each device is a peer of the other devices. To connect a standard MIDI device to a computer, a MIDI Interface is required. Since USB has become a standard system for computers, most MIDI interfaces are now USB devices. In recent years, there has been a shift away from P2P systems towards computer-centric (i.e. host-centric) systems. Many MIDI devices have followed suit, dropping MIDI DIN5 connectors altogether, offering instead only a USB connector. The USB connection is an embedded MIDI interface. This seems reasonable, but the problem with dropping the DIN5 connectors is that such products are no longer standard MIDI peer devices. WIth USB only, they require a USB host i.e. the computer.

This problem is solved by making a device which is both a MIDI peer device, and a USB-MIDI Host device. TBX2 is such a device. MIDI peer devices connect to TBX2 using standard MIDI cables conected to DIN5 jacks, and class-compliant USB-MIDI devices connect to TBX2 via the USB Type-A (USB-Host) jack. When connecting a USB-MIDI device, there are a few things to be aware of:

For further discussion of USB-MIDI, please see this blog post.

General MIDI Microtuning (MPE)

For over a decade, H-Pi products have employed a dynamic microtunig algorithm which has only recently been formally adopted by the MIDI association and dubbed MIDI Polyphonic Expression (MPE). This algorithm makes our products compatible with the widest range of MIDI equipment on the market. TBX1 and Tonal Plexus TPX keyboards use this algrotithm, and the new TBX2 also uses this in POLY mode. Only TBX2 also allows other tuning methods to be used (see below). The easiest way to check for MPE compatibility is to scan for the words MULTITIMBRAL and PITCH BEND in the user manual of your synth. If pitch bend is supported and the device is multitimbral, then you are in business. There are some details to check which will help to confirm compatibility. You will want to check the MIDI Implementation Chart at the back of the owner's manual. The following parameters must be there:

MIDI IMPLEMENTATION CHART
FUNCTIONTRANSMITTEDRECOGNIZEDREMARKS
Channel Default
Channel Changed
(any)
(any)
1-16
(any)
See note below
Pitch Bend(any)OAll Recognized Channels
Control Change*
0, 32
6, 38
100,101

(any)
(any)
(any)

O
O
O

Bank Select MSB, LSB
Data Entry MSB, LSB
RPN MSB,LSB
Aux
LOCAL ON/OFF
(any) (any) * Keyboard Synthesizers only
MODE 1: OMNI ON, POLY          X = No   O = Yes
IF PITCH BEND MESSAGES ARE NOT RECOGNIZED, THE DEVICE WILL NOT BE RETUNED**

* Denotes OPTIONAL functionality

Notes about the requirements listed above:

**For TBX2 this section only applies for presets in POLY and MONO modes (not MTS or USR modes).

  1. Channel Default / Channel Changed — There are often two numbers here, in which case the first indicates the number of channels recognized by the device, and the second indictaes the possible settings for each of those channels. If the number of recognized channels is greater than one, the device is capable of producing retuned polyphony.
  2. Pitch Bend — TUNED output uses pitch bend messages. If a device does not recognize these messages, it will not be retuned by the unit's MIDI OUT (TUNED) port.
  3. Control Change: 0,32 — this functionality is OPTIONAL; a device might not have banks, for example
  4. Control Change: 6,38,100,101 — this functionality is OPTIONAL; these are needed to set the pitch bend range to the highest resolution possible = 1 semitone, but if Pitch Bend RPNs 100 and 101 are not recognized, the device is still compatible but the tuning resolution will be less exact and tuning tables must be altered to produce correct pitches. [NOTE: TBX2 solves this problem by including a Global Pitch Bend Range setting, so that new tables do NOT need to be uploaded to the unit.]
  5. Aux LOCAL ON/OFF: — Keyboard synthesizers without LOCAL CONTROL OFF (or equivalent) can be used as controllers for GM microtuning, but without LOCAL OFF a keyboard's internal synthesizer will output two pitches for every key pressed. Don't be alarmed if you see an X in the LOCAL ON/OFF box of your MIDI Implementation chart or it doesn't even appear on the chart; even if the message is not recognized, you can usually still set it manually. Look for LOCAL CONTROL OFF in the owner's manual.
  6. MODE 1: OMNI ON, POLY — the device must receive MIDI messages simultaneously on multiple channels and play more than one note at a time if you want retuned polyphony. NOTE: ployphony is limited to number of receiving channels; whereas keyboards are assumed to be polyphonic, wind controllers or mono-lead synths will still work as retuned monophonic instruments, so for those instruments, MODE 2: OMNI OFF, POLY or MODE 4: OMNI OFF, MONO will also work. Some devices have a MULTI mode, which usually means it is MULTITIMBRAL which is the best compatibility.

MIDI Tuning Standard Microtuning (MTS)

The MIDI Tuning Standard (MTS) was written by Robert Rich and Carter Scholz and adopted by the MIDI Manufacturer's Association in 1992. There are a variety of MTS messages which may be supported by a given synthesizer. Check your synthesizer technical documentation concerning System Exclusive (Sysex) messages and tuning features. The three most common messages are the 128-note Bulk Tuning Dump, the 12-note Scale/Octave Tuning Dump, and the simpler Scale/Octave Tuning. All of these messages (as well as others) are supported by TBX2. NOTE: of all H-Pi hardware, only TBX2 supports MTS. Concerning H-Pi software, CSE, microsynth, and UTE support MTS.

Bulk Tuning Dump — If your synthesizer supports this message, the device is supposed to be retunable across its entire range, allowing any key to be retuned to any pitch. This is the "best" MTS message because it retunes the whole MIDI range, and includes 3 data bytes for each note, so the effective tuning resolution is 0.0061 cents. Some synths implement this in a non-standard and more limited way, allowing pitches only to be retuned +/- 100 cents from standard 12-tone tuning. TBX2 sends tunings in this format when a preset is set to MTS mode.

Scale/Octave Tuning Dump — Synthesizers supporting this message can be retuned in 12-tone tunings such as various meantone or well temperaments. There are two versions of this message, one using 1 byte data which allows 12 tones to be tuned +/- 64 cents, and a 2-byte form when 12 tones can be retuned +/- 100 cents. Here the tuning resolution is 0.012207 cents at best. This is used for synths supporting more than one named user-defined 12-tone tuning. TBX2 can send this message when a preset is set to one of the USR modes which has been accordingly prepared.

Scale/Octave Tuning — This might be called the little brother of the Single Octave Tuning Dump. The message is essentially the same as the Scale/Octave Tuning Dump, except that no name or program is sent, and bit-masked channel on/off bytes are included. This is usually used for synths that allow only one 12-tone user tuning. TBX2 can also send this message when a preset is set to one of the USR modes which has been accordingly prepared.

Proprietary Sysex Retuning (PSR)

Some synthesizers support neither MTS nor MPE, but implement their own microtuning protocol using manufacturer-formatted MIDI System Exclusive (Sysex) messages. Normally such synthesizers are limited to 12-tone tunings, but some may allow full-range 128-note tunings. Check your synthesizer technical documentation concerning Sysex messages and tuning features. TBX2 allows users to program whatever unique header bytes are needed to send a tuning of this type to a synth.