A standalone Tauri v2 example showing how native MIDI input can be received in Rust with midir, emitted into a vanilla JavaScript frontend, mapped with MIDI learn, and used to control a raw WebGL visual.
MIDI controller / virtual MIDI port
↓
Rust `midir`
↓
Tauri `midi-event`
↓
JavaScript mapping + MIDI learn
↓
WebGL uniforms
localStoragenpm install
npm run dev
| MIDI | Parameter |
|---|---|
| CC 1 | Hue |
| CC 2 | Zoom |
| CC 3 | Speed |
| CC 7 | Brightness |
| CC 10 | Distortion |
| CC 74 | Complexity |
On macOS, virtual MIDI can be enabled through Audio MIDI Setup → MIDI Studio → IAC Driver. On Debian/Ubuntu, midir commonly requires libasound2-dev.
npm run build
The generated platform bundles are written beneath src-tauri/target/release/bundle/.