Transform & Sound
Transformers
Transformers · Reshape the notes
0:39
Transformers process notes in real-time as they flow through the graph. Connect a source node's output to a transformer's input, then connect the transformer's output to an instrument. Each transformer can be enabled or bypassed.
Every transformer shows its current setting on the canvas node, under the type badge - "Ch 3" on a Set MIDI Channel, "+7 st" on a Transpose, "5/16" on a Euclidean Rhythm - so several nodes of the same type can be told apart without opening any of them. In the editor panel each knob shows its value beneath the dial.
DRIVING A MULTITIMBRAL INSTRUMENT
Noemi's own sources all emit on MIDI channel 1. To address separate parts of a multitimbral plugin or hardware synth, assign a channel first:
- Pattern -> Set MIDI Channel (Ch 2) -> instrument
Repeat per part, or use MIDI Round Robin to spread one part's notes across a range of channels. Downstream, a plugin module sends on whatever channel a note carries, and a MIDI Output set to "From note" does the same. A MIDI Splitter placed after the channel assignment will then dispatch per channel; placed directly after a Pattern it has nothing to sort, because every note is still on channel 1.
PROBABILITY GATE
Randomly passes or blocks notes based on a probability value.
- Probability - 0.0 (block all) to 1.0 (pass all)
- Modulatable: Probability
TRANSPOSE
Shifts all notes by a fixed number of semitones.
- Semitones - -48 to +48
- Modulatable: Semitones
VELOCITY SCALER
Adjusts note velocities with a response curve, multiplier and offset.
- Curve - 0.1 to 4.0 (response curve; 1.0 is linear)
- Scale - 0.0 to 2.0 (velocity multiplier)
- Offset - -1.0 to +1.0 (velocity offset added after scaling)
- Modulatable: Curve, Scale, Offset
The curve is applied first, so Scale and Offset still frame the final range. Below 1.0 it lifts quiet notes, compressing the dynamic range; above 1.0 it pushes them down, expanding it. Scale and Offset alone can only tilt the whole range.
SET MIDI CHANNEL
Stamps a MIDI channel onto every note passing through. Noemi's own sources all emit on channel 1, so this is what makes multitimbral instruments reachable: put one per part to address separate timbres of a hosted multitimbral plugin, or separate parts of a hardware synth.
- Channel - 1 to 16
- Modulatable: Channel
The channel is applied to note-ons and note-offs alike, so held notes release correctly. Downstream, a plugin node injects the note on the channel it arrives carrying, and a MIDI Output node set to "From note" does the same - set it to a fixed channel to override. A MIDI Splitter placed after Set MIDI Channel will then dispatch per channel as expected.
MIDI ROUND ROBIN
Cycles each incoming note onto the next channel in a range. Where Set MIDI Channel pins everything to one channel, this spreads successive notes across several - the distributor half of multitimbral routing.
- Mode - Cycle, Random, or Ping-Pong
- First Ch - 1 to 16
- Last Ch - 1 to 16
Feed it into a MIDI Splitter to fan those channels out to separate instruments, or straight into a multitimbral plugin. A note-off always leaves on the channel its note-on was assigned, so nothing hangs when the rotation moves on.
NOTE DELAY
Echoes each note, with feedback.
- Delay - 0.015625 to 8.0 beats between echoes
- Repeats - 1 to 16
- Feedback - 0.0 to 1.0 (velocity retained by each successive echo)
- Pitch - -24 to +24 semitones added to each successive echo
- Modulatable: Delay, Feedback
Each repeat is a delayed copy of both the note-on and its note-off, so echoes keep the original note's length and release cleanly. Repeats stop early once feedback has faded them to silence or the pitch offset walks them off the keyboard.
GATE LENGTH
Scales how long notes sound.
- Amount - 0.05 to 4.0 (multiplies each note's length; 1.0 leaves it unchanged)
- Modulatable: Amount
Works off the note's duration, which Patterns and Rhythms set. A note that arrives with no duration - live MIDI, or a plugin's MIDI out - has no length to scale and passes through untouched.
LATCH
Holds notes on after their keys are released, until the next phrase begins.
Note-offs are swallowed while any input note is still held. Once everything has been released, the next note-on releases the whole latched set and starts a new one - the usual chord-memory behaviour. Useful for holding a chord under an Arpeggiator.
STRUM
Spreads simultaneous notes out in time, so chords roll rather than land flat.
- Direction - Up (lowest first), Down (highest first), or Random
- Spread - 0.0 to 1.0 beats between successive chord notes
- Modulatable: Spread
Notes arriving together are treated as one chord and ordered as a group, so the whole chord is scheduled up to one clock tick (about 1ms) after it arrives. Each note's note-off is pushed by the same amount, so every note keeps its length.
NOTE FILTER
Only passes notes within specified pitch and velocity ranges.
- Min Pitch - 0 to 127
- Max Pitch - 0 to 127
- Min Velocity - 0.0 to 1.0
- Max Velocity - 0.0 to 1.0
CHORD GENERATOR
Takes each incoming note and outputs a full chord.
- Chord Type - Major, Minor, Diminished, Augmented, Major7, Minor7,
- Dominant7, Sus2, Sus4, Power, Octave
- Inversion - 0 to 3
ARPEGGIATOR
Holds incoming notes and plays them as an arpeggiated sequence.
- Pattern - Up, Down, UpDown, DownUp, Random, Order
- Rate - 0.0625 to 2.0 beats per note (default: 0.25 = 16th notes)
- Octave Range - 1 to 4 octaves
- Gate Length - 0.1 to 1.0 (note length as fraction of step)
- Modulatable: Rate
EUCLIDEAN RHYTHM
Applies a Euclidean rhythm pattern (Bjorklund's algorithm) to incoming notes. The editor shows the pattern as a row of dots, with the current step highlighted during playback.
- Steps - 1 to 32 (pattern length)
- Hits - 0 to Steps (active beats)
- Rotation - 0 to Steps (pattern rotation offset)
- Step Length - Beats per step (default: 0.5 = 8th notes)
HUMANIZE
Adds random timing and velocity variation for a natural feel.
- Timing Amount - 0.0 to 1.0 (drags each note by up to 0.1 beats at full)
- Velocity Amount - 0.0 to 1.0
- Modulatable: Timing, Velocity
Timing works as a drag: each note is held back by a random amount, and its note-off by the same amount so the note keeps its length. Notes are only ever pushed later, never earlier - the graph runs in realtime with no lookahead, so there is nothing to pull a note ahead of the moment it arrives. Set Timing to 0 for no delay at all.
(Fixed in 1.0.4: the timing control previously had no audible effect.)
SCALE QUANTIZER
Forces notes to the nearest pitch in a chosen scale.
- Scale Name - Select from scale library (Major, Minor, Dorian, etc.)
- Root Note - C through B (0-11)
RANDOM TRANSPOSE
Randomly transposes each note within a semitone range.
- Min Semitones - -24 to +24
- Max Semitones - -24 to +24
- Modulatable: Min Semitones, Max Semitones
MARKOV CHAIN
Learns pitch transition probabilities and generates variations.
- Order - 1 to 3 (number of previous notes considered)
- Mode - Learn (absorb input), Generate (output variations), Both
- Temperature - 0.0 (deterministic) to 1.0 (fully random)
- Modulatable: Temperature
The Markov chain builds a transition matrix from incoming notes and uses it to generate melodically related variations. Lower temperature stays closer to learned patterns; higher temperature adds more randomness.
STYLE LEARNER
Learns patterns from a connected source and generates stylistically similar variations.
- Record - Enable to learn from incoming notes
- Generate - Enable to output learned variations
- Temperature - Variation amount (0-1)
- Modulatable: Temperature