What if nethack crossbred with a spreadsheet, and the kid got into EDM?
November 6, 2021 11:28 AM   Subscribe

"Orca is an esoteric programming language designed to quickly create procedural sequencers, in which every letter of the alphabet is an operation, where lowercase letters operate on bang, uppercase letters operate each frame." But it's probably easier to understand by watching a demo and a tutorial. And here's a tutorial on creating a Tracker in Orca.
posted by kaibutsu (11 comments total) 51 users marked this as a favorite
 
It seems like you have to pair Orca with an external sound source, which stopped me in my tracks. Orca looks baffling enough without having to configure a MIDI device as well :) However, I'm really glad that I clicked upwards through their GitHub to learn more about the authors, Hundredrabbits. I love that they live full-time on a tiny boat and have a philosophy of sustainability and simplicity that informs how they create software.
posted by Transmissions From Vrillon at 3:02 PM on November 6, 2021 [3 favorites]


It looks like they have a 'companion application' called Pilot that's just a software synth, meant explicitly to be run by Orca.

I just got it running half an hour ago with almost no effort. Installed software, ran it, and pointed it at an OP-Z plugged into the computer's USB port, and I was bleeping and blooping in no time. (One of many reasons I find this exciting is that my OP-Z has been gathering dust for so long... I was really excited to get one when it was finally released, but everything is SO overloaded that I never became very natural with it. In strong contrast to the OP-1, which is really a mind-bicycle in the world of synthesizers...)

It's also cool to have something a bit more flexible than a standard tracker, but not quite as low-level as (say) programming in Supercollider. I wrote this piece using the really limited randomness available in SunVox a bunch of years ago, and have wanted to experiment with writing music from complicated probability distributions ever since... But, again, there didn't seem to be nice tooling with the right amount of flexibility and usability. Orca seems like it could really hit the sweet spot (for me at least).
posted by kaibutsu at 3:48 PM on November 6, 2021 [7 favorites]


A couple links from the hacker-news thread to help check out orca without having to mess with other stuff:
https://metasyn.github.io/learn-orca/
https://orca.wtf/
I couldn't get the second link to load but hopefully it could be useful.
posted by anzen-dai-ichi at 4:57 PM on November 6, 2021 [2 favorites]


Also kaibutsu, your SunVox piece is very very nice. I'm trying to get into making electronic music while having no experience at all, I'd love to be able to make something like that.
posted by anzen-dai-ichi at 5:04 PM on November 6, 2021 [1 favorite]


oh my god why did you post this in front of a weird synth junkie this isn't fair i've been clean all month and now i'm going to relapse

Ahem, anyway.

If you don't have a software synth to point this at this is as good of a place as any for a mild derail to share this:

Ubuntu Studio.

Which is a full featured Ubuntu-based linux distro dedicated to audio, visual and media production and comes pre-configured with all of the patches and configs needed to optimize Ubuntu for audio, visual and creative work.

It comes pre-installed with a ton of freeware open source apps for software synths, sequencing, recording, graphics, video and much more. There's a few things it doesn't come with pre-installed but that's because they're not fully open source freeware, like REAPER (an insanely powerful and good DAW from the original creators of WinAMP and Nullsoft!) or MIXXX (DJ software) because of their inclusion of non-open source codecs or just not being fully freeware.

And if you've ever used Ubuntu or Linux and have run into issues with what used to be the default audio stack for these sorts of things like many others have before, well, they finally unfucked all of that in general for desktop Linux to the point that in my experience it's now more stable, faster and lower latency than either Windows or OS X, and OS X used to be the gold standard for pro audio production for live performances and studio work.

There are now multiple clients for stuff like ALSA and JACK for routing audio and MIDI data around between apps and physical devices.

Somewhere in my posting history there are one or more comments from me that state something like "Man, I would love to be able to switch to Linux and away from Windows except I need a couple of specific apps for graphic design and DJing, and I need an audio stack that doesn't suck."

Well, the audio stack doesn't suck any more, and it has very broad device driver support even for some seriously old and legacy music/MIDI hardware. So far just about everything I've plugged into it just works, or has had a very easy fix or patch that can be found.

Well that moment was about 3-4 years ago or so and I've been using Ubuntu Studio as my primary desktop OS ever since.

Last year my family bought me my first brand new computer that wasn't something that someone gave me as a refurb project that I've had in over ten years and I didn't even let Windows 10 boot up before I wiped the drive and installed Ubuntu Studio.

And just like Ubuntu you can try Ubuntu Studio risk free from any bootable media, run it from a live USB with persistent storage, dual boot it with either OS X or Windows or make it your permanent primary OS.

And since it's Linux you can also even do things like run Windows apps in WINE with native support and integrated audio action between WINE and Ubuntu. I think even Ableton Live up to about version 9 works in WINE now. Max MSP also reportedly works in WINE. And things like Bitwig and REAPER and more run natively within Linux.
posted by loquacious at 5:14 PM on November 6, 2021 [17 favorites]


If you like the idea of this but want a self contained solution, Norns can now run orca and a lot of other stuff as well; it also comes with a fantastic community to boot :)
posted by q*ben at 6:09 PM on November 6, 2021 [3 favorites]


(Here’s the actual orca for Norns link, whoops!)
posted by q*ben at 6:11 PM on November 6, 2021 [1 favorite]


I love that they live full-time on a tiny boat and have a philosophy of sustainability and simplicity that informs how they create software.
They're great. Don't miss this absolutely riveting and terrifying episode from their logbook.
posted by daveliepmann at 7:01 AM on November 7, 2021 [4 favorites]


I love Orca! It’s such a fun way to think about music, and while the code is a fascinating visual element in its own right, it can also control animated graphics via things like Processing and Hydra. There’s so much potential.

@kaibutsu, it sounds like you may be interested in Sonic Pi. Have you come across it yet? I find it just as much fun to play with as Orca, but much more expressive and “powerful.” It runs on the SuperCollider synthesis engine, but the Sonic Pi language (currently implemented via Ruby) is much easier than SC to read and write. Best of all, it has a welcoming, supportive community to help newcomers wrap their heads around, e.g., the quirks of the synchronization mechanism for live loops. :-) Thanks for posting this!
posted by phetre at 9:02 AM on November 7, 2021 [1 favorite]


Here's something really simple I threw together this morning. Pick some collection of notes from a pentatonic scale (and silences), then use them to slowly update a bass line. Then the bass line gradually drifts over time and (thanks to the magic of the pentatonic scale) there's never an off-note. (though it sounds kinda boring.) The pad makes some random chords drawn from the same pentatonic notes.
(I think the output line form the op-z was a kinda noisy, sorry.)

Orca is indeed pretty quirky. AFAICT, there's no negative numbers, so data usually needs to be to the right of and below things using the data. And the largest number is 36, so there's a real limit on how far away the data can be from what's using it. I guess one could chain together read+write operators to move things longer distances, though.

Variables also seem quirky... It seems like they update left-to-right top-to-bottom and are 'forgotten' at the end of the update loop. So you have to define variables above where you read them. Seems like it could take some tips from the history of spreadsheets, which, in the modern world, make a hidden graph of dependencies and update accordingly.
posted by kaibutsu at 12:14 PM on November 7, 2021 [2 favorites]


I love Orca! Surprised it hasn't been posted here before. If you're on OSX there's a barebones DAW called "Hosting AU", you can tell it to load up some software instruments and listen to MIDI.
posted by grobstein at 8:13 AM on November 8, 2021


« Older The Ultimate Showdown 15th Anniversary Redux...   |   "And then tomorrow I’ll open my next manila folder... Newer »


This thread has been archived and is closed to new comments