Orac 2.0 for the Raspberry PI

The steps to update are:

  1. Run patchbox
  2. Select update
  3. Go to module
  4. Select orac.
8 Likes

Great news, @thetechnobear !

I just put up a video of a jam I made with orac (not yet updated):

Thanks!

7 Likes

Hey Mark great work!! Thanks again!! But I have Midi issues once again, I don’t Know why I can’t have poliphony. Any advices?

have you tried demo2 ? does this not work? if you don’t see demo2, then you dont have beta2.

did you watch my above video?
if suggest you watch it, and follow it thru … (do not alter demo2!)
you will see chain 1 and 3 are polyphonic - they all could be if you used a poly synth on each chain - but i wanted something different on each chain

if demo2 is not working, then i think you have a problem somewhere in your setup…

(edit: I also just tested (again!) and put a poly synth on all 3 channels and it worked 100% correctly)

also Id appreciate it, if some other users can chime in here…
is anyone else with beta 2 having issues with polyphony?

I really appreciate your help. I already happened with the first Beta, I also think that it must be by my controller.

on beta 1, as reported above, there was an issue with midi ch 2-16 being monophonic, (only ch 1 was polyphonic) but I fixed this in beta 2, and obviously did a lot of testing around this area - hence my confidence its absolutely fine - and why i showed it working in the above video.

I just checked that my controller has a part with midi channel 1 and 2. Part 1 doesn’t polyphony and part 2 does with demo 2 as an example. I’m sorry if I confused you. I will keep trying.

If your controller is working even partially then I suggest orac is setup correctly. If it’s an advanced controller it may have some midi filters in place for some setups[quote=“fpgaona, post:89, topic:1099, full:true”]
I just checked that my controller has a part with midi channel 1 and 2. Part 1 doesn’t polyphony and part 2 does with demo 2 as an example. I’m sorry if I confused you. I will keep trying.
[/quote]

@emillo
Nice demo… I also have an Sl I notice you went to the effort of naming the knobs and sliders… I have done this in the past for certain projects but it is painfully slow to do it on the controller . Is there an editor available for pc?

i have just updated and no issues with poly here

Yes I have an editor that works with wine under linux; I have no windows experience of it though. The only thing that don’t work is the actual upload to the device, so I save the .syx file and upload it manually with the amidi command. You can find the editor on novation website, the one that I have is for the Remote Zero mkI and it’s called ReMOTEZeROSLEditorSetup1.1.8517.exe.zip but I guess that they have them for all the models.

Mark it’s coming together really well.

I’m wondering if you (or some of the other Orac users) could help me figure out:

  1. Seq2 requires the Aux button. Someone mentioned above CC#69 as an alternative but it doesn’t appear to be doing anything. Is it even possible to use modules that require the Organelle Aux button without an Organelle?
  2. Program changes - i’m sending them and not seeing any change from ORAC. Do they have to be assigned to particular presets? Is there a MIDI channel they need to be sent on?

cheers
lloyd

Ok…

Tried Orac 2.0 last night (April 17). Got a much better idea of what the project is about but had a number of issues.
Came back tonight to do more tests, noticed that “beta 2” was out. Updated my instance (it now says 1.0.1).
Did a number of experiments. Got a number of things to report. Apologies if it’s not structured the way you want or if it’s too long but I’d rather write these things down now instead of editing everything in tracker-style reports.

This is on a Pi3B+ with Pisound HAT, mostly using my WiFi network, mostly with a screen and keyboard plugged in (originally installed Orac while on Ethernet, ssh’ing into the Pi through the Patchbox AP). My “client” is the Pure data patch. I’m using vanilla Pd 0.49-1 on a MacBook Pro. I’ve also used the Pd client directly on the Pi (connecting to localhost).

(Wonder why the Pd client uses routeosc from Mr. Peach instead of the native OSC support in current versions of Pd. It was somewhat confusing that the patch didn’t throw an error when I tried to load it without Mr. Peach installed. Otherwise, the 172.24.1.1 address works well when connected to the Patchbox access point.)

Been testing Orac with a variety of controllers: Alesis Vmini, Sensel Morph (with MPE and standard MIDI layouts), ROLI Lightpad M (with MPE and standard MIDI layouts), Eigenharp Pico (with and without a powered USB hub), and Yamaha WX11.

By the by, while the videos are really useful, it’d be much quicker in many cases to simply skim a written version of the instructions. For instance, I watched the Pi video a few days ago and tried to install Orac from memory. What I was missing was the patchbox-cli package. Had to go through the video to identify that one quick comment in overlayed text instead of quickly checking a series of steps (like @Giedrius did about updating Orac).

Something which works, more or less: once module A1 (or whichever) is set to a poly synth like Analogstyle, I can play polyphonically using my (bus-powered) Alesis Vmini… until I get stuck notes. It usually gets unstuck by playing polyphonically for a while more (not necessarily the same note and certainly not one at a time).

Same thing with the Sensel Morph or Lightpad M (if they’re in standard MIDI; haven’t been able to get anything to work with MPE but that will be for the Discourse board on Poly Expression).

Something which doesn’t work and makes a huge difference: saving a patch doesn’t carry over a reboot. Which means that I have to redo the procedure of adding a synth to a module, using a client, every time I boot the Pi. Maybe there’s an easy way to make this work but, without this, it means that I need to use some kind of screen to even test something quickly. And I’ve had to reboot quite a few times.

In this case, a default patch with some kind of poly synth would make testing much easier.

Getting to a synth was really not obvious, as has been discussed here. This is another case where a default patch of some kind would be very useful.

I got strange behaviours using my Yamaha WX11 if I (try to) set it up so that a synth’s filter cutoff can respond to breath control (CC#2). For one thing, the setting doesn’t “stick” (if I turn off MIDI Learn, for instance, breath stops having an impact). In some cases, the whole client became unresponsive, for some reason (clicking buttons didn’t have any effect).

With WX11 breath assigned to cutoff, I’m also getting error messages:

trigger: can only convert 's' to 'b' or 'a'
hsl: no method for ',s'
unpackOSC: PrintTypeTaggedArgs: Type tag said this arg is a string but it's not!

unpackOSC: PrintTypeTaggedArgs: Type tag said this arg is a string but it's not!

The WX11 sends “active sensing”, so maybe that makes a difference. But it’s still quite strange.

With some other parameters, I’m also getting error messages from moving knobs on the Vmini:

trigger: can only convert 's' to 'b' or 'a'
hsl: no method for ',s'
unpackOSC: DataAfterAlignedString: Unreasonably long string
unpackOSC: DataAfterAlignedString: Unreasonably long string
unpackOSC: DataAfterAlignedString: Unreasonably long string
unpackOSC: PrintHeuristicallyTypeGuessedArgs: indeterminate type: 0x6f736552 xx
unpackOSC: PrintHeuristicallyTypeGuessedArgs: indeterminate type: 0x636e616e xx
unpackOSC: PrintHeuristicallyTypeGuessedArgs: indeterminate type: 0x69740065 xx
unpackOSC: DataAfterAlignedString: Unreasonably long string

A strange thing which might have been solved in 1.0.1 is that I was getting Connection refused (61) from the Pd client (even the localhost one) if I had booted the Pi while my Eigenharp Pico plugged in.

Speaking of the Pico: got to say that having a consistent sound source for my MPE devices is my main “use case” for Orac.
Sure, having the equivalent of an Organelle (but made “10x better”) for a fraction of the price of the C&G device can be a pretty attractive “value proposition”. And I do want to play more with Pd (I’ve had a lot of issues with polyphony in my own patches, especially since I was trying to create different types of harmonizers).
But my main reason to use Orac is to have something to use with my MPE controllers. Especially the Pico, since it requires such a cumbersome setup to even send MIDI to something else.

So, the rest of my experiments will probably focus on issues relevant to PolyExpression. I did notice the new t3dOSC module and it sounds like it might get me a bit closer to my goals.

(For non-MPE use cases, MODEP remains my favourite part of the “Pisound experience”.)

Having said all of this: Mark, your dedication to the Orac project is really inspiring!
And it’s really nice to participate in it, in any shape or form.

ok, Im going to be honest, Im not following most of your post, I don’t have time to go thru this…
you’re going to have to tell me a bit clear what is wrong…

Ive no idea why your getting ‘unpackOSC’ errors, as I dont use unpackosc,
the heart of Orac doesn’t use PD for OSC at all , I do it all in C++
and besides, what has midi got to do with OSC?
so Ive no idea what your doing really

Ive also been playing with lots of midi devices and no stuck notes, and no reports of stuck notes from anyone

seriously, this sentence annoys/upsets me - do you seriously believe that I would release something that didn’t allow you to save? what the videos that I clearly show you how to save a preset - was some how faked?

have you even watched my latest video?

reality is… some watch videos, some read manuals - invariably few do both…
if I release a manual most users will never read it (Ive done this on both Axoloti and EigenD, and it was pretty frustrating!)
and i dont have the time to do both at the moment,
if the community wants to create a manual, better videos - that would be awesome.

generally, lets all remember this is open source
the idea of open source, is not just about getting free software, its about the community working together to build and improve something.
Orac could be a good example of this, because all the modules are in Pure Data which means with a little bit of effort , many many people could create modules, and share with the community,
so its a win for everyone …

1 Like

hi there, I’m having a good (sometime frustrating, but it’s part of the charm) time with orac2 on my Pi.
If I have time this easter weekend I will write down an installation guide.
I am interested too in the aux button, I have no experience at all with organelle, how does this button behave?
cheers

2 Likes

aux button

yes, Aux button is on CC 69 (it can assigned to another CC if required)
on >= 64, off < 64

just be aware than this is a button on the organelle,
so some patches will need you to hold it, some will required a press/release.
(mostly its press/release and hold will be used for something like ‘clear sequence’)

its should be working fine, as I use this on the push2 regularly, which uses this cc to work.
(on push2 its assigned to the accent button)

its best used with a controller than is flexible and can assign a CC to a button. if your doing it with a pot, its a bit inconvenient - but if you keep use it around 12 o’clock (so you can switch quickly between >64 and < 64) it can work ok.

obviously I chose CC, as putting it on a note_on/off would interfere with most controllers playing.
(but you could change this behaviour in mother.pd fairly easily)

Program change

is currently only on the active midi input channel , which is defaulted to channel 16 in Beta 2 - this channel can be changed, but be careful if you overlap with the chain midi channel (1-3),
if you have to have this on channel 1, then Id recommend you also turn note/ctrl OFF for th active midi input

sorry for the frustration…
Orac has been out for nearly a year on the Organelle, and has had a lot of use by lots of users, so 2.0 was a known entity for it… and its display meant its immediacy really helps.
but running headless with a remote editor, was a bit of a different prospect, and introducing networking/wifi always complicates matters! (not due to orac)

so really, we are discovering this a bit together… see what works, whats confusing etc.

thats why I released it as a beta, so that I could get some feedback, and also see what kind of user it appeals to, and who not…

this would be awesome, if you write it using markdown , we could put it on the GitHub wiki.
… but really anything would be cool


I’ve said a few times on the Organelle forum - Orac is NOT for everyone,
many just want simple patches, where the organelle/pi becomes a piano/synth, they don’t want the complexity of building something… and at the end of the day, Orac will have a certainly level of complexity that comes from its flexibility…

but Orac’s story does not end there :wink:
I (actually we) can easily build derivatives of orac for these users , i.e. just use the technology of Orac, to build what these users see as ‘simple patches’ - but still have features of orac (like midi learn)
(this is basically what Blokas did with MEC, but my idea is to take it the next step up)

this is actually, an area that Im particularly interested in for the eurorack side, as generally modular users are more interested in specific functions, rather than something with the complexity of Orac.

1 Like

Hello Mark,
the main problem I see with the aux button functionality is that for the reason of possible conflicts you already explained the aux button is active only on the ‘selected’ slot. But here is the catch: how can we select the slot when running headless? On the organelle it’s easy but on pisound the only option (as far as I know) is the remote patch or some osc message sender. Can’t we bind the selection of the slot to some midi message like bank select or something?

Cheers

1 Like

very good point!

hmm, it actually clashing with something else too…

so the active input can usually be switched with to a specific module using
router->main ctrl dest = n (n=1 to 10)
(which in the back of my mind was how I expected headless to work, even though its a limitation)

BUT i deliberately stopped this for Aux, because whilst you often wanted the head of the chain to get the note input, there can be lots of modules down the chain where you want to use the aux button
e.g. b1 = Seq 2 for recording the sequence, but b4= overloop record looped fx.
(the same is true of footswitch and expression input)
this is something I’ll admit i ‘debated’ with myself, and just decided to do this for the beta, and then see which way users wanted to go with it.

(Id not noticed this on the Push 2, as that is extensively using OSC to control Orac, so no surprises it uses osc to switch active module)

BUT as you say this clashes with headless use…

using a CC to switch active modules is I think easy enough… and I could certainly default it to CC 0, on the ‘active input ch’, so 16 by default)

my only concern would be, some users are having a hard time with ‘active input’ already.
its been the source of more support questions than anything else - and even with detailed explanations, some are just not getting it.
(in fairness, Ive seen similar issues on Elektron and Squarp forums with thier ‘auto channels’)
its why I simplified it for Beta 2, and moved active input to the background :slight_smile:

so bringing it back it to play is a bit ‘concerning’

But I do think its probably the best option…

again, I think it’ll work better for more advanced controllers - e.g. if you can put different CC 0 values on different buttons, or a controller than displays CC values - rather than select on a pot, where your going to find it really hard to get a specific value…

thoughts? really an area where feedback is useful…

particular questions:

  • how is CC 0 value used?
    should it be cc value = module ( so cc 0 = 5, = module 5) , or should it be scaled cc 0 = 64 = 50% ( 10 * 0.5 ) = module 5
    I think specific value is best personally, as its easy to understand, but if lots say the opposite, Im ok to scale it (I do not want this configurable, its a nightmare to support!)

  • active input, default note/ctrl to off?
    again, I know whats going to happen, users are going to change active input ch = 1, and then start clashing with the midi input ch… because they forget, then are going to start getting midi note issues.
    so Im tempted to switch note, ctrl to OFF by default.
    this’ll mean by default the active midi input channel will be used for
    program control - switching presets,
    CC 0 - changing active module.
    cc 69 - aux
    cc 64 - sustain/fs
    cc 4 - expression pedal
    note: before someone suggests, I check if a channel is used the active midi ch and prevent it, this is not possible - there are use-cases where this is actually a very useful option IF you know what your doing :wink:

  • program control / active change (cc 0)
    these could be global to all midi channels,
    Im loathed to do this, since one day, a user will pop up with a controller that is sending this out on a channel where he wants to ignore it.

thoughts?

I also think the cc value = module is best, more precise and easier to understand (and allowing more slots) but yes, not handy with a rotary knob… it woulndn’t be handy either the scaled option I think so the value=module wins for me

note defaulting to OFF on the main midi channel It seems a good default to me; BTW, why expression is defaulting to CC 4? Isn’t CC 11 in MIDI?

I think it would be better to reserve the main midi channel (16) for these “system” messages but you have a point in that many MIDI controllers these days are not always capable of MIDI channel switching on the fly or precise message configuration.

While I’m here I have also another question: braids and other MI modules seem to be “out of tune” probably for the 44.1 vs. 48Khz difference between organelle and pisound: how to fix this? I have to recompile something?

Cheers

Yes my controller can do this. I can set CC to a button, Toggle or Momentary, and MIDI channel amongst a few other things.

So then I still don’t understand why pressing a CC set to 69 while on the Seq2 mode doesn’t start/stop recording a sequence when I’m on that module. Does the AUX need to go out MIDI channel 16 along with the program change?

This is something i’m going to have to test further. At the moment I’ve been using a pot to scroll through values 0-127 but I think it was going out Channel 1. Just to clarify - is the intended function for it to go through the saved presets from top to bottom as per the remote client display? Does it wrap around or merely stop changing beyond the list?

1 Like