Skip to content

Signal Converters

MNodes carries four kinds of signal around your patch: Audio (the sound itself), CV (smooth control signals that move things), MIDI (note and controller messages, like from a keyboard), and Data (lightweight values and events). A patch often needs to pass a signal from one kind to another, for example turning a loud moment in the audio into a trigger, or rebuilding MIDI notes out of control signals. These converter nodes are the bridges that let any source talk to any destination.

Audio to CV

Lets an audio signal plug into control-only (CV) inputs, so you can use a sound's waveform to move a parameter directly. It simply passes the signal through: the audio becomes CV values in the -1 to 1 range, with nothing added on top, no smoothing or shaping.

Audio to CV

Inputs: Audio Outputs: CV stream (-1 to 1)


CV to Audio

Lets a control (CV) signal plug into audio inputs. This is the reverse of Audio to CV, and it lets envelopes, LFOs and other movers feed audio nodes that don't normally accept control signals. Like its counterpart it just passes the signal straight through, with no smoothing or shaping.

CV to Audio

Inputs: CV stream (-1 to 1) Outputs: Audio


Audio To Data

Checks an audio signal at a speed you choose and sends out its latest value as a Data number. Handy for driving on-screen controls or logic from a sound without overwhelming the Data side of the patch, and it only sends a new value when the value actually changes.

Audio To Data

ParameterRangeDefaultDescription
Rate Hz1 - 240 Hz30 HzMaximum number of data events emitted per second. Lower values reduce data-thread load.

Inputs: Audio (signal to sample), Rate (Data, Hz) Outputs: Float (Data), rate-limited


Audio Threshold Trigger

Watches an audio input and fires off a short trigger pulse the moment the signal rises past a level you set. It is a great way to turn a sharp hit or a loud peak into a trigger for an envelope, sample player or sequencer step. While the signal stays above that level, no more triggers fire: it has to dip back below the level before it can fire again.

Audio Threshold Trigger

Needs: the Audio Threshold Trigger node on the graph, showing its Audio input, Threshold and Pulse controls, and Trigger output.

ParameterRangeDefaultDescription
Threshold-1.0 - 1.00.0Level the audio must rise across to fire the trigger. In Absolute mode it is treated as a positive level.
Pulse Length0.1 - 1000 ms5 msHow long the trigger output stays at 1.0 after a crossing.
Absoluteon / offoffWhen on, compares the absolute value of the audio against the threshold so peaks of either polarity trigger.

Threshold and Pulse Length can be set two ways: type them in the Inspector, or connect a Data value or a CV stream to change them live while the patch runs.

Inputs: Audio In, Threshold (Data, stream-capable), Pulse (Data, stream-capable) Outputs: Trigger, a CV pulse of 0 or 1 (stream-capable)


CV To Data

Checks a CV control signal at a speed you choose and sends out its latest value as a Data number. Handy for driving on-screen controls or Data-only nodes from CV without overwhelming the Data side of the patch. It only sends a value once it has moved by a small amount, so tiny wobble on a live CV signal won't fire a new value every interval, and a value that isn't moving is still refreshed about once a second, so a node connected after the value settled still receives it.

CV To Data

ParameterRangeDefaultDescription
Rate Hz1 - 240 Hz30 HzMaximum number of data events emitted per second. Lower values reduce data-thread load.

Inputs: CV (stream to sample), Rate (Data, Hz) Outputs: Float (Data), rate-limited


Data To CV

Turns a Data value into a CV control signal, the reverse of CV To Data. A number that arrives on the In pin comes out of the Out pin as a steady CV signal, eased in over a few milliseconds so sudden jumps don't click. If nothing is connected, the Value field sets what comes out.

Data To CV

Needs: the Data To CV node on the graph, showing its Data input, Value field and CV output.

ParameterRangeDefaultDescription
Valueunbounded0.0Value emitted as CV when nothing is connected to In.

Inputs: Float (Data) Outputs: CV stream carrying the value


MIDI To Data

Pulls useful values out of MIDI messages and sends them out as Data events. It offers the same set of outputs as MIDI To CV, but as Data events rather than continuous audio-rate signals. Gate stays high while any note is held down, and it keeps track of several notes at once.

MIDI To Data

Inputs: MIDI

Outputs:

OutputRangeDescription
PitchV/octPitch as a value, (note - 60) / 12 (note 60 = 0)
Note Number0 - 127Note number of the last note
Note HzHzFrequency of the last note
Channel1 - 16MIDI channel of the last note
Gate0 or 11 while any note is held
Velocity0.0 - 1.0Velocity of the last note
Trigger Note OnpulseA 1.0 pulse on each Note On
Trigger Note OffpulseA 1.0 pulse on each Note Off
Pitch Bend-1.0 - 1.0Pitch bend wheel position
Aftertouch0.0 - 1.0Aftertouch pressure
CC #0 - 127Last received CC number
CC Value0.0 - 1.0Value of the last CC

MIDI To CV

Turns MIDI into smooth CV control signals (updated sample by sample) for driving oscillators, filters and envelopes. It is the bridge between MIDI and any node controlled by CV. Every output can run as a continuous stream. It uses last-pressed priority, meaning it always follows the note you pressed most recently, and falls back to the previously held note when you let that one go.

MIDI To CV

Inputs: MIDI

Outputs:

OutputRangeDescription
PitchV/octPitch as voltage (C4 = 0, each semitone = 1/12)
Note Number0 - 127Current MIDI note number
Note HzHzFrequency of the current note
Gate0 or 1High while a note is held
Velocity0.0 - 1.0How hard the note was pressed
Trigger Note OnpulseA 1.0 pulse on each Note On
Trigger Note OffpulseA 1.0 pulse on each Note Off
Pitch Bend-1.0 - 1.0Pitch bend wheel position
Aftertouch0.0 - 1.0Aftertouch pressure
CC #0 - 127Last received CC number
CC Value0.0 - 1.0Value of the last CC
Channel1 - 16MIDI channel of the last note-on

CV / Data To MIDI

Builds real MIDI back out of control signals, the reverse of MIDI To CV and MIDI To Data. When the Gate rises it sends a Note On using the current Note, Velocity and Channel; when the Gate falls it sends the matching Note Off. Changing Note while the gate is still held plays the new note smoothly without retriggering the envelope (mono legato). Pitch Bend, CC (on the CC number you choose) and Aftertouch are sent whenever their value changes. Every input is a Data pin that also accepts CV, so you can drive it from a CV cable for tight, precise timing, or from a regular Data connection.

CV / Data To MIDI

Needs: the CV / Data To MIDI node on the graph, showing its Note / Gate / Velocity inputs and MIDI output.

ParameterRangeDefaultDescription
Note0 - 12760Note number used for new note events.
Velocity1 - 127100Velocity for note events. The input also accepts 0.0 - 1.0.
Channel1 - 161MIDI channel for outgoing messages.
CC #0 - 1271Which CC number to send.

Inputs:

InputRangeDescription
Note0 - 127Note number for new note events (Data, also accepts CV)
Gate0 or 1Rising edge = Note On, falling edge = Note Off (Data, also accepts CV)
Velocity0.0 - 1.0 or 0 - 127Velocity for note events (Data, also accepts CV)
Channel1 - 16MIDI channel for outgoing messages (Data, also accepts CV)
Pitch Bend-1.0 - 1.0Sent when the value changes (Data, also accepts CV)
CC #0 - 127Which CC number to send (Data, also accepts CV)
CC Value0.0 - 1.0Sent when the value changes (Data, also accepts CV)
Aftertouch0.0 - 1.0Sent when the value changes (Data, also accepts CV)

Outputs: MIDI


MNodes Documentation