Orac 2.0 for the Raspberry PI

if you have got midi learn working, then midi is coming in.

which midi channel are you sending in notes on? (use ch 1)
have you got the synth as the active module?

you could try to put the Euclid seq before the synth to see if you have sound.

1 Like

Had some issues with file permissions - had to specifically chmod the json and pd files - which strikes me as weird for a “home” directory. Having to do this for every user module…?
But anyway… let’s see if this works.

EDIT: OK next step is how do I get the user modules to show up in the remote client?
Maybe this will be answered in your next video? :v:

1 Like

Well I have sound when I put euclidean in the first module but when I put the synth in the first module doesn’t sound. The midi controller is on channel 1. How can I know if the module is active?

If you get sound with the euclidean model in the first module and a synth in the second module then that is all working.
If you get no sound then with a synth by itself using a midi controller then something is not working with the midi controller.
What is it? How does it connect to the rPi?

Thanks for The answer. I have connected a midi usb controller and a Korg sq1 sequencer for both midi din and usb and nothing. I have tested them with Pianoteq trial and they work correctly. I do not know what may be happening.

you do not have to (and should) not do a chmod if you placed them where i said to, in /home/patch/media/orac/usersmodules

ok, but Ive found a small bug… which means this is not working, so far now,
place the modules in the above directory as directed then enter the following

sudo ln -s /home/patch/media/orac/usermodules /usr/local/orac/usermodules

the reason to do this, is later when I fix the above issue, then your modules will be in the correct place.

I did this, and tested putting a new router module in place and it worked fine.
it can be seen in remote client, and loads
(note: you will need to restart orac for new modules to be picked up)

we use alsa, so aconnect -l will tell you if your midi controller is properly connected.

does midi learn work? (that will indicate if midi is getting thru)
if it does, then its probably just your routing…

so by default what Id recommend to get started is
(assuming you have not altered any settings)
a) send on midi channel 1
b) make sure the synth module is active (i.e. shown on the remote) client
then pressing a note should play

as above really, the module is active if its shown on the remote client.

if your not using the remote client - then as such ‘active’ doesn’t make any real ‘sense’
so what you should be doing is setting up the chain.
so assuming the default setup.

go to S1:serial
go to page Chain 1 Midi, set “In Midi” = 1 , “In Midi Ch” = 1

also in serial, what I personally do is set Main Ctrl 1 : “Main Midi Ch.” = 16
(so for active module I use channel 16, to avoid confusion with the chain midi)


I recognise this is all a bit of a ‘learning’ curve,
honestly, it didn’t really occur to me, as Im so used to users who have been using the Organelle version, so know much of this stuff.

what Im currently doing is, fixing issues as people are raising them - and Im then going to release a new beta to fix those issues.
as the same time, what Im going to do, is make a couple of the defaults a little better,
and also rather than orac starting with the Init patch, Im going to start it with a ‘demo’ patch,
which will mean it will play a sound, as soon you plug in a controller.
(I’ll probably also have some drums auto start, so that you know if sound is working)

apologies for it being a bit more complex than expected, but the issue with developing on multiple platforms its quite easy make incorrect assumptions across them.

2 Likes

Thanks Mark.
Just to check - the path you suggest originally (that I have) is:

I presume the ~ puts it in /home/patch?
Just wondering if I should move the kmixrouter dir to be a subdir of usermodules, not router?

EDIT: It’s showing up now - so where do I load this module in the remote script
under a3, b4 and c3 or at the end of the chain in s1?
Neither have worked for me yet.
cheers for the help!
Lloyd

Put in S1 - it is not in chain
Routers define the entire routing model. a nd so chain :wink:

(is recommend the Orac 1.0 overview which describes this - and most is still true)

Yes ~ in Linux = home dir , so for patch user is /home/patch.

Btw is everything else working , it’s wise to only start ‘complicating’ things once you know all is working ok.

If I leave it as is - it seems to be working. I dunno about “everything” but i’m getting audio with euclids in a1,b1,c1 and synths in a2,b2,c2. However my user patch in s1 is not working. No sound.
I was wondering if it had anything to do with deleting the signal and p2 objects which I figured were mixing the 3 chains to 1.


I’ll look over the Orac 1.0 overview but i’m having a hard time correlating that to the PD remote client at 2.0

cheers
Lloyd

I’d have left P2 connected to the A chain, but that wont cause any issue

have you configured PD to have 8 output channels - by default its 2.
you can do this either via the GUI or altering .pdsetttings
(this is not patch related, its about PD configuration)

Ok solved, by default Midi in was off. Sorry for the questions and many thanks for the support and all your work and dedication on this. It’s amazing Orac!

2 Likes

Yeah by default it’s off, since otherwise it would clash with the active input :wink:

Enjoy :slight_smile:

1 Like

Great. It’s working now. You may be right about complexity though. With the K-Mix I need to make sure I turn it on immediately after booting the rPi as there is a window of about 5secs for it to recognise it before it reverts the settings.
Nice to know I can do it though. If I’m setting up a surround thing it will be very useful.

1 Like

changes for next beta (b2)

speak now, if you disagree - and have a very good reason :wink:

so Im going to be changing the init (and demo) presets for the next beta
(if you have created presets you may want to consider similar changes)

(where applicable, the following will also default in the appropriate module)

a) Im going to switch to the parallel router as the default for Init
as 3/4 modules in a chain + post process is probably enough for most,
(so generally more useful that serial)

b) midi chain input is going to be ON,
for chain A it will be midi ch 1
for chain B it will be midi ch 2
for chain C it will be midi ch 3

c) active MIDI input , is still be active, but will be moved to midi channel 16

the idea is simply, that a new user can chuck a synth in a1, b1, c1, and just play with midi ch 1, 2, 3
and it will always play regardless of which module they are have selected.
this I think is simplest for most to understand, and then ‘active input’ is more of an ‘advanced’ feature.

Im NOT going to change the Organelle keys active input, it will still follow the selected modules by default, as this IS usually what you want, for a whole range or reasons - and is not generally confusing since its fairly obvious to associate the display with the keys underneath them.

Ive fixed, any (reproducible) bugs that have been reported so far (not many as it happens),
changed a few things from feedback (thank you)
added a few improvements,
and Ive got a couple more little things I want to do (like demo presets),
then I plan to make another beta release.

so IF you have any bugs, that you can reliably reproduce, please speak now!
(its a lot of effort for me to release on all platforms so Im not going to be releasing that frequently!)

3 Likes

Sounds great. When are you planning on pushing the next beta?
I’ll have a chance to go through some of the other modules tomorrow.
Are you adding the ability to adjust the menu revert speed?
As i’ve played with it more I get what you were saying about getting used to where things are, having the categories separated is great.
However particular with touch on Win and the PD Remote I find myself constantly missing the touchable zone and having to do it all again.
Was thinking of editing the remote UI to make everything bigger myself.
Was also thinking it would be nice on the PD Remote to have shortcuts to the start of A, B, C, M, P and S chains. An alternative to the button / key selection on the Organelle. This is obviously non-essential but would make it quicker to use.
Very happy so far, I found an old Novation Xiosynth rescued from a bin that functions as an excellent midi controller, audio interface and sound source for ORAC.
cheers for all your hard work.
Lloyd

Hello Mark, I’ve changed the sample rate in norisampler where the default was 44100 while pisound runs at 48000, and while playing it’s ok, it seems that the samples saved in ~/media/samples are truncated to 8864 bytes. I reinstalled and the issue remains also with the vanilla patch, so it was not a problem caused by my editing.

Cheers

It would be wonderful if it can be integrated a remote for orac in the pisound app… @Giedrius could I make this feature request? :slight_smile:

I think that lemur is available for android, but it’s proprietary and quite expensive (for a phone app)… and doesn’t have a demo version, to try before buying.

I’ve had some success with touchosc in sending messages to orac: I was able to send the /NextModule /PrevModule ,pages swithcing and /P1Ctrl… I wonder if it’s possible to address the specific modules by name? Going from a1 to s2 it’s a lot of clicks: having a discrete button for each module (like on the organelle) would be a lot faster. And also a lot better when running headless: with next/prev you don’t know where you are, with the discrete module buttons you can be sure you switched to the right one.

What I’ve been unable to accomplish is receiving messages from orac… the documentation of touchosc is rather sparse on this… on the pd patch I see that you send a /Connect message so probably also that is needed to have bidirectional communication…

I investigated the possibility of a web app (javascript) to send osc commands to orac: there is an osc-js library but it seems impossible to directly send messages (I guess we need the “udp” ones? it supports directly only “websoket” ones) from the browser without a nodejs “bridge” app and probably I’m not skilled enough to do it/it gets too complicated :slight_smile:

Thanks for the thorough reply and again for this wonderful software!

So some slight progress,

I uncommented the 2nd exec start in mec.service and changed it to:

ExecStartPost=/usr/local/MEC/mec-app pushkontrol.json

So this has seemed to take control of the Push, The pads light up, but the screen doesn’t update.

1 Like

waiting for feedback now… Im pretty much done.

yeah - this is done,

if others want to improve the client, that would be cool, id be happy to take pull requests to include …
(or just send me changes if your not familiar with PD)
obviously, im working at so many levels , its hard to commit more time to the remote client at the moment

yeah, currently ive not gone thru the patches to compensate for sample rate differences,
( and in some this may be very difficult)
also really the samples, supplied are only ‘starters’ :wink:

if they are being truncated, is is the size of the array they are stored in? seems quite small to me (Id have to check)

so you are seeing the OSC ‘display’ protocol, this is deliberately simplified to make the creating UIs easily , there is a much fuller osc protocol, but it requires a lot more ‘housekeeping’ since you need to track meta data (see an outdated example here

what this means is, im happy to make small tweaks to the display protocol, but it has to remain fairly simple - otherwise it has no real purpose.
… anyway, i could add a direct select option.
(the issue is… you really should not be hardcoding the module names - they may change - they already did from orac 1.0 to orac 2.0… :wink: )

this would be best done in mec using the full osc protocol.
there have been a couple of people contact me about wanting to do making a web app, but so far nothing has come of it - this feels like something if we can get the community to ‘collaborate’ on, then it might happen.
I’m happy to support this effort, but i dont have time to develop it.

yes, this was there to do this…

if you do

journalctl -u mec

you can see the logs,
its working on my pisound, but as per my above post, it seem to be having an issue on startup sometimes… its odd, libusb is saying it connected ok/

Any idea why this glitch around the module title has occurred in the pd remote client?
This happened after saving a session and it reloads this way as well.
On Windows 10.
remote
Also wondering if there is a reason for the second row of sliders when there are only 4 settings per page?
cheers
Lloyd