Orca - Livecoding Tool

I haven’t used Ableton in years, but I remember that you could manually edit the CC mapping, it was a sort of vertical panel that shows up when you start binding controls. It might be worth asking in Ableton Live.

1 Like

Thanks a lot @neauoire! I have a bit of a sequence going on after a T operand and I’m trying to use G to replace that sequence with another one randomly (ultimately using two Gs to swap the sequences with each other randomly). The issue I’m running into is that the values (notes) of the T sequence are read as fully functional operands instead of notes. I was wondering if there’s any way at all to avoid this?

Screenshot 2021-12-08 at 22.38.38

@tttttom I was wondering if there’s any way at all to avoid this?

Use comments #

1 Like


Ahh yes of course! I tried different variations of this solution but I always put the comments in the wrong place, it works like a charm like this. Thanks so much :heart:

7 Likes

Hello, I just started learning Orca. Thanks for making it @neauoire its a lot of fun and I am looking forward diving deeper into this software.

There is one thing I am not able to find information about: Syncing with other Software. I use Reaper als DAW and it seems to be possible to sync it with an external ‘Timecode’. My question is, can Orca send this via MIDI (or so)? How does this work so that I can use Orca as master clock? Is it sending a MIDI-Clock?

These are my options in Reaper, for now nothing I tried worked unfortunately.
reaperExtTimecode

Or maybe the other way around. Can Orca get its clock from the MIDI Input it has? And on that topic, what is the MIDI in in Orca for anyway? There doesn’t seem to be an operator which can read MIDI info. Or am I missing something?

Thanks in advance!

Are you playing Orca with ctrl+space? It works on my end but it’s Mac + Live so I’m not sure how well it compares. At least Orca seems to send midi clock fine.

On another note, I’ve been modulating the feedback of Valhalla’s Freq Echo with R on a drum track and the results are surprisingly fun. It’s like a little auto-drum roll machine with delayesque warm transients.

9 Likes

@neauoire as I’ve been browsing orca documentation - i have been using orca on various platforms including Mac OS and Norns, but now want to get orca-c to run on a Raspberry Pi, as a small standalone focused terminal for orca - I saw this image of what looks like orca running on a VT100 terminal, on this page: GitHub - hundredrabbits/Orca: Esoteric Programming Language

I’ve been interested in trying to run orca on old computer terminals like that, but have seen that some implementations run into slow baud rate issues if running via an RS232 connection.

So I was wondering - how did you get orca running on the VT100, and did it run at a reasonable speed?!

1 Like

@easterner that’s actually a joke photoshopped picture that someone made in the early orca days. Running Orca on raspberry pi is fairly simple, I recommend using either the TUI version of orca-c if you’re running Linux, or the Uxn version of Orca.

I’ve been interested in trying to run orca on old computer terminals too, you could possibly run the Uxn version of Orca on something like a 486, or if you’ve got the time to implement the UxnVM on something it :wink:

6 Likes

Hello everyone! I found out about Orca thanks to the video mentioned here earlier (about esoteric languages). It’s really cool, the concept is just amazing!
I’m not good at it yet, and I ran into something that seems weird to me. When I use clock with rate 1 and mod 2 as an input to a generator of E’s and they are sent to udp receiver “;”, the receiver kind of produces bangs which clash with E’s. demo video here
Why does that happen? Sorry if such question should be directed elsewhere and thanks for the response in advance!

that bouncing happens in a few scenarios actually, I tend to think of it as a feature. I think it happens when the Es are coming too fast and if you slow them down you can get expected behavior. but you can also play with it like so.

1 Like

@maeushiro It’s because the E collide with the collision of the previous E.

@fourhoarder @neauoire Oh, I see, now it makes sense, thanks!

1 Like
7 Likes

Hi! I’ve really been really enjoying Orca and am learning a lot from the examples in the repo as well as @neauoire’s ‘patterns’ series on YouTube. One difficulty I’ve been having is imagining a ‘simple’ implementation of rotation to a EUclidean sequence. This came up earlier in the thread:

You can use the L operator to do the rotation offset, this example will give you a rotation of 2:

.5U8......
8L*.**.**.
.*..J.....

…but I think this snippet from an earlier version where L had a different function? Is that right?

My first thought for an alternative was to use the westward motion of a E and offset the original x coordinate (relative to the : output trigger) to generate a delay between the Uclidean bang event and the midi event. The problem here seemed to be that when the y-offset parameter of an X changes, it emitted the W twice - once upon changing and once when returning to a null or other value.

The next thought was to build on the U example file in the repo which provides a visual representation of the sequence. I doubled each of the step/length values to create a sequence that is twice as long, but with an identical rhythm. I could then implement rotation by reading values from the sequence by shifting the initial read position backwards.

This seems to work (code below) and has a nice side effect of maintaining a visual representation of the sequence itself. However, I feel like there’s probably something I don’t understand that is preventing a simpler implementation?

#.UCLID.WITH.ROTATION.#......................
.............................................
.sV2#steps#..................................
.lV8#length#.................................
.rV0#rotation#...............................
.............................................
.Vl..Vr.........Vs...Vl..#.Double.length.of.#
.8Y8B0..........2M2..8M2.#.each.sequence.to.#
..oV8#offset#..tV4..mVg..#.enable.rotation.#.
.........................#.via.offset.steps.#
.....2Kmt.Vm.................................
......Cg4Ug..................................
......15x..#.visual.representation.#.........
......Vm...#.of.sequence.steps.#.............
......g3x#...................................
..Vl.........................................
.C8..Vo.#.read.sequence.with.offset.#........
.1Y1A8.......................................
....90O#*...*...*...*...#....................
......*......................................
......J......................................
......*:00A..................................
.......#output#..............................
1 Like

I’ll show you a trick @philipbe.
Prepare to have your mind blown.

You can rotate a eucledian pattern backward using the O operator.

10 Likes

Hey, thanks for your help, and for all things Orca in general. That trick is pretty mind blowing! I had mostly thought of the right+down execution order as a constraint, but conceptualising the execution order as travelling backwards to create an intentional delay is a wonderful idea.

1 Like

Does anyone know if Orca C would run on Raspberry Pi with PiCore/Tiny Core Linux as the OS? Thanks.

@Ivan_Felix yes it would :slight_smile:

1 Like

It sounds like someone is planning a similar setup as I am… :slight_smile:

2 Likes

Looking forward to see what you two make :slight_smile:

Update Log

Pushed a new version of the orca.rom(10.2kb), it now displays the operators guide on launch, and with ctrl+h. It also has a new font :slight_smile:

Shiny new font

10 Likes