Exchange tips and tricks for the Akai MPC4000
User avatar
By Rob Sun Apr 24, 2005 5:41 pm
Based on public info available on the web, I now have the mpc1000 and the S5000 program layout. I'm writing a converter from mpc1000 to S5000, assuming that the mpc4k will simply read the generated S5000 program. Here's hoping. ;)

I'm a couple of hours into the project now, and my app can now read a given mpc1000 program into memory and print out it's contents. That's already useful. :) Below is the output of my app when given the AMBIENT_KIT program from the mpc1000 kit-of-the-week archives. Next step will be to generate an S5000 program file.

The converter is written in plain C, now running under Linux. But it could easily be ported to Windows. For Mac it needs a little more work, but doable as well. I'll make the code available to anyone who wants to do a port.


Code: Select allmpc1k-to-s5k: dumping contents of mpc1000 program 'AMBIENT_KIT.PGM':

PAD #01
-------
zone 01 : Ambient Kick       lev:100  000-127  tun:0  pmode:0
zone 02 :                    lev:070  000-127  tun:0  pmode:0
zone 03 :                    lev:070  000-127  tun:0  pmode:0
zone 04 :                    lev:070  000-127  tun:0  pmode:0

general : overlap:000  mutegrp:000  attack:000  decay:005  decaymode:000  velo:100
filter1 : type:00  freq:100  reso:000  velo:000
filter2 : type:00  freq:100  reso:000  velo:000
mixer   : level:100  pan:050  output:0  fxoutput:0  fxsend:033  filtattn:000
midi    : padnote:037  midinote:064


PAD #02
-------
zone 01 : Ambient Snare      lev:100  000-127  tun:0  pmode:0
zone 02 :                    lev:070  000-127  tun:0  pmode:0
zone 03 :                    lev:070  000-127  tun:0  pmode:0
zone 04 :                    lev:070  000-127  tun:0  pmode:0

general : overlap:000  mutegrp:000  attack:000  decay:005  decaymode:000  velo:100
filter1 : type:00  freq:048  reso:000  velo:000
filter2 : type:00  freq:100  reso:000  velo:000
mixer   : level:100  pan:050  output:0  fxoutput:0  fxsend:033  filtattn:000
midi    : padnote:036  midinote:064


PAD #03
-------
zone 01 : Ambient Sidestic   lev:100  000-127  tun:0  pmode:0
zone 02 :                    lev:070  000-127  tun:0  pmode:0
zone 03 :                    lev:070  000-127  tun:0  pmode:0
zone 04 :                    lev:070  000-127  tun:0  pmode:0

general : overlap:000  mutegrp:000  attack:000  decay:005  decaymode:000  velo:100
filter1 : type:00  freq:100  reso:000  velo:000
filter2 : type:00  freq:100  reso:000  velo:000
mixer   : level:100  pan:050  output:0  fxoutput:0  fxsend:033  filtattn:000
midi    : padnote:042  midinote:064


PAD #05
-------
zone 01 : Ambient Tom L1     lev:070  000-127  tun:0  pmode:0
zone 02 :                    lev:070  000-127  tun:0  pmode:0
zone 03 :                    lev:070  000-127  tun:0  pmode:0
zone 04 :                    lev:070  000-127  tun:0  pmode:0

general : overlap:000  mutegrp:000  attack:000  decay:005  decaymode:000  velo:100
filter1 : type:00  freq:100  reso:000  velo:000
filter2 : type:00  freq:100  reso:000  velo:000
mixer   : level:100  pan:050  output:0  fxoutput:0  fxsend:033  filtattn:000
midi    : padnote:040  midinote:064


PAD #06
-------
zone 01 : Ambient Tom L2     lev:070  000-127  tun:0  pmode:0
zone 02 :                    lev:070  000-127  tun:0  pmode:0
zone 03 :                    lev:070  000-127  tun:0  pmode:0
zone 04 :                    lev:070  000-127  tun:0  pmode:0

general : overlap:000  mutegrp:000  attack:000  decay:005  decaymode:000  velo:100
filter1 : type:00  freq:100  reso:000  velo:000
filter2 : type:00  freq:100  reso:000  velo:000
mixer   : level:100  pan:050  output:0  fxoutput:0  fxsend:033  filtattn:000
midi    : padnote:038  midinote:064


PAD #07
-------
zone 01 : Ambient Tom Mid    lev:070  000-127  tun:0  pmode:0
zone 02 :                    lev:070  000-127  tun:0  pmode:0
zone 03 :                    lev:070  000-127  tun:0  pmode:0
zone 04 :                    lev:070  000-127  tun:0  pmode:0

general : overlap:000  mutegrp:000  attack:000  decay:005  decaymode:000  velo:100
filter1 : type:00  freq:100  reso:000  velo:000
filter2 : type:00  freq:100  reso:000  velo:000
mixer   : level:100  pan:050  output:0  fxoutput:0  fxsend:033  filtattn:000
midi    : padnote:046  midinote:064


PAD #08
-------
zone 01 : Ambient Tom Hi     lev:070  000-127  tun:0  pmode:0
zone 02 :                    lev:070  000-127  tun:0  pmode:0
zone 03 :                    lev:070  000-127  tun:0  pmode:0
zone 04 :                    lev:070  000-127  tun:0  pmode:0

general : overlap:000  mutegrp:000  attack:000  decay:005  decaymode:000  velo:100
filter1 : type:00  freq:100  reso:000  velo:000
filter2 : type:00  freq:100  reso:000  velo:000
mixer   : level:100  pan:050  output:0  fxoutput:0  fxsend:033  filtattn:000
midi    : padnote:044  midinote:064


PAD #09
-------
zone 01 : Crash              lev:070  000-127  tun:0  pmode:0
zone 02 :                    lev:070  000-127  tun:0  pmode:0
zone 03 :                    lev:070  000-127  tun:0  pmode:0
zone 04 :                    lev:070  000-127  tun:0  pmode:0

general : overlap:000  mutegrp:000  attack:000  decay:005  decaymode:000  velo:100
filter1 : type:00  freq:100  reso:000  velo:000
filter2 : type:00  freq:100  reso:000  velo:000
mixer   : level:59  pan:050  output:0  fxoutput:0  fxsend:033  filtattn:000
midi    : padnote:048  midinote:064


PAD #10
-------
zone 01 : 20 China3          lev:070  000-127  tun:0  pmode:0
zone 02 :                    lev:070  000-127  tun:0  pmode:0
zone 03 :                    lev:070  000-127  tun:0  pmode:0
zone 04 :                    lev:070  000-127  tun:0  pmode:0

general : overlap:000  mutegrp:000  attack:000  decay:005  decaymode:000  velo:100
filter1 : type:00  freq:100  reso:000  velo:000
filter2 : type:00  freq:100  reso:000  velo:000
mixer   : level:53  pan:050  output:0  fxoutput:0  fxsend:033  filtattn:000
midi    : padnote:047  midinote:064


PAD #11
-------
zone 01 : 18 Ride bell       lev:070  000-127  tun:0  pmode:0
zone 02 :                    lev:070  000-127  tun:0  pmode:0
zone 03 :                    lev:070  000-127  tun:0  pmode:0
zone 04 :                    lev:070  000-127  tun:0  pmode:0

general : overlap:000  mutegrp:000  attack:000  decay:005  decaymode:000  velo:100
filter1 : type:00  freq:100  reso:000  velo:000
filter2 : type:00  freq:100  reso:000  velo:000
mixer   : level:61  pan:050  output:0  fxoutput:0  fxsend:033  filtattn:000
midi    : padnote:045  midinote:064


PAD #12
-------
zone 01 : Ride1              lev:070  000-127  tun:0  pmode:0
zone 02 :                    lev:070  000-127  tun:0  pmode:0
zone 03 :                    lev:070  000-127  tun:0  pmode:0
zone 04 :                    lev:070  000-127  tun:0  pmode:0

general : overlap:000  mutegrp:000  attack:000  decay:005  decaymode:000  velo:100
filter1 : type:00  freq:100  reso:000  velo:000
filter2 : type:00  freq:100  reso:000  velo:000
mixer   : level:57  pan:050  output:0  fxoutput:0  fxsend:033  filtattn:000
midi    : padnote:043  midinote:064


PAD #13
-------
zone 01 : Hat Closed amb     lev:070  000-127  tun:0  pmode:0
zone 02 :                    lev:070  000-127  tun:0  pmode:0
zone 03 :                    lev:070  000-127  tun:0  pmode:0
zone 04 :                    lev:070  000-127  tun:0  pmode:0

general : overlap:000  mutegrp:001  attack:000  decay:005  decaymode:000  velo:100
filter1 : type:00  freq:100  reso:000  velo:000
filter2 : type:00  freq:100  reso:000  velo:000
mixer   : level:23  pan:050  output:0  fxoutput:0  fxsend:033  filtattn:000
midi    : padnote:049  midinote:064


PAD #14
-------
zone 01 : Hat Open amb       lev:070  000-127  tun:0  pmode:0
zone 02 :                    lev:070  000-127  tun:0  pmode:0
zone 03 :                    lev:070  000-127  tun:0  pmode:0
zone 04 :                    lev:070  000-127  tun:0  pmode:0

general : overlap:000  mutegrp:001  attack:000  decay:005  decaymode:000  velo:100
filter1 : type:00  freq:100  reso:000  velo:000
filter2 : type:00  freq:100  reso:000  velo:000
mixer   : level:23  pan:050  output:0  fxoutput:0  fxsend:033  filtattn:000
midi    : padnote:055  midinote:064


GLOBAL
------
midi    : programchange:000
slider1 : param:00  tun:-120/120  filt:-50/050 layr:000/127  att:000/100  dec:000/100
slider2 : param:01  tun:-120/120  filt:-50/050 layr:000/127  att:000/100  dec:000/100
User avatar

By ikke Sun Apr 24, 2005 6:52 pm
Nice.
I just opened the mpc forum to find an app to convert pgm into akp. ;) what are the odds..
i thought there was already an app that does this. No?
anyway, cheers and good luck
User avatar

By Rob Sun Apr 24, 2005 6:56 pm
If there IS such an app already, please let me know. Saves me some work!
User avatar

By Rob Sun Apr 24, 2005 7:12 pm
Impressive list of supported formats! I never heard of this app before. So there IS a way to convert from mpc1000 to mpc4000! Cool. :)
User avatar

By ikke Sun Apr 24, 2005 7:31 pm
My copy is too old so

i downloaded the demo version 9.2 and it reads pgm but doesnt seem to be able to convert into akp. Might be just the demo. but you can convert into giga with the demo. Then use cdxtract or something to do giga2akp
User avatar

By Rob Sun Apr 24, 2005 7:45 pm
Thanks for trying, Ikke!

I think I'll simply finish my little app. It's free, simple, and runs under linux as a simple shell command. :)
User avatar

By ikke Sun Apr 24, 2005 10:43 pm
de rien!
Dont forget to implement a batch file convert ui
User avatar

By actuel Mon Apr 25, 2005 12:54 am
hey Rob, what are the chances of this working both ways? what i mean is that you could go from mpc1000 to S5000/mpc4k and S5000/mpc4k to mpc1000. this may already be fairly easy to do, i dunno...but it'd be good to know cause i got a couple of friends with a mpc1k and would love to give'em some of my soundsets.

thanks
actuel
User avatar

By Rob Mon Apr 25, 2005 5:36 am
What I understand is that the mpc1000 can already read mpc4000 programs! But they must be *drum* programs, so if you have keygroup program you'd like to share, do a CONVERT in the 4k on that keygroup to make it a drum program.
Last edited by Rob on Mon Apr 25, 2005 7:56 am, edited 1 time in total.
User avatar

By Rob Mon Apr 25, 2005 7:52 am
Heh, would be nice, but I doubt they're interested. The code I'm writing should, and probably will be part of a next mpc4000 OS release. We can read almost any type of program in the 4k, the mpc1k version just wasn't added yet. And it's a simple format, should take no longer than a couple of hours for them.
User avatar

By Rob Mon Apr 25, 2005 8:10 am
Akai better first the bugs in the v1.71 release. I'm going back to v1.70.
My music partner gets his mpc1000 in 2 days. I'll have my app ready then. :)
User avatar

By Rob Mon Apr 25, 2005 11:15 am
I just got my first sounds out of my converter! :)

I'm playing an mpc1000 drum kit now on the mpc4k. There are still some issues, but I got sound in the very first attempt, which is a good sign.