A complete groovebox for the Ableton Move
16 tracks of synths and drums · step sequencer · 704 sounds · effects · live performance tools
A Schwung overtake module with its own C sound engine.
Download · Install · Manual (EN) · Handbuch (DE) · Changelog · YouTube
[!NOTE] Status: developed by TaktOnMusic together with a real Ableton Move. Release 1.0.0 itself was checked on a desktop (UI simulator, 60,000-event fuzz test, native builds). Please report anything that behaves differently on the device.
Why Taktile
Taktile turns the Move into a pattern-based groove box built for jamming live. It takes over pads, buttons, knobs and display, and all sound comes from its own C engine (dsp.so): a complete instrument, not a controller for something else.
| Play Synth and drum tracks, 32 pads with scales, note repeat, chords and live FX pads. |
Program Up to 128 steps per track, parameter locks, probability, ratchets, Euclid rhythms, grooves. |
Shape 704 sounds, a drum synth, your own samples, delay, reverb, insert effects, granulator. |
Perform Song mode, 8 clips per track, 32 project slots, background mode, undo almost everywhere. |
Display pages rendered on a desktop (simulator): sound, filter, FX, Euclid, granulator, sound browser and the scope views.
Install
Easiest (no SSH, no unpacking):
- Download
taktile-module.tar.gzfrom the latest release. Keep the.tar.gzas it is, do not unpack it. - Put the Move and your computer (or phone) in the same Wi-Fi network and open http://move.local:7700 in a browser.
- Upload the file as a custom module. Restart Schwung / the Move if Taktile does not show up right away.
Manual install over SSH
Unpack the archive and copy the taktile/ folder (module.json, ui.js, dsp.so) to /data/UserData/schwung/modules/overtake/ on the Move, e.g. scp -r taktile ableton@move.local:/data/UserData/schwung/modules/overtake/, then restart Schwung. After building it yourself, taktile/scripts/install.sh does the copy over SSH (ableton@move.local, set DEVICE=user@host to change it).
Features
| Tracks | 16 tracks, synth or drum (16 sounds per drum track), up to 128 steps, 8 clips per track, song chain |
| Sounds | 704 built-in sounds in sorted lists (INIT first in every list); drum synth with lists for kicks, snares, hats, cymbals, claps, toms, rims and percussion; your own WAV samples (64 slots / 40 MB), recording with the Move's microphone, slicing, 16 WAVs of a folder as drum pads, time-stretch, resampling |
| Track tiles | Synth track: 1 PRESET · 2 SYNTH · 3 MOD · 4 FILTER (+ EQ) · 5 FX (+ GRAIN) · 6 FX TYPE (+ FX TIME) · 7 EUCLID · 8 MIDI FX. Drum tracks have no SYNTH tile but a SAMPLE tile. The header shows the tile top left and the page (e.g. 2/2) top right; jog click switches the page |
| Effects | Per-track delay, reverb, chorus, phaser, 10 insert effects, 11 MIDI effects (off by default), granulator, sidechain (auto / all / off) |
| Sequencing | Per-step parameter locks, per-track swing, Euclid generator (switch, off by default), quantize grid 1/4 … 1/32 with strength, auto-growing clips while recording, MIDI clock + note out (USB-A) |
| Feel | Groove templates (MPC, Shuffle, Laidback, Dilla, Drunk, Push, Funk, Ghost, Human, Roll) with amount next to Swing · nudge, humanize, ratchets, song steps |
| Master bus | Filter, width, saturation, compressor (with detector HPF), 3-band EQ, limiter |
| Workflow | 32 project slots (load, save, rename, new empty, delete), rolling backups, undo history, CPU meter and 11 scope views incl. spectrum, stereo, waterfall (Menu → EXPERT), in-device help (Shift+Menu), sound browser (Shift+jog), grouped menu |
Signal flow
Documentation
| Language | Manual |
|---|---|
| English | Taktile-Manual-EN.pdf – includes technical notes and open questions for Schwung developers |
| Deutsch | Taktile-Handbuch-DE.pdf |
Demos, tutorials and progress updates are on the TaktOnMusic YouTube channel. An animated guide and an offline web app for trying the interface in a browser are in this repository.
Playing long live sets
Taktile is made for sets that run for a long time without stopping the music:
- Song list (MORE → SONG): up to 32 entries with scenes, bars, repeats, own tempo and a way in (HARD, FILL, DRUMS 1ST)
- Background mode: Back on the top level asks BACKGROUND / CLOSE, the sequencer keeps playing while you use the Move
- Safety: 32 project slots, rolling backups, undo history
Controls in short
| Jog turn | walks through the track pages / the list on the current page |
| Jog click | open or confirm (SEQ/SOUND: preset browser; menus and lists: the selected entry). On a tile with two pages (FILTER + EQ, FX + GRAIN, FX TYPE + FX TIME, SYNTH + ENGINE 2, MIDI FX + 2): switches the page |
| Shift + Jog click | HOME from anywhere (on the TEMPO page: tap tempo) |
| Left / Right | previous / next track. With Shift: step page. In lists and name entry: move the selection / cursor |
| Shift + Step 1…16 | direct jumps: project, HOME, quantize options + pad layout, live FX, tempo, metronome, swing, … (see the manual) |
Compatibility
| Module format | Schwung overtake module, api_version 2 |
| Built against | Schwung plugin API header from tag v1.7.3 (plugin_api_v1.h, pinned in fetch-header.sh) |
| Move firmware | Not recorded yet. When you report a problem, please name your firmware and Schwung version |
If your Schwung is a different version, build with SCHWUNG_REF=<tag> ./scripts/fetch-header.sh first. The header has to match the host exactly.
Limits
- Up to 16 tracks, max. 4 of them drum tracks (16 sounds each), up to 128 steps per track, 8 clips per track
- Own samples: 64 slots / 40 MB in total. WAV only: 8/16/24/32-bit PCM or 32-bit float
- Resample takes: up to 16 bars
- State is stored under
/data/UserData/schwung/taktile-*
Troubleshooting
If something goes wrong, Taktile writes logs to /data/UserData/schwung/: taktile-error.log (crash in a handler) and taktile-boot.log (start-up). Attach them to a bug report.
Build it yourself
Needs gcc-aarch64-linux-gnu.
cd taktile
./scripts/build.sh # fetches Schwung's plugin_api_v1.h (v1.7.3), builds dist/taktile-module.tar.gz
Desktop test of the DSP
cd taktile
./scripts/fetch-header.sh
gcc -g -fsanitize=address,undefined -Isrc -Ibuild/include your_test.c src/pad_studio.c -lm
Project layout
taktile/
├── module.json Schwung manifest (overtake, api_version 2)
├── ui.js all UI: views, pads, display, state files
├── src/pad_studio.c DSP, sequencer, sample engine
├── scripts/ build.sh, install.sh, fetch-header.sh
├── tools/ generators for the sound variant tables
└── docs/ manuals (EN/DE) and display preview
State is stored under /data/UserData/schwung/taktile-*.
Contributing and bug reports
Found a bug or have an idea? Open an issue. The template asks for your firmware, Schwung version and the steps to reproduce. Changes are listed in CHANGELOG.md.
Credits and license
- Built on Schwung.
src/wtab.inccontains 640 single-cycle waveforms derived from the AKWF-FREE collection (CC0 1.0). Details in NOTICE.md.- MIT License – see LICENSE.
Thanks
A big thank you to Neuro... No Neuro (microsound composer, graphic designer and animator) for testing Taktile and for the honest feedback. It made the module better.
Made by TaktOnMusic.