diff options
author | Devine Lu Linvega <[email protected]> | 2019-04-05 07:19:03 +0900 |
---|---|---|
committer | Devine Lu Linvega <[email protected]> | 2019-04-05 07:19:03 +0900 |
commit | cd7cdeb7d7ef6d2deb2390c2280be4668d3c203f (patch) | |
tree | c4fbfa4a2cd0b4bd921dc7a5d64b26e2000a1dc2 | |
parent | e5b08f1a4b980e37196ffb2429ff18ebeae938d9 (diff) | |
download | Orca-cd7cdeb7d7ef6d2deb2390c2280be4668d3c203f.tar.gz Orca-cd7cdeb7d7ef6d2deb2390c2280be4668d3c203f.zip |
Moved more obscure things to the tutorials
-rw-r--r-- | README.md | 34 | ||||
-rw-r--r-- | TUTORIAL.md | 54 |
2 files changed, 48 insertions, 40 deletions
@@ -62,17 +62,9 @@ The [MIDI](https://en.wikipedia.org/wiki/MIDI) operator `:` takes up to 5 inputs For example, `:25C`, is a **C note, on the 5th octave, through the 3rd MIDI channel**, `:04c`, is a **C# note, on the 4th octave, through the 1st MIDI channel**. Velocity is an optional value from `0`(0/127) to `g`(127/127). Note length is the number of frames during which a note remains active. See it in action with [midi.orca](https://github.com/hundredrabbits/Orca/blob/master/examples/_midi.orca). -#### Using MIDI beat clock instead of the built in clock - -Orca comes with its own internal clock but you can configure it to receive its clock signal from a MIDI input. -Press `Ctrl+Space` to cycle through available clocks (built in or MIDI inputs). -The MIDI clock listens for the START and STOP signals from the midi device to run. - -*Warning*: Note length when using the MIDI clock is currently based on note length at 120 BPM. - ## MIDI CC -The [MIDI CC](https://www.sweetwater.com/insync/continuous-controller/) operator `^` takes up to 2 inputs('channel, 'value). +The [MIDI CC](https://www.sweetwater.com/insync/continuous-controller/) operator `^` takes 2 inputs('channel, 'value). It sends a value **between 0-127**, where the value is calculated as a ratio of 36, over a maximum of 127. For example, `^08`, is equal to **28**, or `(8/36)*127`. You can press `shift+enter`, with the `^` operator selected, to assign it to a controller. @@ -82,31 +74,11 @@ The [UDP](https://nodejs.org/api/dgram.html#dgram_socket_send_msg_offset_length_ You can use the [listener.js](https://github.com/hundredrabbits/Orca/blob/master/listener.js) to test UDP messages. See it in action with [udp.orca](https://github.com/hundredrabbits/Orca/blob/master/examples/_udp.orca). -#### Select UDP Port - -In console, type `terminal.io.udp.select(49160)` to select the **49160** udp port. - -#### Control Orca via UDP - -You can send UDP to Orca on port **49161**. - -- `p`, will start playing. -- `s`, will stop playing. -- `r`, will run the current frame. -- `g`, will return the current frame. -- `b123`, will set the bpm to `123`. -- `f456`, will set the frame to `456`. -- `wA12:34`, will write `A`, at `12,34`. - ## OSC -The [OSC](https://github.com/MylesBorins/node-osc) operator `=` locks each consecutive eastwardly ports. - -First char is used for path, nexts are sent as integers using [base36 Table](https://github.com/hundredrabbits/Orca#base36-table). For example, `=1abc` will send `10`, `11` and `12` to `/1`, via the port `49162` on `localhost`; `=a123` will send `1`, `2` and `3`, to the path `/a`. You can use the [listener.js](https://github.com/hundredrabbits/Orca/blob/master/listener.js) to test OSC messages. See it in action with [osc.orca](https://github.com/hundredrabbits/Orca/blob/master/examples/_osc.orca) or try it with [SonicPi](https://github.com/hundredrabbits/Orca/blob/master/TUTORIAL.md#sonicpi). - -#### Select OSC Port +The [OSC](https://github.com/MylesBorins/node-osc) operator `=` locks each consecutive eastwardly ports. The first character is used for path, nexts are sent as integers using [base36 Table](https://github.com/hundredrabbits/Orca#base36-table). -In console, type `terminal.io.osc.select(49162)` to select the **49162** osc port. +For example, `=1abc` will send `10`, `11` and `12` to `/1`, via the port `49162` on `localhost`; `=a123` will send `1`, `2` and `3`, to the path `/a`. You can use the [listener.js](https://github.com/hundredrabbits/Orca/blob/master/listener.js) to test OSC messages. See it in action with [osc.orca](https://github.com/hundredrabbits/Orca/blob/master/examples/_osc.orca) or try it with [SonicPi](https://github.com/hundredrabbits/Orca/blob/master/TUTORIAL.md#sonicpi). <img src='https://raw.githubusercontent.com/hundredrabbits/Orca/master/resources/preview.hardware.jpg' width="600"/> diff --git a/TUTORIAL.md b/TUTORIAL.md index 1d1f67a..5d35a0f 100644 --- a/TUTORIAL.md +++ b/TUTORIAL.md @@ -14,6 +14,44 @@ If this is your first time hearing about Orca, watch this [introduction video](h | Misc | B H L U | Special | * # ; : = +## MIDI + +#### Using MIDI beat clock instead of the built in clock + +Orca comes with its own internal clock but you can configure it to receive its clock signal from a MIDI input. +Press `Ctrl+Space` to cycle through available clocks (built in or MIDI inputs). +The MIDI clock listens for the START and STOP signals from the midi device to run. + +*Warning*: Note length when using the MIDI clock is currently based on note length at 120 BPM. + +#### Binding to Midi CC + +To bind the [Midi CC](https://www.sweetwater.com/insync/continuous-controller/) operator(`^`) to a knob, have **Midi Mapping active**, and bang the `^00` operator, or select it and press `shift+enter`. It will assign the value of channel 0 to this knob. + +## UDP + +#### Select UDP Port + +In console, type `terminal.io.udp.select(49160)` to select the **49160** UDP port. + +#### Control Orca via UDP + +You can send UDP to Orca on port **49161**. + +- `p`, will start playing. +- `s`, will stop playing. +- `r`, will run the current frame. +- `g`, will return the current frame. +- `b123`, will set the bpm to `123`. +- `f456`, will set the frame to `456`. +- `wA12:34`, will write `A`, at `12,34`. + +## OSC + +#### Select OSC Port + +In console, type `terminal.io.osc.select(49162)` to select the **49162** osc port. + ## SonicPi To send [OSC messages](https://github.com/hundredrabbits/Orca#osc) to [SonicPi](http://sonic-pi.net), select [port 4559](https://github.com/hundredrabbits/Orca#osc). SonicPi listens to the address defined in `sync`, to send to the `live_loop`, bang the OSC node `=`, like `=a`. Have a look at [sonicpi.orca](https://github.com/hundredrabbits/Orca/blob/master/examples/projects/sonicpi.orca) to see it in action. @@ -56,17 +94,15 @@ To send [Midi notes](https://github.com/hundredrabbits/Orca#midi) to [Ableton Li The midi instrument should begin receiving midi notes as soon as the Orca window is **in focus**. -To bind the [Midi CC](https://www.sweetwater.com/insync/continuous-controller/) operator(`^`) to a knob, have **Midi Mapping active**, and bang the `^00` operator, or select it and press `shift+enter`. It will assign the value of channel 0 to this knob. - ## Pilot [Pilot](https://github.com/hundredrabbits/Pilot) is a minimalist synth software designed to work via UDP. It's designed to quickly get started with Orca. Remember that **Pilot uses UDP instead of MIDI**. Have a look at [pilot.orca](https://github.com/hundredrabbits/Orca/blob/master/examples/projects/pilot.orca) to see it in action. -# Patterns +## Patterns Here's a collection of recurring patterns in the design of Orca machines. -## J Funnel +### J Funnel Move two horizontal values next to each other. @@ -77,7 +113,7 @@ Move two horizontal values next to each other. ..3... ``` -## X Stack +### X Stack Move two vertical values next to each other. @@ -88,7 +124,7 @@ Move two vertical values next to each other. ...3... ``` -## Y Projector +### Y Projector A very simple projector using a yumper. @@ -99,7 +135,7 @@ A very simple projector using a yumper. ...... ``` -## U Loop +### U Loop A rotating effector. @@ -110,7 +146,7 @@ A rotating effector. ..U... ``` -## Capacitor +### Capacitor Banging the lowercase `i` charges it, discharges a bang each n-1 times, n is 9 in the example. @@ -121,7 +157,7 @@ Banging the lowercase `i` charges it, discharges a bang each n-1 times, n is 9 i ....... ``` -## One Shot Counter +### One Shot Counter Banging the lowercase `x` triggers it, count ranges from the right `x` input to the last right `F` input. |