There are many people who use a control surface like BCR/LPD8/APC Mini/NanoKontrol with GrandMA2 by using translations in MIDI Translator Pro. We don't have a GrandMA2 expert at Bome, but searching for GrandMA2 on this forum gives quite a few results. Though I could not find a ready-to-use solution, so I give it a try here.
GrandMA2 requires MIDI Notes instead of Control Change and Pitch Bend messages. See the GrandMA2 setup here
Remote MIDI.
So the general scheme is:
- connect the MIDI controller to MIDI Translator Pro (MT) instead of GrandMA
- use MT's virtual MIDI port 1 for sending data to MA (and back, if needed)
- modify the MIDI messages in MT as needed (using translators)
Configure GrandMA
For this to work, first configure MA:
Instead of selecting the MIDI controller for MIDI IN and OUT, select Bome MIDI Translator 1 for both MIDI IN and OUT.
Now start MT Pro.
MIDI Router
Go to the Project Properties (in the right sidebar). Scroll down a bit to see the MIDI Router.
Draw a line from the left MIDI control surface MIDI IN port (e.g. NanoKontrol) to the right "Bome Virtual Port 1" OUT port.
Now all MIDI data from the MIDI controller will be routed directly to GrandMA. For the return stream, draw a line from "Bome Virtual Port 1" to the MIDI control surface.
Test: the MIDI data from the MIDI control surface should arrive in GrandMA.
Now, for example let's convert a fader to a Note On message, note 40. The Note On message's velocity will be set to the controller's value. This is how to do it:
In MT Pro:1) Create a Preset
Let's give it a name, e.g. "CC Mappings to GrandMA2".
In the Preset's properties, MIDI INPUT list, check your MIDI control surface (e.g. NanoKontrol). Check Bome Virtual 1 in the MIDI Output list.
2) Create the first Translator
Now create a translator. Give it a meaningful name, e.g. "Fader 1 to Note 40".
Incoming
In the right sidebar's Incoming section, select
MIDI Message as the type. Check "Capture MIDI" and move the fader on your control surface. For example, with a Korg NanoKontrol, you will see something like this:
Code: Select all
MIDI B0 02 00
Control Change on ch. 1 with CC#:2 (0x02) and value:0 (0x00)
Control Change on ch. 1 with CC#:2 (0x02) set 'pp' to value
MIDI B0 02 01
Control Change on ch. 1 with CC#:2 (0x02) and value:1 (0x01)
Control Change on ch. 1 with CC#:2 (0x02) set 'pp' to value
MIDI B0 02 02
Control Change on ch. 1 with CC#:2 (0x02) and value:2 (0x02)
Control Change on ch. 1 with CC#:2 (0x02) set 'pp' to value
MIDI B0 02 03
Control Change on ch. 1 with CC#:2 (0x02) and value:3 (0x03)
Control Change on ch. 1 with CC#:2 (0x02) set 'pp' to value
We want this translator to translate all possible values of this fader, and we want to remember the value of the fader, so click on any line which says "...set 'pp' to value". Then, deactivate
Capture mode.
The Incoming Action now should read something like this:
Code: Select all
Channel 1
CC#: 2
Value: any, set pp to value
"pp" is a variable and will contain the value of the fader while you're moving it.
Outgoing Action
Now in the side bar's Outgoing section, select
MIDI Message for the action type. In the drop-down list, select
Note On. Then set the parameters like this:
Code: Select all
Note On
Channel 1
Note: 40
Velocity: pp
Verify correct operation
From the View menu, open the Log Window. Make sure that Incoming and Outgoing are checked. Now, when moving the fader, you should see output similar to this:
Code: Select all
846747 - IN 0.0 Control Change on ch. 1 with CC#:2 (0x02) set 'pp' to value=1
846747 - OUT 0.0 Note On on ch. 1 with note:40 (0x28) and velocity:pp=1
846768 - IN 0.0 Control Change on ch. 1 with CC#:2 (0x02) set 'pp' to value=2
846768 - OUT 0.0 Note On on ch. 1 with note:40 (0x28) and velocity:pp=2
846801 - IN 0.0 Control Change on ch. 1 with CC#:2 (0x02) set 'pp' to value=3
846802 - OUT 0.0 Note On on ch. 1 with note:40 (0x28) and velocity:pp=3
846865 - IN 0.0 Control Change on ch. 1 with CC#:2 (0x02) set 'pp' to value=4
846865 - OUT 0.0 Note On on ch. 1 with note:40 (0x28) and velocity:pp=4
846878 - IN 0.0 Control Change on ch. 1 with CC#:2 (0x02) set 'pp' to value=5
846878 - OUT 0.0 Note On on ch. 1 with note:40 (0x28) and velocity:pp=5
846891 - IN 0.0 Control Change on ch. 1 with CC#:2 (0x02) set 'pp' to value=6
846891 - OUT 0.0 Note On on ch. 1 with note:40 (0x28) and velocity:pp=6
846906 - IN 0.0 Control Change on ch. 1 with CC#:2 (0x02) set 'pp' to value=7
846906 - OUT 0.0 Note On on ch. 1 with note:40 (0x28) and velocity:pp=7
846939 - IN 0.0 Control Change on ch. 1 with CC#:2 (0x02) set 'pp' to value=8
846939 - OUT 0.0 Note On on ch. 1 with note:40 (0x28) and velocity:pp=8
846953 - IN 0.0 Control Change on ch. 1 with CC#:2 (0x02) set 'pp' to value=9
846953 - OUT 0.0 Note On on ch. 1 with note:40 (0x28) and velocity:pp=9
846966 - IN 0.0 Control Change on ch. 1 with CC#:2 (0x02) set 'pp' to value=10
846966 - OUT 0.0 Note On on ch. 1 with note:40 (0x28) and velocity:pp=10
Setup GrandMA2
Now in GrandMA2, go into MIDI setup and map Note 40 to the function you need. As said, we don't know this part well, but it should work.
Mapping other faders
Using this scheme, you can map any faders to GrandMA2's Note On messages. Use a different Note number for the Outgoing action for every fader. You can use the same variable "pp" for every translator.
Share your results
Once you've created a useful project file with MT Pro, please share it here in the forum. And discuss!
Thanks,
Florian