Exchange tips and tricks for the Akai MPC4000
User avatar
By Bazziman Fri Feb 01, 2008 3:47 pm
For those who enjoyed reading my first two blog entries on single cycle sampling....I finally got round to writing nomber trés!

Check it out at:

www.vandewerk.nl/bazziman

For those new to the trade: a few months ago I experimented quite a bit with using single cycle loops as the basis for synthesis. The synth engine of the MPC4000 is quite extensive and it will give the MPC5000's VA quite a run for its money on several fronts if you ask me. (I am not kidding here)

I also promise to include some sound examples and some files sometime during the next weeks (yes weeks; I am off for several extensive business related trips so I have very little time on my hands)....

By MPC 4 ME Fri Feb 01, 2008 6:22 pm
Those 4000 examples would be great to explore.
Last edited by MPC 4 ME on Wed Apr 08, 2009 11:17 pm, edited 1 time in total.
User avatar

By McSmooth Fri Feb 01, 2008 8:20 pm
Another great article. The next time I get back into this, I'll be following your guide instead of figuring it out on my own again.

There's something I wanted to mention about your second article. I didn't bother to perfectly tune my samples the last time I did this, but see how your math should be accurate. However, I think you may have overlooked something in the Z engine.
...we cannot change the length of a looped sample to anything but natural (whole) numbers...

But... the sample engine does have this ability! When you go into loop mode, you can set the loop point to 1/1000s of a sample. Of course you have to turn to addendum 1.33 to find this in documentation. If my thoughts are correct, you should be able to extend the math to this concept and get your loop perfect without needing to set the tune each time. Thoughts? Also, I ride an R1, so I got a kick out of your play on words and the graphic :D

I have to say that this will not quite beat out the 5ks synth engine since it is missing some key synth features, however, I do agree that it is capable of things the 5k can only dream of and has an unlimited amount of timbres since it is sample based.

By djredhead Fri Feb 01, 2008 8:22 pm
awesome.

Very helpful blog that has helped me immeasurably in my quest to unlock the hidden synth in mpc 4000.

IMOP, once you build your pgms w/ this method you get a very masculine / ballsy synth that has a punch that the other feminin VA synths don't have.

thanks again for the knowledge.

By illiac Sat Feb 02, 2008 3:03 pm
This is good stuff; thanks for posting it.

You don't spend too much time on the details of producing higher-frequency versions of the base waveform that are free from aliasing. I've gone through this a bunch with Kyma; it has wavetable oscillators and I've produced lots of bandlimited wavetables for it. (They are 4096 samples in llength, BTW.)

I tried to do this in bias Peak, by halving the waveform length using a sample rate conversion algorithm and then interpolating back to the original length. This is a bit hit-or-miss. Peak will not always give you an exact halving or doubling of the number of samples; its interpolation and SRC algorithms are not designed to operate on (or to produce) very short waveforms, as is required for the highest octaves. I don't know about SoundForge; has someone tried actually producing bandlimited (alias-free) waveforms over all 11 octaves of the MIDI keyboard from a single waveform using it?

I wrote some software, which unfortunately I can't distribute (has some components in it that I don't have distribution licences for) that produces bandlimited wavetables over all 12 octaves by using an FFT and an inverse FFT (with the zeroing of some frequency bands while the waveform is in the frequency domain). The theory behind the procedure is described here: http://www-ccrma.stanford.edu/~jos/resample/Theory_Ideal_Bandlimited_Interpolation.html.

Another way to go about this is to sample the original synth once per octave (or so) and create a single-cycle waveform for each octave. That's a very straightforward thing to do if you happen to have access to the original synth. Obviously doesn't work with individual samples you come by.

I'd be interested in hearing how well people have managed to pull this off using the SRC and interpolation algorithms that are built into editors like SoundForge etc.

You can cross-fade between zones in the MPC and get a kind of vector synthesis going. I know this has been pointed out before, but 4-way wavetable cross-fading is pretty big deal. Very few synths have that kind of flexibility.

-illiac
User avatar

By dabmeister Sat Feb 02, 2008 3:14 pm
Interesting thread guys, thanks. :wink:
User avatar

By Bazziman Sat Feb 02, 2008 9:45 pm
But... the sample engine does have this ability! When you go into loop mode, you can set the loop point to 1/1000s of a sample.
I see you can set the start point with '3 digit below decimal point' accuracy...What exactly is that? Also even if you could loop at 'half a sample' I would still be limited to generating anything but neat whole number length samples in sound forge.

For now I'll stick to the 'tune' trick....also because it should work on all samplers.

Of course you have to turn to addendum 1.33 to find this in documentation.
Hehe! Of course! I read it too now; still hardly a good explanation by Akai.

Also, I ride an R1, so I got a kick out of your play on words and the graphic :D
My pleasure.

I have to say that this will not quite beat out the 5ks synth engine since it is missing some key synth features,
Yes, no ring mod, no sync and no pwm...but we do have some other tricks up our sleeves that the 5k engine doesn't have.

however, I do agree that it is capable of things the 5k can only dream of and has an unlimited amount of timbres since it is sample based.
Hell yeah! ;) If only Akai didn't make such weird envelopes and such surgical sounding filters. ;)
User avatar

By Bazziman Sat Feb 02, 2008 9:53 pm
illiac wrote:This is good stuff; thanks for posting it.

You don't spend too much time on the details of producing higher-frequency versions of the base waveform that are free from aliasing.


I haven't run into much problems yet. Of course I don't go much beyond 6 or 7 octaves but SF seems to do a nice job; if you first set the sample rate to double that of the original and than resample back to its original rate you get clean a version an octave higher. In principle you will not get too much anti aliasing (if am not mistaken) because you are 'halving' samples (basically taking away every second sample)...


Peak will not always give you an exact halving or doubling of the number of samples; its interpolation and SRC algorithms are not designed to operate on (or to produce) very short waveforms, as is required for the highest octaves. I don't know about SoundForge; has someone tried actually producing bandlimited (alias-free) waveforms over all 11 octaves of the MIDI keyboard from a single waveform using it?
I went all the way up to size-32 samples and it works quite well; both with and without anti aliasing turned on.


I wrote some software, which unfortunately I can't distribute (has some components in it that I don't have distribution licences for) that produces bandlimited wavetables over all 12 octaves by using an FFT and an inverse FFT (with the zeroing of some frequency bands while the waveform is in the frequency domain). The theory behind the procedure is described here: http://www-ccrma.stanford.edu/~jos/resample/Theory_Ideal_Bandlimited_Interpolation.html.


That's sound pretty nifty. If some could write a small program that would spit out AKAI programs, mapped and ready to go from single 2048 (or 4096) wav files that would even be better!

Another way to go about this is to sample the original synth once per octave (or so) and create a single-cycle waveform for each octave.
Sure; but that would require much more snipping and tuning and trimming. ;)

You can cross-fade between zones in the MPC and get a kind of vector synthesis going. I know this has been pointed out before, but 4-way wavetable cross-fading is pretty big deal. Very few synths have that kind of flexibility.
Yup, and you can also pan the individual oscillators in your synth too. I'd like to see the 5k try that!

Take a saw wave, detune and pan across four layers and your in trancypansylalaland.

By illiac Sun Feb 03, 2008 12:27 am
Bazziman wrote:if you first set the sample rate to double that of the original and than resample back to its original rate you get clean a version an octave higher. In principle you will not get too much anti aliasing (if am not mistaken) because you are 'halving' samples (basically taking away every second sample)...


I think you mean the other way around; halve the sample rate (giving you half as many samples), then double it. For the next octave, you need to quarter the sample rate, then quadruple it. And so on (for 8, 16, 32, ...).

The reason this works is not exactly that you are taking "every other sample", but rather that when the sample rate is reduced using a good algorithm, a filter is used to eliminate any frequency component in the original waveform that's greater than half the new sample rate. So if you down-convert to 24KHz, any frequency component in the original waveform at 12KHz or greater is eliminated by the filtering of the SRC algorithm.

-illiac
User avatar

By Bazziman Sun Feb 03, 2008 9:34 am
illiac wrote:
Bazziman wrote:if you first set the sample rate to double that of the original and than resample back to its original rate you get clean a version an octave higher. In principle you will not get too much anti aliasing (if am not mistaken) because you are 'halving' samples (basically taking away every second sample)...


I think you mean the other way around; halve the sample rate (giving you half as many samples), then double it. For the next octave, you need to quarter the sample rate, then quadruple it. And so on (for 8, 16, 32, ...).


Here is how it goes.

If you have a sine wave of 2048 sample length at 48Khz you will have an F#-1 (more or less), set the sample rate to 96Khz (you can do this in SF but also in the MPC, I use SF anyway) you will still have that same 2048 samples but pitched an octave higher (because they are replayed twice as fast). All we've done is change to playback rate of the sample. It's still basically the same sample data.

Now tell SF to resample back to 48Khz - now SF will take away evey other swample and you will have a 48Khz wav file of a sine of exactly 1024 samples.

Save this file and repeat the proces until you have a series of 48Khz files, each halve the length of its parent, each one octave higher.

You can also first resample to 24 Khz and than reset the sample rate back to 48Khz. Same trick.

By illiac Sun Feb 03, 2008 12:08 pm
Aha, I get it! I keep forgetting that on the MPC4000, the waveforms can be any length. (On most wavetable synths, the wavetables are all the same length, so you need to do an extra step to return the wavetable to the standard length.)

OK, so the resampling from 96Khz to 48KHz eliminates frequencies above 24KHz, and you're good (free from aliasing). Nice.

And you're saying that SF has no problem doing SRC on very short waveforms, which is the problem I was running into when trying to do this in Peak.

I would think that you'd want to lay these keygroups out so that waveforms are always being pitched down, never up, so that you don't get aliasing when the waveform has frequency components right at the Nyquist frequency. Yes?

-illiac
User avatar

By Bazziman Sun Feb 03, 2008 1:13 pm
illiac wrote:Aha, I get it! I keep forgetting that on the MPC4000, the waveforms can be any length. (On most wavetable synths, the wavetables are all the same length, so you need to do an extra step to return the wavetable to the standard length.)
Yes, but those synths only use one 'sample' for the entire range (I think) so there's no multisampling involved. If you would want to make single cycle oscillators at a higher octave for those kind of synths that need it to be a certain length you'd need to copy-paste the shorter sample (half the originals length) once at the end.

OK, so the resampling from 96Khz to 48KHz eliminates frequencies above 24KHz, and you're good (free from aliasing). Nice.

Pretty much.

I would think that you'd want to lay these keygroups out so that waveforms are always being pitched down, never up, so that you don't get aliasing when the waveform has frequency components right at the Nyquist frequency. Yes?
Sure. But I use one sample per octave: you can have it either in the middle of the octave (so the sample doesn't have to pitch up or down more than 6 notes) or at the bottom (that's what I usually do) the MPC can transpose pretty well for that octave. There is very little artifacts that I can hear.

By fader-pro Sun Feb 03, 2008 3:40 pm
So my eyes are glazing over here....I've got a synth.....I tweak knobs...sounds come out.....I'm happy!

You tech dudes makin any music? :lol:
User avatar

By Bazziman Sun Feb 03, 2008 5:17 pm
fader-pro wrote:So my eyes are glazing over here....I've got a synth.....I tweak knobs...sounds come out.....I'm happy!
Sure - whatever suits you. Some of us have samplers that they would like to experiment with: explore new grounds, find new possibilities and *gasp* perhaps learn a bit.

I have owned tons of other gear and still own a lot, but that should stop anyone from trying to get some extra mileage from their MPC. The MPC has it's flaws; but it has one thing no other MPC has: a pretty good sampling engine that allows for things beyond percussive hits and chopped beats. Sometimes it seems to me that a large portion of the MPC owners doesn't really care for those features and that's a shame if you ask me.

You tech dudes makin any music? :lol:
Obviously some of the 'techies' do; other enjoy simply the experimenting. I enjoy myself sharing some of the things I've come across...it's fun.

I'm trying to keep things simple on my blog - and I don't mind explaining stuff to others, so why not try some stuff out and share with us what you come across? If experimentation is not your thing...that's fine too.

By fader-pro Sun Feb 03, 2008 6:22 pm
Not dissin you man....Freddy says....ah, nevermind...............peace :lol: