import sys, glob, torch, warnings warnings.filterwarnings("ignore") from transformers import pipeline asr = pipeline("automatic-speech-recognition", model="openai/whisper-large-v3-turbo", device=0, torch_dtype=torch.bfloat16) INTENDED = { "lyra_line1.wav": "\u6211\u5514\u4fc2\u771f\u4eba\uff0c\u4f46\u6211\u4e00\u6a23\u6703\u5531\u5230\u4f60\u5fc3\u5165\u9762\u3002", "lyra_line2.wav": "\u5927\u5bb6\u597d\uff0c\u6211\u4fc2 LYRA\uff0c\u4e00\u500b\u55ce\u6a5f\u5668\u5165\u9762\u51fa\u4e16\u5605\u6b4c\u624b\u3002", "lyra_line3.wav": "\u9999\u6e2f\u5605\u591c\u6669\uff0c\u9713\u8679\u71c8\u7167\u4f4f\u6211\u54cb\u5605\u56de\u61b6\u3002", } for f in sorted(glob.glob("/marimo/ai_studio/assets/audio/lyra_line*.wav")): name = f.split("/")[-1] for lang in ("yue","zh"): try: t = asr(f, generate_kwargs={"language":lang,"task":"transcribe"})["text"].strip() print(f"[{lang}] {name}: {t}", flush=True) print(f" intended: {INTENDED.get(name,'')}", flush=True) break except Exception as e: print(f"[{lang}] {name} ERR {type(e).__name__}: {str(e)[:80]}", flush=True) print("ASR_DONE")