Merge MIDI and change channels

florian

2009-11-16 00:41:49

A user asked this:

hey guys, I have two devices that I want to use together in a live set-up. One sends MIDI messages down channels 1-12, and the other down Channels 1-3. I don't seem to be able to change which channels they use - with either device - and so there is some clashing.

Is it possible to use your Midi Translator software to redirect the messages of the second device to channels 13-15?

florian

2009-11-16 01:14:08

Hi,

this is one of the primary use cases for MT Pro! However, you do need MT Pro version 1.7.x or later for this to work (as of 11/2009, you can get it for Windows and as a beta version for OSX).

How to do it:
1) The general setup is this:

MIDI Device 1
+MIDI Device 2 -> Midi Translator -> Audio Software

With Audio Software I mean e.g. Ableton Live, Traktor, Cubase, etc.

For that to work do these settings:
Midi Translator:
[x] MIDI Device 1 Input
[x] MIDI Device 2 Input
[x] Virtual Midi Port 1

Audio Software:
[x] From Bome's Midi Translator 1

Make sure to NOT open the MIDI ports of Device 1 and Device 2 in your audio software!

2) Direct Routing of Device 1
We use the MIDI router to pass through all MIDI data from Device 1 to the virtual MIDI port: open the MIDI Router from the MIDI menu and draw a line from MIDI Device 1 to Virtual Output 1.

3) Mapping MIDI channels for Device 2
This one gets a little more complicated. There are many different ways to do this. Here I present a straight forward, though slightly clumsy way.

Create a new preset. Open the Preset properties. In the default MIDI devices, check only these:
MIDI IN: MIDI Device 2
MIDI OUT: Virtual MIDI Port 1

Then create translators according to the following scheme:

Code: Select all

Translator 1: Map CC's channel 1 to channel 13
Incoming: MIDI B0 pp qq 
  [x]Swallow
Outgoing: MIDI BC pp qq 

Translator 2: Map CC's channel 2 to channel 14
Incoming: MIDI B1 pp qq 
  [x]Swallow
Outgoing: MIDI BD pp qq 

Translator 3: Map CC's channel 3 to channel 15
Incoming: MIDI B2 pp qq 
  [x]Swallow
Outgoing: MIDI BE pp qq 

Translator 4: Map Note On's channel 1 to channel 13
Incoming: MIDI 90 pp qq 
  [x]Swallow
Outgoing: MIDI 9C pp qq 

Translator 5: Map Note On's channel 2 to channel 14
Incoming: MIDI 91 pp qq 
  [x]Swallow
Outgoing: MIDI 9D pp qq 

Translator 6: Map Note On's channel 3 to channel 15
Incoming: MIDI 92 pp qq 
  [x]Swallow
Outgoing: MIDI 9E pp qq 
The hex codes might look unfamiliar to you. Any MIDI guide on the net will help you decipher them though. pp and qq are variables that mean that the incoming action reacts for every value. As outgoing, we use the same values, only the first byte is changed, which has the MIDI channel as second digit (note it's minus one).

It is very important that every translator has "swallow incoming message" checked, so that only the translated message is sent to the virtual MIDi port, and to the Audio Application.

If you need to translate more message types, you can easily add translators according to the above scheme.

MT Pro's rules let you do the channel mapping in a more general way. With them, you can define the mapping with just two translators. But the rules make it less intuitive... That's why I presented the more simple way first.

Let me know how it works!
Florian