Connect your own bridge
For Safari hardware control, run Max and the Python companion on your computer, keep both devices on the same Wi-Fi, then paste the complete phone URL printed by bridge.py.
This is a local HTTP companion. Open its controller directly in a new tab for Safari hardware testing. Keep Max and Python running on the computer, use the same Wi-Fi, and arm MIDI OUT in Max.
Open local controller ↗Part control
Synth 1Choose the MIDI port and arm MIDI OUT in Max on the computer. Remote controls cannot arm it.
Parameter desk
Loading mapReadouts start at — until you move a control or Max reports a value. Opening this page does not send control settings.
Play synth
S1 / finite notesDrum pads
Tap to triggerPads follow the drum channel and note map configured in Max. Drum trigger and part selection are separate actions.
Pattern & transport
Explicit sendsLoading a pattern can replace unsaved edits on the EMX. Write the pattern on the hardware first if needed.
120 BPM target. Release the slider to send.
Max generates the clock, not the phone. At the computer, select MIDI OUT, enable LIVE MIDI and local Clock. On the EMX select Ext, then press START here. Auto can fall back to the EMX’s internal tempo when incoming clock is absent, so Auto playing alone does not verify sync. This slider controls Max’s outgoing tempo; it does not change the EMX’s Global clock mode.
Signal monitor
“Sent” means the companion sent OSC to Max. A Max pong acknowledges the OSC path. An EMX identity reply verifies a hardware response at that moment; neither is a delivery receipt for every control.
Mute & solo
Preview toggles stay on this page. In live mode, read the current pattern first to establish the EMX’s mute state.
Solo selects the parts you want to hear and restores the captured mute settings when the final solo clears. Hardware changes can clear the controller’s solo selection.
Find your next section.
Browse Korg’s factory pattern names and tempos, then build a group around the energy you want.
Original factory reference — not read from your EMX. Genre labels are inferred from names. Overwritten patterns may differ.
Loading Korg’s factory index…
Inside the loaded pattern.
A read-only view of captured EMX data. Reading does not write a pattern or restore a backup.
Press Stop playback first, then request a dump. A full bank read can take about two minutes over DIN MIDI. Keep both MIDI cables connected.
No pattern data captured. Factory reference names above are not a hardware snapshot.
Read a pattern to see its actual steps. This viewer does not edit notes on the EMX.
Select a captured step for its note and gate information. Musical key is not guessed from a factory name.
Import a saved SysEx file
Inspect a .syx file on the computer companion. Importing parses and stores its data; it does not send the file to the EMX.
Requires a live v1.3 companion connection.
A rhythm section you can leave running.
Arrange existing EMX patterns into a timed queue. Max runs the loaded queue on the computer, including when your phone sleeps.
Add a pattern from the index, or add the whole matching tempo group.
Queue changes can replace unsaved EMX edits. Save those on the hardware first. Each transition stops, loads, then restarts the next pattern; a short gap is possible. Bars here mean four quarter-note beats. All entries play at the queue BPM.
Max must stay open with LIVE MIDI and its local clock enabled. Disconnecting this page does not stop a running Max queue. Test transitions on the hardware before relying on an unattended set.
Saving a set stores the arrangement. It does not start playback.
Advanced / raw MIDI & routing
Raw channel message
Raw MIDI bypasses named controls. Use a confirmed channel and parameter address. NRPN 14-bit sends a complete MSB/LSB value.
Bridge routing
These commands change Max’s routing map. They do not reconfigure the EMX hardware. Keep both maps aligned; all drum parts share the EMX drum channel. Routing changes reset on reloading Max unless saved there.