- Audio
- Compose
Companion
Purpose
Section titled “Purpose”Companion listens to what you play and answers back in a similar style. It learns your phrasing live from the note voices you feed it and replies by continuing, echoing, or trading phrases. A familiarity control sets how close the answer stays to your input versus how freely it recombines, and the answers lock to scale, chord, and the timeline.
Wire your live playing into Input 0 and a timeline clock into Input 1, then optionally add a scale and chord so the answers stay in key. Set Mode to listen, answer, or both, dial Familiarity, and route the voices output to a second instrument so the machine voice has its own sound. The reply can also drive visuals.
Inputs and outputs
Section titled “Inputs and outputs”- Input 0:
voicesyour live note voices, used as the learning seed. Required. - Input 1:
timelinetimeline clock. Required. - Input 2:
scalescale context for snapping answers. Optional. - Input 3:
chord_statechord context for snapping answers. Optional. - Output 0:
voicesemits the machine reply as note voices.
Controls
Section titled “Controls”- Mode:
listenlearns only,answerreplies only,bothdoes both. - Tradebars: phrase length for trading back and forth.
- Familiarity: faithful echo at high values, wilder recombination at low values.
- Rate: rhythmic grid for the reply.
- Snap:
off,scale, orchordfor how answers are pulled into key. - Density and Gatelen: how busy the reply is and note length.
- Octave, Velocity, Accent: register and dynamics of the reply.
- Respectrhythm: keep the answer aligned to the input rhythm.
- Seed: repeatable random choices.
- Companion learns live and keeps no model files, so a reset clears what it has learned.
- Give the reply its own instrument so your part and the machine part stay distinct.
- Lower Familiarity for more surprising answers, higher for tight call-and-response.
Inputs
-
voicesrow required -
timelinerow -
scalerow -
chord_staterow
Outputs
-
voicesrow
Parameters
Section titled “Parameters” Tradebars (Tradebars) Int
op('companion').par.Tradebars - Default:
2- Range:
- 1 to 16
Familiarity (Familiarity) Float
op('companion').par.Familiarity - Default:
0.7- Range:
- 0 to 1
Density (Density) Float
op('companion').par.Density - Default:
0.85- Range:
- 0 to 1
Gatelen (Gatelen) Float
op('companion').par.Gatelen - Default:
0.7- Range:
- 0.05 to 1
Octave (Octave) Int
op('companion').par.Octave - Default:
0- Range:
- -3 to 3
Velocity (Velocity) Float
op('companion').par.Velocity - Default:
0.8- Range:
- 0 to 1
Accent (Accent) Float
op('companion').par.Accent - Default:
0.2- Range:
- 0 to 1
Respectrhythm (Respectrhythm) Toggle
op('companion').par.Respectrhythm - Default:
On- Options:
- Off, On
Seed (Seed) Int
op('companion').par.Seed - Default:
1- Range:
- 0 to 100000
Avoidamt (Avoidamt) Float
op('companion').par.Avoidamt - Default:
0- Range:
- 0 to 1