Readme
Update the readme
This commit is contained in:
121
V_1/README_V1.md
Normal file
121
V_1/README_V1.md
Normal 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
168
V_2/README_V2.md
Normal file
@@ -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
|
||||||
163
V_3/README_V3.md
Normal file
163
V_3/README_V3.md
Normal 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 🔥🎛️
|
||||||
Reference in New Issue
Block a user