cinetic
Cinematic launch films and motion design from code, directed by your coding agent.
Turn folders of drum samples into Ableton Move drum kit preset bundles in your browser. Drop a sample pack, get randomized 16-pad kits with kicks, snares, hats, claps and percussion sorted onto the ri
DesignTypeScript · CSSGitHub @NipheonOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
Kit Creator for Ableton Move
Translation pending
Loading the full README.
Read the full README ↗A fast, browser-based web application that turns your drum sample libraries into hardware-ready Ableton Move preset bundles (.ablpresetbundle).
🔗 Live Web App: https://move-kit-creator.vercel.app/
.wav and .aiff files recursively; Microsoft ADPCM WAVs are converted to 16-bit WAV, other compressed WAVs, compressed AIFF-C and big-endian (RIFX) or RF64 WAVs are skipped (listed in the browser console). Nothing is uploaded — everything runs in the page.Kit 1 ... Kit 7, a set of named banks) is listed as a parent with its sub-packs as child rows. Tick the parent to use everything, or tick only some sub-packs to mix and match; the parent's eye shows a partial state when some are on. A folder of role folders (Kicks, Snares, FX ...) stays one pack.808 is a kick.128bpm, or a filename saying "break" on a file it could not otherwise categorise) and uncategorised material that looks like effects, vocals, scratches or melody — including anything sitting in an Extras, Imported or Misc folder. Only ever applies to files the app could not categorise, so a sample called "Bass Kick" is untouched. Both filters are toggles.ksho for Kick / Snare / Closed / Open, ksho_ccpp when claps and percussion share the top row. Kits sharing an ID lay their pads out identically, so one drum rack can replace another on the device. The ID travels in the exported kit name.BlockPatrol-Hat.wav and BlockPatrol-HatOpn.wav) keep them together: a drawn closed hat puts its open partner on the open-hat pad directly to its right. Matched by file name only (numbers and shared pack prefixes never pair); closed hats are drawn as usual and locked pads are left alone.1 2 3 4, Q W E R, A S D F, Z X C V); Space generates a new kit unless a field or another button has focus (it then activates that button) or the manual is open. Ticking Auto Preview previews the current kit at once..ablpresetbundle file, one after another; your browser may ask once to allow multiple downloads, so choose Allow. Choose One zip for a single <prefix>_Batch.zip instead (unzip it before uploading the bundles to your Move).npm (ships with Node.js); package-lock.json is the only lockfileClone the repository:
git clone https://github.com/Nipheon/kitCreatorMove.git
cd kitCreatorMove
Install dependencies:
npm ci
Start the development server:
npm run dev
Open your browser to http://localhost:3000. The dev server binds 0.0.0.0, so the app is also reachable from another machine on your network.
npx tsc --noEmit # Strict TypeScript type check
npm test # Node tests: kit generation, classification, export, naming (test/kit.test.ts), drop handling and trimming (test/io.test.ts)
npm run build # Production build
index.html # Entry page: SEO tags, JSON-LD, static fallback content, Cloudflare analytics beacon
package.json
package-lock.json
tsconfig.json
vite.config.ts
.gitignore
README.md
LICENSE
AGENTS.md # Conventions and hard-won rules — read before editing
public/ # Copied to the site root by Vite
icon.png # Header icon (third-party, see Credits)
icon-32.png # Favicon (derived from icon.png, see Credits)
icon-180.png # iOS home-screen icon (derived from icon.png, see Credits)
og-image.png # Social preview image (1200x630, shows the drum, see Credits)
robots.txt
sitemap.xml
src/
App.tsx # Main application component & layout
main.tsx # React entry point (also mounts the Vercel analytics component)
types.ts # Core TypeScript interfaces & types
padLayout.ts # Grid derivation, grid IDs, pooling & choking
devSeed.ts # Dev-only sample set, loaded with /?seed
index.css # Theme tokens, font sizes and pad styles
vite-env.d.ts # Vite client type reference
components/
Pad.tsx # Single pad: audio element, audition, lock/shuffle
SourceFolderRows.tsx # Source Folders rows, collections with tri-state parent
Toast.tsx # Warning notification
utils/
ablPresetTemplate.ts # Ableton Move preset JSON generator
adpcm.ts # MS ADPCM to 16-bit PCM WAV conversion at import
audioTrimmer.ts # OfflineAudioContext silence trimming
exporter.ts # JSZip bundle, separate-file and zip batch export
fileReader.ts # Sample classification & folder parsing
folderGroups.ts # Collection grouping, tri-state and multi-folder toggle/remove plans
folderMerge.ts # Folder de-duplication across drops
hatPartner.ts # Closed/open hat pairs by file name
kitGenerator.ts # Kit selection & pad assignment
kitNaming.ts # Kit names, held layouts and batch building
progressVisibility.ts # When the duplicate-check progress indicator may appear
sampleSignature.ts # Audio-content signature, read lazily at draw time to skip duplicates
packSplit.ts # Splits a dropped collection into its sub-packs
scanProgress.ts # Throttle and wording for the inline scan progress under Source Folders
wavStripper.ts # WAV chunk parsing (readWavFormat) and stripWavMetadata (used by export)
test/
kit.test.ts # Kit, naming, export and detection tests
io.test.ts # Drop handling and trimming tests (fake OfflineAudioContext)
ksho or ksho_ccpp..ablpresetbundle file named PREFIX-gridid-Suffix (e.g. MKT-ksho-Nova). A batch downloads one such file per kit (or, with One zip, a single <prefix>_Batch.zip). Each bundle is one file, not a folder: upload it to your Move.AGENTS.md documents the conventions, and most entries exist because a simpler version broke on a real sample pack. Read it before changing classification, grid derivation or the preset template. Every change is expected to leave npx tsc --noEmit, npm test and npm run build clean, and to keep AGENTS.md describing the code.
Developed with the assistance of Google Gemini and Anthropic Claude AI models for architecture, design, test-driven implementation, and optimization.
Drum icon by iconfromus from
Magnific, used under its attribution
licence. It ships in this repository as public/icon.png, and the images derived from it
(public/icon-32.png, public/icon-180.png, and public/og-image.png, which shows the drum)
carry the same terms. None of these four files is covered by the licence below.
BSD Zero Clause License (0BSD) — do whatever you like with this. No
attribution required, no notice to preserve, no conditions of any kind.