import os, sys, time
os.environ.setdefault("HF_HOME", "/home/min/hermes_workspace/demo_review/hf_cache")
from faster_whisper import WhisperModel

t0 = time.time()
model = WhisperModel("large-v3", device="cuda", compute_type="float16")
print(f"model loaded in {time.time()-t0:.0f}s", flush=True)

segments, info = model.transcribe(
    "/home/min/hermes_workspace/demo_review/audio_full.m4a",
    beam_size=5, vad_filter=True,
)
print(f"detected language={info.language} p={info.language_probability:.2f}", flush=True)

with open("/home/min/hermes_workspace/demo_review/transcript.txt", "w", encoding="utf-8") as f:
    for seg in segments:
        m, s = divmod(int(seg.start), 60)
        f.write(f"[{m:02d}:{s:02d}] {seg.text.strip()}\n")
print(f"transcribe done in {time.time()-t0:.0f}s", flush=True)