From 526025840c6fec4bd87cb0d2d427d049b88ccd18 Mon Sep 17 00:00:00 2001 From: Armin Date: Tue, 8 Sep 2026 15:14:40 +0200 Subject: [PATCH] fix README dashes --- README.md | 46 +++++++++++++++++++++++----------------------- 1 file changed, 23 insertions(+), 23 deletions(-) diff --git a/README.md b/README.md index 9dd632f..f821cdc 100644 --- a/README.md +++ b/README.md @@ -1,15 +1,15 @@ -# RMX-19 — 19" Rack Digital Sound Module (VST3 / AU) +# RMX-19 - 19" Rack Digital Sound Module (VST3 / AU) RMX-19 is a virtual analog synthesizer implemented as an audio plugin. It is styled as a piece of 19-inch studio rack hardware from the late 1980s / early 1990s, complete with a working dot-matrix LCD, a metal faceplate, nav-diamond -buttons, and a green-on-black display — but underneath it is a fully modern +buttons, and a green-on-black display - but underneath it is a fully modern JUCE-based software instrument that runs inside any DAW that hosts AU or VST3 plugins on macOS (Apple Silicon). The plugin is a self-contained subtractive synth: two oscillators, a state-variable filter, dual envelopes, an LFO, a built-in FX unit (chorus / -delay / space), and a factory patch bank — all edited and browsed through the +delay / space), and a factory patch bank - all edited and browsed through the on-screen LCD instead of a conventional panel of knobs. ![RMX-19 screenshot](shot.png) @@ -54,10 +54,10 @@ on-screen LCD instead of a conventional panel of knobs. The FX unit is stacked **chorus** and **delay**, selectable via **FX TYPE**: -- **OFF** — bypass. -- **CHORUS** — modulated short delay (uses the FX time as a base). -- **DELAY** — ping-pong-style feedback delay with a cross-feedback network. -- **SPACE** — a combination of chorus + delay (widened stereo ambience). +- **OFF** - bypass. +- **CHORUS** - modulated short delay (uses the FX time as a base). +- **DELAY** - ping-pong-style feedback delay with a cross-feedback network. +- **SPACE** - a combination of chorus + delay (widened stereo ambience). **FX DEPTH** sets the wet/dry mix; **FX TIME** sets the delay time in seconds when running free. Crucially, the delay can also be **quantized to the host @@ -100,12 +100,12 @@ DAW's own program list. The plugin looks like a 19" rack unit sitting in your DAW. The main elements: -- **LCD display** — the green-on-black dot-matrix screen where all editing +- **LCD display** - the green-on-black dot-matrix screen where all editing happens. -- **Nav diamond** (`▲ ▼ ◀ ▶`) — move the cursor / change values. -- **ENTER** and **BACK** — confirm a selection or return to the previous +- **Nav diamond** (`▲ ▼ ◀ ▶`) - move the cursor / change values. +- **ENTER** and **BACK** - confirm a selection or return to the previous screen. -- **UI scale** dropdown (bottom-right) — resize the whole rack anywhere from +- **UI scale** dropdown (bottom-right) - resize the whole rack anywhere from 50% to 300%. - A **power LED** and cosmetic backplate graphics round out the hardware illusion. @@ -117,14 +117,14 @@ navigation, **Return / Space** for ENTER, and **Escape** for BACK. The interface is a small nested menu system: -1. **SPLASH** — the boot-up screen; press ENTER to continue. -2. **HOME** — shows the current patch number, name, category, and a live +1. **SPLASH** - the boot-up screen; press ENTER to continue. +2. **HOME** - shows the current patch number, name, category, and a live voice-activity bar. Use ◀/▶ (or ▲/▼) to step through patches. -3. **MENU** — eight destinations: +3. **MENU** - eight destinations: `PATCH`, `VOICE`, `FILTER`, `ENVELOPE`, `LFO`, `FX`, `MASTER`, `ABOUT`. -4. **PATCH** — scroll through the factory bank; press ENTER to load the +4. **PATCH** - scroll through the factory bank; press ENTER to load the highlighted patch. -5. **VOICE / FILTER / ENVELOPE / LFO / FX / MASTER** — parameter screens. +5. **VOICE / FILTER / ENVELOPE / LFO / FX / MASTER** - parameter screens. Highlight a row and use ◀/▶ to adjust it (defaults to fine steps). #### The parameter screens @@ -177,20 +177,20 @@ the host map onto the factory bank. ## DSP notes -- **Voice engine** — each voice is a classic two-osc → mix → SVF filter → +- **Voice engine** - each voice is a classic two-osc → mix → SVF filter → amp-envelope chain. The oscillator mix is a crossfade between OSC1 and OSC2, and detune offsets OSC2's frequency (OSC1 × `2^(detune/1200)`). -- **Filter** — a stable Chamberlin state-variable filter; cutoff is modulated +- **Filter** - a stable Chamberlin state-variable filter; cutoff is modulated by the filter envelope, key tracking, the LFO, and the mod wheel, with a smoothed control signal to suppress zipper noise. -- **Envelopes** — exponential ADSRs (attack/decay/release are time-domain +- **Envelopes** - exponential ADSRs (attack/decay/release are time-domain tau-based approximations, sustain is a level). -- **HQ mode** — a MASTER-screen toggle that renders the engine at **2× the +- **HQ mode** - a MASTER-screen toggle that renders the engine at **2× the host sample rate** internally, then downsamples, reducing alias artifacts at high cutoff / bright oscillators. -- **Output stage** — per-sample `tanh` soft-clipping plus a DC-blocking +- **Output stage** - per-sample `tanh` soft-clipping plus a DC-blocking filter, and a master volume gain. -- **FX** — a modulated short delay (chorus) and a cross-feedback delay line +- **FX** - a modulated short delay (chorus) and a cross-feedback delay line (delay). The feedback delay supports host-tempo sync via the SYNC setting. Tail length is sized to fit the longest possible sync delay. @@ -206,7 +206,7 @@ the host map onto the factory bank. - `git` (to fetch the JUCE framework) The build fetches **JUCE 8.0.4** automatically into `build/JUCE` on first -configure — no manual JUCE setup is required. +configure - no manual JUCE setup is required. ### Commands