Instant playback
Sounds are fetched and decoded into memory before you touch anything, then started on the audio thread. No promise to await, no element to clone, no loading spinner between the press and the sound.
Every choice below exists because of one thing: the gap between your finger and the sound should be zero.
Sounds are fetched and decoded into memory before you touch anything, then started on the audio thread. No promise to await, no element to clone, no loading spinner between the press and the sound.
Every finger is tracked separately, so four pads pressed at once give four sounds at once. On touch devices a press counts exactly once - the double-fire that plagues naive implementations is handled at the source.
Link any pad to a physical key with MIDI learn. Velocity comes through, so a harder hit is a louder hit. Links are stored against the controller make and model, not a session id, so they survive a reload.
The device keeps its proportions from a phone in portrait to a desktop, and never lets a button shrink below a reliable touch target. Below that it scrolls instead of cramming.
Pick from Lucide and Font Awesome, or put your own image on a button. Colour the face and the icon separately, so a kit reads at a glance.
Four banks per pad, all preloaded. Switching mid-performance costs nothing because there is nothing left to fetch.
Put two sounds in the same choke group and one cuts the other off - which is exactly how an open and a closed hi-hat behave. Cuts use a short fade, never an abrupt stop, because that clicks.
Short sounds are held decoded in memory for instant playback. Anything longer streams instead, so a four-minute backing track does not eat the memory your whole pad needs.
On a desktop the 1234 / QWER / ASDF / ZXCV rows map straight onto a 4x4 grid, and every pad is reachable with Tab and Space.
Pick the shape that fits what you are playing. A button never drops below 44 pixels, so on a small screen the larger grids scroll sideways rather than becoming untappable.
| Grid | Buttons | On a phone |
|---|---|---|
| 2 x 2 | 4 | Fits |
| 3 x 3 | 9 | Fits |
| 4 x 4 | 16 | Fits |
| 4 x 8 | 32 | Fits |
| 8 x 4 | 32 | Scrolls sideways |
| 8 x 8 | 64 | Scrolls sideways |