TachTables · CONTROLLERS

Last updated 20 September 2026


Plugging one in

A class-compliant USB MIDI controller works on the cable. Android publishes its ports and TachTables opens them: there is no driver to install, and no permission to grant for its controls.

Every port on a controller is opened rather than the first one, so an interface that puts its controls on a later port is not silently half-connected. Each controller that is plugged in gets its own mapping, matched by the USB identity it reports and then by its name, so two of them can share the cable without fighting over the same notes.

Controls keep reaching the deck while the app is off the screen, for the same reason the music keeps playing.

Tested controllers

Each of these has driven the deck, and ships with a mapping of its own. What is listed under each one is what its controls reach; a control not listed is one the deck does not read yet.

AlphaTheta DDJ-FLX2

Both decks at once: the left side is deck A and the right deck B, whichever one the screen is showing.

Read from AlphaTheta's own MIDI message list and then confirmed control by control from the unit.

Hercules DJControl Starlight

Both decks at once: the left side is deck A and the right deck B.

Read from Hercules' own published mappings and then confirmed from the unit.

Akai APC40 mkII

Not a deck controller: forty colour pads, eight faders and sixteen knobs, no jog wheel and no crossfader. It is the surface the rig reaches for DMX lighting, synth, stems and visuals as those are built.

What ships today binds it to the deck instead, as a working example of the mapping grammar rather than a fit for the hardware:

Read from Akai's own communications protocol and then confirmed from the unit, in the generic mode it powers up in; nothing is sent to it to change modes.

Anything else

A controller with no mapping of its own still works: it gets a general layout built on the conventions most controllers follow, which is enough to find out what it sends.

From there, a mapping is a text file you write and drop into the app's own folder on the phone, in a grammar of one line per control. The app reads it at start and says which mapping each connected controller is using, so a line that did not take is visible rather than silent. A file that names its controller is used ahead of the one that ships.

What the deck cannot drive

The rest of the rig

The deck sends MIDI clock to every MIDI output the phone is offered, at the tempo of the deck that is playing, so a sampler, a drum machine or a mixer's delay runs with the record.

DMX lighting is coming.

« BACK TO TACHTABLES