palli23 commited on
Commit
2179696
·
1 Parent(s): c95f5de
Files changed (1) hide show
  1. app.py +33 -16
app.py CHANGED
@@ -1,37 +1,54 @@
1
- # app.py – NÚNA VIRKAR Á ZeroGPU (A100/T4)
2
  import os
3
  import gradio as gr
4
- import spaces # MÁGÍSKUR – virkjar ZeroGPU
5
  from transformers import pipeline
 
6
 
7
- # ÞITT private model
8
  MODEL_NAME = "palli23/whisper-small-sam_spjall"
9
 
10
- # Þetta fall keyrir á GPU í ZeroGPU
11
  @spaces.GPU
12
- def transcribe(audio):
13
- if not audio:
14
  return "Hladdu upp hljóðskrá"
15
 
16
- # Módel hleðst á GPU í fyrsta skipti (cached)
17
  pipe = pipeline(
18
  "automatic-speech-recognition",
19
  model=MODEL_NAME,
20
- device=0, # 0 = GPU (ZeroGPU gefur þér A100/T4)
21
  token=os.getenv("HF_TOKEN")
22
  )
23
- result = pipe(audio, batch_size=8)
 
 
 
 
 
 
 
 
 
 
 
 
24
  return result["text"]
25
 
26
- # Einfalt interface
27
- with gr.Blocks(title="Íslenskt ASR – ZeroGPU Live") as demo:
28
  gr.Markdown("# Íslenskt ASR – ZeroGPU (A100/T4)")
29
- gr.Markdown("**~4 % WER · 0.2× RTF · Keyrir á GPU núna**")
 
 
 
 
 
 
 
 
30
 
31
- audio = gr.Audio(type="filepath", label="Hladdu upp .mp3 / .wav")
32
- btn = gr.Button("Transcribe (15–25 sek)", variant="primary", size="lg")
33
- out = gr.Textbox(lines=25, label="Útskrift")
34
 
35
- btn.click(transcribe, audio, out)
36
 
37
  demo.launch(auth=("beta", "beta2025"))
 
1
+ # app.py – Virkar á ZeroGPU – allt að 3 mínútur (180 sek)
2
  import os
3
  import gradio as gr
4
+ import spaces
5
  from transformers import pipeline
6
+ import numpy as np
7
 
 
8
  MODEL_NAME = "palli23/whisper-small-sam_spjall"
9
 
 
10
  @spaces.GPU
11
+ def transcribe_long(audio_path):
12
+ if not audio_path:
13
  return "Hladdu upp hljóðskrá"
14
 
15
+ # Hlaða ASR á GPU (cached)
16
  pipe = pipeline(
17
  "automatic-speech-recognition",
18
  model=MODEL_NAME,
19
+ device=0,
20
  token=os.getenv("HF_TOKEN")
21
  )
22
+
23
+ # Chunkar – 30 sek + 2 sek overlap (besta niðurstaðan fyrir Whisper-small)
24
+ chunk_length_s = 30
25
+ stride_length_s = 2
26
+
27
+ result = pipe(
28
+ audio_path,
29
+ chunk_length_s=chunk_length_s,
30
+ stride_length_s=(stride_length_s, stride_length_s),
31
+ return_timestamps=False,
32
+ batch_size=8
33
+ )
34
+
35
  return result["text"]
36
 
37
+ # Gradio – fallegt og tilbúið fyrir 3 mín klippur
38
+ with gr.Blocks(title="Íslenskt ASR – 3 mínútur") as demo:
39
  gr.Markdown("# Íslenskt ASR – ZeroGPU (A100/T4)")
40
+ gr.Markdown("**Styður allt 3 mínútna hljóðklippur · ~4 % WER · 25–45 sek transcribe**")
41
+
42
+ audio = gr.Audio(
43
+ type="filepath",
44
+ label="Hladdu upp .mp3 / .wav / .m4a (allt að 3 mín)"
45
+ )
46
+
47
+ btn = gr.Button("Transcribe (25–45 sek)", variant="primary", size="lg")
48
+ out = gr.Textbox(lines=30, label="Útskrift")
49
 
50
+ btn.click(transcribe_long, inputs=audio, outputs=out)
 
 
51
 
52
+ gr.Markdown( 2025 – Einkaeign")
53
 
54
  demo.launch(auth=("beta", "beta2025"))