mapping akai apc 40 mk2

hello everybody..

I have some problems mapping akai apc 40 mk2 for a lights software Gma2

tried something with Ableton live 10 lite with bome pro but buttons on every faders gives the same note..

48.49 50 each button I need to insert new note on each button tried with bome but nothing..

thanks to all giving a tip

1 Like

Hi, on the APC 40 MK2 button matrix, each button gives the same note number but on a different channel. Column 1 sends on MIDI Channel 1, Column 2 sends on MIDI Channel 1 etc.

If GMA2 will not accept these messages as unique (same note different MIDI Channel), then it is possible you would need to remap your controller.

An example would be below, this will translate notes 53-57 on CH1-8 to Notes 0-39 on MIDI CH 1

Incoming : Note ON Any MIDI CH set to oo Any note set to pp any velocity set to qq

// Only do this for notes 53-57 which are on the main pad matrix

if pp<53 then exit rules, skip outgoing action

if pp>57 then exit rules, skip outgoing action
// Convert Note to 0-7


// Multiply by Chanel to get note this way CH will have notes 0-7 CH2 will have notes 8-15 etc



// Subtract 1 this will produce 0-39 instead of 1-40 (my preference)


// End of Rules
Outgoing: Note on MIDI CH1 note pp velocity qq
Options: swallow

I only tested this on paper so if there is something not working, let me know.

Steve Caldwell
Bome Q and A Moderator and
Independent Bome Consultant/Specialist

Hi, did my answer help? If not, let me know where you are.

Hello thanx for the ready reply..

Just a questioni..
When I insert new values how Can I Save ? I mean.. with the Classic version I click on apply what about the pro version..?
Actually i did’nt have time to test ..

Values are saved as you type them. There is not undo function so make sure you type correctly and even perhaps periodically save you project file.

hello there..

tried all the ways but the result it’s always the same 48 ,49 ,50

should I flag the incoming and outgoing window..?

hello there..

tried all the ways..but the result it’s always the same..

should I flag incoming and outgoing..?

see the pic



it’s always 48.49 50

Could you please attach your project file (as an answer) here. I will edit it for you. Probably the quickest way. My original response was based on the note numbers of the main matrix and I suspect if you are using 48,49 and 50. Those are Record Arm, Solo and Activator. So basically the logic is correct, it is that we are just looking for the wrong notes.

The strategy is.
1) Look at the Incoming Note and Channel
2) On output, convert that to a unique note and channel so that GMA2 can handle it.

Steve Caldwell
Bome Q and A Moderator and
Independent Bome Consultant/Specialist

ok here’s the file..

thank u


OK, here is what I did

Added Init Preset and set it to send Init string to your APC-40 at project start.

0.0 – Triggers a timer “Init” at project open

0.1 – Triggers a timer “Init” if you hit your computer escape ke

0.2 – Sends the APC40 an initialization string to ensure it is in toggle state. You might want to later set this to momentary state if you want tighter control on your LED state and have Bome MIDI translator manage the LED’s

Disabled all of your translators 1.30 through 1.35

Added translators 1.36 through 1.43

1.36 and 1.37 handles mapping for all Number buttons

1.38 and 1.39 handles mapping for A|B buttons

1.40 and 1.41 handles mapping for Solo buttons

1.42 and 1.43 handls mapping for Record Arm buttons

I convert all of these from there respective channels and notes number to put out Notes on Channel 2 only. You will need to set GMA2 to recognize Channel 2 notes for these. I did this so that the notes would not conflict with any other APC40-MK2 buttons.

Number buttons for each track 1-8 are as follows – 0,4,8,12,16,20,24,28 – Notes

A|B buttons for each track 1-8 are as follows – 1,5,13,17,21,25,29 – Notes

Solo buttons for each track 1-8 are as follows – 2,6,14,18,22,26,30 – Notes

Rec-Arm buttons for each track 1-8 are as follows – 3,6,15,19,23,27,31 – Notes

All on MIDI CH2


You can look at the rules to see how I calculated the mappings (incoming CH# and note number to outgoing note number)

This should be enough to get you started on doing you own mappings for other things. I put comments in front of every rule


Oh, also I created aliases for GMA2 to poiny Bome MIDI Translator 1 and adjusted the default routing accordingly. I also defined the routing within APC40 MK2 Preset

Input APC40 mkii

Output GMA2





thank u so much

almost mapped everythings

just a question

how can I insert different colour on buttons?

Got to tha Akaipro site and download the manual APC40 MKII protocol (or something like that) It provides information on all of the buttons’ MIDI Channels, values and color mapping.

You will need to put the device into “momentary” mode if you want to control the colors and behavior of the buttons I remapped for you. Of course the color feedback to these buttons will need to be their original value (the value the button send) instead of the mapped value (the value that I programmed) for it to work. The mode options are in the rules of the translator I set up for Init APC40.

You would set up a new preset with output to APC40 only and then use Bome MT Pro rules and variables to control the colors you send back to the controller. The input of this preset would likely also be the APC40.

If you have a single button example you need, please describe and I will assist with that, then you can build the rest of them yourself.

If you want me to do more than one, send me an email and I can provide an estimate.

Steve Caldwell
Bome Q and A Moderator and
Independent Bome Consultant/Specialist

hello Steve

thnx for all

I’ve almost mapped everythings but I have a problem with the central 40 buttons

they stay in on mode as I push the button anyway I send u the new file so u can tell what’s wrong

thnk u very much anyway




Hi, could you tell me the desired behavior you want with the central 40 buttons? Are you looking to toggle them each time they are pushed. Push once, note on, push again, note off?
What color are you looking for for note-on and note off?

Also some of these buttons you captured the Note-Off as the trigger and others Note-On as the trigger? For instance 90 17 7F (which is note-on) for button 38 and 80 1F 00 (which is note-off) for button 39. Are you expecting different behavior for some buttons than others?

Steve Caldwell
Bome Q and A Moderator and
Independent Bome Consultant/Specialist

hello Steve


the best would be push on push off

and when on with a green colour

off blue if it’s possible

thank u




I added the following.

Under the INIT preset I added a translator to set global variable when the timer Init triggers.

I defined 3 global variables

g0 – This is a bit map of LED states (on/off ) for buttons 0-31

g1 – This is a bit map of LED states (on/off) for buttons 32-39

I use bitmaps to reduce the amount of global variables used. I could have used 40 separate global variables instead but in this case since I bit mapped the buttons I only used 2 global variables. A variable holds 32 bits and we have 40 total to work with so it needed 2.

I also set up ga as a counter which is used later to refresh the LED’s (counting down from 39 to 0) which also serves as note numbers to send LED colors to.

I also created a translator so that if I hit the computer keyboard ESC key, it reset these all back to 0 (ESC Init)

Then a created a new preset for LED feedback. I attached the input and output of this preset to the APC40 MK2 only since I don’t want the LED feedback also going to GMA2.

In this preset, there are 2 translators.

Note Matrix In – This translator just monitors for one of the 40 notes you pressed and updates the bitmap to toggle the state of the current bit (LED). Once it reads the note it triggers a timer to update all 40 LED’s

Note Matrix LED Update – This is the timer that iterates through each note and sets the color state of your controller depending on the bit state of its LED. This is where the On and Off colors are defined. It basically looks at the bit state of the LED and sends either On color or Off color depending on the state. If you want to change the on and off colors, this is where you would do that.


// On Green
if rr==1 then qq=23
/// Off Blue
if rr==0 then qq=46


I’ve attached the project file. I tested with my APC-MINI with colors 1 a 3 because it does not have as many colors as the APC-40 MKII. I looked at the below page to determine the colors.




hello Steve thank u for the ready answer..

ok the colours are perfect

but I did’nt get the way to switch on and off the buttons..

they’r still in on mode if u could configurate 3 or 4 then I could copy them and doing on my own..

actually I use it for lights .. don’t know much about audio




Hi, I didn’t touch any of your translators. I created a new translator and it handles all 40 button and LED states. I did it this way to reduce the number of global variable needed, If you need each of the 40 buttons programmed differently, then I can show you an example of one using one of your translators and a global variable. You can then duplicate it and modify it for each button (each with a different global variable) to behave differently if you would like.
Let me know.
Also, if you want to control the LED state based on information coming back from GMA2, then let me know what GMA2 sends for LED ON and LED OFF and we would need to create a new preset to control information coming from GMA2 since it would be a different input source.
I assume the LEDs are behaving as you expected. If not, let me know.
Steve Caldwell
Bome Q and A Moderator and
Independent Bome Consultant/Specialist

hello Steve

ok if u could traslate 2 or 3 buttons as an example would be great

using the same file