Orac : module developers guide


This is a really promising idea. If individual organelle patches are bricks, then orac is the first machine to automatically stack bricks and cement them together! Very exciting.

I have a question - do the routers send the midi notes out as well? From what I see in subpatches/connectout, it should. But if I put in U-rhythmicon without any following modules, and connect a separate physical synth via midi cable, it doesn’t trigger the synth like the Stereo Rhythmicon patch.

I’m new to pd but I’m happy to pull together a PR on github if you point me in the right direction and there’s anything I can contribute!


it should be sending out midi, i can double check.

have you set the output channel on the router?

edit: hmm, i need to double check 1x10… the others i put the channel on the end of the chain, but 1x10 is one long chain, perhaps i forgot to add, if so i will add…but you can use one of the others for now if that’s the case.


ok, just tested all is working as expected. (including on 1x10)

so I assume you just havent set out midi ch, on the router.


Currently finished dust fx module as well as a synth bass drum.

I really don’t like the heavy usage of the encoder pushbutton, but I don’t really see another way to have so much functionality.

One thing for other devs is you need to use [r loadbang-$1] instead if loadbang. This gets kind of weird when using abstractions.


yeah , not sure if I mentioned this in the first video…
but Id did in the new ‘converting patches to modules’ video.
this is a quirk of PD, loadbang only gets called when a main patch is loaded, not if you add a subpatch… most pd programmers know this, as when your developing you tend to have to chuck in a bang ui to do what will usually be done automatic

yeah the $1 you have to watch, I do mention this in the second video, it just means first parameter which happens to be module slot in orac, but as soon as you start converting things with other parameters this wont be the case (assuming you do what I do and tag it on to the end of existing parameters)

one important thing to watch for here is default parameters, as you need to pass in the module slot, if you tag it onto the end, then you have to also add any intermediate defaulted parameters…

again, this is nothing new to experienced PD programmers, as they are used to adding parameters, but if you are ‘blindly’ converting patches its easy to catch you out.

Im all for constructive criticism/feedback, if you have an alternative im all ears.
but unfortunately the Organelle has limited hardware ,using the pots for non-parameters is really confusing, and the keys are unlabelled… and i dislike patches that start saying ‘C#3 = func1’ ‘D3= func2’ … its really hard for users … I do it, out of necessity in OTC, but its horrible, so was not going to do that in Orac.
I cant use Fs as not all users have them, or want to use when casually using the Organelle (e.g on the sofa)

of course, the idea is for performance use, you use midi learn … and Im thinking I will look to extend this a bit, eg. either program or bank changes for presets changing… and perhaps allow mapping of other functions (switch module, midi learn) to external controllers - but again for casual use thats not feasible, so cannot be a primary access…

for other platforms this will be different… and also the idea (as ive detailed) is to add a mobile web app, so users could use that (or push2)

but as i said, if you have any ideas on improving id love to hear them


will it be on patchstorage so we can add it to the collection?


Yeah, I guess so… I need to sort out a deploy script, so that I can show module developers how to make it easy for users to add modules.
(Basically it’ll be an standard ‘install zop’ option.

It will also be in the Orac 1.1 release but that’s going to be a while yet.


hey @thetechnobear i made two modules i think that satisfy the requirements

can you maybe take a gander at them and tell me if they are completely wrong or just missing something?
I built them with MEC/ktrl and the monorack but maybe that is not enough?
or maybe i am just trying too soon. The first one is an ‘S’ module [stocahstic sound maker] and is quite simple and straightforward




did you follow the videos i made? do they work ? :slight_smile:

Im not quite sure what you mean by ‘requirements’,
Ive merely explained how to get things to work, and what I think makes a good module.
The rest is up to you, and the people who use your modules… its certainly not for me to judge modules etc.

If you say they are working within Orac, then I’ll see if I can find time look, but no promises as Im really busy at the moment…

if there not, then please check the videos… they took a long time to do, the ‘conversion video’ might not look like much, but probably took me 2-3 hours, by the time, id setup, captured the video, messed about editing (zooming screenshots) , and then faffing about with my crummy internet connection.
then if something is not working as expected, let me know what you think the problem is, or whats seems to be wrong.


they are not showing up in the orac system so i thought you could offer some reason as to why
i watched the video and i think i grokked it but perhaps its a naming thing


i think i found out what’s going on



added to top posts, notes on how to create an installer for modules


Sorry Mark, not your fault obviously that I am a bit of a computer coding noob but this is like a foreign language to me!

Any chance of a quick video?


thanks for the installer into i think i made an assumption with the MEC/Ktrl json then i changed some things but i am going to wait on other ones and just release regular patches for a bit longer. and make a few from scratch instead of trying to convert existing ones



probably not… i really don’t have the time to do more videos at the moment, this is seriously taking a huge amount of time for me…

and its really is simple

just add the contents I posted above to a file called deploy.sh, then run the script I detailed

so lets say your doing S-norisampler, and you have it in
so you create the file
(add the contents above to it)

then you type on the organelle

cd /usbdrive/Patches/orac/modules
~/scripts/create_install_package.sh S-norisampler 

then copy the file created which is S-norisampler.zop to patchstorage, or wherever…

perhaps if this is enough to get someone else to do it, and then they can make a video and ‘spread the load’ a bit.


That makes more sense, I’ll have a go at that, thanks!


Hey @thetechnobear I had a quick question. And just want to make sure I understand this correctly.

Say I convert the Vocoder and Ivertide patch into modules, and I’m running Orac with the 2x4+2.
Does that mean it will run an audio signal into two different paths? Do they operate independently,
so the audio signal would look something like this?

Or does the first set run directly into the second?


go watch my video :wink: (it has pictures of all the routers)

2x4+2 mean 2 chains for 4, followed by 2 after the chain… so the chains are independent, and then converge for the final two modules…
hint: remember you can put the router/clock where you like, and they just act as passthrus.


That’s all I needed to know! My thinking with this is, I could take previously made patches and actually put them together to make the Messina Machine all in the Organelle. Which is wild to to think about! I’m getting crazy pumped just thinking about it.


Is it possible to assign a MIDI message to the Aux in Orac?