Skip to content

Effects (MAGDA FX Bank)

The MAGDA FX bank is a set of native effects compiled from Faust DSP and shipped with every MAGDA installation. They appear in the Plugin Browser under the MAGDA vendor and can be dragged onto any track's FX chain.

Dynamics

Device Description
Compressor Two engines. Clean: feedforward with peak/RMS detection, soft knee, stereo link, sidechain HPF, external audio sidechain, parallel mix, output safety limiting. Glue: Brouns FBFF compressor with Detector (Peak/RMS), Style (Pre/Post), and FBFF blend.
Multiband Compressor OTT-style 3-band compressor. LR4 crossover split, two OTT stages in series per band, symmetric expander, per-band brickwall limiter, editable crossover frequencies and per-band thresholds in the curve editor.
Limiter Sanfilippo lookahead brickwall limiter. 5 ms lookahead, peak-holder, tau-smoothed attack / release. Threshold sets the output ceiling in dB.
Clipper Antialiased multi-mode clipper with five ADAA curves: Hard (brickwall), Soft (quadratic), Tanh (tube-style), Hyperbolic, and Sine. Drive pushes input into the curve, Output trims after.
Gate Stereo-linked gate / downward expander with range, timing (attack / hold / release), mix, and output gain.

EQ & Filter

Device Description
EQ 8-band parametric EQ. Each band selectable between HP, Low Shelf, Bell, High Shelf, LP, and Notch. The curve view draws the live signal spectrum behind the response curve — a dim trace for the input and a brighter one for the output — so you can see what each band is doing to the actual material.
Filter Six-model multimode filter. SVF: clean 2-pole LP/BP/HP/Notch. Ladder: 4-pole low-pass with driven resonance. Korg 35: MS-style LP/HP with analog bite. Oberheim: SEM-style LP/BP/HP/Notch. Sallen-Key: smooth 2nd-order LP/BP/HP. Diode: resonant 4-pole diode ladder with input drive.

Reverb & Space

Device Description
Reverb Three engines. Plate: Dattorro diffusion network. Hall: Zita 8-tap FDN. Room: Freeverb Schroeder/Moorer network.
Dimension Stereo widener with three engines. Dimension: Roland Dimension D-style anti-phase modulated delays. Haas: short fixed delay on one channel. M/S: pure side-channel gain, no time smear.

Delay

Device Description
Delay Stereo delay with sync (or free time), tone, feedback, and crossfeed.
Grain Delay Granular delay for smeared repeats, pitch motion, and texture.

Modulation

Device Description
Chorus Stereo chorus with 1-3 modulated voices per channel. Free-Hz or tempo-synced rate, depth, feedback, mix, stereo width.
Flanger Stereo flanger with short modulated delay, heavy feedback for the classic comb-sweep, and sync- or free-rate LFO.
Phaser Phaser with selectable stage count, feedback, and sweep window.
Mod Tremolo / vibrato / auto-pan sharing one LFO. Free-Hz or tempo-synced; sine, triangle, square, or sample-and-hold shape.
Ring Mod Stereo ring modulator. Sine, triangle, or square carrier from 1 Hz (tremolo) to 5 kHz (metallic clang). Sync- or free-rate.
Freq Shift Stereo single-sideband frequency shifter. Hilbert-pair Bode design. Fixed-Hz offset, feedback for resonant artefacts, Spread for stereo width.

Distortion

Device Description
Saturator Waveshaper with drive, mode, bias, tone, mix, and output.
Grit Bit-depth and sample-rate reduction.
Bitcrusher Lo-fi bitcrusher. Rate (sample-rate reduction), Bits (bit depth), Drive (quantization landing point), Tone (post-crush low-pass).

Pitch

Device Description
Pitch Three engines, all using ef.transpose. Shifter: single voice, +/-24 semitones. Detuner: two voices hard-panned L/R for chorus-style thickening. Harmonizer: shifted voice summed with dry at a chosen interval.

Utility

Device Description
Utility Gain, pan, stereo width, mono sum, low-frequency mono, and per-channel polarity flip.

Note

Devices that bundle multiple engines (Compressor, Reverb, Dimension, Filter, Pitch) expose an engine selector at the top of the editor and switch DSP in place. Macros and modulator links survive the switch.

Faust (Custom DSP)

The Faust device hosts a Faust DSP that you compile and load at runtime. Unlike the rest of the MAGDA FX bank, where each device wraps a fixed pre-compiled .dsp source, this device accepts any Faust program.

  • Folder icon - load a .dsp file from disk. The source is compiled by the libfaust interpreter and swapped in immediately.
  • Script icon - opens an in-app code editor for live editing. Saving recompiles and hot-swaps the DSP.
  • The current script name is shown in the header banner ("Drive" in the example).
  • Arrows in the header step through parameter pages when the DSP exposes more controls than fit on one screen.

Parameters live in a stable pool of slots that persist across recompiles, so macro links, modulator routings, MIDI Learn assignments, and automation lanes survive a code change as long as the slot ordering is preserved. This makes the device practical for iterative DSP development without losing your patch state on every save.

Prototype

This device is still a prototype. The DSP is run through the libfaust interpreter rather than ahead-of-time-compiled native code, so CPU usage is significantly higher than the pre-compiled MAGDA FX bank. Use it for sketching and experimentation; for production work, ask for the patch to be promoted into a compiled device.

Writing Faust with AI help

faust-mcp-magda is an optional companion tool that exposes the Faust compiler and standard library to AI assistants. MAGDA uses it to validate AI-generated Faust code before loading it into this device, so syntax errors and bad library references get caught up front instead of failing at compile time.

Enable it from Settings > AI Settings, on the Config page, by turning on the Faust DSP toggle. When Faust validation is used, MAGDA will start the MCP server on-demand via npx; no manual install step is needed. npx must be available on the system PATH (it ships with Node.js).

The Faust compiler runs in-process via WebAssembly inside the MCP server, so no separate Faust installation is required either.

The server can also be wired into a separate MCP-aware AI assistant (Claude, Cursor, and similar) directly, by adding it to that client's MCP config; see the project README for details. This is independent of the MAGDA-side toggle.