Please refer to original docs for general Orca operation.
Keyboard shortcuts
⇥ Tab - Toggles info bar visibility
⎋ Esc - Removes selection focus
Space - Toggles play state, stop kills all notes.
⌥ Cmd / ^ Ctrl + → - Increments BPM + 10.
⌥ Cmd / ^ Ctrl + ← - Decrements BPM - 10.
Key / Encoder controls
0 – z
A – G
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.
Norns Operators
$
- r.note(scale-mode note): Outputs random note within scale.?
- levels(param value): Sets selected volume level on bang./
- softcut(playhead rec play level rate position).\
- softcut param(playhead param value): Sets softcut param on bang.|
- synth(octave note): Plays a note with the synth engine.-
- synth param(param value): Sets synth param on bang.- -
- midi(channel octave note velocity length): Sends a MIDI note.%
- mono(channel octave note velocity length): Sends monophonic MIDI note.!
- cc(channel knob value): Sends MIDI control change.&
- midi in(channel): Outputs received midi note.^
- cc in(cc): Outputs received midi cc value.~
- crow cv(channel octave note attack release level):]
- crow ii jf note(channel octave note level): Just Friends over i2c in voice mode.}
- crow ii jf voice(octave note level): Just Friends over i2c in note mode.`
- crow w/syn(octave note level):>
- g.write(x y value): Sets Grid LED on bang.<
- g.read(x y): Reads specific coordinates. If value > 6 outputs bang.(
- a.read(enc): Reads Arc encoder value=
- OSC (path;x;y..): Locks each consecutive eastwardly ports. ;
is delimeter for values.
$
Random 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
- Major2
- Natural Minor3
- Harmonic Minor4
- Melodic Minor5
- Dorian6
- Phrygian7
- Lydian8
- Mixolydian9
- Locriana
- Gypsy Minorb
- Whole Tonec
- Major Pentatonicd
- Minor Pentatonice
- Major Bebopf
- Altered Scaleg
- Dorian Beboph
- Mixolydian Bebopi
- Blues Scalej
- Diminished Whole Halfk
- Diminished Half Wholel
- Neapolitan Majorm
- Hungarian Majorn
- Harmonic Majoro
- Hungarian Minorp
- Lydian Minorq
- Neapolitan Minorr
- Major Locrians
- Leading Whole Tonet
- Six Tone Symmetricalu
- Arabianv
- Balinesew
- Byzantinex
- Hungarian Gypsyy
- Persianz
- 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 channels2
- level engine master3
- level softcut master4
- level ADC input5
- reverb engine level6
- softcut reverb level7
- reverb DAC level8
- softcut ADC level9
- 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
0 - 6
- softcut voice
rec
0
- disables recording/overdub;1
–z
- recording level and amount of overdub preserve
play
0
- disables play;1
- enables play
level
0
- min,z
- max
rate
0
- 2x speed (reverse)i
- normal (default)z
- 2x speed (forwards)
position
0
- beginning of buffer,z
- length of buffer.
\
Softcut parameters
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
0
- beginning of buffer,z
- end of buffer.1
- Source0
- 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
- Pan0
- full left,1
- centered,2
- full right3
- Rate slew time0
- 0s,z
- 35s4
- Level slew time0
- 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 Timber. Within the params menu engines can be changed.
⚠️ Note: when changing engines you will have to reengage the clock by pressing K3.
FM7
A “Polyphonic Synthesizer for Norns With 6 Operator Frequency Modulation”. When this engine is selected, the SYNTH operator |
takes up to 4 different inputs (octave
, note
, voice
, amp
). For example |4C..
will play a C at the 4th octave (Midi scale).
octave
values:0
-7
note
values:A
–G
voice
values:0
- 0s,z
- 1.5samp
values:0
- 0.0,z
- 1.0
Passersby
A “West Coast style mono synth”. When this engine is selected, the SYNTH operator |
takes up to 6 different inputs (octave
, note
, velocity, timbre, pitchBend, pressure). For example |4Cz...
will play a C at the 4th octave (Midi scale) with a velocity of 255.
octave
values:0
-7
note
values:A
–G
velocity
values:0
- 0,z
- 125timbre
values:0
- 0.0,z
- 1.0pitchBend
values:0
- 0.0,z
- 1.0pressure
values:0
- 1.5,z
- 3.0
PolyPerc
A “simple polyphonic filtered decaying square wave”. When this engine is selected, the SYNTH operaptor |
takes up to 2 inputs (octave
, note
). For example |4C
will play a C at the 4th octave (Midi scale).
octave
values:0
-7
note
values:A
–G
Timber
A sample player engine and two scripts for norns. When this engine is selected, the SYNTH operator |
takes up to 5 inputs (octave
note
sample
level
position
). For example |4C1
will play the first sample and tune it a C at the 4th octave (Midi scale).
octave
values:0
-7
note
values:A
–G
sample
values:0
- 1,z
- 36level
values:0
- -48db,z
- 16dbposition
values:0
- start of samplez
- end of sample
Note, in order for the position
param to affect a clip, Timber only supports audio samples that are maximum: 10 seconds mono and 5 seconds stereo, as stated in the Timber source code. Longer clips (maximum 2 hours @ 44100 sample rate) can be played back, but position
will have no effect.
Additional details
However, By reducing the sample rate you can use longer clips with the `position` param, because there's a direct relationship between mono/stereo, sample rate, and length of audio.Stereo
- Max 5 seconds stereo @ 44100 sample rate
- Max 10 seconds stereo @ 22050 sample rate
- Max 20 seconds stereo @ 11025 sample rate
- and so on…
Mono
- Max 10 seconds mono @ 44100 sample rate
- Max 20 seconds mono @ 22050 sample rate
- Max 40 seconds mono @ 11025 sample rate
- and so on…
-
Synth / Engine Parameters
Each synth engine has numerous settings to modulate its sound profile. The SYNTH PARAM operator -
are (param
value
) (except for FM7
see below) these 2 params are always required (along with a bang) to modulate a given parameter.
FM7
When this engine is selected the SYNTH PARAM operator -
takes up to 3 inputs (param
value
voice
). This particular engine allows for a complex combination of params. For example -5i1
sets the “Osc(illator) Amp(litude) Env(elope) Attack” to 5.14
seconds for voice 1
. Load the included to fm7-demo.orca
demo to see more params (be sure to select FM7
within the params menu first).
1
- Osc Frequency Multiplier (Hz)2
- Osc Phase (radians)3
- Osc Amplitude (decibels)4
- Carrier Amplitude (decibels)5
- Osc Amp Env Attack (seconds)6
- Osc Amp Env Decay (seconds)7
- Osc Amp Env Sustain (decibels)8
- Osc Amp Env Release (seconds)9
- Osc1 Phase Mod Osc (decibels)a
- Osc2 Phase Mod Osc (decibels)b
- Osc3 Phase Mod Osc (decibels)c
- Osc4 Phase Mod Osc (decibels)d
- Osc5 Phase Mod Osc (decibels)e
- Osc6 Phase Mod Osc (decibels)
Passersby
When this engine is selected the SYNTH PARAM operator -
takes up to 2 inputs (param
value
). For example -51
sets the “Envelope Type " to "LPG"
. Load the included to passersby-demo.orca
demo to see more params (be sure to select Passersby
within the params menu first).
1
- Amp2
- Attack (seconds)3
- Decay (seconds)4
- Drift5
- Envelope Type: 1
- LPG, 2
- Sustain6
- FM Low Amount7
- FM Low Ratio8
- FM High Amount9
- FM High Ratioa
- Glide (seconds)b
- LFO Frequency (Hz)c
- LFO Shape: 1
- Triangle, 2
- Ramp, 3
- Square, 4
- Randomd
- LFO > Attacke
- LFO > Decayf
- LFO > FM Lowg
- LFO > FM Highh
- LFO > Frequency (Hz)i
- LFO > Peakj
- LFO > Reverb Mixk
- LFO > Wave Foldsl
- LFO > Wave Shapem
- Peak (Hz)n
- Pitch Bend Allo
- Pressure Allp
- Reverb Mixq
- Timbre Allr
- Wave Foldss
- Wave Shape
PolyPerc
When this engine is selected the SYNTH PARAM operator -
takes up to 2 inputs (param
value
). For example -3z
sets the “Release” to 3200ms
. Load the included to polyperc-demo.orca
demo to see more params (be sure to select PolyPerc
within the params menu first).
1
- Pulse width (%)2
- Amp3
- Release (seconds)4
- Cutoff (Hz)5
- Gain6
- Pan: 0
- left, i
- center, z
- right
Timber
When this engine is seleted the SYNTH PARAM operator -
takes up to 3 inputs (param
value
sample
). For example -811
sets the filter type to “high pass” for sample 1.
1
- Amp env attack2
- Amp env decay3
- Amp env sustain4
- Amp env release5
- Detune cents6
- Stretch [percentage]7
- Filter freq8
- Filter resonance9
- Filter type: 0
- Low Pass, 1
- High Passa
- Quality: 0
- Nasty, 1
- Low, 2
- Medium, 3
- Highb
- Freq mod LFO 1c
- Freq mod LFO 2d
- Filter freq mod LFO 1e
- Filter freq mod LFO 2f
- Pan mod LFO 1g
- Pan mod LFO 2h
- Amp mod LFO 1i
- Amp mod LFO 2j
- Freq mod envelopek
- Filter freq mod envelopel
- Filter freq mod velocitym
- Filter freq mod pressuren
- Filter trackingo
- Pan mod envelopep
- Envelope attackq
- Envelope decayr
- Envelope sustains
- Transposet
- Stretch [length]u
- Stretch [bars]: 0
- 1/64 - d
- 1 barv
- Pan: 0
- left, i
- center, z
- rightw
- Ampx
- Envelope releasey
- Start framez
- End frame
-
Midi Out
The MIDI operator -
takes up to 5 inputs (channel
octave
note
velocity
length
).
%
Midi Out Mono
The MONO operator %
takes up to 5 inputs (channel
octave
note
velocity
length
).
See Orca’s Midi Mono documentation
!
Midi CC
The CC operator !
takes 3 inputs (channel
knob
value
).
See Orca’s Midi CC documentation
&
Midi Input
The MIDI IN operator &
takes 1 input(channel
).
This operator receives a MIDI note from a MIDI controller, based on the channel value (default is channel 1).
^
Midi Input CC
The CC IN operator ^
takes 1 input(channel
).
This operator receives a MIDI CC message from a MIDI controller, based on the channel value (default is channel 1).
~
Crow CV
The CROW CV operator ~
takes up to 6 parameters (channel
octave
note
attack
release
level
).
channel
- values:
0
- crow out 1 is 1v/Oct CV and out 2 is an AR envelope;1
- crow out 3 is 1v/Oct CV and out 2 is AR envelope.
- values:
octave
- values:
0
-7
- values:
note
- values:
A
–G
- values:
attack
- values:
0
- 0s,z
- 1.5s
- values:
release
- values:
0
- 0s,z
- 3s
- values:
level
- values:
0
- 0V,z
- 10V
- values:
For example ~04Chhz
sets channel to value 0
, plays a C4
note with a 750ms attack, 750ms release, at 10V.
]
Crow JF II Note
The CROW JF II NOTE operator ]
takes up to 4 parameters (channel
octave
note
level
). For this operator, channel
can be set 0-5 and sets which channel the voice is playing from.
}
Crow JF II Voice
The CROW JF II VOICE operator ]
takes up to 3 parameters (octave
note
level
).
`
Crow W/Syn
The CROW JF W/SYN operator `
takes up to 3 parameters (octave
note
level
).
>
Grid Write
The G.WRITE operator >
takes up to 3 inputs (x
y
value
) and activates Grid LED at given x
, y
coordinate.
<
Grid Read
The G.READ operator <
takes up to 3 inputs (x
y
value
) and read Grid at given x
, y
coordinate.
(
Arc Read
The A.READ operator (
takes 1 input(enc
) and reads given Arc encoder value.
=
OSC Send
The OSC operator =
takes up to 1 input(path
;x
;y
..) locking each consecutive eastwardly ports. ;
is delimeter for sending OSC values.