Prompt: chorus must start on FIRST WORD of FIRST LINE

User feedback after re-processing 14 reels:
- 8 perfect (BRAJDE 100%, FICKA, Abracadabra, Žena, Stisn, PA PA,
  Gojzar tanc, GADI Pijan)
- 4 problematic patterns identified:
  1. CVETELE: clip extends 22s into instrumental on 'nekoč oba' hold
  2. GORENJSKA LJUBLJENA: clip starts mid-line at 'obrnem nazaj'
     instead of 'V Ljubljani se obrnem nazaj'
  3. Fantje: clip starts mid-chorus at 'vabijo me' (2nd line)
     instead of first line
  4. PODEŽELSKI: extends into 'o o o' outro filler

Common cause: Soniox can group end-of-verse + start-of-chorus into
same segment (e.g., '[43.6-47.6] doma. V Ljubljani se'), and Claude
picks segment.start (43.6) or next segment.start (48.2) instead of
the actual word 'V' boundary inside the segment.

Prompt fix:
1. NEW critical rule: 'clip start = TOČNO prva beseda PRVE vrstice'
2. Warning about Soniox merging end-of-verse + start-of-chorus
3. Use word-level timestamps to find chorus start word
4. Warning about long held tones in Soniox segments (15-20s on
   'oba', 'doma', 'srca' due to fade-out instrumental)
5. Cut 1-2s after last sung word, don't wait 20s for tone to die
6. Outro filler: include short outros (yeah/aj-aj), but cut before
   long repeating outros (5+s of 'o o o') as those are fade-out

Added concrete examples in PRIMERI:
- BRAJDE: 28s (already perfect)
- GORENJSKA: explicit warning about 'V Ljubljani se' boundary
- CVETELE: explicit warning about 15-20s held tone segments

This is a prompt-only change. No code logic modified.
LLM still has full autonomy on duration.
This commit is contained in:
Sebastjan Artič 2026-04-30 05:19:35 +00:00
parent 22bb3cfe02
commit d8c2aae9c1

View File

@ -1410,21 +1410,34 @@ PROSIM:
## STRATEGIJA — kako razmišljati:
1. **Najdi PRVI nastop refrena** v pesmi
2. **Poglej KAJ SLEDI**:
- Refren je tisti del, ki se ponavlja v pesmi (običajno 2-4 vrstice)
- Identificiraj **PRVO vrstico refrena** (ne drugo, ne tretjo!)
- Primer: če refren je "V Ljubljani se obrnem nazaj / saj vrača me pogled / kjer gore se dotikajo neba / gorenjska ljubljena", **prva vrstica = "V Ljubljani se obrnem nazaj"**
- Primer: če refren je "Žena me tepe / mi prazni žepe / da vidi, kje in s kom sem bil", **prva vrstica = "Žena me tepe"**
2. **🎯 KRITIČNO: clip start = TOČNO prva beseda PRVE vrstice refrena**
- Če prva vrstica je "V Ljubljani se obrnem nazaj", clip start = beseda **"V"**, NE "obrnem"
- Če prva vrstica je "Žena me tepe", clip start = beseda **"Žena"**, NE "me"
- **OPOZORILO**: STT (Soniox) lahko združi konec verza z začetkom refrena v en segment, npr. segment "[43.6-47.6] doma. V Ljubljani se" TUKAJ refren začne sredi segmenta na "V Ljubljani". Uporabi WORD-LEVEL timestampe da najdeš točno začetno besedo "V"!
- **NIKOLI ne začni** sredi besede ali sredi vrstice refrena
3. **Poglej KAJ SLEDI**:
- Če **takoj sledi DRUGI nastop ISTEGA refrena** (gap < 3s) **vključi oba** = ~30s. TO JE NAJBOLJ POGOST PRIMER.
- Če sledi **drug refren** (B-refren z drugim besedilom) samo prvi A-refren
- Če sledi instrumental break samo prvi refren
- Če sledi takoj verz samo prvi refren
3. **Vključi naravne intro klice/fraze**:
4. **Vključi naravne intro klice/fraze**:
- "Ajmo Janezi!" pred BRAJDE refrenom = del refrena, vključi
- "Hey!" / "Yeah!" / "Oh!" intro klici = del refrena, vključi
- "Pa-pa!" / "La-la!" v začetku refrena = del refrena, vključi
4. **Naravni konec refrena**:
- Pevec drži zadnji ton 1-3s = del refrena
- Outro filler ("aj aj aj", "yeah yeah") = del refrena
- Ne reži sredi besede ali izpetega tona
5. **Naravni konec refrena**:
- Pevec drži zadnji ton 1-3s = **del refrena, vključi**
- Outro filler ("aj aj aj", "yeah yeah", "la la la") = **del refrena, vključi**
- **AMPAK**: če je outro filler **dolg in se ponavlja** (npr. "o o o o o o" 5+ sekund), **konča pred njim** to je outro v fade-out, ne pomembna vsebina. Primer: refren konča z "podeželski rokenrol", potem "o o o" 5s = **odreži pri "rokenrol"**, ne pri zadnjem "o"
- Ne reži sredi besede ali sredi izpetega tona
- **OPOZORILO**: STT lahko zadnji izpeti ton ("oba", "doma", "srca") razpiše kot 15-20s segment (ker pevec drži ton + instrumental fade-out). To NI del besedila odreži po prvih 1-2 sekundah po izpevu, NE čakaj 20s.
## PRIMERI — kako se razmišlja:
@ -1434,6 +1447,18 @@ PROSIM:
- Refren 2: "Pejd' greva..." 57.1-63.1s + "Da v senci..." 63.8-69.8s
- **Izbira: 41.8-69.8s = 28s** (dva zaporedna refrena z "Ajmo Janezi" intro klicem)
**GORENJSKA LJUBLJENA (Fehtarji):**
- Refren prva vrstica: "V Ljubljani se obrnem nazaj"
- **POZOR**: Soniox segment je "[43.6-47.6] doma. V Ljubljani se" refren začne **sredi segmenta** pri besedi "V" (~46s)
- Naslednji segment: "[48.2-59.7] obrnem nazaj, saj vrača me pogled..."
- **Pravilna izbira**: start = beseda "V" pri ~46s, **ne 48.2s** (kjer je 'obrnem' sredi vrstice!)
- End: konec refrena pri "gorenjska ljubljena" (~80s)
**CVETELE SO MALINE (Avsenik):**
- Refren prva vrstica: "Cvetele so maline, ko rekla je vse mine"
- **POZOR**: zadnja beseda refrena ("oba", "boli") lahko traja 15+ sekund v Soniox segmentu zaradi izpetega tona + instrumentala
- **Pravilna izbira**: konča 1-2 sekundi po zadnji izgovorjeni besedi, **NE čakaj 20s da ton zamre**
**Lady Gaga "Abracadabra":**
- Refren: "Abracadabra, amor..." 4 vrstice
- Ponavadi se 2x ponovi