Introduction
This manual explains how Loom differs from a stock Yarns. For documentation about Yarns’ native capabilities (which Loom largely retains), check the manufacturer’s manual!
Table of contents
Interface
Global control and display of the active part and its play mode
- Display periodically flashes the active part and its play mode
- Hold
START
to switch the active part (the new active part will flash briefly on the screen). The active part is used for:
- Selecting the recording part when pressing
REC
- Front-panel latching (hold
REC
)
- Editing part-specific settings
- Hold/long-press
TAP
to switch the play mode for the active part (the new play mode will flash). Play modes are:
M
anual: Output is generated by the MIDI controller only
S
equencer: Output is generated by the sequencer (and by the MIDI controller depending on SI (SEQ INPUT RESPONSE)
– see below)
A
rpeggiator: Output is generated by the sequencer-driven arpeggiator (see below)
Tap tempo changes
- If a single tap is received without follow-up, the tempo is set to use external clocking
- After setting a tempo, the result flashes on the screen
Other changes
- Moved configuration-type settings into a submenu, accessed by opening
▽S (SETUP MENU)
- Print flat notes as lowercase character (instead of denoting flatness with
b
) so that octave can always be displayed
- Improved clock-sync of display fade for the
TE(MPO)
setting
- Splash on save/load
Synth voice
Oscillator controls
- Configured via the
▽O (OSCILLATOR MENU)
OM (OSCILLATOR MODE)
switches the oscillator between OFF
, DRONE
, and ENVELOPED
OS (OSCILLATOR SHAPE)
sets the waveform (see below)
- Each wave shape has a timbral parameter that can be modulated by several sources
TI (TIMBRE INITIAL)
sets initial timbre
TL (TIMBRE LFO MOD)
: attenuator for the bipolar LFO’s modulation of timbre
LS (TIMBRE LFO SHAPE)
sets the shape of the timbre LFO (triangle, down saw, up saw, square)
TE (TIMBRE ENV MOD)
: attenuverter for the envelope’s modulation of timbre
TV (TIMBRE VEL MOD)
attenuverter for velocity’s modulation of the timbre envelope (velocity can polarize the timbre envelope)
Oscillator synthesis models
- Filtered noise:
TIMBRE
sets filter cutoff, voice pitch sets filter resonance
- Low-pass, notch, band-pass, high-pass
- Phase distortion, resonant pulse:
TIMBRE
sets filter cutoff
- Low-pass, peaking, band-pass, high-pass
- Phase distortion, resonant saw:
TIMBRE
sets filter cutoff
- Low-pass, peaking, band-pass, high-pass
- State-variable filter, low-pass:
TIMBRE
sets filter cutoff (resonance is fixed)
- Pulse-width modulation:
TIMBRE
sets pulse width
- Saw-pulse morph:
TIMBRE
morphs toward pulse
- Hard sync:
TIMBRE
sets detuning of the secondary oscillator
- Wavefolder:
TIMBRE
sets fold gain
- Dirac comb:
TIMBRE
sets harmonic content
- Compressed sine (
tanh
): TIMBRE
sets compression amount
- Exponential sine:
TIMBRE
sets exponentiation amount
- Frequency modulation:
TIMBRE
sets modulation index
- 11 integer ratios (ordered from harmonic to inharmonic)
- 8 ratios based on the inverse Minkowski question-mark function
- 7 ratios that are integer divisions/multiples of pi
Amplitude dynamics: envelope and tremolo
- Configured via the
▽A (AMPLITUDE MENU)
- Tremolo can be applied to envelope and oscillator
- Tremolo uses the same LFO frequency as vibrato
TR (TREMOLO DEPTH)
: attenuator for the unipolar tremolo LFO’s reduction of gain
TS (TREMOLO SHAPE)
: the shape of the tremolo LFO (triangle, down saw, up saw, square)
- ADSR envelope with velocity modulation
- Envelope controls voice amplitude when the
OSCILLATOR MODE
is ENVELOPED
- Envelope is available as an aux CV output (
ENVELOPE
) in all layouts
ATTACK INIT
, DECAY INIT
, SUSTAIN INIT
, RELEASE INIT
: initial settings for ADSR segments
- Segment times range from 1 ms (2 ticks) to 5 seconds
ATTACK MOD VEL
, DECAY MOD VEL
, SUSTAIN MOD VEL
, RELEASE MOD VEL
: attenuverter for velocity’s modulation of the segment
- The envelope’s segments and their sensitivity to velocity are set by
ATTACK TIME INIT
, ATTACK TIME MOD
, etc.
- Peak attack amplitude can be velocity-scaled via
PV (PEAK VEL MOD)
- Positive values: peak attack amplitude is lower when velocity is lower
- Negative values: peak attack amplitude is lower when velocity is higher
- Zero: peak attack amplitude is always maximum
Sequencer
Recording interface
- Hold
REC
to clear sequence
- Hold
TAP
to toggle triggered-erase mode, which will clear the sequence as soon as a new note is recorded
- First
REC
press switches the display to show the pitch (or RS
/TI
) instead of the step number (press again to exit recording)
Step sequencer changes
- Replaced the
EUCLIDEAN ROTATE
setting with a more general STEP OFFSET
– allows starting the step sequencer on any step
- Display brightens while the selected step is being played
- Wraps around when using encoder to scroll through steps
- Capacity reduced from 64 to 30 notes, to free up space in the preset storage
Loop sequencer mode with real-time recording
- To enable, ensure
SM (SEQ MODE)
is set to LOOP
- To use, press
REC
to enter real-time recording mode
- Play notes to record them into the loop
- Press
START
to delete the oldest note, or TAP
for the newest
- Scroll the encoder to shift the loop phase by 1/128: clockwise shifts notes earlier, counter-clockwise shifts notes later
- Loop length is set by the
L- (LOOP LENGTH)
in quarter notes, combined with the part’s clock settings
- Note start/end times are recorded at 13-bit resolution (1/8192 of the loop length)
- Holds 30 notes max – past this limit, overwrites oldest note
Arpeggiator
Interaction between ARP DIRECTION
and NOTE PRIORITY
NOTE PRIORITY
sets the basic ordering/sorting of the arp chord (the keys held on the keyboard)
ARP DIRECTION
sets the algorithm used to traverse the ordered arp chord
- By combining these, traditional arp behaviors can be achieved:
- With
NOTE PRIORITY
= LOW
: set ARP DIRECTION
to LINEAR
for “up,” or BOUNCE
for “up-down”
- With
NOTE PRIORITY
= FIRST
: set ARP DIRECTION
to LINEAR
for “played order”
Sequencer-driven arpeggiator
Using ARP PATTERN
to enable the sequencer-driven arpeggiator
- Clockwise = pattern-based arpeggiator rhythms (stock Yarns)
- Counter-clockwise = sequencer-driven arpeggiator
S1
-S8
will reset the arpeggiator state after every 1-8 plays of the entire sequence (step or loop)
- Reset helps generate more predictable arp patterns
S0
never resets the arpeggiator state
How it works
- Like the normal arpeggiator, the arp chord is controlled by holding keys on the keyboard
- Unlike the normal arpeggiator, the sequencer-driven arpeggiator advances when the loop/step sequencer encounters a new note, instead of advancing on every clock pulse
- A sequence (either loop or step) must exist to produce arpeggiator output
- The arpeggiator respects rests/ties in a step sequence
- The velocity of the arpeggiator output is calculated by multiplying the velocities of the sequencer note and the held key
Programmable ARP DIRECTIONS
General concepts
- The arpeggiator always has some active position, e.g. “the 3rd key of the chord”
- Changes in the active position (“movement”) are determined by the pitch of notes emitted by the sequencer
- If
ARP PATTERN
is not sequencer-driven, the sequencer pitch data is replaced by the position in the 16-step pattern rhythm
- Sequencer pitch is interpreted based on its:
- Key color (is the key black or white?)
- Displayed octave number (with C as the first note of the octave)
- Pitch ordinal within octave and color, e.g.
- When the sequencer pitch is the 2nd white note of octave 5, the pitch ordinal is 2
- When the sequencer pitch is the 4th black note of octave 2, the pitch ordinal is 4
- The octave and color are used for different purposes by each direction
- The pitch ordinal sets the minimum arp chord size for which the arpeggiator will emit a note
- For a sequencer pitch with pitch ordinal N, the arpeggiator emits a note only if there are N or more keys in the arp chord, e.g.:
- When the sequencer pitch is the 3rd white key of its octave, a note is emitted only if there are 3+ keys in the arp chord
- When the sequencer pitch is the 1st black key of its octave, a note is emitted only if there are 1+ keys in the arp chord
- Allows dynamic control of the arpeggiator’s rhythmic pattern by varying the size of the arp chord
JUMP
direction
- Uses a combination of relative and absolute movement through the chord
- Both colors advance the active position in the arp chord by octave-many places, wrapping around to the beginning of the chord
- White steps emit a note from the active position in the arp chord, e.g.:
- When the sequencer pitch is the 5th white note of octave 2, and the active position is 1 out of the arp chord’s 6 notes, the active position is first incremented by 2 to become 3, and then the 3rd note of the arp chord is emitted
- Black steps ignore the active position, instead treating the pitch ordinal as an absolute position in the arp chord, e.g.:
- When the sequencer pitch is the 3rd black note of octave 5, the emitted note is the 3rd note of the arp chord, while the active position is incremented by 5
GRID
direction
- Simulates an X-Y coordinate system
- The arp chord is mapped onto the grid in linear fashion, repeated as necessary to fill the grid
- Octave sets the size of the grid: 4th octave => 4x4 grid (minimum 1x1)
- White keys advance by 1 along the X-axis, moving left-to-right and wrapping back to the left
- Black keys advance by 1 along the Y-axis, moving top-to-bottom and wrapping back to the top
MIDI
Layouts
2+2
3-part layout: 2-voice polyphonic part + two monophonic parts
2+1
2-part layout: 2-voice polyphonic part + monophonic part with aux CV
*2
3-part layout: 3-voice paraphonic part + monophonic part with aux CV + monophonic part without aux CV
- Paraphonic part can use the new envelopes
- Audio mode is always on for the paraphonic part
- Output channels:
- CV: Part 1’s 3 voices mixed to 1 audio output, Gate: Part 5’s gate
- Part 2, monophonic CV/gate
- Part 2, modulation configurable via
3>
- Part 3, monophonic CV/gate
3M
3-part layout: 3 monophonic parts, plus clock on gate 4 and bar/reset on CV 4
Hold pedal
- Instead of a global latch state, each part can respond to the hold pedal in its own way
- Screen periodically shows tick marks to show the state of the part’s 6 most recently pressed keys, and how the hold pedal is affecting them
- Bottom-half tick: key is manually held, and will stop when released
- Full-height tick: key is manually held, and will be sustained when released
- Steady top-half tick: key is sustained, and will continue after the next key-press
- Blinking top-half tick: key is sustained, and will be stopped by the next key-press
- New
HP (HOLD PEDAL POLARITY)
setting to switch between negative (default) and positive pedal polarity, or otherwise reverse the pedal’s up/down behavior
- New
HM (HOLD PEDAL MODE)
setting to change the part’s response to the hold pedal
OFF
: pedal has no effect
SUSTAIN
: sustains key-releases while pedal is down, and stops sustained notes on pedal-up
- Matches the behavior of the pedal in the stock firmware
SOSTENUTO
: while pedal is down, sustains key-releases only on keys that were pressed before pedal-down; stops sustained notes on pedal-up
LATCH
: uses the semantics of the button-controlled latching in stock Yarns – sustains key-releases while pedal is down; stops sustained notes on key-press regardless of pedal state
- Matches the behavior of the front-panel latching (triggered by holding
REC
)
MOMENTARY LATCH
: like LATCH
, but stop sustained notes on pedal-up, instead of on key-press
CLUTCH
: while pedal is down, sustains key-releases only on keys that were pressed before pedal-down (like SOSTENUTO
); while pedal is up, stops sustained notes on key-press (like LATCH
)
- Notes triggered while the pedal is down are not sustained and do not cause sustained notes to be stopped, which allows temporarily augmenting a sustained chord
FILTER
: while pedal is down, ignores key-presses and sustains key-releases; while pedal is up, stops sustained notes on key-press
- In combination with setting an opposite
HOLD PEDAL POLARITY
on two different parts, this allows the use of the pedal to select which part is controlled by the keyboard, while also supporting latching
- New
SI (SEQ INPUT RESPONSE)
setting changes how a playing sequence responds to manual input
OFF
ignores keyboard input
TRANSPOSE
is the stock firmware behavior
REPLACE
retains the sequence’s rhythm, but overrides its pitch
DIRECT
gives full use of the keyboard, allowing accompaniment of a sequence, etc.
- New
IT (INPUT TRANSPOSE OCTAVES)
setting to apply transposition to notes received by a part
- Effectively an octave switch for the controller
- Parts can filter notes by velocity
- Added UI for previously hidden settings
V> (VELOCITY MIN)
and V< (VELOCITY MAX)
- Present for all layouts except 4V
- Output velocity range is scaled to compensate for the restricted range imposed by input filtering
- Recording
- Any MIDI events ignored by the recording part can be received by other parts
- Recording part now responds to MIDI start
Polyphonic voice allocation (NOTE PRIORITY
and VOICING
)
- Added new
FIRST
(oldest) setting to NOTE PRIORITY
- Many polyphonic modes now respect
NOTE PRIORITY
and have been accordingly renamed
POLY
-> STEAL RELEASE MUTE
- Steal from the lowest-priority existing note IFF the incoming note has higher priority
- Don’t reassign on release
SORTED
-> PRIORITY ORDER
- Voice 1 always receives the note that has priority 1, voice 2 the note with priority 2, etc.
U1
-> UNISON RELEASE REASSIGN
U2
-> UNISON RELEASE MUTE
STEAL MOST RECENT
-> STEAL HIGHEST PRIORITY
- Steal from the highest-priority existing note IFF the incoming note has higher priority
- Don’t reassign on release
NICE
-> STEAL RELEASE REASSIGN
- Steal from the lowest-priority existing note IFF the incoming note has higher priority
- Reassign on release
- Notes that steal a voice are considered legato
- Fixed unison to allocate notes without gaps
- Improve unison etc. to avoid unnecessary reassignment/retrigger of voices during a partial chord change
- Unison etc. reassign voices on
NoteOff
if there are held notes that don’t yet have a voice
- Allow monophonic parts to use all voicing modes
Legato and portamento
- Replaced
LEGATO MODE
setting (three values) with two on/off settings, LEGATO RETRIGGER
(are notes retriggered when played legato?) and PORTAMENTO LEGATO ONLY
(is portamento applied on all notes, or only on notes played legato?)
- Enables a new behavior: notes played legato are retriggered + portamento is applied only on notes played legato
PORTAMENTO
setting has a shared zero at center
- Increases constant-time portamento when turning counter-clockwise of center, and increases constant-rate when turning clockwise
- Broadened setting range from 51 to 64 values per curve shape
Expanded support for Control Change events
- New global setting for
CC (CONTROL CHANGE MODE)
OFF
(CCs are ignored)
ABSOLUTE
(as before)
RELATIVE TWOS COMPLEMENT
(1 = increment, 127 = decrement)
- The result of a received CC is briefly displayed (value, setting abbreviation, and receiving part)
- Recording control: start/stop recording mode, delete a recording
- CC support for all new settings
- Macro CC for controlling recording state: off, on, triggered erase, immediate erase
- Macro CC for controlling sequencer mode: step sequencer, step arpeggiator, manual, loop arpeggiator, loop sequencer
- Fixed settings to accept a negative value via CC
- Implementation Chart
Clocking
- Added a variety of integer ratios for
O/
and C/
, as well as for LFO RATE
when clock-synced
- Includes 1/8, 3/7, 2/3, 6/5, 4/3, and more
- Sequencers’ phases are based on a master clock, to allow returning to predictable phase relationships between sequences even after a stint in disparate time signatures
- An explicit clock start (from panel switch or MIDI) can supersede an implicit clock start (from keyboard)
- Stopping the clock no longer stops manually held keys, though it still stops notes generated by the sequencer/arpeggiator
- Euclidean rhythms can be applied to the step sequencer as well as the arpeggiator
LFOs
LFO RATE
(formerly VIBRATO SPEED
) has a shared zero at center
- Increases clock sync ratio when turning counter-clockwise of center, and increases frequency when turning clockwise
VS (VIBRATO SHAPE)
(in ▽S (SETUP MENU)
) sets the shape of the vibrato LFO (triangle, down saw, up saw, square)
- LFO “spreading”: dephase or detune a part’s LFOs
LV (LFO SPREAD VOICES)
: dephase or detune LFOs between the part’s voices
- Only available in polyphonic/paraphonic layouts
LT (LFO SPREAD TYPES)
: for each voice in the part, dephase or detune between the vibrato, timbre, and tremolo LFOs
- Turning these settings counter-clockwise from center dephases the LFOs
- Each LFO’s phase is progressively more offset, by an amount ranging from 0° to 360° depending on the setting
- Ideal for quadrature and three-phase modulation
- When dephasing, the LFOs always share a common frequency
- Turning clockwise from center detunes the LFOs
- Each LFO’s frequency is a multiple of the last, with that multiple being between 1x and 2x depending on the setting
- Facilitates unstable, meandering modulation