Orac 2.0 for the Raspberry PI

~/media/orac/usermodules

the directory already exists :wink:

you should create a sub-directory for the category, and you can ‘re-use’ one , e.g. synth, or have your own.

if the category/patchname is the same as an existing ‘factory’ one, then it will be used in preference to the factory one.
e.g. so you can have a modified version of basicpoly, by putting in
~/media/orac/usermodules/synth/basicpoly

but if you want to keep the existing one you could
have your own version in another category, e.g.
~/media/orac/usermodules/mysynths/basicpoly

or rename it…
~/media/orac/usermodules/synth/mybasicpoly

which ever you feel is more appropriate, where you wanted listed in the browse modules menu

note: module developers should not ‘expect’ their modules to be in a particularly directory… you’ll see code in the samplers about how to find sample directory, and code in things like seq2 about how to reference a preset directory (to save data)

That’s what i dit ! But i nothing was shawn on the remote interface.i Will try again tonight, maybe i forgot rebooting or something like that

1 Like

@fpa, @thetechnobear
I recall having to issue this command for the usermodules to work:

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

I think I took it from a past comment on this forum

no that should not be necessary… i think that was just a hack for the initial beta, I believe this should have been fixed in beta 2

@fpa, if you start orac manually , or use journctl to look at its logs (details above somewhere I think), then it will list what its loading at startup.

you don’t need to reboot, but you will need to restart orac for new modules to be picked up.

@thetechnobear , I’ve tryed another times and i’m positive, the directory doesn’t work yet.

ok, just checked and indeed theres a small issue…

I fixed the code, and I updated all configs for all platforms EXCEPT patchbox :wink:

no worries, its simple to fix manually, you need to override the userModuleDir in /usr/local/orac/orac.json

so

sudo vi /usr/local/orac/orac.json 

then change orac.json to read:

{
	"dataDir":	"/home/patch/data/orac",
	"mediaDir":	"/home/patch/media",
	"userModuleDir": "/home/patch/media/orac/usermodules"
}

note: addition of , on mediaDir line, and there is no comma on userModuleDir line
(this is standard json format, lists of items do not have a comma on last item)

with this change it works fine for me

p.s. Ive now fixed in dev, so will be ‘fixed’ in next release.

you can verify this when Orac starts by using the command

journalctl -u orac

first thing you will notice is at the bottom it says:

May 30 12:36:14 patchbox pd[3147]: mainDir : .
May 30 12:36:14 patchbox pd[3147]: dataDir : /home/patch/data/orac
May 30 12:36:14 patchbox pd[3147]: mediaDir : /home/patch/media
May 30 12:36:14 patchbox pd[3147]: moduleDir : modules
May 30 12:36:14 patchbox pd[3147]: userModuleDir : /home/patch/media/orac/usermodules
May 30 12:36:14 patchbox pd[3147]: currentPreset : demo1
May 30 12:36:14 patchbox pd[3147]: Preset : Init
May 30 12:36:14 patchbox pd[3147]: Preset : demo1
May 30 12:36:14 patchbox pd[3147]: Preset : demo2
May 30 12:36:16 patchbox pd[3147]: preset loaded  : demo1

then if you look up in the log you will see modules being loaded, e.g. here you can see I have added a synth called synth/testsynth1
(in /home/patch/media/orac/usermodules/synth/testsynth1)

May 30 12:36:13 patchbox pd[3147]: KontrolRack::module found: synth/sampler
May 30 12:36:13 patchbox pd[3147]: KontrolRack::module found: synth/sampler24
May 30 12:36:13 patchbox pd[3147]: KontrolRack::module found: synth/tuneddelay
May 30 12:36:13 patchbox pd[3147]: KontrolRack::module found: synth/tuneddelaymono
May 30 12:36:13 patchbox pd[3147]: KontrolRack::module found: synth/wavescanner
May 30 12:36:13 patchbox pd[3147]: KontrolRack::module found: utility/arper
May 30 12:36:13 patchbox pd[3147]: KontrolRack::module found: utility/chordroll
May 30 12:36:13 patchbox pd[3147]: KontrolRack::module found: utility/clock
May 30 12:36:13 patchbox pd[3147]: KontrolRack::module found: utility/empty
May 30 12:36:13 patchbox pd[3147]: KontrolRack::module found: utility/midiout
May 30 12:36:13 patchbox pd[3147]: KontrolRack::module found: utility/noterepeat
May 30 12:36:13 patchbox pd[3147]: KontrolRack::module found: utility/t3dosc
May 30 12:36:13 patchbox pd[3147]: KontrolRack::module found: synth/testsynth1

note: user modules will appear after factory ones

journalctl is a very useful command , as it shows the logs of orac (or mec) , so if you have errors (e.g. if your module.json is incorrectly formatted) then it will appear in this log.

Like some of the others I too am having remote connection issues. Orac is running I can hear the drums and synth but the remote is doing nothing. Have tried using the PD and the Lemur versions on WIFI and custom local connections (Pi Hosted and Mac hosted) hit the button to launch MEC, launched MEC with the patchbox config used “patchbox.” and the numerical address for the pi but nothing is happening. Is there a walk through video available? I’m sure I must just be missing something or doing something wrong.

I think I’m right in thinking the PD remote will not run on the host Pisound. For me it would actually be really useful if it did so I can eliminate the need for a secondary device to control orac on the pisound when I have mouse&keys and a monitor available.

Thanks for any help.

1 Like

on your mac if you ‘ping’ patchbox. does it work? or ssh into patch@patchbox. ?
if it does its not the network, if it doesn’t its the network…
(you can also try patchbox.local , this is how some macs are setup)

(do it with the mac, first, as you have more diagnostic tools :slight_smile: )

also, have you remembered to start MEC?

it should do, then you just use localhost as the hostname…

BUT…that means launching X windows, and having a keyboard/mouse/monitor attached.
a whole load of hassle that I personally didn’t want :slight_smile:

(oh, and you still need MEC and Orac running !)

Thanks for the help, just managed connection over the pisound hosted local network using the “patchbox.local” target in pd from my Mac. Ping test was very useful, it failed on all but the ps hosted local network. Any advice on troubleshooting my main WIFI to fix this would be greatly appreciated.

Thanks again can’t wait to get stuck in.

Have you connected to your WiFi network via patchbox?

Yes I did, working internet connection and everything.

could be either your router is not taking the name its supplied, or adding a different suffix,
or it could be your client dns is wrong (e.g. not using your routers name service)

do you have other computers on the local network you can ping?
are you able to access the ip that the rPI has assigned to it from your mac?

hard really to know… we know that patchbox is trying to set the hostname, as it works fine for others (including me) :confused:

I have an IP in the dialog box of the remote PD program. I can’t remember now why but the hostname didn’t seem to work for me.

1 Like

has anyone had consistent results using orac on the rpi and using a usb audio interface? i’ve got mine setup to work, but after awhile of using it, i start to get some distortion in the signal coming from the audio output of the interface. i’m assuming i’ve just got a less than ideal configuration in jack. i’m using a focusrite scarlett 2i4, running the orac module in the console mode on patchbox. 44,100 sample rate, 512 buffer, 3 period.

Thanks for the suggestion Randomaztec, unfortunately I did already try that. I’ll revisit my network settings this weekend and see if I can identify the problem. I’ll post back here if I do.

@bunkbeds i’ve been using a behringer uca-202 with good results… i’m using a sample rate of 44800 (to match the samples) and 128 buffer - but i’ve also increased the delay rate in pure data from 4 (the default) to 16. Read up the thread here to see how to change the delay in orac’s pd settings. I arrived at these settings by simply fiddling around until I got something that worked reliably… and yes, as you say, the audio interface distorts if you don’t have good settings. I’d start by changing the sample rate, and increasing the delay in pure data. Changing the period had little effect for me, so I’ve left it at n -2. Another thing that can have a positive effect on usb audio cards is forcing the pi to use usb at usb 1.1 speeds, but this also slows down the networking speed. write: dwc_otg.speed=1 to /boot/cmdline.txt

2 Likes

this is extremely helpful!! thank you so much for the informative post. i will give these settings a try and report back.

typo, this will be 48000 :wink:

great info from @languidlost!
if its crackling is likely the having issues pushing the audio data out over USB. so most likely its buffer sizes (pd or jack)

changing sample rate shouldn’t be necessary, but check that everything is aligned to use the same sample rate… it maybe some config (jackd? PD?) in Patchbox is defaulting to 48000, as this is used by the PiSound.
(48000 is used on the PiSound because its more efficient… but we use 44100 on the Organelle)

1 Like

I am really new to programming and have been meaning to get raspberry pi to make some sound for quite some time. i love this project (a pi 3 is sounding) and have accumulated a few raspberry pi’s over the last few years a number of which are zeros and zero w.

so this thing you did where you compiled orac for a zero. is there a way that could be downloaded somewhere, or possibly you could list out where (pi or windows) and what (tools needed to compile, oh and also the files) and possibly a how or two?

i imagine that either of those things could be a lot of work and not really something one should ask of another so casually.
if that is the case, possibly there is a tutorial for finding out how to compile stuff with cmake or makefile or whatever magic you modern wizards are able to conjure?

This is the best thing ever! I have been looking and looking for this to appear. everyonce in a while i will go through youtube looking for either Raspberry pi loopers or synths, and this along with PatchboxOS and the easy step by step is a dream come true. i am making sound and having fun. Also thanks to Critter and Guitari: Organelle and that community for making all the PD and interface concepts!

1 Like