file chance

This commit is contained in:
Thomas
2026-01-29 11:01:21 +01:00
parent 9d15fd3bb7
commit ef168bc181
3 changed files with 356 additions and 72 deletions

View File

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

View File

@@ -1,34 +1,168 @@
Install (til repo)
# 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 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 DJflip)
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⃣ Bestof minimix vibe
3\) Samtidig generér README/promo via din Ollama
God til:
- promoteaser
- 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 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

View File

@@ -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)
### 1Rollcall 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)
### 2Best-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 🔥🎛️