Skip to content

MIDI Control

Mauro Moreno edited this page Aug 30, 2026 · 2 revisions

MIDI Control

MIDI behavior depends on the host format. Browser, CLAP, VST3, and standalone builds receive controllers through different protocols, so a mapping available in one target may not be available in another.

Host support matrix

Capability Browser CLAP VST3 Standalone
Note on/off Yes Yes Yes Yes
Pitch bend Yes Yes No dedicated mapping Yes
Program Change Yes Yes Via VST3 program parameter No
Bank Select CC 0/32 Yes Bank 0 only No No
Patch CC assignments (parameters 86–89) Yes Yes No raw CC path Yes
Configurable panel/desk mapping Yes No No No
Fixed VST3 Sound Controllers Not required No Yes No
CC 7 master volume Yes Not plugin master No No

Notes and pitch bend

All builds accept MIDI note-on and note-off. The browser, CLAP, and standalone builds also pass pitch bend to the engine, using the bend range stored in the patch. The current VST3 adapter does not expose a dedicated pitch-bend mapping.

Program and bank selection

A bank contains 128 slots because MIDI Program Change addresses programs 0–127. Behavior for an empty slot differs by host:

  • Browser: loads the Init sound.
  • CLAP: leaves the current sound unchanged.
  • VST3: records the requested program index but retains the current sound.
  • Standalone: does not implement Program Change.

In the browser, CC 0 (MSB) and CC 32 (LSB) establish a pending bank number. The next Program Change selects the program from that bank. The combined number is

bank = 128 · MSB + LSB

CLAP accepts the same messages but currently exposes only bank 0. VST3 and the standalone host do not implement MIDI Bank Select.

Browser controller mapping

The browser receives raw Web MIDI messages. Its configurable controller map can assign incoming CC messages to panel parameters. Open CONFIG to manage it:

  • Learn: select a row, then move the required hardware control.
  • Remove: clear the selected assignment.
  • Add assignment: create another mapping row.
  • Standard: restore the standard Sound Controller assignments.

The browser stores these desk-level assignments in local storage. They are not part of patch data. CC 1 updates modulation-wheel state, and CC 7 controls browser master volume.

Patch controller assignments

Patch parameters 86–89 define two CC sources and their destinations. These assignments travel with the patch and are distinct from the browser's configurable desk map. Raw CC messages reach this patch routing in the browser, CLAP, and standalone builds.

VST3 controller mapping

VST3 hosts translate MIDI controllers to plugin parameters through IMidiMapping. Quesynth currently publishes the following fixed mappings:

MIDI CC Standard name Quesynth parameter
10 Pan Amplifier pan

Clone this wiki locally