orcapilot
9
12.5mb
Music made using Orca, an esoteric MIDI-sequencing programming language, and its companion synth Pilot. Submit your .orca patch file!
::|CONTENTS
- Tools
- Operators
- Restrictions on submit
- Playback (for voting)
- See also
Orca+Pilot is a format built around two pieces of software by
Hundred Rabbits. The first is
Orca, an esoteric programming language designed to create procedural sequencers on a grid where each letter of the alphabet represents a particular operation. It doesn't produce sound on its own, but that's where our second piece of software,
Pilot, comes in - a synthesizer designed to be controlled externally, notably by Orca. So, this format is for a programming language you can create music with that is being routed into a specific synthesizer.
Tools
- Links to Orca can be found
here. It can be used on desktop or in browser! Tutorials and information about the specifics of the language can also be found there.
- Pilot can be downloaded
here.
Note that Orca can be used to control other synthesizers - it can send MIDI, OSC and UDP - but this BotB format specifically restricts you to using their Pilot synth. If you want to try using Orca for other purposes, consider submitting that to
the allgear format!
Operators
Orca functions on a big grid. Every letter of the alphabet is an operator. Lowercase letters operate on bang, uppercase letters operate each frame.
The base operators are present in every version of Orca, no matter the platform:
- A add(a b): Outputs sum of inputs.
- B subtract(a b): Outputs difference of inputs.
- C clock(rate mod): Outputs modulo of frame.
- D delay(rate mod): Bangs on modulo of frame.
- E east: Moves eastward, or bangs.
- F if(a b): Bangs if inputs are equal.
- G generator(x y len): Writes operands with offset.
- H halt: Halts southward operand.
- I increment(step mod): Increments southward operand.
- J jumper(val): Outputs northward operand.
- K konkat(len): Reads multiple variables.
- L lesser(a b): Outputs smallest of inputs.
- M multiply(a b): Outputs product of inputs.
- N north: Moves Northward, or bangs.
- O read(x y read): Reads operand with offset.
- P push(len key val): Writes eastward operand.
- Q query(x y len): Reads operands with offset.
- R random(min max): Outputs random value.
- S south: Moves southward, or bangs.
- T track(key len val): Reads eastward operand.
- U uclid(step max): Bangs on Euclidean rhythm.
- V variable(write read): Reads and writes variable.
- W west: Moves westward, or bangs.
- X write(x y val): Writes operand with offset.
- Y jymper(val): Outputs westward operand.
- Z lerp(rate target): Transitions operand to input.
- * bang: Bangs neighboring operands.
- # comment: Halts a line.
The special operators make use of a platform's devices, here are the suggested special operators:
- $ self(cmd): Send a command to Orca.
- : midi(ch oct note velocity*): Send a midi note.
- ! midi cc(ch knob val): Send a midi control change.
- ; pitch(oct note): Send pitch byte out.
- / byte(high low): Send a raw byte.
- = play(ch oct note velocity*): Play note with built-in synth.
Restrictions on submit
Submission should be an .orca patch file (press Ctrl+S within Orca) openable with Orca and playable with its companion Pilot synth.
Playback (for voting)
Open the .orca file with Ctrl+O - you may need the desktop version to be able to open patches if your browser treats this as its own shortcut.
See also
-
pd (format)
-
Supercollider