Beat Slicer
v0.0.1An Ableton Extension for slicing audio clips by detected transients.
Beat Slicer
An Ableton Live Extension that automatically slices audio clips at detected transients. Right-click any audio clip in Arrangement View to slice it into individual hits.
Features
- Transient detection with adjustable sensitivity (1–100)
- Grid snapping: exact transient positions, nearest grid line, or quantized
- Grid resolution: 1/4, 1/8, 1/16, 1/32 note
- Waveform preview with onset strength overlay in the settings dialog
- Works with unsaved and saved projects
- Arrangement View only (Session View clips require a different permission model)
Install
- Download the latest
beat-slicer.ablxfrom the Releases page - Drag it into Ableton Live — the extension installs automatically
Then right-click any audio clip in Arrangement View and select Beat Slicer → Slice.
Requires Ableton Live 12.1+ with Extensions support.
Build from source
Prerequisites
Setup
Place the Extensions SDK alongside this repo so the directory structure looks like:
AbletonExtensions/
extensions-sdk/ ← SDK from Ableton
beat-slicer/ ← this repo
Then install dependencies and build:
cd beat-slicer
npm install
npm run build
Dev mode
Run directly in Live without packaging (requires Developer Mode enabled in Live's settings):
node ../extensions-sdk/runner.cjs \
--live "/Applications/Ableton Live 12.app" \
--extension .
All console.log output and errors appear in the terminal.
Package for distribution
npm run build:prod
node ../extensions-sdk/package.cjs . -o beat-slicer.ablx
How it works
renderPreFxAudiorenders the clip to a temporary WAV file via the Extension Host (bypasses the Node.js filesystem permission sandbox)- Onset strength is computed using an RMS-based spectral flux approach
- Transient peaks are picked above an adaptive threshold
- The original clip is deleted and replaced with individual audio clips written to the project's temp directory, one per slice
- If the project is saved, slices are imported into the project folder via
importIntoProject; otherwise they stay in the temp directory and Live references them by path
Contributing
Pull requests are welcome. The extension is a single TypeScript file (src/extension.ts) plus a self-contained HTML dialog (src/dialog.html).
License
MIT — see LICENSE
Rate this extension
One rating per account; you can change it any time.
Comments
No comments yet.