Files
DJ_Teaser_Clipper/V4_ROADMAP.md
Thomas 2b81d5843a nwe files
some files
2026-01-29 10:51:19 +01:00

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-window to 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:
    • harmonic
    • tempo
    • energy
    • balanced (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.toml packaging 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