Docs and help

Everything, written down.

Install it, read every parameter, and find the answer before you ask.

Every product has its manual, the common questions have answers, and the glossary defines the words once. If it is not here, the contact page is one click on.

10 manualsone per product, every control with its range and default
8 questionsanswered from the book, each tagged
12 termsdefined once, used as written
Install

Four steps.

The Hub is the installer, and it comes with any licence. The measured build, Modulr 0.1.0, has loaded in Ableton Live 12.4.6.

01

Get the Hub

Modulr Hub installs the suite, verifies each bundle, holds the licence files, updates and rolls back, and syncs presets. It is an application, not a plug-in.

Proposed
02

Pick the formats

The Hub writes the VST3 and the Audio Unit v2 component into the folders the host scans. Each bundle is verified before the Hub says it is installed.

Proposed
03

Open it in the host

Ableton Live 12.4.6 has loaded both formats of Modulr 0.1.0: they play and take the host’s transport and MIDI. Saving a set and reopening it was not done.

Measured
04

Drop in the licence

A signed licence file under 4 KiB, read at load. Without one, the next DSP object is what changes; nothing saved is touched.

Proposed
Formats and hosts

Two ship. The rest are priced.

Measured

VST3, macOS

a host round trip, a program list, IMidiMapping, a latency restart

Cost:shipped; loaded in Live 12.4.6

Measured

Audio Unit v2, macOS

clump ids, the aumf type, a render path without locks

Cost:shipped; loaded in Live 12.4.6

Proposed

VST3, Windows

a WebView2 spike first, one week; the Origin form differs

Cost:8 to 12 weeks

Proposed

CLAP

no per-note field; a probe mode that exits 0 only if every check passes

Cost:3 to 4 weeks

Proposed, Open question

AUv3

the sandbox against the loopback is the decisive unknown

Cost:6 to 10 weeks

Open question

AAX

the Avid agreement has to be read first

Cost:10 to 16 weeks, plus a licence

Proposed, Open question

macOS x86_64

whether a universal binary is wanted at all is open

Cost:1 to 2 weeks

Open question

Linux

a wry view in an X11 window; it follows Windows

Cost:6 to 10 weeks

The only host that has loaded it

Ableton Live 12.4.6, on macOS arm64, with the VST3 and the Audio Unit v2. Both formats load, play, and take the host’s transport and MIDI; a resize and an undoable gesture were seen in the VST3 only. Saving a set and reopening it was not done. The book says “loaded in Live 12.4.6” and never “supported by it”.

Manuals

Every parameter, its range, its default.

The synth’s rows were measured on Modulr 0.1.0; every other manual is the specification’s parameter table for a product that is on sale.

SYN · 01

Modulr 1.0

On sale

One monophonic modular synthesiser, in eight modules and thirty-one parameters, with ten cables in its opening patch and eight factory patches.

The panel order is SEQ, VCO, LFO, VCF, ENV, VCA, DLY and OUT. The evaluation order is different: SEQ, LFO, ENV, VCO, VCF, VCA, DLY and OUT. A cable that runs against the evaluation order costs one sample, and the book states that rule rather than hiding it.

Modulr 1.0 adds thirty-three parameters to the thirty-one that ship: sixteen voices, a noise source, eight macros, a step division, a swing, and an oversample switch on the output. One voice today, last note wins, legato. The two output channels carry the same signal; the book calls that a mono bus and never calls it stereo.

KeyRangeDefault
seq.bpm60 to 180 BPM120 BPM
vco.tune28 Hz to 440 Hz110 Hz
vcf.cut40 Hz to 12.00 kHz221 Hz
vcf.res0.0 to 24.0 dB9.6 dB
env.a2 ms to 2.00 s4 ms
env.r10 ms to 4.00 s110 ms
dly.time20 ms to 1.20 s374 ms
out.vol0% to 100%60%
JacksNames
Invco.voct, vco.fm, vcf.in, vcf.cv, env.gate, vca.in, vca.cv, dly.in, out.l, out.r
Outseq.pitch, seq.gate, vco.sin, vco.saw, vco.sqr, lfo.sin, lfo.tri, lfo.sqr, vcf.out, env.env, env.inv, vca.out, dly.out

Presets

Pentatonic Drift is the opening patch. Mono Lead (MIDI) and Glass Bells are named in the book. The parity rig names eight: default, acid, delay, filter, lfo, highpass, fm, tone.

Sources: NI Reaktor 6 product page, read 17 October 2026. FabFilter’s shared conventions, read 17 October 2026.

EQ · 02

Modulr EQ

On sale

Eight bands of eight shapes, dynamic bells and shelves, and a processing mode whose linear path reports its own latency exactly.

On a Bell or Shelf band, Gain is the target: the gain reached when the detector sits 6 dB or more over the threshold. Dyn is the dynamic share of that move, so a −6.0 dB band at Dyn 100 % rests flat at 0.0 dB, and at 60 % it rests at −2.4 dB.

Zero is the default: the bands run as minimum-phase biquad sections and report 0 samples of latency. It is not free of delay — a minimum-phase section has a group delay that peaks at a bell’s centre, 5.8 samples for a +6 dB, Q 3 bell at 6.2 kHz, and 228 samples for a +12 dB, Q 1 bell at 100 Hz. Natural follows the analogue prototype within 1.0 dB up to 20 kHz for a +12 dB, Q 1 bell at 16 kHz. Linear reports 2,048 samples.

KeyRangeDefault
eq.phaseZero, Natural, LinearZero
eq.channelStereo, Mid, SideStereo
eq.slope12, 24, 48, 96 dB per octave24 dB per octave
eq.band<N>.typeBell, Low Cut, High Cut, Low Shelf, High Shelf, Notch, Band Pass, All PassBell
eq.band<N>.freq20 Hz to 20 kHz1.00 kHz
eq.band<N>.gain−18.0 to +18.0 dB0.0 dB
eq.band<N>.qQ 0.10 to Q 18.00Q 1.00
eq.band<N>.dyn0% to 100%0%
eq.band<N>.threshold−60.0 to 0.0 dB−24.0 dB
eq.band<N>.attack0.1 ms to 1 s10 ms
eq.band<N>.release10 ms to 3 s250 ms
eq.cv<N>.amount−100% to +100%0%
eq.out.gain−18.0 to +18.0 dB0.0 dB
eq.mix0% to 100%100%
JacksNames
Ineq.in, eq.sc, eq.cv1, eq.cv2
Outeq.out, eq.gr

Presets

Bus Tilt, Mud Cut, Box Cut, Air Shelf, De-Esser, Ring Tame, Master Phase, Side Lift.

Sources: FabFilter Pro-Q 4 and Slate Digital Infinity EQ 2 product and help pages, read 17 October 2026.

CMP · 03

Modulr Comp

On sale

A compressor for a bus, a drum room or a voice, whose gain reduction is a signal you can patch.

Six styles, each a named set of rows: Clean, Punch, Glue, Vocal, Drum and Bus. The chain is the book’s four jobs in order — a detector turns a signal into a level, a gain law turns the level into a gain, ballistics smooth the gain, and an optional look-ahead makes the gain arrive before the audio.

What Modulr 0.1.0 ships is the fixed master compressor and the tanh soft limiter at the end of the bus: −24 dB, a 30 dB knee, 12:1, 3 ms and 250 ms, fixed, with no parameter and no bypass. The book pins its make-up rule and its static points, so the fixed curve is a measured fact rather than a description.

KeyRangeDefault
comp.styleClean, Punch, Glue, Vocal, Drum, BusClean
comp.topologyFwd, FbkFwd
comp.detectPeak, RMSPeak
comp.threshold−60.0 to 0.0 dB−18.0 dB
comp.ratio1.0:1 to 20.0:12.0:1
comp.knee0.0 to 36.0 dB6.0 dB
comp.attack0.1 to 250.0 ms10.0 ms
comp.release10.0 ms to 2.50 s120.0 ms
comp.makeup−12.0 to +24.0 dB0.0 dB
comp.mix0% to 200%100%
comp.lookahead0.0 to 20.0 ms0.0 ms
comp.oversampleOff, 2×, 4×, 8×Off
comp.cv1.amount−100% to +100%0%
JacksNames
Incomp.in, comp.sc, comp.cv1
Outcomp.out, comp.gr

Presets

Drum glue: 8:1, a 24 dB knee, RMS detection, −18 dB. Vocal: 3:1, −12 dB. Punch: 4:1, 0 dB, 3 ms, 80 ms, peak. Bus: 2:1, 12 dB, 20 ms, 300 ms, peak.

Sources: FabFilter Pro-C 3 and Slate Digital FG-Stress product pages, read 17 October 2026.

MB · 04

Modulr MB

On sale

Four of those compressors between three crossover frequencies, 20 Hz to 20 kHz.

Three crossovers split the spectrum into four bands. The slope is 12, 24 or 48 dB per octave per side; the phase mode is minimum or linear. On the Mastering split — 120 Hz, 1.20 kHz and 6 kHz at 24 dB per octave — a linear crossover costs 919 samples, and at 20 Hz it costs 10,559.

The gain reduction published on mb.gr is the deepest of the four reductions, 0 to 1 V for 0 to 18 dB. A cable from a later slot to an earlier one costs one sample, and the book says so where the vendor pages say nothing at all.

KeyRangeDefault
mb.slope12, 24, 48 dB per octave24 dB per octave
mb.phaseMin, LinMin
mb.xover<N>.freq20 Hz to 20 kHz120 Hz, 1.20 kHz, 6.00 kHz
mb.band<N>.threshold−60.0 to 0.0 dB−18.0 dB
mb.band<N>.ratio1.0:1 to 20.0:12.0:1
mb.band<N>.knee0.0 to 36.0 dB6.0 dB
mb.band<N>.attack0.1 to 250.0 ms10.0 ms
mb.band<N>.release10.0 ms to 2.50 s120.0 ms
mb.band<N>.makeup−12.0 to +24.0 dB0.0 dB
mb.mix0% to 200%100%
mb.oversampleOff, 2×, 4×, 8×Off
mb.cv<N>.amount−100% to +100%0%
JacksNames
Inmb.in, mb.sc, mb.cv1, mb.cv2
Outmb.out, mb.gr

Presets

The Mastering split is a preset of the book: 120 Hz, 1.20 kHz and 6 kHz at 24 dB per octave, four Linkwitz-Riley responses at 24 dB per octave.

Sources: FabFilter Pro-MB product and help pages, read 17 October 2026.

LIM · 05

Modulr Limit

On sale

One law in three styles, a true-peak ceiling, and the four loudness numbers the field meters.

CLEAN, DENSE and PUNCH are three styles of one law, and the book is careful about the order: three styles until each law is measured. The ceiling is a true peak, held within 0.05 dB of the setting, and the look-ahead runs 0 to 5 ms with 1.5 ms as the default.

The loudness read-out is the same four values the leaders publish: momentary, short-term, integrated and range, with targets at −9, −14 and −23 LUFS. At the Streaming −14 preset the meter reads −14.9 LUFS integrated, −23.8 short-term, −1.0 dBTP true peak and 6.3 LU of range.

KeyRangeDefault
lim.styleCLEAN, DENSE, PUNCHCLEAN
lim.oversampleOff, 2×, 4×, 8×4×
lim.target−9, −14, −23 LUFS−14 LUFS
lim.linkLINK, L, RLINK
lim.gain−12.0 to +24.0 dB0.0 dB
lim.ceiling−30.0 to 0.0 dBTP−1.0 dBTP
lim.release1.0 ms to 1.00 s80.0 ms
lim.hold0.0 to 50.0 ms5.0 ms
lim.lookahead0.0 to 5.0 ms1.5 ms
JacksNames
Inlim.in, lim.sc
Outlim.out, lim.gr

Presets

Streaming −14, EBU −23, Club −9, Mastering gentle, Spare headroom, Drum bus.

Sources: FabFilter Pro-L 2 product and help pages, read 17 October 2026.

SAT · 06

Modulr Sat

On sale

Three modes, each a specified curve, and a spec sheet because no page read publishes one.

Tape, Console and Tube. The console curve sits at +6.0 dB of drive beside a 220 Hz sine at −6.0 dBFS before it, and after it. The tube mode has its second harmonic at −23.0 dB with the bias at +30 %. The noise floor is below −140 dBFS and the aliasing is below −100 dB at 4×.

The tape tier carries the four knobs a tape machine actually has: 15 to 30 ips at 23, a bias at ±100 %, a hiss at 0 %, and a wow at 0 %. The seeded noise is −58 dBFS at 100 % and the wow depth is 0.20 ms at 100 %.

KeyRangeDefault
sat.modeTape, Console, TubeConsole
sat.drive0.0 to +36.0 dB+6.0 dB
sat.tone−100% to +100%0% (FLAT)
sat.mix0% to 100%100%
sat.output−18.0 to +18.0 dB0.0 dB
sat.oversampleOff, 2×, 4×, 8×4×
sat.xoverOff, LR12, LR24, LR48Off
sat.band1 Low, 2 Mid, 3 High2 Mid
sat.band.freq400 Hz to 12.0 kHz6.00 kHz
sat.band<N>.drive0.0 to +36.0 dB+6.0 dB
sat.tape.speed15 to 30 ips23 ips
sat.tape.bias−100% to +100%0%
sat.tape.hiss0% to 100%0%
sat.tape.wow0% to 100%0%
sat.tube.bias−100% to +100%+30%
JacksNames
Insat.in, sat.cv1
Outsat.out, sat.noise

Presets

Console 06, Console 12, Console 18, Tape A, Tape B, Tube A, Band High.

Sources: FabFilter Saturn 2 and the Slate Virtual Tape Machines, Virtual Console Collection and Fresh Air pages, read 17 October 2026.

VRB · 07

Modulr Verb

On sale

Plate, Room and Hall — three settings of one network — with a continuous size and six bands that shape the decay.

The six decay-rate bands each hold a change of ±6.0 dB, scaled by a factor between ×0.25 and ×4.00. At the defaults the bands sit at 100 Hz, 250 Hz, 630 Hz, 1.60 kHz, 4.00 kHz and 10.00 kHz, with +1.0, +0.5, 0.0, −1.0, −2.5 and −4.0 dB of change.

The T60 runs from 2.75 s at the bottom of the band to 1.04 s at 16 kHz. The tail is the pre-delay plus the longest T60 — 2.78 s at the defaults, 133,251 samples at 48 kHz — and 48.25 s at the most. The latency is 0 samples, and the size slews at 0.01 samples a sample.

KeyRangeDefault
verb.modePlate, Room, HallHall
verb.size0% to 100%45%
verb.decay0.20 to 12.00 s2.20 s
verb.predelay0.0 to 250.0 ms24.0 ms
verb.damp0% to 100%55%
verb.width0% to 150%100%
verb.mix0% to 100%30%
verb.duck0% to 100%0%
verb.freezeoff, onoff
verb.rate<N>.freq40 Hz to 20.00 kHz100 Hz, 250 Hz, 630 Hz, 1.60 kHz, 4.00 kHz, 10.00 kHz
verb.rate<N>.gain−6.0 to +6.0 dB+1.0, +0.5, 0.0, −1.0, −2.5, −4.0 dB
verb.cv1.amount−100% to +100%0%
JacksNames
Inverb.in, verb.sc, verb.cv1
Outverb.out, verb.env

Presets

Medium hall is factory preset 02 and the default state: DECAY 2.20 s, six decay-rate bands, a 24 ms pre-delay.

Sources: FabFilter Pro-R 2 and Native Instruments Raum product pages, read 17 October 2026.

DLY · 08

Modulr Delay

On sale

Six taps, a drive and two filters in the loop, and a time change that is either tape-like or free of pitch.

The stereo line is 2.00 s. Each of the six taps is a ratio of TIME, from ×0.125 to ×4.00, and each has a level. The default is 375.0 ms — an eighth note dotted at 120 BPM — with the feedback at 50 %, a 120 Hz high-pass and a 5.20 kHz low-pass in the loop.

Tape glides at most 0.25 s a second and bends the pitch by −498 to +386 cents; Digi crosses over in 20 ms and leaves the pitch alone. The tail is 4.875 s at the defaults and 272 s at 95 % feedback with the time at 2.0 s. The latency is 0 samples.

KeyRangeDefault
delay.routingStereo, Ping-pong, SpreadStereo
delay.glideTape, DigiDigi
delay.time1.0 ms to 2.00 s375.0 ms
delay.syncFree, 1/4, 1/8, 1/8D, 1/16, 1/16D, 1/321/8D
delay.fb0% to 95%50%
delay.mix0% to 100%30%
delay.spread0% to 100%70%
delay.tap<N>.ratio×0.125 to ×4.00×0.25, ×0.50, ×1.00, ×1.50, ×2.00, ×3.00
delay.tap<N>.level0% to 100%60%, 85%, 70%, 45%, 30%, 20%
delay.drive.amount0% to 100%20%
delay.tone.lp200 Hz to 20.00 kHz5.20 kHz
delay.tone.hp20 Hz to 1.00 kHz120 Hz
delay.mod.depth0% to 100%12%
delay.mod.rate0.05 to 10.00 Hz0.35 Hz
JacksNames
Indelay.in, delay.sc, delay.cv1, delay.fb.rtn
Outdelay.out, delay.fb.snd

Presets

Dotted eighth is factory preset 01: 375.0 ms at an eighth note dotted and 120 BPM, feedback 50 %, six taps, loop filters at 120 Hz and 5.20 kHz.

Sources: FabFilter Timeless 3 and Native Instruments Replika XT product pages, read 17 October 2026.

RCK · 09

Modulr Rack

On sale

Up to sixteen slots, any output jack cabled to any input jack, and one reported latency for the whole chain.

A module’s keys are the product’s keys led by its slot id — s2.eq.band1.gain — and a cable endpoint is a module and a jack, s1:comp.gr. The plan compiles into a flat list sorted by destination, six bytes a cable, 512 at most, 3,072 bytes.

The master ends every cable path with a guard, not a limiter: rack.gain as a 20 ms ramp, then a soft limiter scaled to rack.ceiling. It holds a sample peak, and it adds no latency. The Rack reports one latency, the longest path, in whole samples. On the Vocal bus preset that is 117, because the limiter is in the chain.

KeyRangeDefault
rack.gain−30.0 to +12.0 dB0.0 dB
rack.ceiling−30.0 to 0.0 dB0.0 dB
rack.bypassoff, onoff
macro.m<N>0% to 100%0%
JacksNames
Inrack.in
Outrack.out, macro.m1 to macro.m8, rack.gr

Presets

Four factory racks: Vocal bus, Synth bus, Parallel crush, and Loop through the equaliser.

Sources: Slate Digital Virtual Mix Rack 3.0 and Native Instruments Guitar Rig 7 Pro product pages, read 17 October 2026.

HUB · 10

Modulr Hub

On sale

One list of the suite: install it, verify it, update it, hold the licences, sync the presets.

A library row is in one of four states, each one LED and one action: installed, update available, updating, and available. The check for updates runs at launch and at most once in 24 hours, never from a plug-in, and Auto-update is off, so an update installs on a click.

A licence is a signed JSON file read at load, capped at 4 KiB and verified with a key built into the plug-in. A lapse never alters a saved project, a preset or audio that is playing; it changes only the next DSP object. An unlicensed instrument renders silence and an unlicensed effect passes its input through.

This product has no parameter rows of its own. It is an application: it installs, verifies, updates, holds the licences, syncs the presets and carries the controller profiles.

Presets

The sync panel mirrors the preset folder with a folder the user chooses. A file changed on both sides is kept twice, the second with a .conflict suffix, and a deleted file moves to .trash for 30 days. Nothing is overwritten.

Sources: Native Instruments Native Access 2 and Slate Digital Complete Access product pages, read 17 October 2026.

Questions

Asked of the book, answered from it.

Which hosts and formats does it run in?

VST3 and Audio Unit v2 on macOS arm64 ship. Ableton Live 12.4.6 and the in-repo probe are the only hosts that have loaded Modulr 0.1.0, the build measured so far. Windows VST3, CLAP, AUv3, AAX, macOS x86_64 and Linux are each Proposed or Open with a cost in engineer-weeks.

Measured
Does the equaliser add latency?

Zero reports 0 samples and Natural 0; Linear reports 2,048. Zero is not free of delay: a minimum-phase section has a group delay that peaks at a bell’s centre, 5.8 samples for a +6 dB, Q 3 bell at 6.2 kHz.

Proposed
Can I undo a knob drag?

Every edit is one reversible row in a per-instance journal: a knob drag, a cable edit and a preset load each. The journal keeps 4,000 commands, then collapses to one snapshot that cannot be undone, and it is not saved with the project.

Measured
Can I read a preset without the plug-in?

Every file a suite product writes is JSON, never binary. The synth’s eight factory patches are one file of 7,864 bytes. The schema stamp and the migration chain are Proposed; on Modulr 0.1.0 neither file has a version field.

Measured
Can one product drive another?

In Modulr Rack, any output jack cables to any input jack across up to sixteen slots: a compressor’s gain reduction can pull a band of the equaliser. The Rack is on sale; the cabling is as the book specifies it.

Proposed
Is there a subscription?

Yes, three: $9.99 a month for the plug-ins and the synth, $15.99 for Legendary, the catalogue, and $29.99 for everything, Roadie included. A plug-in is $20 bought once, a synth $25, Roadie $49, and everything $450. The book rejected subscription-only, not a plan beside one-time licences: a lapse never alters a saved project, a preset or audio that is playing, it changes only the next DSP object. The shop is open.

Proposed
How much CPU does an instance use?

No page read publishes a figure for one instance, and the suite states a per-instance budget to be measured by the rig. For Modulr 0.1.0 only the file sizes were measured: 4.66 MB a format.

Estimate
Where do presets live?

One JSON file per preset, in a documented folder, with a schema stamp and a migration chain. The Hub syncs them. Modulr 0.1.0 ships eight factory patches; the equaliser’s preset list is Bus Tilt, Mud Cut, Box Cut, Air Shelf, De-Esser, Ring Tame, Master Phase and Side Lift.

Proposed
The design system

One instrument. Ten faces.

A dark room, a rack, cream faceplates, one orange accent and six cable colours. Nothing is glossy, and nothing is lit except an LED, a pointer and the trace on a display.

--mr-bgthe room
--mr-rackthe rack
--mr-rack-edgerack outline, header rule, readout border
--mr-facethe cream faceplate
--mr-inkink on cream
--mr-ink-softthe faceplate subtitle
--mr-dividerthe faceplate hairline
--mr-screwthe screw
--mr-texttext on the dark page
--mr-mutedmuted text on the dark page
--mr-accentthe one accent: live, selected, held peak
--mr-accent-hothover and links
--mr-displaythe display well
--mr-scope-gridthe display grid
Room and rack#121110bg#1c1b19rack#2a2825rack-edgedisplay-line#aaa498rail-a#6f6a62rail-bFaceplate#e6e1d3facetext#1a1917inkdark-face#6b675eink-soft#c9c3b2divider#b5ae9cscrewKnob#45423cknob-hi#161513knob-lo#d3cdbdknob-ring#b9b2a0knob-ring-edgeJack#0b0a09jack-holedisplay#d9d3c4jack-faceText on dark#f1ece0text-brightpointer#8d877amutedjack-ringAccent#ff6a2baccent#f2c14eaccent-hotDark module and display#2e2c28dark-edge#3a3833dark-lineled-off#24221fscope-grid#4a4741outlineCable slots 0 to 5#ff6a2bcable-0= accent#f2c14ecable-1= accent-hot#3fb8a9cable-2#e8505bcable-3#7b93ffcable-4#efeaddcable-5Where the prototype and the shipped editor partDark faceplate screw#5a564eprototype#3a3833shippeddark-lineVolume knob (OUT)prototypeshippedHover colour#f2c14eaccent-hotdefined in tokens.css,used by no view
The shipped token sheet: 28 distinct hex values under their shipped names, read from the plugin’s own tokens.css. Measured.
RESTshippedHOVERpartly shippedDRAGpartly shippedFOCUSproposedDISABLEDpartly shippedPATCHEDshippedKNOBJACKSWITCHBUTTONRESRESreadout showsname and valueVCF · RES10.7 dBRES220 px = full rangeRESRES—plug is the cueon the CV jackININOUTININOUTINLPBPHPLPBPHP—one click is one gestureLPBPHPLPBPHP—RUNRUN—one click is one gestureRUNRUN—BUTTONdark plateBYPASSBYPASSBYPASSBYPASS——
The state matrix. The focus ring and the disabled and bypassed states are Proposed; the rest ship.
ControlTodayThe gestureThe suite adds
Knob62 px big, 38 px small, 34 px stepvertical drag of 220 px, Shift for fine; double-click resets to the defaultfocus rings, keys, typed entry
Jack26 pxpress and drag to another jack; a plugged input lifts its newest cablea lift and a drop, by keyboard
Cablethe colour slot cycles through sixnext colour slot, one hop; sag 0.3 of the spana cable is the plug and the cue on it
Segmented switchone click, one valuethe active segment is inverteda dark tone and a button
Scope152 × 90 CSS px, 600 samplesone canvastraces, fills and axes
Meternone today8 × 3 px segments, 2 px apartlit, overload and peak-hold segments
Read-outthe name and the value on hover and on dragheld 900 ms after the gesture endsthe one place a value is edited
Panel500 px tallthe heading, the caption, the width, the gap, the dark tonecream or dark per faceplate
Under the hood

Seven layers. One seam.

Every product reaches the host, the store and the screen through the same seven layers, and plugs in at one seam: a Product value and a DSP trait.

1Hostthe DAW; the host is not oursthe main thread and the audio thread
2Format layervst3.rs, au.rs, AlloyAUView.mthe audio thread and the main thread
3DSPnew_dsp builds a Box-dyn Dsp; the product’s modulesthe audio thread
4Engine and storeloom-core Store, journal, undo, the overlay, the mirrorany thread behind one Mutex
5Loom socketloom.rs, ws.rs, the plugin.* commandstokio, two workers
6Editor shelleditor.rs, the wry web viewthe main thread
7Viewsnine .ui.ig sources, three .ts libs, 22 files, 208,647 bytesthe WebKit page

What the audio thread may never do

  • The audio thread allocates nothing, takes no lock — a try_lock included — makes no system call and writes no log.
  • Parameters reach the DSP only through the lock-free mirror, and the product smooths them: 14 of the synth’s 31 parameters, and every sample of delay is reported.
  • Every sample of delay a product adds is reported to the host, and every sample of tail, and both are equal to the measured value in the current mode.
  • A value that jumps does not click: the smoothed parameters hold their worst step under 0.04.
How it was planned

Five milestones, as the book set them.

The book’s plan for building the suite, kept for the record: each milestone ends when its invariants pass, and the platform rows add up to 17 to 26 engineer-weeks. Every product is now on sale, on the owner’s word of 24 October 2026; AUv3, Linux and AAX stay unscheduled.

M1Foundations

No new product. Modulr 0.1.x another product can install; Developer ID signed and notarised; state schema 1 with a migration; source under version control with a CI job; a probe rig that measures CPU, memory, open and frame time. The VST3 SDK route settled.

11 to 18 working days

M2First effect

Modulr EQ in Zero, Natural and Linear modes. One component library — knob, jack, panel, switch, ladder, well — shared by the synth and the equaliser. The analyser feed, auval and user presets.

6 to 9 days

M3Dynamics

Modulr Comp, Modulr MB and Modulr Limit. The oversampler at 79, 27 and 19 taps, true-peak and LUFS meters, gain-reduction and loudness streams. Windows VST3 if the spike held.

Windows VST3 8 to 12 weeks

M4Rack, Hub

Modulr Rack with 16 slots, a third product kind and latency alignment, and Modulr Hub with the installer, licence files, rollback, preset sync and controller profiles. MIDI learn through the journal.

7 to 11 days

M5Colour, time

Modulr Sat, Modulr Verb, Modulr Delay and Modulr 1.0 with voices, noise, macros and oversampling. CLAP and macOS x86_64.

CLAP 3 to 4 weeks; x86_64 1 to 2

Glossary

The words, defined once.

cableOne connection from an output jack to an input jack, stored as from, to and a colour slot. Several cables into one input sum.
evaluation orderThe order in which a product runs its modules each sample: SEQ, LFO, ENV, VCO, VCF, VCA, DLY, OUT for the synth.
panel orderThe order of the faceplates in the window: SEQ, VCO, LFO, VCF, ENV, VCA, DLY, OUT. It is not the evaluation order.
gain reductionThe gain a compressor or limiter takes off, in positive decibels. comp.gr carries 0 to 1 V for 0 to 18 dB.
guardA clamp or stage that stops a value running away. The Rack’s master is a guard, not a limiter.
journalThe loom-core store’s command log. Each committed command is one row; it holds 4,000 commands.
keyThe lower-case dotted string that names a parameter: vcf.cut, eq.band1.freq, and inside the Rack s2.eq.band1.gain.
latencyWhole samples of delay from input to output at the current settings, never rounded down, added in series and reported to the host.
mirrorThe lock-free parameter mirror: one atomic per parameter, read by the DSP with one relaxed load.
mono busOne signal written to both output channels. The book does not call the synth’s output stereo.
one-sample delayWhat a cable carries when its source is evaluated at or after its destination: 20.8 µs at 48 kHz.
true peakThe peak of the reconstructed signal between the samples, read in dBTP. A sample peak under-reads it.
Spec sheet

The suite in numbers, and the roster.

MeasureIn the book
Parameters305
31 measured on Modulr 0.1.0, 274 as the book specifies; 220 continuous, 55 choice, 30 toggle
Products10
all on sale
Jacks23 on Modulr 0.1.0
and 46 across the suite, counting the Rack’s own
Invariants31
nine hold, eight hold in part, four fail, ten have no test
Bar rows95
146 verdicts; 25 of them Exceed
Bundle4.66 MB a format
9.32 MB the pair for the synth; 5.5 and 10.9 for the Rack
Tests119 across the workspace
62 test functions in the crate, 61 run by default
ProductKindThe field it is measured againstParamsStatusCh
ModulrModular synth, instrumentNI Reaktor 6 (Blocks)31; 64 in 1.0On saleCh 3, 11
Modulr EQDynamic, linear-phase, mid/side equaliserFabFilter Pro-Q 4; Slate Infinity EQ 290On saleCh 12
Modulr CompMulti-style compressorFabFilter Pro-C 3; Slate FG-Stress15On saleCh 13
Modulr MBMultiband dynamicsFabFilter Pro-MB36On saleCh 13
Modulr LimitTrue-peak limiter, loudness meteringFabFilter Pro-L 210On saleCh 14
Modulr SatTape, console and multiband saturationFabFilter Saturn 2; Slate VTM, VCC, Fresh Air26On saleCh 15
Modulr VerbReverb with decay-rate EQFabFilter Pro-R 2; NI Raum24On saleCh 16
Modulr DelayModulated, patchable delayFabFilter Timeless 3; NI Replika XT29On saleCh 16
Modulr RackThe container: every product as a moduleSlate Virtual Mix Rack 3.0; NI Guitar Rig 7 Pro, Reaktor 6, the Komplete Kontrol chain11On saleCh 17
Modulr HubInstaller, licensing, presets, updatesNI Native Access 2; Slate Complete AccessnoneOn saleCh 24

The twelve decisions

DecisionWhat it commits the suite toIn the book, October 2026
D-1One framework
Every product is a Product: a Dsp, a ParamSpec table, jacks, presets, an editor size and Ignis views; no JUCE
Holds: two products
D-2The store is the truth
Parameters, cables and preset state live in the loom-core store; an edit is a Loom command
Holds
D-3Everything is patchable
Each product exposes jacks; cables run per sample in a declared evaluation order
Partly: Modulr only
D-4Audio-thread discipline
No allocation, lock, system call or log on the audio thread; latency and tail reported exactly
Partly: both format layers lock; latency a constant 0
D-5The editor is Alloy
A wry/WebKit view and Ignis components built through eleven gates; no connection but the Loom socket
Holds
D-6The wire stays hardened
ws.rs as it is; a new plugin.* command is added to Appendix B and nowhere else
Holds: 16 of 16 README claims
D-7Tested the Modulr way
Golden tables, rendered presets, a parity rig, the probe and auval; else a null test or a measured spec sheet
Partly: Modulr only
D-8One control vocabulary
Knob, jack, panel, switch, scope and meters on one token set: a skin, never a toolkit
Partly: seven components, no meters
D-9Open state
Presets and project state are JSON with a schema stamp, readable without the plug-in, never binary
Partly: JSON, no version
D-10Formats are promises
VST3 and Audio Unit v2 on macOS ship; every other format is Proposed or Open with a stated cost
Holds; Live save and reopen not done
D-11Budgets, not adjectives
Five numbers a product: CPU, frame time, open time, bundle size, memory
Partly: only file sizes measured
D-12Honest competition
Bar tables cite the vendor’s page, tagged Reported; an Exceed rests on a framework difference
Partly: two bars have no source

The six bars the field sets

BarWhere the field is (Reported)Where Modulr isDecision
Display-driven editingPro-Q 4: bands created and reshaped on the display; EQ Sketch; Spectrum Grabevery display gesture must become a command in the Loom storeD-2, D-5
Analyser qualityPro-Q 4: pre, post and external spectra; 1,024 to 8,192 points; freeze; collision markingone spectrum, 256 points from a 4,096-point FFT; the range, tilt and hold are openD-5, D-7
Oversampling and linear phasePro-Q 4: Zero Latency, Natural Phase and Linear Phase in five resolutions, 3,072 to 66,560 samplesOff, 2×, 4× or 8×, and the latency reported exactlyD-4, D-10
Preset ecosystemsFabFilter: a browser with tags, favourites and search; .ffp filesone JSON file per preset, versioned and migratedD-9
Controller integrationNKS: eight knobs taking the key parameters when a preset loads; a displayan open JSON profile per product, learn, three takeover modesD-2, D-6
CPUno page read publishes a figure for one instancea stated per-instance budget, measured by the rigD-11

The wire

CommandWhat it carriesDirection
plugin.instancesevery live instance, with its format and hostread
plugin.hellothe twenty-key snapshot: state, param specs, jacks, presets, history, transport, meter, step, editor sizeread
plugin.param-setone plain value, clamped; a value equal at f32 precision changes nothingwrite
plugin.param-begin / plugin.param-endthe gesture bracket round a dragwrite
plugin.cable-connect / plugin.cable-disconnectone reversible cable row, with a colour slotwrite
plugin.preset-loadone reversible row; the name is the identitywrite
plugin.undo / plugin.redothe store’s stackwrite
plugin.journalthe command log, newest first; 50 rows by default, 200 at mostread
plugin.statethe whole state, the history and the source, after every changeevent
plugin.meterthe largest sample of the last block, in and outevent, every 33 ms
plugin.transporttempo, playing, position, sample rate, beatevent, every 33 ms
plugin.scope600 values, rounded to 1e-4event, every 33 ms

The state a project saves

MemberTypeRule
formatmodulr.statethe stamp; without it the document is schema 0, which is read for life
schemaan integercounts breaking changes only
kindstate, preset, bank, racka state restores as state.replace and needs its preset
producta slugthe Product.id, checked only when the format is present
paramsa key to a numberthe product’s plain values; sparse reads, dense writes
cablesfrom, to and a colour slotone f32 per sample per cable
presets / slotsa bank’s entries; a rack’s slotsa slot’s doc is its product’s body with its own schema

Type

RoleFaceSizeTracking
Wordmark modulrArchivo30 px, 800−0.03 em, lower
Panel titleArchivo26 px, 800−0.02 em, as typed
Panel captionIBM Plex Mono9 px, 400.14 em, upper
Knob label: big, small, stepIBM Plex Mono10, 9, 10 px, 600.12 em, upper
Jack labelIBM Plex Mono9 px, 600.12 em, upper
Switch segment; RUN buttonIBM Plex Mono10 px, 600.12 em; .14 em, as typed
Read-out wellIBM Plex Mono12 px, 400.06 em, as typed
Status pillIBM Plex Mono11 px, 600.14 em, upper

States

StateTodayThe suite’s rule
Restthe knob shows the read-out; the cursor changes; no colour changeshipped
Hoverthe read-out shows the knob’s name and value; the cursor changespartly shipped
Dragthe read-out holds the name and the value for 900 ms after the gesture ends; a pulled cable is drawn to the pointer with its free endshipped
Focusnoneone ring round the control and its label, 2 px wide and 2 px clear; ink on a cream plate, text-bright on a dark one
Disabledundo and redo at .35, the default cursorany control at .35, not hoverable, not focusable
Patcheda plug in the cable’s colour sits over the jackunchanged; a patched CV input leaves its knob alone and the plug is the cue
Bypassednone; a bypass flag exists, with no crossfadethe bypass button engaged, the display at .35, the controls live

Tokens

TokenValueRole
--mr-bg#121110the room
--mr-rack#1c1b19the rack
--mr-rack-edge#2a2825rack outline, header rule, readout border
--mr-face#e6e1d3the cream faceplate
--mr-ink#1a1917ink on cream
--mr-ink-soft#6b675ethe faceplate subtitle
--mr-divider#c9c3b2the faceplate hairline
--mr-screw#b5ae9cthe screw
--mr-text#e6e1d3text on the dark page
--mr-muted#8d877amuted text on the dark page
--mr-accent#ff6a2bthe one accent: live, selected, held peak
--mr-accent-hot#f2c14ehover and links
--mr-knob-hi / --mr-knob-lo#45423c / #161513the knob body
--mr-jack-hole / --mr-jack-ring#0b0a09 / #8d877athe jack
--mr-display#0b0a09the display well
--mr-scope-grid#24221fthe display grid

Three differences, and their limits

D-2 · One command log is the undo, the audit trail and the scripting surface

A knob drag, a cable edit and a preset load are one reversible journal row each, and every editor action is a plugin.* command, so a script reads the same log.

The honest limit: The journal keeps 4,000 commands and then collapses to one snapshot that cannot be undone; it lives in memory and is not saved with the project.

D-3 · A signal from one product will drive a parameter of another

Modulr Rack holds the synth and the seven effects in up to 16 slots, and any output jack can be cabled to any input jack. On the Vocal bus preset, 4.8 dB of reduction moves band 1 from −6.0 dB to −8.4 dB while the stored knob stays at −6.0 dB.

The honest limit: The 4.8 dB example is the book’s worked figure, not a measurement on a shipped build. Whether a control cable should be aligned to the audio it modulates is an open question.

D-9 · State a person can read without the plug-in

Every file a suite product writes is JSON with an integer schema stamp, readable without the plug-in, migrated forward and never binary. Modulr’s factory patches are one file of 7,864 bytes for the eight.

The honest limit: Open state is a difference only once it carries a version. On Modulr 0.1.0 neither file has a version field or a migration, and a key the reader drops leaves no trace.

Every manual on this page is the specification’s own parameter table; the synth’s was measured, the rest are the book’s figures.MeasuredThe measured build is Modulr 0.1.0: eight modules, 31 parameters, 23 jacks, eight factory patches, loaded in Live 12.4.6. The other nine manuals are the book’s tables for products that are on sale, and their figures are budgets and targets, not measurements.

Every figure on this site is from “Modulr — the audio suite: design and architecture specification”, October 2026, and carries that book’s tag: Measured, Proposed, Estimate, Reported or Open question. The one exception is the prices: they are the owner’s, set on 24 October 2026, and neither book names one.