Browser-based tool for sketching and sharing instrumental music. Forked from JukeeBox/JukeBox_TypeScript. A mod of Ultrabox / JummBox / BeepBox.
This is an unofficial fork. Not affiliated with JukeeBox or upstream projects. Experimental. Expect breaking changes.
Song data is encoded in the URL hash. Copy the URL to save and share.
Requires Bun or Node.js (v18+). Licensed under MIT.
git clone https://github.com/PopCat19/JukeBox-Exp.git
cd JukeBox-Exp
bun install # or: npm install
bun run build # or: npm run build
Builds synth, player, editor, and EditorConfig bundles via esbuild into dist/.
bun run dev # or: npm run dev # watch + auto-reload
bun run lint # or: npm run lint # type-check + ESLint
bun run typecheck # or: npm run typecheck # tsc --noEmit (editor)
bun run typecheck:synth # or: npm run typecheck:synth # tsc --noEmit (synth)
bun run typecheck:player # or: npm run typecheck:player # tsc --noEmit (player)
bun run typecheck:all # or: npm run typecheck:all # all three targets
./scripts/deploy.sh # builds, merges website/ assets into dist/, pushes gh-pages
GitHub Pages serves from the gh-pages branch.
| Directory | Purpose |
|---|---|
synth/ |
Audio engine. Standalone, usable in other projects. |
editor/ |
Song editor UI. |
player/ |
Embeddable miniature player. |
shared/ |
Shared event system and oscilloscope (upstream: global/). |
website/ |
Static assets (HTML, images, samples, favicons). Source only, not build output. |
dist/ |
Build output (gitignored). |