2.9 KiB
2.9 KiB
V4 Roadmap
V4 is about pushing the output closer to a real DJ mini-mix while keeping everything local-first and reproducible.
Guiding principles:
- Local-only (no cloud, no uploads)
- Deterministic defaults (repeatable outputs)
- “DJ control knobs” > opaque magic
- Trance-friendly phrasing (bars/phrases matter)
1) Musical accuracy upgrades (core)
A. Better downbeat / phrase alignment
- Add a stronger “1-of-bar” detector:
- Combine beat tracking + onset accents + low-frequency (kick) emphasis
- Prefer downbeats where kick energy spikes
- Add
--phrase-bars(e.g. 8/16) to cut on larger musical phrases - Add
--snap-strength(soft vs hard snap)
B. Key detection improvements
- Add
--key-windowto estimate key in the selected region (not whole track) - Add confidence scoring + fallback:
- If confidence is low, disable harmonic ordering for that track
- Add “ignore key for breakdowns” option (
--key-harmonic-only)
C. Transition logic upgrades
- Add “mix-in/mix-out windows”:
- prefer stable groove segments for transitions
- Add optional “filter sweep style” transitions (FFmpeg filters) as an effect:
--fx filter_sweep(subtle, optional)
2) DJ-friendly automation
A. Auto tempo normalization (optional)
- Only for teasers (not for mastering)
- Add
--tempo-normalize:- time-stretch small BPM deltas (e.g. +/-2 BPM) for smoother blends
B. Camelot-aware graph ordering
- Replace greedy chaining with a small graph search:
- minimize “harmonic distance” + tempo distance + maximize energy ramp
- Add
--order objective:harmonictempoenergybalanced(default)
C. Multi-style teaser modes
rollcall(fast flips)mini_mix(longer phrases)peak_build(energy ramp to “drop” at the end)social_15(15s vertical-friendly teaser pacing)
3) Engineering / Repo upgrades
A. Single stable CLI (autoclip)
- Publish one entrypoint:
autoclip build ...autoclip analyze ...autoclip report ...
B. Packaging
- Add
pyproject.tomlpackaging metadata - Add
pipx install .support (optional) - Add pinned optional dependency groups:
pip install .[dev]-> pytest, ruff, black
C. Better testing
- Add fast unit tests (no audio)
- Add optional integration test that uses a tiny bundled WAV sample (if license allows)
4) Nice-to-have (stretch)
- Spectral “drop detector” for trance peak moments
- Auto-generated tracklist timestamps + social captions via Ollama (optional)
- Export cue sheet (CUE) for the teaser
- Optional waveform PNG generation for README (matplotlib)
Suggested V4 milestone plan
- V4.0.0: improved phrase/downbeat snap + balanced ordering + single CLI
- V4.1.0: key confidence + graph ordering
- V4.2.0: tempo normalize (optional) + effect transitions (optional)
- V4.3.0: stronger testing + packaging polish