Skip to content

Playful browser studio: pads, beats, voice, and stem split - #16

Draft
Astryks wants to merge 2 commits into
mainfrom
cursor/fun-daw-redesign-cf72
Draft

Astryks wants to merge 2 commits into
mainfrom
cursor/fun-daw-redesign-cf72

Conversation

@Astryks

@Astryks Astryks commented Oct 15, 2026

Copy link
Copy Markdown
Owner

Summary

The site is now a small playful DAW. The homepage is a landing page with a live 4×4 kit and mini piano. The studio is the instrument: Akai-style pads and keys, a prompt that builds a beat from original patterns, a big Record button, and an easy way to add tracks and loop a scene.

  • Record opens a choice: what you play, your voice, live autotune, a voice changer (robot, radio, chipmunk, and more), or singing into an instrument in real time. Autotune and instrument mode reuse the existing pitch tracker. Voice colors are Web Audio on the live mic. The take stored on the timeline for the changer is the dry voice; the effect is what you hear while singing.
  • Make a song builds drums, bass, and keys from original preset patterns (hip-hop, house, pop, jazz, lo-fi, funk, trap, rock). No paid API.
  • Split a song drops the file onto its own tracks. With no server, a quick in-browser split sorts drums, bass, melody, and the rest (not a vocal isolator, 25 seconds max). For a real vocal / drums / bass / other split, point Studio at the local Demucs sidecar.
  • The previous homepage DAW is still at classic.html. Import, effects, and the SEO pages stay.

Local Demucs

The static site cannot host the model. From services/ai-sidecar:

pip install -r requirements.txt
uvicorn app.main:app --host 127.0.0.1 --port 8765

Paste http://127.0.0.1:8765 into Studio’s local engine URL. The first split downloads the free htdemucs_6s weights. POST /stems and GET /stems/{job}/{name} are on the existing sidecar. Nothing here calls a paid API.

Screenshots

Landing, desktop
Landing, mobile
Studio, desktop
Studio, mobile

Test plan

  • Landing pads and mini keys make sound; Make it opens the studio with that beat
  • Studio pads and piano make sound; Loop and a scene column loop four bars
  • Record → what I play arms the timeline; voice modes ask for the mic and play live
  • Add a drum, keys, and audio track
  • Split a short song with the engine URL empty and see four tracks
  • Optional: start the sidecar and confirm a Demucs split
  • Classic DAW and a hub page still load

To show artifacts inline, enable in settings.

Open in Web Open in Cursor 

Astryks and others added 2 commits October 15, 2026 23:03
…, voice to any instrument

- Compact typing layout (drums Q-Y/A-G`/Z-N left hand, piano H-' + U I P [ ] right hand,
  octave , .) playable together; classic layout kept in Settings; key labels on every pad/key
- Per-track FX (EQ, filter, distortion, compressor, chorus, delay, convolution reverb with
  generated IRs) + presets (Small room, Big hall, Telephone...), master reverb + limiter
- Import: audio URL (CORS-aware, Vercel proxy fallback), tab/system audio capture, drop anywhere;
  streaming services refused; rights note
- Clip: one-click reverse, right-click/long-press menu, Alt-drag edge to time-stretch, fades
- Undo/redo, IndexedDB autosave, onboarding tour, ? shortcuts, step sequencer, tap tempo, tuner
- Voice: McLeod pitch tracking (32 ms window, 5 ms hop), hysteresis, glide, any instrument,
  convert vocal clip to notes

Co-authored-by: Astryks <Astryks@users.noreply.github.com>
…beats.

The homepage is now a landing page with a live kit, and the studio keeps the existing engine: Akai-style pads and keys, prompt beats, a record sheet for voice, autotune, voice color, and sing-into-instrument, plus an in-browser stem split with an optional local Demucs sidecar. The classic DAW stays at classic.html.

Co-authored-by: Astryks <Astryks@users.noreply.github.com>

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants