What Are Sample Chains?
In most of our recent MPC expansion releases, such as the 1977 Session Kit and Electric Keys 2 we’ve utilised a new program building technique which we’ve called ‘sample chains’. In this article I’m going to explain the concepts behind sample chains and why we need them.
We’ve found that the MPC browser is very inefficient at loading sample-heavy kits and instruments in what seems to be some kind of software bottleneck. It appears that each sample in a program has to go through some kind of ‘analysis’ before it is eventually loaded into memory. This can significantly slow down loading times, even with fast SSD drives.
Sample chains bypass this issue by simply reducing the number of individual samples inside a kit or instrument. We do this by joining lots of individual samples into a single WAV file which then has ‘non-destructive’ slice markers set:

Now instead of assigning lots of individual samples to the pad layers in a program, we can just point the pads to a small selection of sample chains and use the ‘slice’ parameter in PROGRAM EDIT to access the required slice region:

If you’ve ever chopped up a drum break and used the ‘non destructive’ slices option you’ll recognise this technique, it’s basically the same concept although in our case we’re using it for a slightly different purpose.
Kits and instruments made from sample chains have the same CPU and memory usage as the original ‘non-chained’ version of the kit, but load significantly faster, as the MPC browser does not have to individually analyse hundreds of individual samples.
As an added bonus, sample chains mean less individual samples clogging up your browser and project screens.
Using Sample Chains For Round Robins
Another advantage of sample chains is that they can be combined with MPC3's 'Slice Motion' feature to create 'round robins'. Here each layer in a pad or keygroup is assigned a sample chain containing multiple versions of the same sound ('round robins') so each you hit the pad it plays back a different round robin. This is similar to the 'cycle' feature but the advantage here is you can still utilise velocity swtiching - you can also have up to 128 round robins per velocity layer! We use this technique to create incredibly realistic instruments in our expansions 'MPC Electric Guitar' and 'MPC Upright Bass'.
Frequently Asked Questions
Does the slow loading issue affect all kits and projects?
Yes, it’s an issue with the method the MPC/Force uses to load the samples within any kit, project or instrument, so will affect any large expansion, from any developer (including Akai). You are unlikely to notice it with small kits containing only a few samples, but the issue is very obvious when the MPC/Force has to load hundreds of individual samples (e.g. multisampled instruments, large user projects). The problem is definitely worse on the Force, you can literally see the Force browser slowly analysing each and every sample before loading it.
Akai have changed the loading process in MPC3 so loading is assigned as a 'background process' which now occurs after your leave the browser. But the bottleneck still remains, which is why you might briefly experience 'silent pads' - this happens because your sounds are actually still loading in the background.
Does a fast SSD help?
A fast SSD will help read the individual samples from the disk quickly but does nothing to bypass the additional software bottleneck, this is entirely dependent on the way the MPC/Force browser has been coded. The only way we’ve found to improve the software element of this issue is to use sample chains to reduce the number of samples that the browser has to deal with.
Can I disk stream sample chains?
Yes, and as you have significantly less samples in your project, there's less samples to manually set to 'stream from disk in the PROJECT screen.