work in progress.
crunch daw is a professional-grade, browser-based digital audio workstation designed for live performance and studio production. it’s intuitive, customizable, and nomadic, enabling fully mastered tracks on the go or in a professional studio without physical instruments. features include advanced bezier-based automation curves, a built-in mastering suite (eq, limiter), real vst plugin integration via webassembly, and a playground inspired by orca’s sequencer for experimentation. see tutorial.md for a detailed guide.
- clone repo to
crunch. - add wav samples to
/audio/(e.g.,kick.wav,loop.wav). - open
index.htmlin chrome/edge for browser use. - for apk, install android studio, open
/android/, build, and deploy. - commit to github for collaboration.
(insert snapshot here after generating with provided code)
- main view: grid with piano (2,2), drum (4,2), bass (6,2), pattern (2,4) linked to piano. session view with clip (track 1, scene 1). timeline with clip (track 1, start: 0, duration: 4).
- param editor: double-click piano block, show fm index and adsr sliders.
- automation: timeline clip with bezier curve for bass cutoff.
- playground: orca-like sequencer with
a4:440andb2:220.
generate snapshot:
- open
index.htmlin chrome. - drag piano (2,2), drum (4,2), bass (6,2), pattern (2,4). link pattern to piano.
- drag pattern to session view (track 1, scene 1).
- drag pattern to timeline (track 1, start: 0, duration: 4).
- double-click piano block to show param editor.
- double-click timeline clip to show automation editor, draw bezier curve.
- click playground button, enter
a4:440andb2:220. - screenshot at 1280x720.
- install android studio.
- open
/android/in android studio. - copy web files (
index.html,styles.css,script.js,assets/) to/android/app/src/main/assets/. - ensure gradle syncs.
- connect android device or use emulator.
- build apk:
build > build bundle(s) / apk(s) > build apk. - deploy to device or share apk.
- ui: black-and-white, lowercase, periods only. grayscale blocks (#666–#fff) and transparent panels for nomadic, eye-friendly design.
- limitations: vst is basic (fm synth). warping needs fft-based beat detection. add in
warping.js. electron app for desktop could improve performance. - extensibility: coders can add plugins to
vst.js, effects toeffects.js, or collaboration via websocket inscript.js.
test in chrome, generate snapshots, deploy apk, and push to github. for ios app or more features (e.g., compressor, fft warping), provide details.