MIDI & audio input

Two modules connect your patch to hardware outside the browser. The MIDI-CV module lets you play the rack from a hardware MIDI keyboard, pad controller, or sequencer. The Audio Input module brings a live microphone or instrument signal into your patch. Both modules are in the I/O category. You choose the hardware from a Device row on each module's own panel. There is no global settings page.

Modules connect through cables that carry control voltages. A control voltage (CV) is a signal that stands for a value such as pitch, loudness, or a knob position. See Patching for the cable basics.

Play the rack from a MIDI controller

  1. Add a MIDI-CV module.
  2. Click its Device row and pick your controller. The first pick opens the browser's MIDI permission prompt. After you allow it, later page reloads reconnect without asking. Pick — None — to disconnect.
  3. Patch its jacks like any other CV source.

For a basic keyboard voice, patch V/OCT to an oscillator's pitch input and GATE to an ADSR envelope, then run that envelope into a VCA. A gate is a signal that stays high while a key is held and drops when you release it.

The panel shows a gate lamp, the current note name, and a clock lamp that blinks with an incoming clock. Use them to confirm the controller is connected before you patch anything.

The jacks

MIDI-CV is modelled on VCV Rack's MIDI-CV module and has twelve output jacks.

  • V/OCT: pitch, at one volt per octave. 0 V is middle C (C4). It holds the last note's pitch after you release the key.
  • GATE: 10 V while any key is down, 0 V when you release every key. It stays high through legato playing and does not re-pulse. Legato means starting a new note before releasing the last one.
  • RTRG: a short pulse on every note-on, including legato notes. Patch it to an envelope's trigger to restart the envelope on each new note.

The module plays one voice with last-note priority. When you release a key, it falls back to whatever key is still held.

  • VEL: how hard you struck the key (velocity), as 0–10 V.
  • AFT: channel aftertouch (pressure after a key is already down), as 0–10 V.
  • MW: the mod wheel, as 0–10 V.

vxsynth has no MIDI-learn. To send velocity, aftertouch, or the mod wheel to a knob, patch these jacks into a module's CV input.

  • PW: pitch bend, from −5 V to +5 V, centred at 0 V. It is smoothed to avoid stepping ("zipper") noise, the same as the wheels. You set the bend depth: patch PW through an attenuator into the oscillator's V/OCT, alongside the pitch cable. An attenuator scales the bend signal down, which sets how far the pitch moves.
  • CLK: one pulse per incoming clock tick. A MIDI clock runs at 24 pulses per quarter note (24 PPQN).
  • CLK/N: a divided clock. The Clock ÷ menu sets the division, from 1/4 to 1/32 including triplets, default 1/16.
  • START / STOP / CONT: a trigger when the controller sends Start, Stop, or Continue. These are transport messages, sent when you press play or stop on a DAW or sequencer. Start also resets the divided clock's phase.

To lock your sequencers to a DAW's transport, drive them from CLK/N and reset them from START.

Channel and multiple controllers

The Channel menu listens on Omni (all channels, default) or one channel from 1 to 16. Clock and transport messages always pass, because they carry no channel. You can run several MIDI-CV modules at once, each set to its own device and channel.

The module force-releases its gates when you unplug the controller, hide the page, or delete the module, so a note never sticks on.

When you have no controller

Web MIDI works in desktop Chrome, Edge, and Firefox. Safari and iOS do not support it. Without a controller or Web MIDI, use the on-screen Keyboard module instead.

The Piano Roll reads and writes MIDI files, not live MIDI cables. Right-click the roll for Import MIDI… and Export MIDI…; the .mid file opens in any DAW. vxsynth does not send real-time MIDI out to hardware.

Bring in a live signal

The Audio Input module is the mirror of the Output module: Output sends your patch to your speakers, and Audio Input brings an outside signal in.

Add an Audio Input module, click its Device row, and pick a mic or interface. The first pick opens the microphone permission prompt. Live input needs an HTTPS connection and a desktop browser.

  • Input: Clean / Processed: Clean (default) captures the raw signal with the browser's auto-gain, noise suppression, and echo cancellation switched off. Use Clean with an audio interface, because Chrome's auto-gain lowers an interface signal's level, sometimes severely. Switch to Processed only to rescue a weak built-in laptop mic.
  • Mode: Mono / Stereo: Mono (default) sums both captured channels to the centre and sends that to both outputs, so a mic wired to either channel is heard. Stereo passes the two channels separately.
  • Gain: from −24 dB to +24 dB, default +12 dB, because a clean interface signal tends to arrive quiet. Watch the level meter and back off if it hits red.

The two output jacks, L and R, carry the live signal. In Mono both carry the same signal; in Stereo they carry the left and right channels. Patch them onward like any other source.

Only one live input works at a time. The active device is the first Audio Input module that has one.

Your device choices, MIDI and audio alike, are saved with your patch. The live audio and MIDI streams themselves never enter undo or autosave.

Tips

  • Monitor on headphones. In Clean mode echo cancellation is off, so a mic near your speakers will feed back.
  • Patch Audio Input → filter or delay → Output and play your instrument through the rack to use the whole synth as an effects processor.
  • Patch MW into a filter's cutoff CV to sweep the cutoff by hand from the mod wheel.
  • To lock to a DAW or hardware clock, patch CLK/N → your sequencer's CLK and START → RST, and leave the sequencer's internal clock off.