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.

2 Likes

Anything’s possible :wink:

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).

1 Like

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.

Mangl

1 Like

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)
9 Likes

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
22 Likes

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.

2 Likes

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.

4 Likes

@mlogger oh my word. that would be incredible. do you know if anyone’s actually looked into the feasibility?

2 Likes

it got mentioned over here but I don’t know if anyone’s working on it at the moment—it really would be incredible in case anyone with the skills wants encouragement :sweat_smile:

1 Like

I’m trying to wrangle MIDI cc out and running into… the esoteric nature of ORCA. Thought it would be a fun experiment to try to sequence the Volca Sample, with it’s notoriously terrible MIDI implementation, and I’m trying to send CC value 43 (Speed) out to Channel 1 and not getting anywhere. I believe that !1CR should net me Channel 1, Knob 43, Value 96 but the ORCA documentation is a little unclear about MIDI CC so I’m not sure if this isn’t working because of bad math, me misunderstanding the Volca Sample MIDI spec or something else. Anyone have any ideas?

1 Like

Looking at the current code as it’s implemented on Norns, it looks like knob is limited to values 0-35.

But your value looks right, as it’s calculated math.floor(n / 35) * 127) so if r = 27 your floored value is 97.

Not fully sure what’s happening in the code there, but it also seems like the knob ID is gonna be wonky too, as I’m calculating that the same way as the knob value but there’s no math.floor function for that value. But that’s just a casual observation, since I am really know sure what is going on here.

Question for all, I’m sure I’m just not thinking my way around it correctly. How are you inverting bangs since bangFbang and •F• dont seem to function in the norns port?

For instance, I’m trying to make inversions of euclidean rhythms but I have not figured out NOT logic in the norns port.

I’ve created a branch to update the current port of Norns to be aligned with recent primary Orca (except for B, that I kept as bounce).

If you can hang loose for a bit longer, I plan on merging this and my WIP multiple engines work into a single branch and creating a PR for @its_your_bedtime to update his master branch.

Otherwise, if you’re feeling adventurous you could test drive my updated params branch by SSH into Norns and running the following.

$ cd ~/dust/code
$ git clone --single-branch --branch feature-update-params https://github.com/frederickk/orca/ orca-feature-update-params
5 Likes

Here’s some new stuff

9 Likes

sorry if this is buried somewhere in this thread, but how many samples can be played at one time? i finally scrolled alllll the way to the bottom and 35 slots is so many, but i felt like i had samples that dropped out when another played. it’s hard to tell with the script i’m running.

Is it correct that the comment operator behaves differently from the desktop version ?
Trying to replicate some tracker sequencers like: https://youtu.be/H0kNeD1ZzRk but can’t seem to get there…I must be doing something wrong