Kid mode 🧒

This page is m4a → stem-player upload. It is one of the projects Brandon built and put online. The grown-up details are below, tap Grown-up mode to read them the normal way.

m4a → stem-player upload

Drop an audio file. It gets renamed with a timestamp, downloaded to your machine, and you drag it into iCloud sfg/inbox/jams/. A launchd watcher runs demucs htdemucs_6s + librosa onset detection on the first 10 cool parts, builds a stem player, deploys it to drwu-htmls.vercel.app.

How this works. Vercel is static hosting, so the actual demucs run happens on your Mac. Two paths:

Path A — iCloud watcher (set up once, automatic forever):

mkdir -p ~/Library/Mobile\ Documents/com~apple~CloudDocs/sfg/inbox/jams
# Drop the downloaded file into that folder. The launchd job at
# ~/.claude/launchd/com.drwu.jam-chop-watcher.plist polls every 30s,
# runs python3 ~/Desktop/HFE-Stems/jam_chop_player.py on each new file,
# deploys to https://drwu-htmls.vercel.app/<slug>-stems

Path B — manual one-shot:

python3 ~/Desktop/HFE-Stems/jam_chop_player.py ~/Downloads/<your-file>.m4a
cd ~/Projects/drwu-htmls && vercel deploy --prod --yes
# alias newest deploy to drwu-htmls.vercel.app
Pipeline
  1. demucs htdemucs_6s splits the file into bass / drums / guitar / piano / vocals / other at 44.1 kHz mono 128 kbps
  2. librosa onset_strength + RMS find 10 "cool parts" (energy peaks) across the duration
  3. 10 segments get equal-length windows starting at each peak
  4. HTML player wraps the segments with a dropdown selector + solo / mute / volume per stem + LOOP FIRST 30s + LOOP VERSE (A↔B)
  5. Vercel deploy + alias to drwu-htmls.vercel.app, live in under 30s