APC 40 Clip Pad Lighting 💡

edited February 6 in Tips and Tricks

For a while I've wanted my APC 40 pads to light up showing my selected clips. I found a pretty good solution for this, writing a streambyter script that lights up the pads with the same logic as Drambo

This script doesn't talk to Drambo in any way, so if you interact with the clips outside the APC 40 the lights get out of sync. But for my purposes it works great!

I'll post this up somewhere in the near future :)


  • edited February 10

    sadly this is out of stock and not available for month.

    its only 70€

    if it had endless encoders it would be perfect.

  • edited May 29

    Below is the StreamByter script I use to light the pads. Right now I run this in AUM in the background but you should be able to run it in Drambo itself.

    Copy-paste the txt file contents into StreamByter. I couldn't figure out how to get my script out of StreamByter without copy/paste.

    For this script to match the actions of Crambo, your project's clip launch should be set to stop clip on "swipe down", to disable stopping clips when clicking an enabled one. This script supports 5 patterns. An empty 6th one should also be created and mapped to the Clip Stop buttons.

  • Do I need MIDI Fire for it? Can you make short video how you connect this inside Drambo or AUM background? I use Stop Clip buttons as a drum trigs would it be an issue with this script? Share your midi map template project if you can please. I like an idea! Would be nice if it worked.. Cheers

  • @Monktunes Have you tried running Streambyter in the background?

  • edited June 24


    How do you mean background? I have it open, but I’m not sure, should it be on some MIDI Out channel inside Drambo?

    BTW when I click Instal Rules nothing is happening as in attached:

    Should APC be set to User mode or it doesn’t matter?

  • @Monktunes Streambyter should be available as separate MIDI in and out ports, not channels.

    Can't help you regarding the APC, I don't own one.

  • Thanks @rs2000 for tips.

    I've made it work:

    AUM hosts Streambyter and sends massages in a background Drambo is stand alone.

    I'm using 'Clip Stop' buttons as a drum pad triggers so it makes LED lights switch off but this can always be re-triggered or remapped easily.

    I wish there was a way to disable some APC's original functions but hey-ho. I'm happy with it.

    Thank you @quartzite good work.

  • Looks great @Monktunes! 👍🏼

  • edited June 28

    @Monktunes Glad you like it!

    I agree that some of the original APC functions are annoying.

    One thing I found you can do is write a streambyter script to send values back to the APC 40 when it sends values out. What this means in practice that you can turn an absolute knobs into an incremental one. Or turn a "switching" button into a momentary button.

    If you go to the bottom of page 3 I posted an example of this (and @uncleDave posted some improvements of it) https://forum.beepstreet.com/discussion/479

    While this solution isn't perfect it can expand what you can do with the controller.

  • FYI you can switch APC40 to 3 different modes - Ableton live mode 1, Ableton live mode 2 and generic MIDI mode. You need to send sysex message to change it. I did it in Mozaic, may send a script in case someone is interested.

    AFAIK you can control everything , except of changing default mapping, but if you’re already use e.g. Streambyter, its not a big deal. You can even control e.g. behavior of encoder leds (single, full, panning) etc.

    Google for APC40 communications protocol manual, there’s everything needed to customize its behavior.

  • @skrat

    That's what I thought it's possible, but I've never went that far. Great news.

    Can you please send a a script? Is it possible to send it from Streambyter?

  • edited July 5

    Seems like Streambyter should be able to send Sysex messages but I've never used it, but this script should help you to adjust to SB syntax:

     Sysex to switch to Ableton mode (0x40 = generic mode, 0x41 = ableton mode 1, 0x42 = ableton mode 2)
     Call @MySendModeChange
     Log {Switching AKAI APC40 to Ableton Mode (1). This will ensure all LEDs are controlled only via incoming MIDI}
     sysexData = [0x47, 0x39, 0x29, 0x60, 0x00, 0x04, 0x41, 0x,38, 0x38, 0x38]
     SendSysex sysexData, 10
  • Hi, thanks for a tip.

    I've tried send this text over Streambyter with no luck.

  • edited July 9

    I've never tried switching modes myself. Switching away from the "Generic" mode stops the APC 40 from having 8 (edit: 9) pages of knobs I'm pretty sure, and I use that feature.

  • By 8 Pages od knobs do you mean set of knobs per chanel.? I don’t Think navigation arrows or bank/device change work anyway in Drambo.

  • Hmm, don't have now APC40 by my hand to check it out, but maybe try out to fix the bytes this way (seems like I had a typo there):

     sysexData = [0x47, 0x39, 0x29, 0x60, 0x00, 0x04, 0x41, 0x38, 0x38, 0x38]

    Also note that if you send raw MIDI, you may need to begin with 0xF0 as a first and end with 0xF7 bytes (seems like Mozaic is doing this automatically when using SendSysex command).

    I had some note in my cheatsheet on how the message is compiled which may help too:

    Sysex to switch to Ableton mode (0x40 = generic mode, 0x41 = ableton mode 1, 0x42 = ableton mode 2)
    1    2    3    4    5     6     7    8    9    10    11    12
    0xF0 0x47 0x39 0x29 0x60  0x00  0x04 0x42 0x38 0x38  0x38  0xF7

    I think you mean that actually Generic mode is the one you use - it's the default mode (unless using Ableton Live) with reasonable defaults for the controllers behavior, including banking of the device control encoders, based on which track you have selected. I also prefer this Generic mode, but if someone wants absolute control, it may help to use those Ableton modes to not fight against defaults.

    I again recommend this manual - it's the best resource for anyone who wants to get some advanced control of APC40 behavior: https://www.akaipro.de/sites/default/files/2018-01/APC40Mk2_Communications_Protocol_v1.2.pdf_7db83a06354c396174676105098e3a7d.pdf

Sign In or Register to comment.