New to ORCA and Norns.
Does this version support sending OSC over wifi?
I finally had some time to spend with Orca on Norns… and it’s more amazing than I could have imagined. I’ve also hacked on it a bit, in ways that you all might find interesting.
Import and Export Feature
There’s a decent community of Orca users on PatchStorage that has been out of reach for us Norns users… not any more.
I’ve added the ability to import and export these Orca files for use on Norns. The only change needed is to replace the .orca
suffix with .txt
Accordingly I’ve added “» Import” and “« Export” commands to the options menu. I’ve included a simple demo to get folks started.
Before I submit a pull request to @its_your_bedtime I would be thankful for a couple of brave souls to pull my import/export branch down to find bugs.
PolyPerc Engine
The second variant I’ve been working on is implementing the PolyPerc engine from Awake to be used with Orca. Timber is great, but I wanted Orca to be able to make it’s own noise
I know a couple of folks have forked Orca and are using a hyphen naming strategy, not sure if @its_your_bedtime has any ideas on how to scalably manage variants (or if it even matters).
If you’re interested in giving this a spin, pull down the poly-engine branch. I welcome all bug reports.
Over the weekend I’ll aim to post some video demos showing all of the above-mentioned in action.
Cool! I wanted to make synth branch myself, but always got sidetracked by other scripts
Oh my! Thank you for posting your poly-perc branch! Very excited to use this, I’d been sampling in synth tones to use with timber. It would be add the softcut commands to this branch… (maybe I’ll try splicing them in, but my attention span is short when there are new sounds to be made!) Softcut already works
Edit: the poly-perc-import-demo.txt file appears to be empty when I try to import it via the params menu. import-demo.txt works and imports midi commands.
The poly perc engine commands work like a charm though!
The rub (so far as I understand) is Norns currently only supports 1 engine per script. Since PolyPerc is a synthesis engine it can’t play samples from Softcut. However, I was reading more about @jah 's R engine which is much more configurable and could provide a much richer palette. I’ll look to replace the PolyPerc branch with R and post results here.
The Softcut operators really make the norns ORCA a true work of art. It’s such a pleasure to blow simple sequences out of the water like you’re running something like through arbhar or morphagene
correction:
softcut always runs alongside whatever engine
but I believe orca uses timber, a sampling engine
My mistake! I’ve been away from orca for a few days and was throwing timber commands at it, softcut works just fine!!!
Thanks for doing this. A synth option with Orca is a great idea. I would welcome the FM7 synth or Passersby synth for a richer sound pallet if that’s possible.
Anything’s possible
I’m working on some other variations, and will post results soon. Hot swapping libraries would be nice, but that doesn’t seem possible at the moment (someone correct me if I’m wrong).
I saw a thread were changing engines was made a bit easier but not hotswapping. I’m not sure if this is relevant, but here’s the link were it was mentioned, if that’s any help.
hot swapping engines example, using TestSine
and a new engine called TestNoise
the main takeaways are:
- either the engines must have identical command interfaces, or your script must create an adapter layer.
-
engine.load()
can take a callback as its second argument. - you must use this mechanism to wait until last engine is done loaded before switching to new one (as this example demonstrates)
Ooh. Very helpful. Thank you!
Finally got around to capturing the changes I’ve made to Orca. Everything in the video below is from my dev branch and includes the following changes:
0:07 Encoders as input; (K1 + E1), values (K1 + E2), and notes (K1 + E3) with encoders (K1 + K2 clear). Useful for when you don’t have or want to lug a keyboard around
0:46 Synth Engine operator (|), currently using PolyPerc engine. Still working on implementing changing engines with help from @zebra’s comment, stay tuned!
3:07 Export and import .txt
files for possibility of sharing with broader Orca community
If you’re interested in trying the above out yourself, ssh
into your Norns and run the following commands:
$ cd ~/dust/code
$ git clone --single-branch --branch dev https://github.com/frederickk/orca/ orca-dev
is there any way to access the command-line?
and would it be possible to add some new feature like F to invert triggers? Orca - Livecoding Tool
and lastly, why does only one cell get deleted when selecting multiple op’s and pressing backspace?
I hadn’t realized the changes upstream in the JS version; very cool!
Since I’m rooting around quite a bit with Orca in my own fork, I’m happy to take a look at these updates, look to implement, and make a PR for @its_your_bedtime.
I’ve looked at the code and am having a harder time with making local changes to ORCA than other scripts, its a bit over my head. With your poly perc branch, it would be great if the filter gain were mapped from 0-Z, currently there is a hard jump from 2-3 and it would be great to have a smoother transition before I get to squelchy territory.
It is so cool to be able to pull things down from patchstorage, import the text and see how others have been building up complexity.
Filter Gain Param
I see what what you’re talking about for the gain issue. I’m working on updates that will introduce the operator changes that were introduced in the upstream JS branch. And I’ll fix that gain issue at the same time. I anticipate pushing changes to my dev branch by end of this coming week.
Patchstorage
If you’re looking to import files from Patchstorage use the dev branch and watch my video in my post above.
if you follow my git directions above (i.e create a orca-frederickk folder), you could use Maiden to create a .txt
file in dust/data/orca-frederickk
or you could also upload into the data folder via sftp
$ sftp we@norns.local
$ cd ~/dust/data/orca-frederickk
$ put foo.txt # foo.txt is the name of the file you downloaded from Patchstorage
Then you can use import as shown in the aforementioned video.
@mlogger oh my word. that would be incredible. do you know if anyone’s actually looked into the feasibility?