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
翻译准备中
设计TypeScript · CSSGitHub @Nipheon在线运营者未确认
试用过了吗? 点一下就好,无需登录。
尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证Kit Creator for Ableton Move
翻译准备中
正在加载完整 README。
查看完整 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.