Processing Power on Organelle

There have been some questions about the processing power of the Organelle, how complex a patch may be, and single versus multi-core processing. I made some basic tests / benchmarks, and the following are some notes that shed a little light on these sorts of questions.

First, the best way to get a feel for the kinds of patches that are possible is to download some of the default patches and start poking around. Each patch comes in a folder, and contains main.pd, the main entry point.

All of these patches run below 60% CPU load on the Organelle, and use less than half of the available RAM.

The operating system (Linux) takes very little CPU, especially if the Organelle is not in edit mode and connected to a monitor. Typically it is around 1%.

The software communicating with the hardware (keys / knobs) and running the Organelle menu interface takes around 3%.

Pd itself has a little overhead. With DSP running and the mother patch loaded (needed communicate with Organelle hardware) it is around 6%. So the total overhead is around 10%.

Here are specific numbers for 2 patches:

Analog Style
I modified for 8 voice polyphony, each voice is 2 sawtooth waves fed through a resonant filter and amplitude envelope.
Total CPU load 55%

Sampler Style
24 sample record / playback voices, 1 for each key. Each with amplitude envelope, and then the whole thing fed through a reverb.
Total CPU load 40%

For comparison these 2 patches consumed 17% and 12% respectively on my 3.2 GHz iMac.

We also created a patch with 448 oscillators which loads the CPU to about 90%. At this point both the GUI and Organelle menu interface become sluggish. We generally try to keep our patches below 80% so we know they’ll run smoothly.

The RAM is also a limiting factor, but we haven’t experienced any issues with this. Most of the RAM used is by the operating system, which consumes around 30% of the 512MB. Pd itself doesn’t use much, unless you start to load lots of long samples into arrays. This is a test for another day…

Another question is about CPU cores and if having more of them would help performance. In general, more is always better, but it is not totally strait forward when running Pd. Pd runs as a single process, so the OS will put it on 1 core even if it is a very demanding.

We were able to test the patches on a dual core version of the same CPU that is in the Organelle, and did notice some improvements because the GUI and interface stuff runs as separate processes. So where the 448 oscillator patch became sluggish on the single core, it operated more smoothly on the dual core. However the ultimate processing barrier (the number of oscillators) was still the same. As this pic shows, the first CPU (Cpu0) is running Pd and it is nearly maxed out (97.4%), while the second CPU (Cpu1) is basically idle.

There was an object introduced in Pd so that one patch may embed another patch as a separate process, allowing the OS to put it on another CPU, but this is definitely a more advanced feature. You can read about it (and Pd in general) in this paper..

So far we’ve been happy with the power of the Organelle, and haven’t yet wished it had a lot more processing ability. After all, 300 reconfigurable oscillators in a small box with keys sounds pretty good to me! (although 10,000 would admittedly also be cool…)

9 Likes

Thanks! This is great information

Thank you for taking the time to compile some very useful information.

Really helpful you’ve answered my questions on polyphony. I think this is an important selling point for the Organelle, considering the wave of 4-voice synths from the likes of Roland & KORG - whilst this is a more open & expandable architecture and way more useful.

1 Like

Sorry to bump this old thread, but i’ve checked my “top” output and noticed that i only have 1 cpu :slight_smile:
I’ve done a full upgrade via pacman some time ago. Could this be the cause ? Is there any way to get my second cpu back ?

The Organelle is single core, so only has 1 CPU, so what you are seeing is correct.

ok, i freaked out because of your screen capture in the first message showing 2 CPUs. So the second CPU must be really “basically idle” :rofl:

could someone please explain,

what would it take to have a much more powerful processor? except the cost itself

you can replace the iMX6 , see this post

its pretty easy to do…

just be aware things like Pure Data tend to only use singe cores, so you may not see a huge performance benefit unless you’re coding your own patches and then you can use poly~ to spread over cores.

also bare in mind its ‘not supported’… the Organelle is designed as an instrument, which are not generally upgradable, rather than a desktop computer.

1 Like

oh I meant more generally, why isn’t the processor stronger?

@oweno, there’s an Orac module called Koto utilizing pd~ with great success. Did you think about adopting this for built-in patches? Organelle M is sporting a quad-core CPU so it’s now worth it. That would allow for richer-sounding voices or higher polyphony.