Orca - Livecoding Tool

!!! I love the color you chose for the piano. I should really add 4 channels support to the Piano…

I also implemented I/O in the drum rack!

8 Likes

Im wondering how easy/hard would be implement some kind of midi2keyboard translator into Orca. For last few weeks I’ve been playing with this idea where Novation Launchpad X or Pro is the input device for this amazing sequencer,whether on desktop or norns…And the 8x8 launchpad’s grid would be basically mirroring small part of the Orca surface,lets say the center 8x8 of the Orca’s surface. At the moment when I touch some of the Launchpad buttons,the border buttons would become the Alfabeth/Numeric keyboard separated visually by colors. This way I could pres the desired color/key and the pressed button would become the operator,would kept the matching color and the input/otput value could be entered by the number (colored)key or translated from the velocity or pressure of the specific button location beside the operator button. All this would be interconnected so the movement in the software would create visual “show” on the Launchpad. Im not sure if this would be even possible to implement,if yes it would be crazy good :slight_smile:

2 Likes

midi2keyboard translator into Orca

This would obviously not be part of Orca, but you could use a midi-keystroke translator like: GitHub - xobs/midi-to-keypress: Takes MIDI input and turns it into keypresses

I implemented something like it for the monome grid a little while back so I could use the grid to control orca, I also made it so the grid would highlight buttons on the grid.

That might be a fun project to try to build with your Launchpad :slight_smile:

1 Like

that’s fantastic!
(ps, color for uxn was swapped by obs, I only pushed the toggle
Swap red and blue for the orca window capture , not piano, kinda dig it though…:slightly_smiling_face: )
4 chan for piano would be awesome, thanks!

2 Likes

While Orca is, as the title of this post say – a “livecoding tool”, I would like to highlight that Orca is also much more than “a tool”. It is an esoteric programming language, one of the many artistic, speculative, challenging, silly, absurd, theoretical, intimate, stupid, very very hard and utterly bonkers languages for computer programming.

In this interview from February 2021, the creators @neauoire and Rekka speak with esoteric.codes website (sorry I cannot figure out who the interviewer is) about some of the philosophy, life choices and æsthetic considerations which inform the design of Orca as an esoteric programming language.

Perhaps best known for their esoteric livecoding language ORCΛ, 100 Rabbits (Rekka and Devine) have a creative practice that seamlessly crosses from the esoteric to the practical. Living on a boat and relying primarily on solar energy, they create their own tools to avoid the impracticalities and wastefulness of commercial software. Their work has a rare coherence of thought and design that bridges art, code, and life.

I want to express my gratitude for Orca. What other esoteric programming languages for musicking exists? The other one I would think about is bytebeat.

If you enjoy Orca not only as a “tool” for making music (a sequencer?) but as a provocation about computation and life alongside software, I encourage you to explore the esoteric.codes website for other wild programming languages, interviews, essays, digital artworks &c (I am not affiliated, just a fan).

16 Likes

It’s awesome to me that they discussed the possibility of building a small VM/emulator to run their tools packaged as ROM files in this interview in April, and then Uxn dropped just two months later.

2 Likes

Thanks for sharing some backstory to Orca/Uxn :slight_smile:
I’ve updated the Orca rom this morning and implemented a much more readable font(IBM VGA).

3 Likes

I put two pieces of knowledge together today:

  1. There is a small version of Orca that simply needs a C compiler and the SDL 2 library.
  2. The SDL library is supported and up to date on iOS.

So I spent an hour in between meetings at work trying it out…

Big thanks to 100r for porting this to basic C without the need for ncurses! I’m thinking of wrapping it in VST style container so I can use it in AUM along side other iPad music making tools.

18 Likes

oh dang, please please tell me how to get that going on my iphone.

1 Like

Right now you would have to build it from source and pay Apple the $100/year gatekeeper fee so you can load your own program on the device you paid too much for already. I can see why there hasn’t been a version on iOS, the Apple ecosystem is polar opposite to the Hundred Rabbits philosophy (how I understand it).

This is a limited subset of the main Orca app, and I need to build a native MIDI layer to take over the job that PortMidi does on other platforms. I could setup a TestFlight beta build after that and share, should allow the lines community to enjoy it.

I’d be very uncomfortable publishing it on the App Store at this point since I’m pretty fed up with that ecosystem. Though maybe I just need a break and some perspective (app making is my day job). There are some really great indie devs making musical tools on the platform.

4 Likes

Nice work @kyle!
We have indeed completely cut our ties with iOS.

I’m curious, does this work on iPhone?

Alternatively, maybe the orca.rom could be loaded here.

1 Like

yes that works on my phone, the screen looks right and redraws when resized, but there isn’t any way I can tell to input characters. humongous canvas size though (if pretty tiny).

I’m sorry, I forgot appel had all that garbage to submit to the store, and yeah, aware that the Rabbits are done with that org, rightly so, full support here.

The web version works great on iOS except one catch… Safari doesn’t implement any MIDI functionality (and other browsers on iOS use the Safari engine). A year or two ago I tried to wrap the javascript code in a custom app with MIDI support but was having lots of problems. It’s probably possible but the C version is a lot happier on the BSD UNIX roots of iOS.

I’m very fascinated by Uxn! I came across the orca-toy C code when studying up on it. The project is still over my head but I might be able to work on an iOS Uxn VM. Do you know if anyone is working on that?

Also, I think Apple still doesn’t look kindly on apps with VM or code execution. So once again, probably no App Store publishing in its future.

2 Likes

Do you mean a Swift implementation of Uxn? You’d be the first yeah!

Might not be a bad idea to have a native application to run Uxn roms on iOS device, even if it’s not to be ending up on the app store, could the same codebase might be used to build a native OSX emulator? I’m not sure if it would be necessarily better than the SDL2 version that should already build on OSX atm.

Implementing Uxn is the best good way to learn about the system itself, it’s a tiny codebase(3 files of 400ish lines), let me know if you have any questions in the Uxn thread.

2 Likes

Well well that’s quite a peculiar looking Orca scene isn’t it? :wink:

The door opens.
..       ..
.|##f#@-d.x
F.####   ..
.|   #   --

Nethack on norns @ actually.

11 Likes

I made a little video that shows how to assemble the orca.rom from scratch :slight_smile:
Maybe that could be handy to someone.

10 Likes

I’m terrible at properly comprehending how licenses cascade, so I’ll just ask here - would it violate the Uxn or Orca licenses to get them working on iOS, add some integration with Apple’s iOS APIs, and distribute them (most likely freely) on the App Store? I assume yes, since it would involve bundling proprietary and open-source code together and distributing on a closed platform.

It wouldn’t, Uxn is under MIT, anyways, you won’t get any flack from us. I think it would be nice if people could mess with Uxn on their phones :slight_smile: Make the application free, and release the source code so people can build it themselves, that’s all I’m asking

7 Likes

https://developer.apple.com/app-store/review/guidelines/#software-requirements

IOW: the ios guidelines are a little laxer these days w/r/t I terpreted languages. They’re ok as long as only stuff in the app bundle gets executed

(Of course they can change their mind and pull your app at any moment)

1 Like

I’m sure they use this rule to ban all ROM players so you can’t load up your old NES games. You would probably have a tough time explaining to the reviewer that Uxn has nobler goals then pirating old video games.

If we’re lucky though we can get a version into private beta and allow up to 1k people to use it. The beta review process is much less strenuous.

3 Likes