Turn the table around a Windows laptop into invisible shortcut buttons. TapDeck listens for calibrated surface impacts, separates tap zones using a laptop microphone array, and maps recognized locations to websites, apps, screenshots, hotkeys, or commands.
Download the latest TapDeck-...-windows-x64.exe from the repository's Releases page, then double-click it. Python is not required.
TapDeck is currently an unsigned independent application. Windows SmartScreen may show Windows protected your PC on the first launch. If you obtained the file from this repository's official Releases page, select More info → Run anyway. Code signing is planned for a future release.
Requirements:
- Windows 10 or 11, 64-bit
- A built-in or external microphone
- A hard desk surface; soft mats absorb useful vibration
- Allow microphone access when Windows asks.
- Select Train beside the left zone and make 12 natural light taps in one small area.
- Train the right zone in the same way, ideally 25–40 cm from the first zone.
- Select Train ignore sounds and record 12 sounds that must never trigger an action: coughs, short loud words, claps, keyboard bumps, or similar noises.
- Verify each action with Test, then select Start listening.
Packaged-app settings and numerical calibration fingerprints are stored in %LOCALAPPDATA%\TapDeck. Audio is processed in memory and is not saved or uploaded.
- Up to four synchronized microphone channels
- GCC-PHAT timing and cross-channel energy features for left/right separation
- An impact gate that measures attack, duration, decay, crest factor, and spectral shape
- A calibrated RBF support-vector classifier with an explicit learned ignore class
- Configurable URLs, apps, files, screenshots, hotkeys, and commands
- Live microphone meter, confidence feedback, animated surface map, and model-health display
- Local-only audio processing
Python 3.13 is recommended.
python -m pip install -r requirements.txt
python app.pyDevelopment runs store config.json beside the source. This personal file is ignored by Git.
python -m unittest -vInstall the build tool once:
python -m pip install "pyinstaller>=6.17,<7"Then run:
powershell -ExecutionPolicy Bypass -File .\build_release.ps1The versioned executable and SHA-256 checksum are written to release\. The GitHub Actions workflow also builds and publishes this executable when a v* tag is pushed.
Built-in laptop microphone arrays are processed by their audio drivers, and some channels may be duplicated or beamformed. Desk material, laptop placement, finger choice, and ambient noise all affect recognition. Recalibrate after moving the laptop or changing desks.
For a future high-precision hardware edition, two to four inexpensive piezo/contact microphones attached beneath the desk will suppress airborne speech and produce much cleaner surface-arrival timing.
The sensing research and architecture decisions are documented in RESEARCH.md.