Support and discussion for all of Akai’s modern standalone MPCs including the MPC X / X SE, MPC Live 1, 2 & 3, MPC One / One+, MPC Key 37/61.
User avatar
By zangetsu01 Wed Nov 03, 2021 9:22 pm
Ultros wrote:This is what i needed:
Code: Select allF0 7E 00 06 02 47 3A 00 19 00 00 05



si senore. i got it working on my mpc one but theres more hurdles... i got some work to do... *rolls up sleeves*

get read for a read...

Ok so i have it intercepting the internal device however that completely dicks up the entire button interface of the mpc. **** all willy nilly and rearranged because the force interface is completely different.

so either i have to get all the button and knob values from all the mpc units and write a midi message parser that replaces the values to rearrange the buttons and knobs to some semblence of sanity.

or the other option is to get the sysex of an apc mini (i have one) and only take force control messages from specifically that device thus forcing everyone who wants to gank the force has to atleast buy an apc mini lol.. but its a legit akai product..

the matrix of my apc mini doesnt fully work but i can select a couple squares. i am getting alot more options now as well, finally found that save screen...


Nice going, what if we just take the knobs that don’t work at the moment and link them to the most obvious features?

Like linking the main button to the Matrix and the shift+Main to the arranger?

We don’t really need the launch buttons of the Force.

I Can help you with the sysex of all the MPC X buttons. Just let me know what I’m looking for. We could use the capture tool to capture all the buttons one by one and put it in a file with descriptions so it will just be copy and paste the sysex when you try to link the buttons.

What I also missed was acces to the sub mixer and master mixer.

See if you can get the iamforcectrl to work for me so I can see what it’s like at the moment.

Edit: I just checked out the Akai APC40 and it sounds like a good Idea. Even the APC mini should work. Which one do you have?
User avatar
By Ultros Wed Nov 03, 2021 10:13 pm
here ya go dude, the compiled .so, it wont fail on you either... but you'll see what i mean about the interface being all ganked up. i gotta remap it via code but it will give you enough of a library that you should be able to do something with a mapable controller. (even if you dont export the ANYCTRL_NAME it will still start up, but you still need to export LD_PRELOAD=/usr/lib/iamforce.so and then call to force.

https://filebin.net/n63ifhl7wtr4yw09/iamforce.so
User avatar
By zangetsu01 Thu Nov 04, 2021 9:24 am
Ultros wrote:here ya go dude, the compiled .so, it wont fail on you either... but you'll see what i mean about the interface being all ganked up. i gotta remap it via code but it will give you enough of a library that you should be able to do something with a mapable controller. (even if you dont export the ANYCTRL_NAME it will still start up, but you still need to export LD_PRELOAD=/usr/lib/iamforce.so and then call to force.

https://filebin.net/n63ifhl7wtr4yw09/iamforce.so


Thanks Ultros, we are surely getting there.

Before I went to work I had litterly 5 minutes to check it out and indeed as you've described all buttons became messed up, The VU meter on my X doesn't work anymore as well as the 16 Q-Links. :WTF:

But! as far as I've seen, all the Force buttons became available on my Padlauncher so let keep it that way.
What I would like to suggest is for the 2 of us to work close together. :popcorn:

Meaning that I can deliver all of the buttons Sysex in a table with description and you can link/map them in software.

I would call it the "One for All and All for One" approach. :smoker:

This way everyone can use what ever midi controller they like and with the table that we make we can bring back all the funtions to the buttons of all MPC's.

So let's work together! :-D

I will post a suggestion when I get home after work.
User avatar
By Ultros Thu Nov 04, 2021 2:54 pm
haha alrighty, ive already been grinding away.

i have some ideas. like only send the sysex header along with force related requests rather then every transmission.

that way i can isolate certain commands being sent. some for mpc (the regular interface) and some for force (using a input device)

I dont use discord, or facebook or any of that new age crap but i can be found on IRC. You can talk to me directly there. if you get a client or have one, message me for server / room info. Easier to work in real time.
User avatar
By zangetsu01 Thu Nov 04, 2021 4:46 pm
Ultros wrote:haha alrighty, ive already been grinding away.

i have some ideas. like only send the sysex header along with force related requests rather then every transmission.

that way i can isolate certain commands being sent. some for mpc (the regular interface) and some for force (using a input device)

I dont use discord, or facebook or any of that new age crap but i can be found on IRC. You can talk to me directly there. if you get a client or have one, message me for server / room info. Easier to work in real time.


Isolating the Force commands sounds like a great idea.
That way you won't need something like this right?

Image

As for the Sysex that you actually need, is it only the first and 3rd row? only the first or the one in the middle?

I'll look into the IRC shortly.
User avatar
By zangetsu01 Thu Nov 04, 2021 6:28 pm
Also made my self this list:

Image

Discoverd 50 buttons and it might be around 90% of total if we don't count the Pads.

Let me know if you need it!
User avatar
By Ultros Thu Nov 04, 2021 7:03 pm
none of those for sysex, its the bit sent directly before the serial #. the string preceeding it.

doesnt matter now i figured that all out for the mpc interfaces live live ii mpc x and one (hence why it works for you now) but i need the identifier of my APC Mini to isolate certain transmissions from it.

Not sure thats needed though, i've been intercepting and transforming midi packets and remapping the interface.

eventually i'm gonna need that matrix though. so far i have all the launch keys going and the track record arm buttons filled out on the apc, and a bunch of buttons done on the MPC.

if you have a complete list of all the mpc x buttons, and knobs i'll take those though. I have everything from mpc one but its missing a few buttons. all the midi messages are the same between mpc's which is great.
User avatar
By Ultros Thu Nov 04, 2021 7:08 pm
To dump the buttons do this

systemctl stop inmusic-mpc

amidi --dump -p hw:0,0,1

then press a key, copy the string and write which key it is overtop in a txt file
User avatar
By zangetsu01 Thu Nov 04, 2021 7:52 pm
Ultros wrote:To dump the buttons do this

systemctl stop inmusic-mpc

amidi --dump -p hw:0,0,1

then press a key, copy the string and write which key it is overtop in a txt file


i'm sure I'm doing somethig wrong. This is what I get:

login as: root
# systemctl stop inmusic-mpc
# amidi --dump -p hw:0,0,1
ALSA lib rawmidi_hw.c:235:(snd_rawmidi_hw_open) open /dev/snd/midiC0D0 failed: No such file or directory
cannot open port "hw:0,0,1": No such file or directory

Looking in that folder i've only got: midiC1D0 and midiC2D0 files in there.
Maybe I should create a symbolic link between midiC2D0 and midiC0D0 but no luck so far.
User avatar
By zangetsu01 Thu Nov 04, 2021 8:48 pm
Fixed that error! My port is different.

It's amidi --dump -p hw:1,0,1 instead of amidi --dump -p hw:0,0,1

I'll start making the table now!

But just to be sure, hitting the Play Start button gives me:

90 53 7F
90 53 00

This is what we are looking for right?
User avatar
By 83dude Thu Nov 04, 2021 9:55 pm
You nerds and your toys… :-D

Please continue, this is highly interesting to read and teaches me a lot about code architecture!
User avatar
By Ultros Thu Nov 04, 2021 9:57 pm
yeah thats the stuff! i may end up writing a config file for that lib so you can define the device and which button goes where if i can get this right... may take me a few days though and i may get distracted making music / playing zelda breath of the wild on switch.. fuggin game is an epic time theif.
User avatar
By Ultros Thu Nov 04, 2021 10:12 pm
83dude wrote:You nerds and your toys… :-D

Please continue, this is highly interesting to read and teaches me a lot about code architecture!


The funny part is irl i'm not a nerd. I'm a roofer by day haha. That's how i fund my studio stuff. I luckily got into linux pretty young and had some of pioneering unix generation users teach me how unix-like operating systems work.

Over the years i kinda was forced to learn to code because of it and it interested me. These days i spend most of my time out on my bike or at work, but i can still play when i find the time.

Signal stuff always interested me too, i had an older brother who showed stuff about radios, and signal in analog in the 90s before the world went digital. It's all down hill from here 83... these days fellas cant swing a hammer or turn a screw driver and it terrifies me.
User avatar
By zangetsu01 Thu Nov 04, 2021 10:20 pm
83dude wrote:You nerds and your toys… :-D

Please continue, this is highly interesting to read and teaches me a lot about code architecture!


Hahaha.. I'm very motivated at the moment beacause I've been screeming about these features for quite some time now. :WTF: And now we are finaly taking huge steps. :smoker:

My only problem is that i'm a hardware engineer and not a software engineer and so I appriciate ultros's magic fingers and I'm trying my best I can do to help. :-D
User avatar
By zangetsu01 Thu Nov 04, 2021 10:23 pm
Ultros wrote:yeah thats the stuff! i may end up writing a config file for that lib so you can define the device and which button goes where if i can get this right... may take me a few days though and i may get distracted making music / playing zelda breath of the wild on switch.. fuggin game is an epic time theif.


I'm finished. i've made it in Excel. can I share the list through IRC?

Here is a portion of it:

Imageimage sharing