# Akai APC Key25 mk2 driver

**URL:** <https://discourse.zynthian.org/t/akai-apc-key25-mk2-driver/9082>\
**Category:** Software\
**Tags:** midi-controllers\
**Created:** [February 4, 2024, 9:09pm UTC](https://discourse.zynthian.org/t/akai-apc-key25-mk2-driver/9082 "2024-02-04T21:09:06Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![oscaracena](https://discourse.zynthian.org/user_avatar/discourse.zynthian.org/oscaracena/32/10846_2.png) [@oscaracena](https://discourse.zynthian.org/u/oscaracena)\
**Post date:** [February 4, 2024, 9:09pm UTC](https://discourse.zynthian.org/t/akai-apc-key25-mk2-driver/9082/1 "2024-02-04T21:09:06Z")

</div>

Hi Zynthianers!

As some of you know, I’m working on a driver for the APC Key25. It’s being a very fun quest, and I’m enjoying it a lot! 🤓

The support for Zynmixer and Zynpad is already there, and also a second mode to handle the UI. I’m currently implementing a third mode, something like a step sequencer to work with the Zynpad + Pattern Editor. It’s still in a very early stage, but I would like to share a taste of it with you. Hope someone will find it useful, and any feedback/suggestion is welcomed!

Enjoy!

[![](https://img.youtube.com/vi/Y4JTWJTz2Q0/maxresdefault.jpg "Zynthian - Akai APC Key25 mk2 - StepSeq (alpha) demo") ](https://www.youtube.com/watch?v=Y4JTWJTz2Q0)

---

<div class="post-metadata">

**Author:** ![jofemodo](https://discourse.zynthian.org/user_avatar/discourse.zynthian.org/jofemodo/32/2_2.png) [@jofemodo](https://discourse.zynthian.org/u/jofemodo)\
**Post date:** [February 4, 2024, 9:44pm UTC](https://discourse.zynthian.org/t/akai-apc-key25-mk2-driver/9082/2 "2024-02-04T21:44:24Z")

</div>

Woaoo @oscaracena !! This is a really cool workflow for percussion patterns! You are doing a fantastic work with the APC driver. Congrats!!  
Please, think big and try to abstract the key parts. I would like to replicate this on my launchpad, for instance.

Cheers!!

---

<div class="post-metadata">

**Author:** ![riban](https://discourse.zynthian.org/user_avatar/discourse.zynthian.org/riban/32/2331_2.png) [@riban](https://discourse.zynthian.org/u/riban)\
**Post date:** [February 4, 2024, 9:51pm UTC](https://discourse.zynthian.org/t/akai-apc-key25-mk2-driver/9082/3 "2024-02-04T21:51:07Z")

</div>

Are you integrating with zynseq patterns? Is the source code available to review? I’m interested in how you’re are doing this. It would be good to have a consistent approach.

---

<div class="post-metadata">

**Author:** ![oscaracena](https://discourse.zynthian.org/user_avatar/discourse.zynthian.org/oscaracena/32/10846_2.png) [@oscaracena](https://discourse.zynthian.org/u/oscaracena)\
**Post date:** [February 4, 2024, 9:58pm UTC](https://discourse.zynthian.org/t/akai-apc-key25-mk2-driver/9082/4 "2024-02-04T21:58:57Z")

</div>

Thank you! ☺ I have the modes separated (even in different classes), it wouldn’t be very difficult to extract and reuse for other devices, I think 😉

---

<div class="post-metadata">

**Author:** ![oscaracena](https://discourse.zynthian.org/user_avatar/discourse.zynthian.org/oscaracena/32/10846_2.png) [@oscaracena](https://discourse.zynthian.org/u/oscaracena)\
**Post date:** [February 4, 2024, 10:06pm UTC](https://discourse.zynthian.org/t/akai-apc-key25-mk2-driver/9082/5 "2024-02-04T22:06:00Z")

</div>

Yes, it’s integrated, I’m using the API exposed on `zynseq.h`. I’m not sure if I pushed the latest changes (related to clearing note assignment), but the code is in my fork of `zynthian-ui`, just here:

> <https://github.com/oscaracena/zynthian-ui/blob/ee2a8c352505b7eb475265f659b0e9a02c97ee10/zyngine/ctrldev/zynthian_ctrldev_akai_apc_key25_mk2.py#L1408>

The code may need a bit of refactoring and cleaning, so don’t take it too seriously 🫣🙏

---

<div class="post-metadata">

**Author:** ![riban](https://discourse.zynthian.org/user_avatar/discourse.zynthian.org/riban/32/2331_2.png) [@riban](https://discourse.zynthian.org/u/riban)\
**Post date:** [February 5, 2024, 4:27pm UTC](https://discourse.zynthian.org/t/akai-apc-key25-mk2-driver/9082/6 "2024-02-05T16:27:13Z")

</div>

This is super cool man! We should abstract the pattern integration so that it can be implemented in any pad-based controller and also presented in the zynthian gui. It is an old-school presentation of drum machines (similar to 808) that is cool with the kids now as it was in the 80’s and that is the type of sequencing I had in mind when I wrote zynseq. Let’s expose this cool feature to the masses, not just those with APC key25 mk2 units. 🙂

---

<div class="post-metadata">

**Author:** ![oscaracena](https://discourse.zynthian.org/user_avatar/discourse.zynthian.org/oscaracena/32/10846_2.png) [@oscaracena](https://discourse.zynthian.org/u/oscaracena)\
**Post date:** [February 5, 2024, 4:59pm UTC](https://discourse.zynthian.org/t/akai-apc-key25-mk2-driver/9082/7 "2024-02-05T16:59:30Z")

</div>

Thanks @riban and @jofemodo for your support! I’m eager to get the common factor and use it in other controllers! 🙂

---

<div class="post-metadata">

**Author:** ![oscaracena](https://discourse.zynthian.org/user_avatar/discourse.zynthian.org/oscaracena/32/10846_2.png) [@oscaracena](https://discourse.zynthian.org/u/oscaracena)\
**Post date:** [February 10, 2024, 7:37pm UTC](https://discourse.zynthian.org/t/akai-apc-key25-mk2-driver/9082/8 "2024-02-10T19:37:17Z")

</div>

Hi guys!

Just an update… I’ve got a bunch of new features in the sequencer! 😀 Now we can:

- Choose between **4 pages** , of 8 _instruments_ each, to store our notes.
- Adjust the **velocity** and/or the **duration** of each step/instrument.
- Adjust the **tempo** and the selected sequence **chain’s level** directly with a pair of knobs.
- Move to **previous/next pattern** in current track. If there are no more patterns, it will be created (up to 8). This can be used to chain patterns easily.
- **Roll** (copy) current pattern to adjacent ones.
- Playing along (I called it _stage play_), which is a playing mode that **follows the _playhead_** (changing the pattern as it goes).

And some other minor details. And many other in the oven… 🙃

I’ll try to record a new video showing them in action.  
Keep in sync!

---

<div class="post-metadata">

**Author:** ![jtode](https://discourse.zynthian.org/user_avatar/discourse.zynthian.org/jtode/32/8679_2.png) [@jtode](https://discourse.zynthian.org/u/jtode)\
**Post date:** [February 10, 2024, 8:32pm UTC](https://discourse.zynthian.org/t/akai-apc-key25-mk2-driver/9082/9 "2024-02-10T20:32:53Z")

</div>

This is making it a foregone conclusion that I’m buying one of these… :\>

---

<div class="post-metadata">

**Author:** ![riban](https://discourse.zynthian.org/user_avatar/discourse.zynthian.org/riban/32/2331_2.png) [@riban](https://discourse.zynthian.org/u/riban)\
**Post date:** [February 11, 2024, 8:40am UTC](https://discourse.zynthian.org/t/akai-apc-key25-mk2-driver/9082/10 "2024-02-11T08:40:48Z")

</div>

Or maybe we can abstract this so that we can all benefit, whatever hardware controller we have. (There is a ban on new keyboards / controllers being purchased in our household due a perceived excess!)

Brilliant work by @oscaracena - thanks!

---

<div class="post-metadata">

**Author:** ![jtode](https://discourse.zynthian.org/user_avatar/discourse.zynthian.org/jtode/32/8679_2.png) [@jtode](https://discourse.zynthian.org/u/jtode)\
**Post date:** [February 11, 2024, 11:25am UTC](https://discourse.zynthian.org/t/akai-apc-key25-mk2-driver/9082/11 "2024-02-11T11:25:50Z")

</div>

I do have a Launchkey 61 which I would not at all mind getting better integrated.

Has anyone ever looked at the Ableton Push? They have reached a third version so there are probably a lot of Push 1s out there and scoopable. Even the first edition, it’s got those little character displays, it feels like it could be appropriated by us as a next-level interface.

I own a copy of Ableton, I will never use it and I think about selling it all the time, but I also am pretty sure that I’ll find a sdeal on a Push eventually, and I’ll wanna have a baseline to compare to, cause if that happens I’ll definitely have a go at integrating it myself.

Edit: most recent one does some MPE stuff though, sexy af

---

<div class="post-metadata">

**Author:** ![wyleu](https://discourse.zynthian.org/user_avatar/discourse.zynthian.org/wyleu/32/514_2.png) [@wyleu](https://discourse.zynthian.org/u/wyleu)\
**Post date:** [February 11, 2024, 1:33pm UTC](https://discourse.zynthian.org/t/akai-apc-key25-mk2-driver/9082/12 "2024-02-11T13:33:57Z")

</div>

> [@jtode](#):
>
> Has anyone ever looked at the Ableton Push? They have reached a third version so there are probably a lot of Push 1s out there and scoopable. Even the first edition, it’s got those little character displays, it feels like it could be appropriated by us as a next-level interface.

The idea of re purposing old kit in this fashion seems a very sensible area to develop in as far as zyndrivers are concerned.

It would, if the marketing departments of the companies have done their job properly, mean that functional concepts should subclass easily between subsequent versions of the brand name.

---

<div class="post-metadata">

**Author:** ![bigtower17](https://discourse.zynthian.org/user_avatar/discourse.zynthian.org/bigtower17/32/11060_2.png) [@bigtower17](https://discourse.zynthian.org/u/bigtower17)\
**Post date:** [February 12, 2024, 3:20pm UTC](https://discourse.zynthian.org/t/akai-apc-key25-mk2-driver/9082/13 "2024-02-12T15:20:57Z")

</div>

Hello, thank you for the work you are doing on this driver!  
I’m pretty new to zynthian and I’m noting issues in making APC working.  
I’ve uploaded your driver to zyngui/ctrldev folder and turned repository to testing (already downloaded all the stuff), but nothing changed and the upper rows of the pad section are still playing low octave notes and the “control” pads somehow replicates some keyboard notes.

for sure I’m missing some steps and any advice or suggestion would be precious.  
thank you in advance

---

<div class="post-metadata">

**Author:** ![oscaracena](https://discourse.zynthian.org/user_avatar/discourse.zynthian.org/oscaracena/32/10846_2.png) [@oscaracena](https://discourse.zynthian.org/u/oscaracena)\
**Post date:** [February 12, 2024, 3:45pm UTC](https://discourse.zynthian.org/t/akai-apc-key25-mk2-driver/9082/14 "2024-02-12T15:45:57Z")

</div>

Hi @bigtower17 and welcome to Zynthianland! 🙂

First and foremost, did you update to `chain_manager`? This driver uses the features of the branch `chain_manager`, and I’ve not tested it outside that branch. I thing @jofemodo merged some of its development to `testing`, but I don’t know its current state.

On the other hand, (at least in `chain_manager`) the drivers changed its location to `zyngine/ctrdev`. Please, check if that folder exists in your installation, and tell me your current branch of Zynthian, so I can help you further.

**UPDATE:** I’ve checked the git repository, and I confirm you that, in order to use this driver, you need to update to `chain_manager`.

---

<div class="post-metadata">

**Author:** ![bigtower17](https://discourse.zynthian.org/user_avatar/discourse.zynthian.org/bigtower17/32/11060_2.png) [@bigtower17](https://discourse.zynthian.org/u/bigtower17)\
**Post date:** [February 12, 2024, 5:33pm UTC](https://discourse.zynthian.org/t/akai-apc-key25-mk2-driver/9082/15 "2024-02-12T17:33:32Z")

</div>

I’m at stable branch now, I’ve just tried to switch zynthian-ui to chain\_manager (both via web and ssh) but the system shows error screen and i have to roll back to stable, I don’t get what I’m doing wrongly

---

<div class="post-metadata">

**Author:** ![oscaracena](https://discourse.zynthian.org/user_avatar/discourse.zynthian.org/oscaracena/32/10846_2.png) [@oscaracena](https://discourse.zynthian.org/u/oscaracena)\
**Post date:** [February 12, 2024, 5:42pm UTC](https://discourse.zynthian.org/t/akai-apc-key25-mk2-driver/9082/16 "2024-02-12T17:42:36Z")

</div>

Please, note that the branch `chain_manager` is heavily updated, and may be unstable sometimes. BUT, if you don’t mind it, we can help you with the transition… 🙂

Did you check the logs ([http://zynthian.local/ui-log](http://zynthian.local/ui-log)) to try and debug the problem?

---

<div class="post-metadata">

**Author:** ![bigtower17](https://discourse.zynthian.org/user_avatar/discourse.zynthian.org/bigtower17/32/11060_2.png) [@bigtower17](https://discourse.zynthian.org/u/bigtower17)\
**Post date:** [February 12, 2024, 6:04pm UTC](https://discourse.zynthian.org/t/akai-apc-key25-mk2-driver/9082/17 "2024-02-12T18:04:37Z")

</div>

Mission completed! after 3 attempts it worked and updated my repos ❤  
Thank you for your precious support, now it’s time to learn how the controller map works

Is there anything I can do to help you in developing the driver?

 ![image](https://discourse.zynthian.org/uploads/default/original/2X/0/099cdff4ef8c684a8d0958288d9ff295df3ba354.jpeg)

---

<div class="post-metadata">

**Author:** ![oscaracena](https://discourse.zynthian.org/user_avatar/discourse.zynthian.org/oscaracena/32/10846_2.png) [@oscaracena](https://discourse.zynthian.org/u/oscaracena)\
**Post date:** [February 12, 2024, 6:18pm UTC](https://discourse.zynthian.org/t/akai-apc-key25-mk2-driver/9082/18 "2024-02-12T18:18:02Z")

</div>

> [@bigtower17](#):
>
> Mission completed! after 3 attempts it worked and updated my repos

Great!! Congrats! ☺👏👏

> [@bigtower17](#):
>
> Thank you for your precious support, now it’s time to learn how the controller map works

My pleasure! 😁 Did you already check the wiki?

- [Supported plug & play MIDI controllers - ZynthianWiki](https://wiki.zynthian.org/index.php/Supported_plug_%26_play_MIDI_controllers)

> [@bigtower17](#):
>
> Is there anything I can do to help you in developing the driver?

Yeah, you can use it, and tell me what do you think, and what would you improve or change, or what do you think is missing… 🙂 Thank you!

---

<div class="post-metadata">

**Author:** ![wyleu](https://discourse.zynthian.org/user_avatar/discourse.zynthian.org/wyleu/32/514_2.png) [@wyleu](https://discourse.zynthian.org/u/wyleu)\
**Post date:** [February 13, 2024, 12:13pm UTC](https://discourse.zynthian.org/t/akai-apc-key25-mk2-driver/9082/19 "2024-02-13T12:13:49Z")

</div>

> [@oscaracena](#):
>
> Yeah, you can use it, and tell me what do you think, and what would you improve or change, or what do you think is missing… 🙂 Thank you!

Beat that Moog!

---

<div class="post-metadata">

**Author:** ![dragonfly\_bry](https://discourse.zynthian.org/letter_avatar_proxy/v4/letter/d/9de053/32.png) [@dragonfly\_bry](https://discourse.zynthian.org/u/dragonfly_bry)\
**Post date:** [February 14, 2024, 4:50pm UTC](https://discourse.zynthian.org/t/akai-apc-key25-mk2-driver/9082/20 "2024-02-14T16:50:58Z")

</div>

Game changer! Please video! 🙏🏾🙏🏾🙏🏾🙏🏾

[Next page](https://discourse.zynthian.org/t/akai-apc-key25-mk2-driver/9082.md?page=2)
