Update the readme
This commit is contained in:
Thomas
2026-01-29 10:57:20 +01:00
parent 2b81d5843a
commit a9654acb5c
3 changed files with 452 additions and 0 deletions

121
V_1/README_V1.md Normal file
View File

@@ -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**.

168
V_2/README_V2.md Normal file
View File

@@ -0,0 +1,168 @@
# Auto Clip V2 (DJ Tooling & BestOf)
**Auto Clip V2** bygger videre på V1 og er den første version, der er tænkt som et **praktisk DJværktøj** ikke kun et proofofconcept.
V2 introducerer:
- trackudvælgelse (manuel + auto bestof)
- bedre teaserflow
- preroll og crossfade
- trancevenlige defaults
- mulighed for at generere README / promo via Ollama
---
## Hvad gør V2?
V2scriptet kan:
- Scanne en mappe med tracks (max 20)
- Vælge tracks:
- alle
- specifikke index / ranges
- automatisk *bestof*
- Undgå lange intros
- Klippe DJvenlige segmenter
- Samle dem med crossfade
- Eksportere:
- `album_teaser.wav`
- `album_teaser.mp3`
- `teaser_report.json`
- (Valgfrit) generere README / promotekst 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 DJflip)
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⃣ Bestof minimix vibe
God til:
- promoteaser
- 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 promotekst 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** audiodelen 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) |
| Bestof mode | ❌ | ✅ |
| Preroll | ❌ | ✅ |
| Crossfade | Simpel | Justerbar |
| MP3 output | ❌ | ✅ |
| Ollama integration | ❌ | ⚠️ Valgfri |
| DJflow | Basis | Mærkbart bedre |
---
## Begrænsninger (V2)
- Ingen harmonic mixing / Camelot
- Ingen ægte downbeatdetektion
- Key detection bruges ikke til ordering
👉 For **trancevenligt DJflow**, se **V3**.
---
## Næste skridt
- **V3**: harmonic mixing, Camelot, loudnorm, barsnap
- **V4**: single CLI, bedre phraselogik, temponormalisering

163
V_3/README_V3.md Normal file
View File

@@ -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 🔥🎛️