Revert "Auto-route NZ folk-pop directly to Gemini (skip Scribe)"
This reverts commit 91caf957f2.
This commit is contained in:
parent
91caf957f2
commit
49546410ca
@ -575,43 +575,6 @@ Output ONLY the JSON object."""
|
|||||||
return None
|
return None
|
||||||
|
|
||||||
|
|
||||||
def is_likely_folk_pop(filename_hint=None):
|
|
||||||
"""Detekcija ali je pesem narodno-zabavna (NZ) za auto-routing na Gemini.
|
|
||||||
|
|
||||||
Scribe slabo transkribira NZ glasbo (Avsenik, Modrijani, itd.),
|
|
||||||
Gemini 3 Pro je veliko zanesljivejši. Zato auto-routamo NZ pesmi
|
|
||||||
direktno na Gemini.
|
|
||||||
"""
|
|
||||||
if not filename_hint:
|
|
||||||
return False
|
|
||||||
|
|
||||||
name = filename_hint.lower()
|
|
||||||
|
|
||||||
# Whitelist znanih NZ izvajalcev (slovenski + hrvaški + bosanski + srbski folk-pop)
|
|
||||||
NZ_KEYWORDS = [
|
|
||||||
# Tipične besede
|
|
||||||
"ansambel", "ansambl", "tamburaški", "polka", "valček", "narodno",
|
|
||||||
"veseli", "studio", "vox", "trio", "kvintet", "oktet",
|
|
||||||
# Slovenski Avseniki & sorodni
|
|
||||||
"avsenik", "slak", "fehtar", "modrijan", "atomik", "feniks",
|
|
||||||
"gadi", "mladi korenjaki", "prinčki", "vikend", "stil", "unikat",
|
|
||||||
"veseli svatje", "topliški", "korenjaki", "gorenjski",
|
|
||||||
"prleški", "štajerski", "primorski", "dolenjski",
|
|
||||||
"fantje", "trio", "kvartet",
|
|
||||||
# Hrvaški
|
|
||||||
"klapa", "stoka", "thompson", "marko perković", "mate bulić",
|
|
||||||
"miroslav škoro", "halid bešlić", "haris džinović",
|
|
||||||
# Srbski / bosanski folk
|
|
||||||
"lepa brena", "ceca", "bijelo dugme", "azra",
|
|
||||||
]
|
|
||||||
|
|
||||||
for kw in NZ_KEYWORDS:
|
|
||||||
if kw in name:
|
|
||||||
return True
|
|
||||||
|
|
||||||
return False
|
|
||||||
|
|
||||||
|
|
||||||
def transcribe_full(audio_path, lang=None, model_size="small", provider="auto", filename_hint=None):
|
def transcribe_full(audio_path, lang=None, model_size="small", provider="auto", filename_hint=None):
|
||||||
"""Whisper/Scribe transcript dispatcher z hybrid fallback.
|
"""Whisper/Scribe transcript dispatcher z hybrid fallback.
|
||||||
|
|
||||||
@ -631,21 +594,6 @@ def transcribe_full(audio_path, lang=None, model_size="small", provider="auto",
|
|||||||
if provider == "auto":
|
if provider == "auto":
|
||||||
provider = "hybrid" if (has_scribe and has_gemini) else ("elevenlabs" if has_scribe else "local")
|
provider = "hybrid" if (has_scribe and has_gemini) else ("elevenlabs" if has_scribe else "local")
|
||||||
|
|
||||||
# ─── NZ AUTO-ROUTING ──────────────────────────────────────
|
|
||||||
# Če je pesem zaznana kot narodno-zabavna IN imamo Gemini → preskoči Scribe.
|
|
||||||
# Scribe slabo transkribira NZ glasbo (Avsenik, Modrijani itd.), Gemini boljši.
|
|
||||||
if has_gemini and provider in ("hybrid", "auto") and is_likely_folk_pop(filename_hint):
|
|
||||||
print(f"🎻 NZ pesem zaznana ('{filename_hint}') → Gemini 3 Pro direktno (preskoči Scribe)", file=sys.stderr)
|
|
||||||
result = transcribe_with_gemini(audio_path, lang=lang, filename_hint=filename_hint)
|
|
||||||
if result and result.get("segments"):
|
|
||||||
return result
|
|
||||||
# Če Gemini failed, pade na Scribe
|
|
||||||
if has_scribe:
|
|
||||||
print(f" ⚠️ Gemini failed → fallback na Scribe", file=sys.stderr)
|
|
||||||
provider = "elevenlabs"
|
|
||||||
else:
|
|
||||||
return {"language": "unknown", "language_probability": 0.0, "segments": []}
|
|
||||||
|
|
||||||
# ─── HYBRID: Scribe primary, Gemini fallback ───
|
# ─── HYBRID: Scribe primary, Gemini fallback ───
|
||||||
if provider == "hybrid":
|
if provider == "hybrid":
|
||||||
if not has_scribe:
|
if not has_scribe:
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user