Reposting this from a thread on Reddit, from user buba447:
Hey yall! Like many of you I’ve been having issues with samples that wont load. I began to suspect after some stock samples wouldnt load that all samples in a project share the same memory pool- and that the pool has a hard limit. I decided to do some rigorous testing to determine:
- If there is a shared memory pool
- What the hard limit of the memory pool is.
- If the limit is time based, or based on the size of the wave files.
I’m happy to say that I found some conclusive answers.
Methodology
Preparation:
The basic idea was to create a controlled sample group, and then try to load as many samples onto the device as I could before samples stopped loading.
I created a “blank” project. This project had an empty midi instrument loaded onto every track. I figured this would be a good way to flatten the memory pool. Between every test I loaded a blank project, saved and power cycled. This was the best way I could ensure a completely clean slate.
Samples:
Designed a sample pack of 24 stereo WAV files, each exactly 5 seconds long.
Generated three versions of this pack with different sample rates: 44kHz, 22kHz, and 11kHz.
Duplicated each sample pack 8 times to ensure the OP-XY loaded a unique WAV file for every key on every track.
Test Execution:
Loaded the blank project and added sample packs to tracks until notes stopped loading.
Observed behavior after saving and power cycling.
TEST RESULTS:
44kHZ Test
I got as far as the second track before I encounted a note that wouldn’t load. It had a single missing note (E2). Curious if the issue would persist I saved the project and power cycled- on reboot there was still a missing note but this time is was Track 1 (C#). Track two was selected when the project was saved- so it seems that the XY loaded the selected track first, then ran out of room while loading track 1.
Outcome:
47 5 Second wav files @ 44kHz were loaded. (3.9 total minutes of samples)
22kHZ Test
I was able load 4 tracks of samples. The fifth track was missing all of it’s samples. On reboot there were still 24 misisng notes- but they were spread across all of the tracks.
Outcome:
96 5 Second wav files @ 22kHz were loaded. (8 total minutes of samples)
11kHz Test
I was able to load 7 complete tracks of samples- the 8th track was missing 6 notes. This also persists across multiple boots- again the missing notes changed.
Outcome:
11kHz Results: 186 5 Second wav files @ 44kHz were loaded. (15.5 total minutes of samples)
Conclusion:
So that seems pretty conclusive! There is a shared sample pool across all tracks and devices. The pool is a memory pool and has a hard limit. I was curious if I could calcuate the memory limit based on the sample disk sizes
44kHZ Test
47 samples @ 882kb = ~41.5mb
22kHZ Test
96 samples @ 441kb = ~42.3mb
11kHZ Test
186 samples @ 221kb = ~41.1mb
Too Long Didnt Read:
-
The OP-XY has a shared active memory pool for all samples in a project.
-
The hard limit for this pool is around 42mb.
-
Thats 4 minutes @ 44kHz (Almost 2 multisample instruments)
-
8 minutes @ 22khz (4 Multisample Tracks)
-
16 minutes @ 11kHz (Almost 8 Multisamples Tracks)