Fix: handle Whisper transcribe failure for instrumental-only audio (fallback to empty transcript)
This commit is contained in:
parent
33a138af9e
commit
e072eec362
@ -47,19 +47,31 @@ def extract_audio(video_path):
|
|||||||
|
|
||||||
|
|
||||||
def transcribe_full(audio_path, lang=None, model_size="small"):
|
def transcribe_full(audio_path, lang=None, model_size="small"):
|
||||||
"""Whisper transcript celega avdia. lang=None → auto-detect."""
|
"""Whisper transcript celega avdia. lang=None → auto-detect.
|
||||||
|
|
||||||
|
Vrne empty transcript če Whisper ne najde govora (popolnoma instrumental)."""
|
||||||
from faster_whisper import WhisperModel
|
from faster_whisper import WhisperModel
|
||||||
|
|
||||||
print(f"🧠 Whisper {model_size}, lang={lang or 'auto'}", file=sys.stderr)
|
print(f"🧠 Whisper {model_size}, lang={lang or 'auto'}", file=sys.stderr)
|
||||||
m = WhisperModel(model_size, device="cpu", compute_type="int8")
|
m = WhisperModel(model_size, device="cpu", compute_type="int8")
|
||||||
segs, info = m.transcribe(
|
try:
|
||||||
audio_path,
|
segs, info = m.transcribe(
|
||||||
language=lang,
|
audio_path,
|
||||||
word_timestamps=True,
|
language=lang,
|
||||||
vad_filter=True,
|
word_timestamps=True,
|
||||||
)
|
vad_filter=True,
|
||||||
detected_lang = info.language
|
)
|
||||||
detected_prob = float(info.language_probability)
|
detected_lang = info.language
|
||||||
|
detected_prob = float(info.language_probability)
|
||||||
|
except (ValueError, RuntimeError) as e:
|
||||||
|
# Whisper failure (např. pri popolnoma instrumentalnih datotekah z VAD)
|
||||||
|
print(f" ⚠️ Whisper transcribe failed: {e}", file=sys.stderr)
|
||||||
|
return {
|
||||||
|
"language": "unknown",
|
||||||
|
"language_probability": 0.0,
|
||||||
|
"segments": [],
|
||||||
|
}
|
||||||
|
|
||||||
print(f" Detekcija: {detected_lang} (p={detected_prob:.2f})", file=sys.stderr)
|
print(f" Detekcija: {detected_lang} (p={detected_prob:.2f})", file=sys.stderr)
|
||||||
|
|
||||||
segments = []
|
segments = []
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user