Spaces:
Sleeping
Sleeping
| # app.py – VIRKAR Á ÖLLUM Spaces (jafnvel gömlum Gradio) | |
| import os | |
| import gradio as gr | |
| import spaces | |
| from transformers import pipeline | |
| MODEL_NAME = "palli23/whisper-small-sam_spjall" | |
| print("Hleð Whisper módelinu einu sinni...") | |
| pipe = pipeline( | |
| "automatic-speech-recognition", | |
| model=MODEL_NAME, | |
| torch_dtype="auto", | |
| device="cuda", | |
| token=os.getenv("HF_TOKEN") | |
| ) | |
| # Fix fyrir gamlar Whisper útgáfur | |
| if not hasattr(pipe.model.generation_config, "lang_to_id") or pipe.model.generation_config.lang_to_id is None: | |
| pipe.model.generation_config.lang_to_id = {"is": 50259} | |
| pipe.model.generation_config.task_to_id = {"transcribe": 50359, "translate": 50358} | |
| pipe.model.generation_config.forced_decoder_ids = None | |
| print("Módel tilbúið!") | |
| def transcribe_single(audio_path): | |
| if not audio_path: | |
| return None, "Hladdu upp hljóðskrá fyrst", "00:00" | |
| result = pipe(audio_path, chunk_length_s=30, batch_size=8) | |
| text = result["text"].strip() | |
| return audio_path, text, None # Slekkur á timer þegar búið | |
| with gr.Blocks() as demo: | |
| gr.Markdown("# Íslenskt Whisper – Mjög lágt WER") | |
| gr.Markdown("Hladdu upp einni skrá (allt að 5 mín) → Transcribe") | |
| audio_in = gr.Audio(label="Hljóðskrá", type="filepath") # Virkar á öllum Gradio útgáfum | |
| btn = gr.Button("Transcribe", variant="primary", size="lg") | |
| # Einfaldur timer án label/active/visible (virkar á Gradio 3.x) | |
| timer = gr.Timer(value=180) | |
| output = gr.Textbox(label="Útskrift", lines=20) | |
| btn.click( | |
| transcribe_single, | |
| inputs=audio_in, | |
| outputs=[audio_in, output, timer] | |
| ) | |
| # Login: beta / beta2025 | |
| demo.launch(auth=("beta", "beta2025")) |