Its a wild ride for me today, as Im releasing Orac, an open source, free modular instrument Ive been working on for a while
Its been released today for the Organelle, however, its not Organelle specific at all, in fact I already have it running on the Raspberry PI (rPI) and Bela Salt (in a eurorack) as well.
I thought Id post a few details here, first the concept (for musicians) and then a bit more technical stuff… for those that might be interested.
here is a video , that explains what it is better than I can (thanks to loopop)
anyway, the basic idea behind Orac was simple…
There are some great new hardware platforms, that are cheap and powerful like the rPI, and I wanted a way to use them musically, to take them out of the desk draw they get stuffed in…
I liked the idea that something like Pure Data could be used to create synths/fx/sequencers quickly, that could run on the rPI.
But I found once I did this, that everything was a bit fragmented (even on the Organelle which is well organised), sure you can get some great patches, but how do I link them to midi , how do I save/recall presets, how do I combine them… and the only answer was start doing (lots of) patching in Pure Data.
what I wanted was a way to do these things, without patching, and to have some consistency
So… I decided to write it, and so we have Orac.
a modular synth, that uses pure data for its modules, but allows musicians to select modules, do midi learn, save/load presets, remote control from OSC and much more.
it comes with over 50 modules, including adaptations of some wonderful C&G patches, to ports of mutable instrument modules.
obviously with a headless (or small display) , we are not going to patch via wires, instead in Orac I created ‘Router modules’ , these describe how to route audio, notes, mixing etc.
these, I guess are similar to the DX7 algorithms , though Orac allows new ones to be added.
thats it really, the idea is to leverage the easy of use of pure data for module patchers, but to hide this from musicians to just let them combine things and control things as they want.
today, its out on Organelle.
for the rPI and Bela Salt, currently I can configure and control these by using a Push 2, taking a config from Organelle, or editing a config file.
this is obviously not the end goal, as its not suitable for many musicians…
so the next goal is to add a web app, such that users can control and configure if from their phone/ipad.
(of course once the rack is setup, they are then free to disconnect this, and control the rack from midi - it is designed to be used ‘headless’)
if you are an open source developer, especially if you have experience on web apps - Id love to hear from you, it will speed up this process a bit, and mean I can get it to rPI and Bela users asap.
so lets get a bit technical , as I think some here would like this…
another goal for me, was to make module development simple, as i noticed i spent a lot of patch development time on the UI, presets, midi … all things a framework could do, to remove the burden from the module developer.
so I developed the framework in C++ , which basically is an API that broadcasts parameters locally, and via OSC (for remote control)… also supports other ‘control messages’ e.g. midi assign.
This framework , also then includes a pure data externals, which do most of the work, the user simply includes the KontrolModule file, and then presents it with a module definition file (json) which describes the parameters.
some ‘interesting’ tech facts:
- Orac actually dynamically re-patches the main patch in C+ from the main KontrolRack external
- Routing is done via routing modules, which are also written in PD, so anyone can add new routing schemes
of course, using pure data, osc, its all cross-platform… so much of the time ive been developing/converting modules on my mac, using the Push 2 as the display/control, and then just download it to the Organelle/PI/Bela to use/test it
as I said already, the next step is to add a ‘browser’ implementation, that way anyone with a raspberry PI sitting in their desk drawer can find a use for it.
Bela Salt … this is quite fun, having a virtual modular in a eurorack case is quite ‘meta’, but also means that there are quite a few other options for modules e.g. Orac can be a midi to CV converter , CV modulator, and also rather than always using it as stereo, you can treat the 2 audio channels independently, so basically use the module as 2 audio modules (and still do cv output too)
(Orac supports a concept of chains, which is like multiple tracks)
anyway, thats what Ive been up to recently… I really enjoy it on the Organelle, and I can’t wait to get it out on the rPI and Bela for others to enjoy it too.
anyway, I hope this is interesting… if you have any questions id be happy to discuss,
and its open source, so if others are interested in participating again id love to hear.
(I’ll post the link later today, I just need to move it from my private repo to the public one, now its released )