From ef168bc181e9deed57f16728213ab2fd5a7fe7e8 Mon Sep 17 00:00:00 2001 From: Thomas Date: Thu, 29 Jan 2026 11:01:21 +0100 Subject: [PATCH] file chance --- V_1/readme.md | 105 ++++++++++++++++++++++++++++---- V_2/readme.md | 158 +++++++++++++++++++++++++++++++++++++++++++---- V_3/readme.md | 165 ++++++++++++++++++++++++++++++++++++-------------- 3 files changed, 356 insertions(+), 72 deletions(-) diff --git a/V_1/readme.md b/V_1/readme.md index b28205a..94d3871 100644 --- a/V_1/readme.md +++ b/V_1/readme.md @@ -1,42 +1,121 @@ -Scan mappe og brug alle (max 20) +# Auto Clip – V1 (Minimal MVP) -python dj\_teaser.py --tracks-dir ./tracks --select all --mode rollcall --teaser 60 --bars 2 +**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 +--- -Vælg specifikke tracks (1-based index) +## Hvad gør V1? -python dj\_teaser.py --tracks-dir ./tracks --select 1,2,3,7,9 --teaser 60 --bars 2 +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**. -Range + mix +--- -python dj\_teaser.py --tracks-dir ./tracks --select 1-4,7,10-12 --teaser 60 --bars 2 +## 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/ +``` -Output: ./out/album\_teaser.wav + ./out/teaser\_report.jsonScan mappe og brug alle (max 20) +--- -python dj\_teaser.py --tracks-dir ./tracks --select all --mode rollcall --teaser 60 --bars 2 +## 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-based index) +--- -python dj\_teaser.py --tracks-dir ./tracks --select 1,2,3,7,9 --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 +### Range + mix -python dj\_teaser.py --tracks-dir ./tracks --select 1-4,7,10-12 --teaser 60 --bars 2 +```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 +``` -Output: ./out/album\_teaser.wav + ./out/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.md b/V_2/readme.md index 94404cd..a410850 100644 --- a/V_2/readme.md +++ b/V_2/readme.md @@ -1,34 +1,168 @@ -Install (til repo) +# 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 i PATH +> ⚠️ **FFmpeg skal være installeret og ligge i PATH** +--- +## Mappestruktur (eksempel) -🎛️ Kommandoer jeg ville bruge til dine 14 old school trance tracks +``` +V_2/ +├── dj_teaser_v2.py +├── tracks/ +│ ├── 01 - Track.wav +│ ├── 02 - Track.wav +│ └── ... +└── out/ +``` -1\) “Rollcall” (alle 14, DJ-flip) +--- -python dj\_teaser\_v2.py --tracks-dir ./tracks --select all --teaser 60 --bars 2 --preroll-bars 1 --avoid-intro 30 --crossfade 0.25 +## Anbefalede kommandoer 🎛️ +*(til dine 14 old school trance tracks)* +--- +### 1️⃣ Rollcall – alle tracks (hurtigt DJ‑flip) -2\) “Best-of” (mere mini-mix vibe) +God til: +- album previews +- “hvem er med?”‑teasers -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 +```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 -3\) Samtidig generér README/promo via din Ollama +God til: +- promo‑teaser +- social media +- mere musikalsk flow -python dj\_teaser\_v2.py --tracks-dir ./tracks --select auto --auto-n 8 --teaser 75 --bars 4 \\ +```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 +``` -  --ollama http://192.168.2.60:11434 --ollama-model qwen2.5:latest --gen-readme +--- +### 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.md b/V_3/readme.md index 9635da2..7ae0d3e 100644 --- a/V_3/readme.md +++ b/V_3/readme.md @@ -1,92 +1,163 @@ -Install (til v3) +# 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 +> ⚠️ **FFmpeg skal være installeret og ligge i PATH** +--- +## Kommandoer 🎛️ +*(optimeret til dine 14 old school trance tracks)* -🎛️ Kommandoer (til dine 14 old school trance tracks) +--- -Rollcall (alle 14, DJ flip, harmonic ordering on) +### 1️⃣ Rollcall – alle tracks (DJ flip, harmonic ordering ON) -python dj\_teaser\_v3.py --tracks-dir ./tracks --select all --teaser 60 --bars 2 --preroll-bars 1 --avoid-intro 30 --harmonic +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 +``` +--- -Best-of mini-mix vibe (8 tracks, 4 bars) +### 2️⃣ Best-of – mini-mix vibe (8 tracks, 4 bars) -python dj\_teaser\_v3.py --tracks-dir ./tracks --select auto --auto-n 8 --teaser 75 --bars 4 --preroll-bars 1 --avoid-intro 30 --harmonic +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 +``` +--- -💡 V3 tweaks jeg typisk bruger til trance +## Typiske V3 tweaks til trance 💡 +- `--avoid-intro 30` eller `45` + → lange trance-intros +- `--bars 2` + → rollcall (alle tracks hurtigt igennem) ---avoid-intro 30 eller 45 (lange trance intros) +- `--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 👌 ---bars 2 hvis alle skal med (rollcall) +--- +## Hvordan du bruger V3 i praksis +### Byg teaser ---bars 4 hvis du vil have mere “rigtig” trance-feel +```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 🤖 ---preroll-bars 1 giver DJ-lead-in (får overgangen til at føles naturlig) - - - ---harmonic næsten altid “on” til trance 👌 - - - - - -Hvordan du bruger det i praksis - - - -Byg teaser med v3: - - - -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 med din Llama 3.1: - - +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" +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 📦 -🎛️ Små tips (trance) +Efter kørsel ligger output i `./out/`: +``` +out/ +├── album_teaser.wav +├── album_teaser.mp3 +└── teaser_report.json +``` +--- -Hvis cut føles “for tidligt”: sænk --avoid-intro eller sæt --preroll-bars 0 +## 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**. -Hvis du vil have mere “rigtig trance”: brug --bars 4 og vælg --select auto --auto-n 8 +--- +## Kort version - -Hvis key detection virker off på enkelte tracks: det er normalt (pads + noise + modulations). Camelot er “best effort” her. - +> **V3 = DJ teaser med bars, flow og harmonic mixing** +> Brug den, når det skal lyde som et rigtigt trance-mini-mix 🔥🎛️