fix README dashes

This commit is contained in:
Armin 2026-09-08 15:14:40 +02:00
commit 526025840c

View file

@ -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 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 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 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 JUCE-based software instrument that runs inside any DAW that hosts AU or VST3
plugins on macOS (Apple Silicon). plugins on macOS (Apple Silicon).
The plugin is a self-contained subtractive synth: two oscillators, a The plugin is a self-contained subtractive synth: two oscillators, a
state-variable filter, dual envelopes, an LFO, a built-in FX unit (chorus / 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. on-screen LCD instead of a conventional panel of knobs.
![RMX-19 screenshot](shot.png) ![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**: The FX unit is stacked **chorus** and **delay**, selectable via **FX TYPE**:
- **OFF** — bypass. - **OFF** - bypass.
- **CHORUS** — modulated short delay (uses the FX time as a base). - **CHORUS** - modulated short delay (uses the FX time as a base).
- **DELAY** — ping-pong-style feedback delay with a cross-feedback network. - **DELAY** - ping-pong-style feedback delay with a cross-feedback network.
- **SPACE** — a combination of chorus + delay (widened stereo ambience). - **SPACE** - a combination of chorus + delay (widened stereo ambience).
**FX DEPTH** sets the wet/dry mix; **FX TIME** sets the delay time in seconds **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 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: 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. happens.
- **Nav diamond** (`▲ ▼ ◀ ▶`) — move the cursor / change values. - **Nav diamond** (`▲ ▼ ◀ ▶`) - move the cursor / change values.
- **ENTER** and **BACK** — confirm a selection or return to the previous - **ENTER** and **BACK** - confirm a selection or return to the previous
screen. 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%. 50% to 300%.
- A **power LED** and cosmetic backplate graphics round out the hardware - A **power LED** and cosmetic backplate graphics round out the hardware
illusion. illusion.
@ -117,14 +117,14 @@ navigation, **Return / Space** for ENTER, and **Escape** for BACK.
The interface is a small nested menu system: The interface is a small nested menu system:
1. **SPLASH** — the boot-up screen; press ENTER to continue. 1. **SPLASH** - the boot-up screen; press ENTER to continue.
2. **HOME** — shows the current patch number, name, category, and a live 2. **HOME** - shows the current patch number, name, category, and a live
voice-activity bar. Use ◀/▶ (or ▲/▼) to step through patches. 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`. `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. 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). Highlight a row and use ◀/▶ to adjust it (defaults to fine steps).
#### The parameter screens #### The parameter screens
@ -177,20 +177,20 @@ the host map onto the factory bank.
## DSP notes ## 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 amp-envelope chain. The oscillator mix is a crossfade between OSC1 and
OSC2, and detune offsets OSC2's frequency (OSC1 × `2^(detune/1200)`). 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 by the filter envelope, key tracking, the LFO, and the mod wheel, with a
smoothed control signal to suppress zipper noise. 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). 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 host sample rate** internally, then downsamples, reducing alias artifacts
at high cutoff / bright oscillators. 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. 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. (delay). The feedback delay supports host-tempo sync via the SYNC setting.
Tail length is sized to fit the longest possible sync delay. 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) - `git` (to fetch the JUCE framework)
The build fetches **JUCE 8.0.4** automatically into `build/JUCE` on first 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 ### Commands