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.