SkillAgentSearch skills...

Orca

Lua port of @neauoire orca for monome norns

Install / Use

/learn @itsyourbedtime/Orca
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

<!-- ![orca_norns|690x231,100%](https://llllllll.co/uploads/default/original/3X/e/e/ee7a2a1460ac4c0a54c8a0b067b7e7d9c35f23fd.png) -->

Orca is a visual programming language, designed to create procedural sequencers on the fly.

............................
#.........█.................
#........█▒█......█.........
#.......█▒▒█.....█▒█........
#........██▒█....█▒█........
#.......██▒█▒█..█▒▒█........
#.......█▒▒██..█▒▒█.........
#........█▒██▒█▒▒█▒█........
#.........█▒▒▒▒████.........
#........█▒▒▒▒▒▒▒▒▒█........
#.......█▒▒▒▒█▒▒█▒▒▒█.......
#......█▒▒...▒▒▒▒..▒▒█......
#......█▒..█..▒▒..█..█......
#......█▒..█..▒▒..█..█......
#......█▒▒...▒██▒..▒▒█......
#.......█▒▒▒▒▒..▒▒▒▒█.......
#.........█▒▒▒▒▒▒▒▒█........
#........██▒..▒▒██..........
#.......██.█..▒██.██........
#..........█▒▒▒█............
#...........███.............
#.........░░█.█.............
#........░░░░▒█░............
#..........░░░░.............
............................

Requirements

Norns or Fates or device.

307x154,100%

Orca for Norns supports 4 different engines, but in order for them to work they must be installed.


Install

Orca for Norns is available for install within Maiden. Update the Community feed and then scroll down to Orca and Install.

Norns Maiden update Community feed

If you're looking to contribute with code checkout the documentation for Contributing.

  • <tab> Info bar: Toggles info bar visibility
  • <esc> Unfocus: Removes selection focus
  • <space> Play/Stop: Toggles play state, stop kills all notes.
  • cmd/ctrl + > Adjust BPM: Increments BPM + 10.
  • cmd/ctrl + < Adjust BPM: Decrements BPM - 10.

Documentation

Please refer to original docs for general Orca operation.

Operators

  • 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 less(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.

IO / Norns

Operators

Keyboard Shortcuts

| Controller | Description | Values | | -------------- | ----------------| --------- | | <tab> | Info bar | Toggles info bar visibility | | <esc> | Unfocus | Removes selection focus | | <space> | Play/Stop | Toggles play state, stop kills all notes. | | cmd/ctrl + > | Adjust BPM | Increments BPM + 10. | | cmd/ctrl + < | Adjust BPM | Decrements BPM - 10. |

Key/Encoder

| Controller | Description | Values | | ------------ | ----------------- | --------- | | K1 + E1 | Select operator | AZ, $, ?, /, \, |, -, :, %, !, &, ^, ~, ], }, `, >, <, =, *, # | | K1 + E2 | Select value | 0z | | K1 + E3 | Select note | AG | | K2 | Clear character | | | K2 | Toggle play/stop | |


$ R.NOTE

The R.NOTE operator $ takes 2 inputs(scale-mode, note).

This operator generates a scale based on the given mode (default is Dorian) and note/key (default is C). For example to generate an F natural minor scale enter $2F. There are 35 different modes to choose from:

  • 1: Major
  • 2: Natural Minor
  • 3: Harmonic Minor
  • 4: Melodic Minor
  • 5: Dorian
  • 6: Phrygian
  • 7: Lydian
  • 8: Mixolydian
  • 9: Locrian
  • a: Gypsy Minor
  • b: Whole Tone
  • c: Major Pentatonic
  • d: Minor Pentatonic
  • e: Major Bebop
  • f: Altered Scale
  • g: Dorian Bebop
  • h: Mixolydian Bebop
  • i: Blues Scale
  • j: Diminished Whole Half
  • k: Diminished Half Whole
  • l: Neapolitan Major
  • m: Hungarian Major
  • n: Harmonic Major
  • o: Hungarian Minor
  • p: Lydian Minor
  • q: Neapolitan Minor
  • r: Major Locrian
  • s: Leading Whole Tone
  • t: Six Tone Symmetrical
  • u: Arabian
  • v: Balinese
  • w: Byzantine
  • x: Hungarian Gypsy
  • y: Persian
  • z: East Indian Purvi

? LEVELS

The LEVELS operator ? takes 2 inputs(param, value).

There are 9 different params that can be modulated on the fly with this operator:

  • 1: level output channels
  • 2: level engine master
  • 3: level softcut master
  • 4: level ADC input
  • 5: reverb engine level
  • 6: softcut reverb level
  • 7: reverb DAC level
  • 8: softcut ADC level
  • 9: softcut engine level

In order to trigger parameter setting a bang * has to occure on the left side of operator. The value is simply the percentage to set the level 0 is 0% z is 100%. For example ?5z will set the engine reverb to 100%, or ?2h will set the engine volume level to 50%.

/ SOFTCUT

The SOFTCUT operator / takes up to 6 inputs (playhead rec play level rate position).

This operator receives a MIDI note from a MIDI controller, based on the channel value (default is channel 1).

  • playhead
    • values: 0 - 6: target playhead number
  • rec
  • play
    • values: 0: disables play; 1: enables play
  • level
    • values: 0: 0, z: 35
  • rate
    • values: 0: 2x speed (reverse), i: normal (default), z: 2x speed (forwards)
  • position
    • values: 0: beginning of buffer, z: length of buffer.

\ SOFTCUT PARAMS

A subset of Softcut's params are availabe with the SOFTCUT PARAMS operator \ (playhead param value). These 3 params are always required (along with a bang) to modulate a given parameter.

  • playhead

    • values: 0 - 6: target playhead number
  • 1: Source

    • values: 0: 0 ADC level, 0 Softcut engine level; 1: 1 ADC level, 0 Softcut engine level; 2: 0 ADC level, 1 Softcut engine level; 3: 1 ADC level, 1 Softcut engine level;
  • 2: Pan

    • values: 0: full left, 1: centered, 2: full right
  • 3: Rate slew time

    • values: 0: 0s, z: 35s
  • 4: Level slew time

    • values: 0: 0s, z: 35s

| SYNTH/ENGINE

The SYNTH operator | inputs vary based on selected engine, but (octave, note ...) are always required (along with a bang) to produce sound.

There are 4 different engine supported by Orca FM7, Passersby, PolyPerc, and [Ti

Related Skills

View on GitHub
GitHub Stars100
CategoryDevelopment
Updated22d ago
Forks22

Languages

Lua

Security Score

85/100

Audited on Mar 15, 2026

No findings