Skip to content

Utilities

The Utilities category gathers the small, everyday building blocks you use in almost every patch. Here you will find the audio in and out points that connect MNodes to your sound card or your music software (your DAW), plus simple math helpers for sound (add, multiply, volume and value clamping), tools for muting, smoothing and delaying a signal, and the Recorder, the VST3 Plugin Host, the project Transport, and canvas helpers like Comment and Colour. On their own none of these makes a sound effect; think of them as the glue you keep reaching for to route, balance, mix and tidy up everything else.

Audio In

Brings sound from your sound card or your music software into the patch, for example a microphone, a guitar input, or a track in your DAW. You choose how many channels to bring in (1 to 8) with the Channels slider in the inspector, and output pin N picks up input channel N from the host.

Audio In

ParameterRangeDefaultDescription
Channels1 - 82Number of output pins. Each pin maps to the matching host input channel (inspector only).

Inputs: none (this is a source node). Outputs: In 1, In 2, ... (one audio pin per channel). Channels the host or device does not provide stay silent.


Audio Out

Sends the finished sound out to your sound card or your music software, so you can actually hear it or record it. You choose how many channels to send (1 to 8) with the Channels slider in the inspector, and input pin N feeds output channel N of the host.

Audio Out

ParameterRangeDefaultDescription
Channels1 - 82Number of input pins. Each pin maps to the matching host output channel (inspector only).

Inputs: Out 1, Out 2, ... (one audio pin per channel). Multiple connections to a pin are summed. Outputs: none (this is a sink node). If no Audio Out is connected, the patch is silent.


Delay Line Mono

A bare-bones mono echo: it repeats the incoming sound a moment later. It has no feedback (it will not repeat over and over by itself) and no dry/wet mix, so you only hear the delayed copy. It is meant as a clean building block for echo and feedback setups where you wire the repeats back in yourself.

Delay Line Mono

ParameterRangeDefaultDescription
ModeFree / Hz / SyncFreePicks how the delay length is set.
Time0.01 - 5000 ms500 msDelay length in milliseconds (used in Free mode).
Frequency0.2 - 20000 Hz2 HzDelay length = 1 / Frequency (used in Hz mode). Useful for Karplus-Strong style pitched feedback.
Subdivmusical subdivisions (1/64 to 4/1)1/4Note value for the delay length (used in Sync mode).
BPM1 - 999120Tempo that drives the Sync subdivision.
Clearbutton-Empties the line, so nothing that went in before is still on its way out. A short fade comes first, so clearing a line that is sounding does not click.

Inputs: In (audio), Mode (Data), Time (Data, CV-capable), Freq (Data, CV-capable), Subdiv (Data), BPM (Data, CV-capable), Clear (Data, CV-capable: any message fires it, and a CV stream fires it on every rising edge). Outputs: Out (delayed audio, full wet).


Sig Pass

Lets a mono signal go straight through without changing it. Handy for keeping your cables neat and your patch organised.

Sig Pass

Inputs: In (audio). Outputs: Out (audio, identical to the input).


Sig Invert

Turns a mono signal upside down, so the output is the mirror image of the input (in audio terms, a 180 degree phase flip).

Sig Invert

Inputs: In (audio). Outputs: Out (audio, polarity inverted).


Sig DC Offset

Adds a fixed amount to a mono signal, nudging it up or down. Useful for re-centring a signal or for building control values that drive other nodes.

Sig DC Offset

ParameterRangeDefaultDescription
Offset-1.0 - 1.00.0Constant value added to every sample.

Inputs: In (audio), Offset (Data, sets the offset value). Outputs: Out (audio).


Volume

Turns a mono signal up or down by a set amount, with a short smoothing time so the change does not click. The amount here is a simple multiplier, not decibels: 1.0 leaves the level unchanged, below 1.0 is quieter, above 1.0 is louder.

(Called Gain before 1.0.1. Searching the Add Node panel for "gain" still finds it.)

Volume

ParameterRangeDefaultDescription
Gain0.0 - 4.01.0Linear gain factor (1.0 = unity).
Smooth0 - 2000 ms15 msTime over which gain changes ramp, to avoid zipper noise.

Inputs: In (audio), Gain (Data, CV-capable), Smooth (Data, CV-capable). Outputs: Out (audio).


Volume Stereo

The same control as Volume, but for a stereo (left and right) signal. It turns both channels up or down by the same multiplier, with a short smoothing time so the change does not click.

Volume Stereo

ParameterRangeDefaultDescription
Gain0.0 - 4.01.0Linear gain factor applied to both channels (1.0 = unity).
Smooth0 - 2000 ms15 msTime over which gain changes ramp, to avoid zipper noise.

Inputs: In L (audio), In R (audio), Gain (Data, CV-capable), Smooth (Data, CV-capable). Outputs: Out L (audio), Out R (audio).


Sig Gate

Acts like a switch for sound: it lets audio through while the gate is open and fades it down to silence while the gate is closed. The fade is smoothed so opening and closing does not click.

Sig Gate

ParameterRangeDefaultDescription
Gateon / offonWhen on, audio passes; when off, it fades to silence.
Smooth0 - 2000 ms5 msFade time for opening and closing the gate.

Inputs: In (audio), Gate (Data, values above 0 open the gate), Smooth (Data). Outputs: Out (audio).


Sig Add

Combines two mono signals into one by adding them together. The output is simply A plus B.

Sig Add

Inputs: A (audio), B (audio). Outputs: Out (audio, A + B).


Sig Subtract

Takes one mono signal away from another, so the output is A minus B. It completes the basic maths set alongside Sig Add and Sig Multiply. Feed it two levels that have been through Sig To dB and the output is their difference in decibels directly, ready to drive a gain for level matching, a ducker, or a dynamic EQ style patch.

Sig Subtract

Inputs: A (audio), B (audio, subtracted from A). Outputs: Out (audio, A - B).


Sig Multiply

Multiplies two mono signals together, so the output is A times B. This is handy for shaping one sound with another, for example making a tremolo effect or using one signal to switch another on and off.

Sig Multiply

Inputs: A (audio), B (audio). Outputs: Out (audio, A x B).


Sig Clamp

Keeps a mono signal inside set limits, so its values can never drop below Min or rise above Max.

Sig Clamp

ParameterRangeDefaultDescription
Min-2.0 - 2.0-1.0Lower bound for each sample.
Max-2.0 - 2.01.0Upper bound for each sample.

Inputs: In (audio), Min (Data, CV-capable), Max (Data, CV-capable). Outputs: Out (audio).


Sig Abs

Makes every part of a mono signal positive, flipping any negative values to their positive equivalent. In audio terms this is a full-wave rectifier.

Sig Abs

Inputs: In (audio). Outputs: Out (audio, absolute value of the input).


Sig To dB

Converts a signal's linear level into decibels: a level of 1.0 reads as 0 dB, 0.5 as about -6 dB, and silence bottoms out at -120 dB. Feed it a level signal, such as the output of an Envelope Follower or Sig To RMS, to read it in decibels; run two readings through Sig Subtract and you get the level difference between two signals, ready for gain matching, ducking, or dynamic EQ style patches. Sig From dB converts the other way.

Sig To dB

Inputs: In (audio, a linear level). Outputs: Out (audio, the level in decibels).


Sig From dB

Converts decibels back into a plain linear level: 0 dB becomes 1.0, -6 dB about 0.5, and anything at or below -120 dB becomes 0. It is the opposite of Sig To dB: do your level maths in decibels (subtract, offset, scale), then convert back to a gain value you can feed straight into a Gain node's Gain input.

Sig From dB

Inputs: In (audio, a level in decibels). Outputs: Out (audio, the linear level).


Sig To RMS

Measures how loud a mono signal is and outputs that loudness as a signal of its own. RMS follows the signal's energy, which matches how loud it actually sounds, rather than jumping with every short peak the way an envelope follower does. Pair it with Sig To dB to read the level in decibels, or send two RMS levels through Sig To dB and Sig Subtract to get a dB difference that can drive an auto-gain. A longer Window gives a smoother but slower reading.

Sig To RMS

ParameterRangeDefaultDescription
Window1 - 2000 ms100 msAveraging time for the loudness reading. Longer is smoother and slower.

Inputs: In (audio), Window (Data, CV-capable). Outputs: Out (audio, the RMS level as a linear value).


Sig Mix 2

Blends a Dry input and a Wet input, fading smoothly between the two. At Mix 0 you hear only Dry, at Mix 1 only Wet, and values in between give you a mix of both.

Sig Mix 2

ParameterRangeDefaultDescription
Mix0.0 - 1.00.5Crossfade amount. 0 = Dry only, 1 = Wet only.

Inputs: Dry (audio), Wet (audio), Mix (Data, CV-capable). Outputs: Out (audio, the blend of Dry and Wet).


Crossfade

Blends two mono inputs like a DJ crossfader. Position runs from 0 (only In A) to 1 (only In B), and the node body draws both gain curves with a live position marker; you can drag right on the body to move the fader. Law picks the gain curve: Equal Power and Constant Power keep the overall power steady (each side sits at -3 dB in the middle), the right choice for two unrelated sources, while Linear keeps the summed gain steady (-6 dB in the middle), which suits two takes of the same part. Contour reshapes the fader travel: above 0.5 each side holds longer and swaps quickly through the centre, below 0.5 a small nudge already swings the mix, like the fast cut of a scratch fader.

Crossfade

ParameterRangeDefaultDescription
Position0.0 - 1.00.5Fader position. 0 = full A, 1 = full B.
LawEqual Power / Constant Power / LinearEqual PowerGain curve used for the blend.
Contour0.0 - 1.00.5Reshapes the travel. 0.5 is neutral; higher sharpens the centre swap, lower widens the edges.

Inputs: In A (audio), In B (audio), Position (Data, CV-capable), Law (Data, CV-capable), Contour (Data, CV-capable), Appearance (Data, accepts styling text to restyle the display). Outputs: Out (audio, the crossfaded mix of A and B), Position Out (Data, reports the current position whenever it changes, for example while dragging the body).

Crossfade Stereo

The same crossfader for two stereo pairs: In A L / In A R and In B L / In B R blend into Out L and Out R, with one shared Position, Law and Contour for both channels.


Morph

A crossfader with more than two inputs. Set Inputs to anywhere from 2 to 16, and Position scans across them: 0 plays the first input, 1 plays the last, and in between the node blends the two neighbouring inputs using the selected Law, so only two are ever audible at once and the level stays even across the whole sweep. Law and Contour work exactly as in Crossfade and shape each handoff. Drive Position from a fader, an LFO or a ramp to sweep or morph through your sound sources, and drag the body itself to move the scan by hand: it draws every input's gain curve and the live position.

Morph

ParameterRangeDefaultDescription
Position0.0 - 1.00.0Scan position. 0 = first input, 1 = last input.
LawEqual Power / Constant Power / LinearEqual PowerGain curve used for each transition.
Contour0.0 - 1.00.5Reshapes each handoff. 0.5 is neutral; higher holds each sound longer then swaps quickly, lower makes a small move swing the mix.
Inputs2 - 164Number of audio input pins.

Inputs: In 0, In 1, ... (one audio pin per input), Position (Data, CV-capable), Law (Data, CV-capable), Contour (Data, CV-capable), Inputs (Data), Appearance (Data, accepts styling text to restyle the display). Outputs: Out (audio, the blend of the two inputs nearest the current position), Position Out (Data, reports the current position whenever it changes).

Morph Stereo

The same morphing crossfader for stereo sources: each input becomes a left/right pair (In 0 L / In 0 R and so on) and the result comes out on Out L and Out R, with one shared Position, Law and Contour.


Smooth

Eases a value gradually toward a new setting instead of letting it jump. Use it on pitch to get a sliding glide between notes (portamento), on knob moves to stop clicks, or on triggers to fade gates in and out.

Smooth

ParameterRangeDefaultDescription
Time0 - 10000 ms50 msSmoothing time. 0 is instant; larger values ramp more slowly.

Inputs: Target (Data, the destination value to head toward), Set Now (Data, jumps straight to the received value), Time (Data, CV-capable).

Outputs:

OutputTypeDescription
OutAudioThe smoothed value at audio rate.
ValueDataThe current value, sent roughly 30 times a second while it is still moving.
Is SmoothingData1.0 while ramping, 0.0 once it has settled at the target.

Recorder

Records any point in your patch straight to a WAV file, with no fixed time limit, so you can save individual parts (stems), capture a jam, or sample your own sounds. The audio keeps flowing through unchanged whether the Recorder is sitting idle or recording, and you can play your last take back out through the same outputs.

Recorder

ParameterRangeDefaultDescription
Folderfolder path(your Music folder)Where recordings are written. Use Choose Folder to pick it.
Bit Depth16 bit / 24 bit / 32 bit float24 bitResolution of the WAV file (inspector only).
ChannelsStereo / MonoStereoStereo writes a 2-channel file; Mono sums L+R (inspector only).
Position0.0 - 1.00.0Playhead position for playback and seeking.

Each take reuses one temporary file per node, so a new recording replaces the previous one; use Export to save your last take somewhere permanent.

Inputs: In L (audio), In R (audio), plus trigger pins Record, Stop, Play, Rewind, Export (Data, any event or non-zero value triggers them) and Position (Data, a 0..1 value seeks the playhead). Outputs: Out L (audio), Out R (audio). Pass-through while idle or recording; the recorded file while playing.


Plugin Host

Loads and runs a third-party VST3 plugin of any kind: an instrument, an effect, or a MIDI effect. The plugin runs on its own, separate from MNodes, so if it crashes or its graphics get heavy it will not bring MNodes down with it. If the plugin adds latency (a linear-phase EQ, a lookahead limiter), MNodes measures it and reports it to your DAW so everything stays in time. You can check the patch's total latency in the Graph Stats overlay.

Plugin Host

The pins change to match whatever plugin you load. An effect shows audio in and out, an instrument shows MIDI in and audio out, and a MIDI effect shows only MIDI pins. From the inspector you can bring individual plugin controls out as pins: each one you expose adds an input pin (which accepts either a single Data value or a moving CV signal) and a matching output pin that reports that control's current value, so the rest of your patch and any widgets stay in step with it.

Inputs: In / In L / In R (audio) and MIDI, depending on the plugin, plus one input pin per exposed parameter. Outputs: Out / Out L / Out R (audio) and MIDI, depending on the plugin, plus one output pin per exposed parameter.


Comment

A plain text note you stick on the canvas. It has no pins and does not touch your sound or your data; use it to label sections, explain how a patch works, or leave yourself reminders.

Comment

ParameterRangeDefaultDescription
TexttextLabelThe text shown in the comment (inspector only).
Font Size8 - 72 px16 pxText size (inspector only).
Font WeightLight / Regular / Medium / SemiBold / BoldSemiBoldWeight of the text (inspector only).
Alignment9 positionsCentreWhere the text sits in the box (inspector only).
Text ColourcolourwhiteColour of the text (inspector only).
Bg Colourcolourdark greyBackground colour of the box (inspector only).
Borderon / offoffDraws a border around the box (inspector only).
Border Stroke0.5 - 8 px1 pxBorder thickness (inspector only).
Border ColourcolourwhiteColour of the border (inspector only).

Inputs: none. Outputs: none.


Frame

A resizable background box for grouping and labelling a region of the graph. It always sits behind the nodes and behind the cables, has no pins, and never touches your sound or your data; it is purely visual organisation. The bar at the top shows its name: double-click the bar to rename it. With Move Contents on, dragging the frame by its bar also moves every node sitting fully inside it, so whole sections travel together. The body itself is click-through, so inside the frame you can still right-click to add nodes and drag to select as usual.

Frame

ParameterRangeDefaultDescription
Title Fontfont listdefault fontTypeface for the title (inspector only).
Import Font.ttf / .otf file-Browse or drag and drop a font file to use for titles (inspector only).
Title Size10 - 48 px16 pxSize of the title text (inspector only).
Title Colourcolourtheme accentColour of the title text (inspector only).
Bg Colourcolourtheme accent, very transparentFill colour of the box (inspector only).
Border Colourcolourtheme accentColour of the border (inspector only).
Borderon / offonDraws a border around the box (inspector only).
Border Stroke0.5 - 8 px2 pxBorder thickness (inspector only).
Move Contentson / offonWhen on, dragging the frame also moves every node fully inside it (inspector only).

Inputs: none. Outputs: none.


Colour

A colour picker and source in one. It gives you a Hex box and R, G, B, A sliders that always stay in agreement, so editing one updates the others. Any value sent in updates the stored colour and resends every output, which lets you wire it into widgets and appearance controls. A bare trigger (a Bang) into any one input re-fires just that channel's current value on its matching output, so the node can hand out its colour, or a single component, on demand.

Colour

ParameterRangeDefaultDescription
Hex#RRGGBB or #AARRGGBBwhiteThe colour as a hex string.
R0 - 255255Red channel.
G0 - 255255Green channel.
B0 - 255255Blue channel.
A0 - 255255Alpha channel.

Inputs: Hex (Data), R, G, B, A (Data). Each control has its own input pin. Outputs: Hex (Data), R, G, B, A (Data). Each control has its own output pin reporting the current value.


Open URL

Stores a web link and opens it in your computer's default browser. Type the address into the URL field, then press the Open button (or send a trigger to the Open pin) to launch it, just like clicking a link. The URL input lets another node set or change the link while the patch runs, and if you leave off the http:// or https:// the address is opened as a web page. Handy for linking a patch to its manual, a help page, or a website.

Open URL

ParameterRangeDefaultDescription
URLtexthttps://The link to open. Editable on the node.

Inputs: URL (Data, text sets or replaces the link), Open (Data, opens the link: the button, a Bang, or a value rising past 0.5 all trigger it, so a held value does not open extra tabs). Outputs: none (this node performs an action).


Transport

The project's clock and timekeeper: tempo, position in the music, beats, bars, and sync. When MNodes runs as a plugin it can follow your music software (your DAW); when it runs on its own it uses its own built-in clock instead. If you use several Transport nodes they all stay locked together, so changing one updates the rest.

Transport

ParameterRangeDefaultDescription
SyncInternal / Host (DAW)Host in plugin mode, Internal standaloneClock source. Host (DAW) is unavailable in standalone.
Playon / offoffStart or stop the internal clock (Internal mode).
BPM1 - 999120Tempo in beats per minute (Internal mode).
Time Sig Numerator1 - 324Top number of the time signature (Internal mode).
Time Sig Denominator1 - 324Bottom number of the time signature (Internal mode).

Inputs: Sync (Data, 0 = Internal, 1 = Host), BPM (Data), Play (Data), Time Sig Numerator (Data), Time Sig Denominator (Data). The inputs let you modulate the transport from elsewhere in the patch.

Outputs:

OutputTypeDescription
BPMCVCurrent tempo in BPM.
PlayingCV1.0 while playing, 0.0 while stopped.
PositionCVAbsolute musical position in quarter notes.
BarCVCurrent bar number (0-based).
BeatCVBeat within the current bar.
Beat TriggerCVA short pulse on each beat.
Bar TriggerCVA short pulse at the start of each bar.
Bar PhaseCVA 0-to-1 ramp across each bar.
Time Sig NumCVTime signature numerator, the 3 in 3/4.
Time Sig DenCVTime signature denominator, the 4 in 3/4.

MNodes Documentation