There’s been a lot of discussion about the actual amount of ‘available’ memory in the MPC Live and MPC X, so I’ve spent some time investigating this to try to get a clearer picture. While I was writing this article Akai released some additional information regarding the MPC Live/MPC X memory usage which seemed to confirmed my findings, however it’s important that we look at how these numbers can be translated into ‘real world’ sample usage.
MPC X & MPC Live Memory Overview
Both the MPC X and MPC Live contain 2GB of RAM which forms part of the main board – this is a fixed amount of RAM and cannot be upgraded. Upon booting up your machine, this RAM has to manage the operating system (which we believe is Linux) and also the MPC Software application itself. Any left over RAM can be used in your project to dynamically store all the samples, audio tracks, programs, sequences and effects you have inside your currently active project.
Remember we are not talking about disk storage here, RAM is the dynamic memory used by the MPC to physically hold your currently active project. RAM is cleared each time you turn off your MPC.
How the MPC X & MPC Live Manage Audio
When you load or sample audio into your MPC is that it is stored as 32 bit floating point audio which is a more efficient and accurate format for the MPC Software to work with. Hence it does not matter if the audio file you load is a 24 bit WAV, a 16 bit WAV or even a compressed mp3 file, it all gets converted into 32 bit audio within your project. 32 bit audio takes up twice the memory of an equivalent 16 bit version of the same audio file, and 50% more memory than the equivalent 24 bit file.
Why the original file size of your loaded sample might be irrelevant
Once audio is loaded into your MPC’s memory as 32 bit floating point audio, the amount of actual RAM taken up by this audio is dependant on the length of the audio (e.g. 10 seconds), the number of channels (e.g. mono, stereo etc) and the sample rate (typically 44.1kHz).
Let’s consider same 10 second stereo drum break saved as a 24 bit WAV and a 16 bit WAV (both at 44.1kHz). When you store these files on your disk, the 24 bit version will take up 2.65 MB of space, the 16 bit version will take up 1.76 MB of space.
However, when you load these two files into MPC memory they are both converted to 32 bit floating point audio and at this point both files are now identical and will each take up the same amount of system RAM (which in this case would be 3.53 MB).
This is why we cannot generally say ‘The MPC Live can load xxx MB of samples into memory’, as the bit rate (and in the case of mp3, the format) of the samples makes a difference. 500 MB of 24 bit (44.1kHz) WAV files represents just over 31 minutes of stereo audio, while 500 MB of 16 bit audio represents 47 minutes of stereo audio (33% longer). Depending on the compression rate, 500MB of mp3 audio can represent over 5 hours of stereo audio! So while you could easily load a 500MB wav file into a new blank project, there is no way the MPC can load a typical 500MB mp3, as once the mp3 is converted to 32 bit floating point it would need over 6GB of available RAM to store it.
So How Much Memory Is Available?
Akai have stated that the MPC firmware uses up around 600-700 MB of the installed 2GB of RAM. This means that there should be around 1300 MB of RAM available for samples and other project files (i.e. sequences, programs, effects, etc), although ‘2 GB’ of RAM typically refers to 2048 MB rather than 2000 MB depending on the reporting convention used (binary vs decimal, I’ll let Wikipedia explain). To test this out in practical terms, I created a bunch of 32 bit floating point samples in my favourite audio editor (Adobe Audition). These were made to specific file sizes, e.g. 500MB, 5 x 100MB, 50MB, 25MB, 5 x 10MB, 5MB, 5 x1MB and even some 0.1MB files. To calculate the file sizes, I referred to the file size shown at the bottom of the Audition timeline.
It’s worth noting that the file size displayed in Mac OS Finder are always a little bit larger, i.e. the 500MB file is shown as 524 MB, which I believe is due to MacOS using decimal instead of binary file size calculations.
I then fresh booted up the MPC and loaded these files gradually into memory, loading progressively smaller sizes until I received the ‘not enough memory’ message.
Long story short, when starting with a new blank project, I was able to load 1130 MB of 32 bit samples, which is around 200MB less than what I’d hoped for. However, as most people are not loading 32 bit floating point samples into their MPC this 1130 MB figure is fairly meaningless in ‘real world’ terms. How does this translate to more common 16 bit and 24 bit samples?
Well, if you consistently stick to just using a single bit rate for your ‘incoming’ samples, then we can say that the MPC Live/MPC X can load around 850MB of 24 bit samples into memory, or 565MB of 16 bit samples.
In real world terms, you’ll most likely have a mix of 16 bit and 24 bit samples, plus any audio you ‘create’ inside the MPC, such as audio tracks, sampled audio in the SAMPLER screen or sample chops and sample copies created within the MPC Software will all be 32 bit floating point, so in which case it would be better to state that the MPC Live and MPC X can store around 53 minutes of stereo audio in memory, or 106 minutes of mono audio. Remember this assumes everything is at a 44.1kHz samplerate.
What About The Internal Effects – Do These Eat Up Memory?
From my tests it seems that the internal effects use up very little memory. After filling the MPC with 1085MB of 32 bit audio, therefore leaving 43MB, I was able to insert at total of 32 different internal effects (including vintage effects), with 4 inserts per pad, 4 across the whole program and 4 inserts on a return until I received the ‘out of memory’ message. That’s just over 1MB per effect, although I’m not sure if the calculation is as simple as that and it might vary a little for each effect type, but ultimately this doesn’t seem like much of a big deal compared to the memory used by audio.
Does Warping Use Up Memory? What about programs and sequences?
Warping doesn’t seem to have any noticeable effect on memory. I believe this is more a concern for the CPU. Programs seems to take up around 3MB. Sequences will need further testing, but after loading 1085MB of 32 bit samples into memory I tried maxing out the memory by adding additional sequences and event data, but after 10 minutes of this I could still keep on going so I gave up.
I tried loading a 53 minute file but the MPC won’t load it!
It seems that when loading a sample into memory, the MPC requires an amount of additional memory to handle the entire loading process. This might be some kind of buffer, others have suggested it might be related to ‘undo’ history – I’m sure a software programmer could probably explain why this happens (feel free to add suggestions in the comments box). This additional memory requirement seems proportional to the size of the file being loaded, so if you are loading very big files you might still get ‘memory full’ warnings even though there’s actually still plenty of space available.
For example, if I load a 500MB 32 bit file into an empty project, and then load another identical 500MB file, the MPC refuses to load it, even though we know there’s still thoeretically over 600MB of RAM actually available. But it will let me load 500MB followed by five 100MB files. So just remember if you get a memory full warning you haven’t necessarily maxed out your RAM, but you will need to load some smaller files instead.
I’ve received the ‘Low Memory’ warning – how much more audio can I load?
The low memory warning kicks in at around 1000 MB 32 bit floating point audio – at that point you should still actually have room for around 10 more minutes of stereo audio in your project. Remember that these figures assume you have a blank project; if you have a large project with lots of programs, effects and sequence data you will have slightly less room available. Also remember that once the memory gets nearly full you will probably experience lag and an overall slowdown in the UI, plus you might struggle to perform anything that creates additional sample data (e.g. destructive chopping), so generally speaking as soon as you get the low memory warning, either stop adding further audio to your project, or perhaps start thinking about reducing the amount of audio already inside your project.
How Accurate is the Memory % Indicator in the System Resources page?
This should be taken as an approximate indication of memory currently used but be aware that the percentage displayed is calculated from the total system-wide memory useage including the memory used by the OS/firmware and the other bits and pieces such as memory buffers, sequences, programs etc. In the comments someone wondered why 36 minutes of audio was displaying a 60% memory usage, but this does seem correct. 36 minutes of 32 bit audio is approx 380MB, plus around 700-800MB of firmware is getting close to 1200MB of RAM, which is 60% of the total 2GB RAM.
How do I reduce the amount of memory in a project?
- Firstly, go to MAIN > PROJECT folder icon (top centre of screen) and hit PURGE. Select ‘unused samples‘ and this will remove any samples not currently assigned to a program.
- Only use stereo samples if the sample itself contains panning information. For example bass rarely needs to be in stereo and most individual drum sounds can be left in mono (just use the PAD MIXER to pan them within the entire kit). If you do identify unnecessary stereo sounds, convert them to mono (SAMPLE EDIT > PROCESS > STEREO to MONO).
- Make sure your samples are tightly edited, so set an end point at the true end of the sample and then ‘DISCARD’ the unwanted audio. Just remember this is a destructive process.
- Use non-destructive chopping and pad parameters whenever possible as this avoids creating additional audio and/duplicate samples.
Based on my findings, it seems the MPC Live and MPC X have approximately 1130 MB of usable RAM available. More importantly, this equals around 53 minutes of stereo audio (at 44.1kHz). This figure is still ultimately an estimate and may change each time Akai updates the MPC Firmware (I performed my tests using firmware 2.0.5).
Effects, programs, sequences and warping appear to have very little relative impact on system memory.
When it comes to audio file types it’s clear that you should use the highest quality available to you as ultimately it all gets converted to 32 bit floating point audio; you are not saving any RAM whatsoever by using 16 bit WAVs or mp3s, but will be sacrificing audio quality. Of course these files do take up less physical disk space, but that is a separate issue and hopefully you are saving all your projects to a separate ‘attached’ disk instead of the internal disk as advised in my MPC Projects article, in which case disk space isn’t really going to be a problem.