Need Help Setting Up Duplex And Apc40

I believe this is all you need:

“0x41” is the mode, according to the manual (page 6). If the device is correctly set, the track select buttons should no longer act as “radio buttons”?

Sorry again :( , how should I treat this code?? Paste it into APC20.lua??

And make sure that the device name (Akai APC20) is correct. If you do enter this text into the console


…then you should get a list of the currently connected devices, so you can copy-paste from that.

Probably, for you, my reply will be irritated. But I’m not a programmer, so I am really confused about such task, sorry.

If I’m not wrong something, the result does not change at all. Radio buttons doesn’t change.

What I did is not wrong? :huh:
1486 apc20-mode1.png

Hmm, I get device configuration contains unknown application class: ‘Navigator’, when I try to open it with duplex.

No, don’t get me wrong - I’m just busy at work so I don’t always have time for a proper reply :slight_smile:

You forgot to tell me if you actually created a new file in the scripting console? Judging from the image, it doesn’t look like it.
You can create a new file by selecting “new” in the file menu. Paste the code from above, and save the file next to the “TestPad.lua” file.
Then, execute the code by hitting the small button in the corner -> “Execute”.

This should send the sysex code to the APC, which should enable the mode.

Notice that I wrote should two times? Because, I don’t have an APC and I only briefly scanned the manual. I’m just guessing how the APC might react to the “mode change”, the track select buttons should work differently then. I’m sure someone else who’s using the APC can confirm that this is how it’s supposed to work?

Satobox is using the bleeding-edge (0.95) version, which you can get here. The Navigator is part of that update.

OK I see. Thanks for your effort. Let’s go without haste. :)

Mmmm, I’ve tried this, but it seems nothing happen. Even if I hit the Execute button, nothing is displayed on the Terminal (I checked the “Dump MIDI” in Duplex). Is this correct?? I’m worry that I’m wrong at something fundamental…

And, I’ve tried to explain the problems by making movie. Though I talked very bad english in it :smashed: , maybe you can see easily that there are many problems on APC20.

Today I can confirm that I can send needed Sysex for changing APC20-mode, by using MIDI-OX.
Probably, we should send all Sysex values which are described in the APC40 COMMUNICATIONS PROTOCOL pdf.

  • 9 PC application Software version major
  • 10 PC application Software version minor
  • 11 PC Application Software bug-fix level

I specified those values as the trial, ie [8, 2, 1] = Ableton’s version number.
Seemingly, a version number will be OK even if it is not so exact.
So, I tried to send;

0xF0, 0x47, 0x7F, 0x7B, 0x60, 0x00, 0x04, 0x41, 0x08, 0x02, 0x01, 0xF7  

from MIDI-OX to APC20, then, bingo!!
I can confirm APC20 is changed to mode1. :yeah:

(Probably the values for APC40 are):

0xF0, 0x47, 0x7F, 0x73, 0x60, 0x00, 0x04, 0x41, 0x08, 0x02, 0x01, 0xF7  

But…, when I tried it in Renoise as well, I cannot sucsses it.
The action of APC20 becomes strange just as it connects with Renoise. :(
Yet I don’t know why…


And, maybe I should post another topic though,
I tried to send the Sysex from Renoise to MIDI-OX through MIDI Yoke, to confirm Renoise can send Sysex signal correctly.
Then the message appears on the Terminal;

*** std::logic_error: 'trying to open a non existing MIDI device.'  
*** stack traceback:  
*** [C]: in function 'create_output_device'  
*** test-sysex.lua:2: in main chunk  

test-sysex.lua is like this:

local device_name = "Out To MIDI Yoke: 1"  
midi_device = renoise.Midi.create_output_device(device_name)  
midi_device:send {0xF0, 0x47, 0x7F, 0x7B, 0x60, 0x00, 0x04, 0x41, 0x08, 0x02, 0x01, 0xF7}  

Why I cannot open MIDI Yoke?? :unsure:

It’s a good idea to copy-paste those device names - I just checked, and the device name has two spaces before the “1”

Ohhh, thanx! I’ve confirmed that Renoise can send Sysex correctly.
I tried it with connecting Renoise to APC20 again, then surely APC20 reacts to it.

But the problem is, the APC’s behavior is quite different from when I tried it with MIDI-OX & APC20.
APC20 behaves still strangely like my video above.

Hmmm, it’s a mystery.
Doesn’t Duplex send something wrong signal to APC20? :huh:

I just watched the video, thanks.

The first thing I noticed is that it seems like buttons are never released. The Matrix acts like if every button you press is held indefinitely. This is definitely something that should be investigated.
Since I don’t have an APC, I’ll have to think about a good testing scenario for this - do you have a more recent control-map for the APC20/40 than the one you already shared?

Now I’ve adjusted both control-map to mode-1.
I confirmed that the transport buttons react, however, they behaved as always pushed twice.

Anyway here is the updated mockup.

Ah, and additionally, can you embed the mode changing Sysex in APC20.lua?? :huh:

Thanks! Let me just investigate why the release events are not fired. I should read the whole APC manual as well, to learn why those codes are needed in the first place (ableton version number, wtf?). I’ll be back in a day or two

Actually, the version number values seem not so important.
I tried 0x00, 0x00, 0x00 as the version values, it works too. ;)
If there isn’t such values at all, it doesn’t work though.

And for reference, this is the result which is shown in the Terminal when I hit “F-3” button once.
Strangely there are many signals, aren’t there?

MidiDevice: Akai APC20 received MIDI 90 35 7F  
MidiDevice: Akai APC20 send MIDI 80 35 0  
MidiDevice: Akai APC20 received MIDI 80 35 7F  
MidiDevice: Akai APC20 send MIDI 80 35 0  
MidiDevice: Akai APC20 send MIDI 80 35 0  
MidiDevice: Akai APC20 send MIDI 80 35 0  

I really got sidetracked this last month,and see that you guys are kicking ass on this. In fact, you have lost me. I still haven’t figured out how to retrieve midi return codes from the device in Renoise in fact, and the Duplex Midi Dump thing is a complete mystery to me.


Was the .xml layout file helpful at all?

I have to admit envy of your technical skill as I am a complete MIDI noob and this is seems to be well outside my scope thus far. I am still playing around with Renoise, but had to buy a full copy of Ableton to be able to use this hardware for anything. Worst $350 USD I have ever spent BTW.

The good news is that I am using Renoise to make loops for other applications (i.e. Ableton) using the Akai MKP25 (no duplex.) The bad news is that since cant take advantage of my performance controller (APC40) with Renoise it saves tons of time using something else to take loops and turn them into compositions. I have faith that you guys will work it out eventually.

It looks like you are almost there. Let me know if you need any more half baked .xml files (I didnt have any way to even see if it displayed properly since my web server does not have all of the icons Duplex uses, and without an .lua file I couldn’t open it in Renoise.)

Happy New Year!

Hi spyderdyne, Happy New Year!! :)

First, thanks for your effort for making XML file.
Probably, if there was no XML of yours, I would not buy APC20 and would not edit Duplex files for it.
And of course I referred your XML, but unfortunately it didn’t work so well.
So I remade the XML file for APC almost completely selfishly. I’m sorry for that…

Then currently, I think that the XML (button & knob layout) for APC40 is almost completed.
But about the application mapping, we want APC40 owner’s opinions.
I temporary made the application mapping like this image:

1523 apc40-mapping.png

  • 1: Matrix
  • 2: Navigator
  • 3: Blockloop button
  • 4: Device Selector (Vol/Pan device ~ 15th device)
  • 5: Mixer Pre/Post button
  • 6: Solo
  • 7: Mute
  • 8: Volume Faders
  • 9: Pan knobs
  • 10: Page change for Matrix & Mixer(Left/Right/Up/Down)
  • 11: Device Parameters
  • 12: Page change for Device Parameters
  • 13: Go to Previous/Next Pattern
  • 14: Transport (Play/Stop/Edit)

Since I only have APC20 and danoise doesn’t have APC series, we cannot test this layout actually.
So we want APC40 owner’s opinions. Good or Bad or anything else.

This is the APC test folder.


To test this:

  • Install Duplex v0.96
  • Open;
  • Remove the default “APC20” folder
  • Place the “APC” test folder
  • Reload all Tools

Please give us some feedbacks. Thanks in advance.

Woops, I forgot the important thing. :o

I updated the test file above.
So please download again or change the Sysex message in the APC.lua (line 24) to;


I hope it will work.
(“0x73” means APC40. APC20 is “0x7B”)

Yeah, a big Happy New Year from me as well!!

Absolutely - and the APC40 isn’t that different from the APC20. No work has been done on my part since before new year (I’ve been on vacation), but I’m confident something will happen in the next few days - so if you could test any progress with the APC40 that would simply be awesome, as neither me or satobox actually own one of these devices :slight_smile:

Don’t know whether I’m just too stupid for all that but whenever I try to select APC40 Renoise tells me the following: “Whoops! Device configuration contains unknown application class: ‘Navigator’”
Sorry for bothering you with this. Any help’d be highly appreciated.

Are you using Duplex 0.94?
“Navigator” app is included in 0.96 or higher.