XXIIVV
Orca x Dotgrid picture
19A13 — Orca x Dotgrid

Orca is a livecoding playground.

Orca is a two-dimensional esoteric programming language in which every letter of the alphabet is an operator, where lowercase letters operate on bang, uppercase letters operate each frame. This livecoding language is designed to procedurally generate MIDI, UDP or OSC messages.

You can find a portable and lightweight version of Orca here, and a version for the norns here. Learn more by reading the manual, or have a look at a tutorial video. If you need help, visit the chatroom or the forum.

Orca is a wildly unique visual programming tool. It's also an inky black and seafoam green alphabet soup, pulsating to some species of broody electronic industrial throb.
—Ivan Reese, The Future Of Coding

Tutorial

I recommend that you keep a copy of the list of operators handy, to display the list of operators inside of Orca, use CmdOrCtrl+G.

Basics

Orca operates on a base of 36 increments, operators will convert alphanumeric values into values ranging from 0 to 36. Special characters are used to handle platform and client specific interactions.

This section will teach the basics of playing a note and a sequence of notes.

Send a midi note

D8...
.:03C

Play a random note

D8.aRG.
.:03D..

Make a melody

D814TCAFE
.:03A....

Play the melody

.8C4.....
D804TCAFE
.:03C....

Logic

This section will teach the basics of automating logic decisions and changing the values of operators dynamically.

Play every second note

.2I6.......
D846TCAFEDG
.:03D......

Play a note with an offset

D8.1AC.
.:03D..

Play a sequence back and forth

..2B8..
D2.5AC.
.:03H..

Play a note at a specific interval

I4.....
3F2.1AC
..:03D.

Projectors

This section will teach the basics of creating new operators procedurally.

Halt a moving operator

..H
E..

Read an operator at position

22O...
..E..H
.....E

Write an operator at position

22XE.
.....
.....
....E

Animate a projector

B4..........
1XE.........
........:03C
........:03D
........:03E
........:03F

Variables

This section will teach the basics of storing accessing and combining that stored data.

Write a variable

aV5

Read a variable

.....Va
.......
aV5..Va
.....5.
.......
aV6..Va
.....6.

Read 3 variables

iV0.oV3.nVC
...........
3Kion......
.:03C......

Carry a value horizontally and vertically

3..
J..
3Y3

Carry a bang

D43Ka...
.Y.:03C...

I hope this workshop has been enlightening, if you have questions or suggestions, please visit the forum, or the chatroom. Enjoy!

Golf

Here are a few interesting snippets to achieve various arithmetic operations.

1X.
6I4
Modulo
Will output the modulo of 6 % 4.
cA1.
.dAZ
Uppercase
Will output uppercase C.
H..
CM1
Lowercase
Will output lowercase C.
.L0.
..F0
Not Null
Will bang if L free input is not null.

Found a mistake? Submit an edit to orca.

Orca Type picture
18X04 — Orca Type
Orca Glyphs picture
15Z12 — Orca Glyphs
Orca Machine picture
13R12 — Orca Machine

incoming(7): alicef azolla yajnev studies juni pilot enfer norns

Last update on 20N13, edited 112 times. +521/677fh○○●●●○