A browser-based Roland J-6 — chord pads in your Chrome tab, MIDI flowing out to anything that listens. Built so I could drive my OP-1 with the J-6's beautiful chord library without buying the hardware.
🌐 Live: jay-6.kempenich.ai (Chrome or Edge on desktop, for Web MIDI)
- 🎵 All 100 Roland J-6 chord banks, 12 chords each — extracted straight from Roland's manual
- 🎛️ 12-pad piano layout mirroring the J-6 hardware (5 black on top, 7 white on bottom)
- 🌀 5 playback styles: Hold · Arp 8th · Arp 16th · Beat · Rhythm Gate × 2 — 60 variations total
- ⛓️ Latch that follows the J-6 HOLD convention (same-pad re-press retriggers)
- ⌨️ Ableton-style keyboard shortcuts so you can play without a mouse
- 🕰️ External MIDI clock receive — slave it to your OP-1's tempo
- 🎚️ Transpose, gate length, BPM, per-channel output
just dev # vite on localhost:5173 — Web MIDI works in Chrome / Edge
just serve # + Cloudflare tunnel to https://jay-6.kempenich.devThen plug in your USB MIDI device, pick it from the Output dropdown, and play.
| Keys | What |
|---|---|
A S D F G H J |
White pads (C D E F G A B) |
W E T Y U |
Black pads (C♯ D♯ F♯ G♯ A♯) |
Z / X |
Transpose ±1 octave |
← / → |
Previous / next bank |
Space |
Toggle latch |
1–6 |
Switch style |
Vite 6 · Svelte 5 (runes) · TypeScript strict · Vitest · WEBMIDI.js v3
| Browser | Web MIDI |
|---|---|
| Chrome / Edge (desktop) | ✅ |
| Firefox | ❌ — no Web MIDI |
| Safari | ❌ — no Web MIDI |
| iPad (any built-in browser) | ❌ — iOS lacks Web MIDI |
| iPad via Web MIDI Browser app | ✅ |
Note: Web MIDI requires a secure context — localhost or HTTPS. Plain http:// LAN IPs will be denied.
MANUAL.md— user guide (how to play, clock sync, iPad setup).planning/PROJECT.md— project goals + milestones.planning/ROADMAP.md— phase plan + status.research/pre-gsd-archive/— historical (pre-GSD) design docs
It's the Roland J-6 spelled out. Same idea, different surface.