In order to use MT for this, you can use the standard "pass through" set up with MIDI Translator Pro (MT): your control surface (e.g. DS1) is connected to MT, and MT passes on the MIDI data to your DAW or other music performance software.
The user's manual has a tutorial on that, but in a nutshell it's this:
- in MT's virtual MIDI settings, make sure that you have at least 1 virtual MIDI port
- in MT, create a preset (e.g. named "From Controller"). In the Preset Properties, check your controller in the MIDI IN list, and the "MIDI Translator Virtual 1" in the MIDI OUT list
- in MT, in the Project Properties, go to the Routes section, and draw a line (route) from your controller to "MT Virtual 1", and from "MT Virtual 1" to the controller.
your controller's MIDI OUT section.
- in your DAW's MIDI settings, disable your controller for both MIDI IN and MIDI OUT, and use MT Virtual 1 instead (for both).
By now, your controller should work just as if directly connected to the DAW. But all MIDI data is going through MT, and the Event Monitor's LED's should light up when using the controller.
Now you can use translators to modify it.
1) modify the MIDI channel
We use the global variable "gc" for the MIDI channel. By default, all global variables are initialized with 0, corresponding to MIDI channel 1.
Code: Select all
Translator 0: patch Note On messages
Incoming:
Note On on any channel, set 'qq' to note and 'vv' to velocity
Options: [x] swallow MIDI message
Outgoing:
Note On on channel 'gc' with note:qq and velocity:vv
Translator 1: patch Note Off messages
Incoming:
Note Off on any channel, set 'qq' to note and 'vv' to velocity
Options: [x] swallow MIDI message
Outgoing:
Note Off on channel 'gc' with note:qq and velocity:vv
Translator 2: patch Control Change messages
Incoming:
Control Change on any channel, set 'qq' to CC# and 'vv' to value
Options: [x] swallow MIDI message
Outgoing:
Control Change on channel 'gc' with CC#:qq and value:vv
Now these 3 translators above will react on Note On, Note Off, and Control Change messages, respectively, and send out the same message -- except that the MIDI channel is set to the value of variable gc. Make sure that for all the Translators above, the "Swallow MIDI message..." is checked! Otherwise, the DAW will receive on the original channel, and on the modified channel!
2) Set up Translators to modify gc
Create a 4th Translator, select MIDI as Incoming action and use MIDI Capture for the button you want to use to change the value. In the following example, we assume you have captured a Note On message on note 10. Make sure to change the channel and velocity to "any".
Code: Select all
Translator 3: Set specific channel
Incoming:
Control Change on any channel, on note 10, and with any velocity
Rules:
gc=gc+1
if gc>15 then gc=0
Outgoing:
None
Now as the informed reader might have guessed, the Rules section will increase the channel by one. Because there are only 16 channels available (gc=0 to gc=15), we do the IF statement to wrap back to 0 if we exceed 15.
It should be easy for you to set up another translator for decreasing the MIDI channel. Or, even easier, to set the MIDI channel to a specific value ("gc=9" --> MIDI Channel 10).
Hope this helps!
Florian