From a9654acb5cebc044b3aa7227502ec5cdc48e0c7f Mon Sep 17 00:00:00 2001 From: Thomas Date: Thu, 29 Jan 2026 10:57:20 +0100 Subject: [PATCH] Readme Update the readme --- V_1/README_V1.md | 121 ++++++++++++++++++++++++++++++++++ V_2/README_V2.md | 168 +++++++++++++++++++++++++++++++++++++++++++++++ V_3/README_V3.md | 163 +++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 452 insertions(+) create mode 100644 V_1/README_V1.md create mode 100644 V_2/README_V2.md create mode 100644 V_3/README_V3.md diff --git a/V_1/README_V1.md b/V_1/README_V1.md new file mode 100644 index 0000000..94d3871 --- /dev/null +++ b/V_1/README_V1.md @@ -0,0 +1,121 @@ +# Auto Clip – V1 (Minimal MVP) + +**Auto Clip V1** er den første og mest simple version af projektet. +Formålet er at lave en **hurtig proof-of-concept DJ teaser**, hvor korte klip fra flere tracks samles til én teaser. + +V1 fokuserer på: +- simpel track-udvælgelse +- hurtig teaser-render +- minimal DJ-logik + +--- + +## Hvad gør V1? + +Scriptet: + +- Scanner en mappe med audio-tracks +- Vælger tracks manuelt eller automatisk +- Klipper korte segmenter fra hvert track +- Samler dem til en teaser +- Eksporterer: + - `album_teaser.wav` + - `teaser_report.json` + +> ⚠️ V1 har **ingen** harmonic mixing, Camelot, preroll eller avanceret DJ-logik. +> For mere “DJ-feel”, se **V2** og **V3**. + +--- + +## Krav + +- Python 3.10+ +- FFmpeg installeret og i PATH +- En mappe med audiofiler (`wav`, `mp3`, osv.) + +--- + +## Mappestruktur (eksempel) + +``` +V_1/ +├── dj_teaser.py +├── tracks/ +│ ├── 01 - Track.wav +│ ├── 02 - Track.wav +│ └── ... +└── out/ +``` + +--- + +## Brug 🚀 + +### Scan mappe og brug alle tracks (max 20) + +```bash +python dj_teaser.py \ + --tracks-dir ./tracks \ + --select all \ + --mode rollcall \ + --teaser 60 \ + --bars 2 +``` + +--- + +### Vælg specifikke tracks (1-baseret index) + +```bash +python dj_teaser.py \ + --tracks-dir ./tracks \ + --select 1,2,3,7,9 \ + --teaser 60 \ + --bars 2 +``` + +--- + +### Range + mix + +```bash +python dj_teaser.py \ + --tracks-dir ./tracks \ + --select 1-4,7,10-12 \ + --teaser 60 \ + --bars 2 +``` + +--- + +## Output 📦 + +Efter kørsel ligger output i `./out/`: + +``` +out/ +├── album_teaser.wav +└── teaser_report.json +``` + +### `album_teaser.wav` +Den færdige teaser (samlede klip). + +### `teaser_report.json` +Metadata om: +- hvilke tracks der blev brugt +- rækkefølge +- kliplængder og timing + +--- + +## Begrænsninger (V1) + +- Ingen harmonic mixing +- Ingen Camelot / key detection +- Ingen preroll +- Cuts er simple (ingen downbeat-snap) +- Loudness kan variere mellem tracks + +👉 **V1 er ment som baseline / MVP**. +For mere avanceret DJ-flow og trance-venlige teasers, brug **V2** eller **V3**. diff --git a/V_2/README_V2.md b/V_2/README_V2.md new file mode 100644 index 0000000..a410850 --- /dev/null +++ b/V_2/README_V2.md @@ -0,0 +1,168 @@ +# Auto Clip – V2 (DJ Tooling & Best‑Of) + +**Auto Clip V2** bygger videre på V1 og er den første version, der er tænkt som et **praktisk DJ‑værktøj** – ikke kun et proof‑of‑concept. + +V2 introducerer: +- track‑udvælgelse (manuel + auto best‑of) +- bedre teaser‑flow +- preroll og crossfade +- trance‑venlige defaults +- mulighed for at generere README / promo via Ollama + +--- + +## Hvad gør V2? + +V2‑scriptet kan: + +- Scanne en mappe med tracks (max 20) +- Vælge tracks: + - alle + - specifikke index / ranges + - automatisk *best‑of* +- Undgå lange intros +- Klippe DJ‑venlige segmenter +- Samle dem med crossfade +- Eksportere: + - `album_teaser.wav` + - `album_teaser.mp3` + - `teaser_report.json` +- (Valgfrit) generere README / promo‑tekst via Ollama + +--- + +## Install (til repo) 🐍 + +```bash +python -m venv .venv +source .venv/bin/activate + +pip install -U pip +pip install numpy librosa soundfile requests +``` + +> ⚠️ **FFmpeg skal være installeret og ligge i PATH** + +--- + +## Mappestruktur (eksempel) + +``` +V_2/ +├── dj_teaser_v2.py +├── tracks/ +│ ├── 01 - Track.wav +│ ├── 02 - Track.wav +│ └── ... +└── out/ +``` + +--- + +## Anbefalede kommandoer 🎛️ +*(til dine 14 old school trance tracks)* + +--- + +### 1️⃣ Rollcall – alle tracks (hurtigt DJ‑flip) + +God til: +- album previews +- “hvem er med?”‑teasers + +```bash +python dj_teaser_v2.py \ + --tracks-dir ./tracks \ + --select all \ + --teaser 60 \ + --bars 2 \ + --preroll-bars 1 \ + --avoid-intro 30 \ + --crossfade 0.25 +``` + +--- + +### 2️⃣ Best‑of – mini‑mix vibe + +God til: +- promo‑teaser +- social media +- mere musikalsk flow + +```bash +python dj_teaser_v2.py \ + --tracks-dir ./tracks \ + --select auto \ + --auto-n 8 \ + --mode bestof \ + --teaser 75 \ + --bars 4 \ + --preroll-bars 1 \ + --avoid-intro 30 \ + --crossfade 0.25 +``` + +--- + +### 3️⃣ Generér README / promo via Ollama (valgfrit) 🤖 + +Hvis du kører Ollama lokalt, kan V2 også generere README og promo‑tekst automatisk. + +```bash +python dj_teaser_v2.py \ + --tracks-dir ./tracks \ + --select auto \ + --auto-n 8 \ + --teaser 75 \ + --bars 4 \ + --ollama http://192.168.2.60:11434 \ + --ollama-model qwen2.5:latest \ + --gen-readme +``` + +> ℹ️ Ollama er **valgfrit** – audio‑delen virker uden. + +--- + +## Output 📦 + +Efter kørsel ligger output i `./out/`: + +``` +out/ +├── album_teaser.wav +├── album_teaser.mp3 +└── teaser_report.json +``` + +--- + +## Hvad er forskellen på V1 og V2? + +| Feature | V1 | V2 | +|------|----|----| +| Track selection | Basis | Avanceret (index / range / auto) | +| Best‑of mode | ❌ | ✅ | +| Preroll | ❌ | ✅ | +| Crossfade | Simpel | Justerbar | +| MP3 output | ❌ | ✅ | +| Ollama integration | ❌ | ⚠️ Valgfri | +| DJ‑flow | Basis | Mærkbart bedre | + +--- + +## Begrænsninger (V2) + +- Ingen harmonic mixing / Camelot +- Ingen ægte downbeat‑detektion +- Key detection bruges ikke til ordering + +👉 For **trance‑venligt DJ‑flow**, se **V3**. + +--- + +## Næste skridt + +- **V3**: harmonic mixing, Camelot, loudnorm, bar‑snap +- **V4**: single CLI, bedre phrase‑logik, tempo‑normalisering diff --git a/V_3/README_V3.md b/V_3/README_V3.md new file mode 100644 index 0000000..7ae0d3e --- /dev/null +++ b/V_3/README_V3.md @@ -0,0 +1,163 @@ +# Auto Clip – V3 (DJ / Trance Focused) + +**Auto Clip V3** er den mest avancerede og musikalsk fokuserede version af Auto Clip. +Den er designet specifikt til **old school trance** og andre elektroniske genrer, hvor **bars, flow og harmonic mixing** betyder noget. + +V3 er der, hvor Auto Clip går fra “smart klipper” til **mini DJ-mix teaser**. + +--- + +## Hvad gør V3 anderledes? + +V3 bygger ovenpå V2 og tilføjer: + +- Harmonic mixing (key detection + Camelot mapping) +- DJ-venlig ordering af tracks +- Bar-snap (phrase-aligned cuts) +- Preroll bars (DJ lead-in) +- Bedre teaser-flow +- Konsistent loudness (loudnorm) +- Klar integration med Ollama til repo/promo-assets + +--- + +## Install (V3) 🐍 + +```bash +python -m venv .venv +source .venv/bin/activate + +pip install -U pip +pip install numpy librosa soundfile +``` + +> ⚠️ **FFmpeg skal være installeret og ligge i PATH** + +--- + +## Kommandoer 🎛️ +*(optimeret til dine 14 old school trance tracks)* + +--- + +### 1️⃣ Rollcall – alle tracks (DJ flip, harmonic ordering ON) + +God til: +- album previews +- “alle tracks med”-teaser + +```bash +python dj_teaser_v3.py \ + --tracks-dir ./tracks \ + --select all \ + --teaser 60 \ + --bars 2 \ + --preroll-bars 1 \ + --avoid-intro 30 \ + --harmonic +``` + +--- + +### 2️⃣ Best-of – mini-mix vibe (8 tracks, 4 bars) + +God til: +- promo-teaser +- social media +- mere musikalsk sammenhæng + +```bash +python dj_teaser_v3.py \ + --tracks-dir ./tracks \ + --select auto \ + --auto-n 8 \ + --teaser 75 \ + --bars 4 \ + --preroll-bars 1 \ + --avoid-intro 30 \ + --harmonic +``` + +--- + +## Typiske V3 tweaks til trance 💡 + +- `--avoid-intro 30` eller `45` + → lange trance-intros + +- `--bars 2` + → rollcall (alle tracks hurtigt igennem) + +- `--bars 4` + → mere “rigtig” trance / mini-mix feel + +- `--preroll-bars 1` + → DJ lead-in (overgange føles naturlige) + +- `--harmonic` + → næsten altid ON til trance 👌 + +--- + +## Hvordan du bruger V3 i praksis + +### Byg teaser + +```bash +python dj_teaser_v3.py \ + --tracks-dir ./tracks \ + --select all \ + --teaser 60 \ + --bars 2 \ + --preroll-bars 1 \ + --avoid-intro 30 \ + --harmonic +``` + +--- + +### Generér repo-ting + promo via Ollama 🤖 + +Hvis du kører Ollama lokalt: + +```bash +pip install requests + +python ollama_assets.py \ + --report ./out/teaser_report.json \ + --ollama http://192.168.2.60:11434 \ + --model llama3.1:8b-instruct-q4_0 \ + --artist DjGulvBasS \ + --genre "old school trance" +``` + +--- + +## Output 📦 + +Efter kørsel ligger output i `./out/`: + +``` +out/ +├── album_teaser.wav +├── album_teaser.mp3 +└── teaser_report.json +``` + +--- + +## Begrænsninger (V3) + +- Key detection er **best effort** + - pad-heavy tracks kan give upræcis Camelot +- Downbeat er heuristisk (ikke ML-trænet) +- Ikke en erstatning for et rigtigt DJ-mix – men tæt på 😉 + +👉 For eksperimenter og videre udvikling, se **V4 roadmap**. + +--- + +## Kort version + +> **V3 = DJ teaser med bars, flow og harmonic mixing** +> Brug den, når det skal lyde som et rigtigt trance-mini-mix 🔥🎛️