mxm-mono-02
Architecture reference Roland SH-2Independent homage · not affiliated with Roland Corporation
Stack two oscillators, add the sub, then decide what one envelope should do to all of it.
The voice, presets, MIDI handling, external-input layout, and editor are built. Visual sign-off, DAW testing, and hardware listening remain open.

Sound
mxm-mono-02 takes its voice from the Roland SH-2 and starts with two free-running oscillators. Detune them by a few cents and the beat becomes the sound. Move VCO-2 into its wide tuning range and the same control turns into an interval selector. A sub-oscillator stays locked one octave below VCO-1.
Each oscillator plays one waveform at a time. VCO-1 has sine, saw, square, and pulse. VCO-2 swaps the sine for noise. The saw keeps the small discharge corner of an analogue reset, while the sine comes from a triangle rounded through a diode model.
One pulse-width section controls both oscillators. Manual width can give way to the envelope or LFO, but there is still only one width relationship across the pair.
The filter is a four-stage OTA cascade with the diode clamp shown by the SH-2 schematic. It self-oscillates near the top fifth of the resonance control. Bass falls away as resonance rises. No compensation has been added to make the response tidier.
One envelope, three jobs
The ADSR can drive the filter, the amplifier, and pulse width. Its trigger has three modes, including one that refires from the LFO while a key remains down. The LFO itself offers sine, square, and random. Delay fades in the sine only; square and random arrive at full depth.
The keyboard is low-note priority. A higher note pressed over a lower held note does nothing until the low note leaves, and the trigger only fires when the new note comes from below. HOLD leaves the amplifier open with no key down. All Sound Off cuts that drone and keeps it silent until a deliberate restart.
Interface
Seven cards follow the path from Modulator and Oscillator through Mixer, Filter, Envelope, Amplifier, and Voice. The oscillator card keeps both VCOs together. The filter card shows two curves: where the control is set and where modulation has pushed the cutoff.
A mixer scope displays the signal before the filter. It makes detuned saws, a locked sub, and noise easier to understand than three level readings alone.
The window opens wide enough for the full instrument, then reflows to a single-card floor. Cards in one row share a bottom edge, and parallel controls stay together. Zoom runs from 75% to 200% without feeding back into the layout.
Presets
Fifty factory patches cover beating saws, sub bass, square leads, pulse-width sweeps, delayed vibrato, random filter motion, gate stabs, auto-bend dips, fifths, slow glide, and LFO trills.
Init starts with VCO-1 saw through an open filter. VCO-2 is three and a half cents sharp, ready to beat as soon as its mixer level rises. User presets use the collection browser with categories, banks, favourites, and search.
Status
| Current state | |
|---|---|
| Format | CLAP instrument; optional auxiliary audio input in a second configuration |
| Target systems | Windows, macOS, Linux |
| Editor | Built; full visual QA still open |
| Validation | Project tests and clap-validator pass in the collection repository |
| Commercial DAW | Not yet tested |
| Hardware fidelity | Unverified; values come from SH-2 service information and project measurements, not a unit |
| Licence | MIT |
The optional input has been tested through the plugin model, but a commercial host still needs to confirm configuration selection and routing.
Independent homage
mxm-mono-02 is modelled on the Roland SH-2
Roland and SH-2 are trademarks of Roland Corporation. They appear here only to name the hardware whose architecture informed this plugin.
MXM is an independent project with no affiliation with, authorisation from, sponsorship by, or endorsement by Roland Corporation. No original firmware, samples, artwork, or panel graphics are used or distributed, and no MXM product is sold or described as a Roland product.
Source at release
The repository is private while development and release work continue. The source is not publicly accessible yet.