A port of the Orca livecoding sequencer to the PicoCalc handheld.

- Full Orca VM - All 26 operators (A-Z) plus special operators
- Built-in Synthesizer - 4-voice polyphonic synth with 4 waveforms (inspired by Pilot)
- Original Orca Font - Authentic 8x16 bitmap font
- Flash Storage - Save/load grids to internal flash
- Undo History - 8-level undo
- Selection Tools - Copy, cut, paste, fill, slide
| Key |
Action |
| Arrow keys |
Move cursor |
| Shift + Arrows |
Resize selection |
| Tab |
Toggle append mode (cursor moves right after input) |
' (quote) |
Toggle selection resize mode |
` (grave) |
Toggle slide mode (move selection contents) |
| Esc |
Reset selection / exit mode |
| Key |
Action |
| Space |
Play/Pause |
< / > |
Decrease/Increase BPM (±5) |
| Ctrl+F |
Step single frame (when paused) |
| Ctrl+R |
Reset tick counter |
| Key |
Action |
| Ctrl+C |
Copy selection |
| Ctrl+X |
Cut selection |
| Ctrl+V |
Paste |
| Ctrl+Z |
Undo |
| Ctrl+A |
Select all |
| Ctrl+N |
New grid (clear all) |
| Backspace/Del |
Clear cell(s) |
| Key |
Action |
( / ) |
Decrease/Increase grid height |
[ / ] |
Decrease/Increase grid width |
| Key |
Action |
{ / } |
Volume down/up |
| Key |
Action |
| Ctrl+S |
Save to flash |
| Ctrl+O |
Load from flash |
The = operator plays notes on the built-in speaker, inspired by Pilot.
Format: =WAVEFORM OCTAVE NOTE VELOCITY DURATION
*=14Cff
│││││└─ Duration (1-g, longer)
││││└── Velocity (0-f, . = max)
│││└─── Note (C-B, lowercase = sharp)
││└──── Octave (0-9)
│└───── Waveform (0-3)
└────── Bang required (*)
| Value |
Type |
| 0 |
Sine (smooth) |
| 1 |
Triangle (soft, default) |
| 2 |
Square (8-bit/chiptune) |
| 3 |
Sawtooth (bright/buzzy) |
D8.......... Simple beat with triangle wave
*=14Cff.....
D4.......... Chord with different waveforms
*=04Cff..... Sine bass
*=24Eff..... Square mid
*=34Gff..... Saw high
C8.......... Arpeggio using clock + track
.0CDEFGABc..
D8T.........
*=14.ff.....
The : operator is reserved for MIDI output over GPIO (not yet implemented).
Format: :CHANNEL OCTAVE NOTE VELOCITY DURATION
| Op |
Name |
Description |
: |
MIDI |
Send MIDI note (GPIO) |
= |
Synth |
Play note on speaker |
! |
CC |
Send MIDI CC |
? |
PB |
Send MIDI pitch bend |
; |
UDP |
Send UDP message |
| Op |
Name |
Description |
A |
Add |
Output sum of inputs |
B |
Subtract |
Output difference |
C |
Clock |
Output modulo of frame |
D |
Delay |
Bang on modulo of frame |
F |
If |
Bang if inputs are equal |
I |
Increment |
Increment southward |
L |
Lesser |
Output smallest input |
M |
Multiply |
Output product |
R |
Random |
Output random value |
U |
Uclid |
Euclidean rhythm |
Z |
Lerp |
Transition between values |
| Op |
Name |
Description |
E |
East |
Move eastward or bang |
N |
North |
Move northward or bang |
S |
South |
Move southward or bang |
W |
West |
Move westward or bang |
| Op |
Name |
Description |
H |
Halt |
Halt southward operand |
J |
Jump |
Output northward operand |
K |
Konkat |
Read multiple variables |
O |
Offset |
Read with offset |
P |
Push |
Write eastward |
Q |
Query |
Read with offset (multiple) |
T |
Track |
Read eastward |
V |
Variable |
Read/write variable |
X |
Teleport |
Write with offset |
Y |
Yump |
Output westward operand |
G |
Generator |
Write multiple operands |
| Op |
Name |
Description |
* |
Bang |
Trigger operators |
# |
Comment |
Comment until line end |
- Raspberry Pi Pico SDK
- ARM GCC toolchain
- CMake
cd orca-picocalc
mkdir build && cd build
cmake ..
make -j4
Copy orca-picocalc.uf2 to the PicoCalc in BOOTSEL mode.
- Orca by Hundred Rabbits - Original livecoding environment
- Pilot by Hundred Rabbits - Synth inspiration
- PicoCalc by ClockworkPi - Hardware platform
MIT License - See Orca-c for original license.