A prototype modular graphics tool for Ableton Push 1 – buttons cycle through geometric modules to build illustrations, icons, and letterforms. Knobs drive real-time shaping functions that animate the grid as a whole.
Note: only tested with Google Chrome and Ableton Push 1. Push 2/3 are currently not supported.
Live Project · Video Demonstration
Color Palettes from Pigment
- Rendering: p5.js
- Audio: Tone.js
- MIDI: webmidi.js
- Language: TypeScript
- Build tool: Vite
- Ableton Push (Push 1 in User Mode)
- Chrome or Edge — WebMIDI is only supported in Chromium-based browsers
- Node.js 18+
git clone https://github.com/yourusername/ableton-push-type.git
cd ableton-push-type
npm install
npm run devOpen http://localhost:3000 in Chrome or Edge.
- Connect Ableton Push via USB
- Set Push to User Mode (hold the User button)
- Start the app — the grid buttons will light up when a shape is active
| Control | Action |
|---|---|
| Grid buttons (8×8) | Cycle through shapes on that cell |
| Left encoder (top) | Cycle grid method (Uniform / Wave / Bezier / …) |
| Left encoder (second) | Cycle shaping function (linear / sinc / parabola / …) |
| Knob 1 | Cycle color pair |
| Knob 2 | Alley X — gap width between columns |
| Knob 3 | Alley Y — gap width between rows |
| New button | Toggle reset mode — next grid press resets that cell |
| Play button | Reset all shapes, clear all LEDs |
| Record button | Toggle debug overlay |
| Key | Action |
|---|---|
s |
Save canvas as PNG |
Space |
Pause animation |
Click the audio button in the top bar to enable sound. Each grid button press triggers a MIDI note via Tone.js.
npm run buildPush 2 MIDI mapping: Ableton Push 2 MIDI & Display Interface
