Spaces:
Running
on
Zero
Running
on
Zero
File size: 1,884 Bytes
8ecac59 f37cd83 6c226f9 85b6c52 f37cd83 6c226f9 57f73ef 8ecac59 6c226f9 8ecac59 57f73ef 3c0cd8e bab1585 8ecac59 6c226f9 13e0565 1faae08 13e0565 6c226f9 3c0cd8e 85b6c52 57f73ef 85b6c52 57f73ef 85b6c52 57f73ef 6c226f9 5208902 57f73ef |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 |
import spaces
import torch
import gradio as gr
from AinaTheme import theme
from transformers import pipeline
MODEL_NAME = "projecte-aina/whisper-large-v3-ca-es-synth-cs"
BATCH_SIZE = 8
device = 0 if torch.cuda.is_available() else "cpu"
pipe = pipeline(
task="automatic-speech-recognition",
model=MODEL_NAME,
chunk_length_s=30,
device=device,
)
@spaces.GPU
def transcribe(inputs):
if inputs is None:
raise gr.Error("Cap fitxer d'脿udio introduit! Si us plau pengeu un fitxer "\
"o enregistreu un 脿udio abans d'enviar la vostra sol路licitud")
text = pipe(inputs, batch_size=BATCH_SIZE, generate_kwargs={"task": "transcribe"}, return_timestamps=True)["text"]
return text
description_string = "Transcripci贸 autom脿tica de micr貌fon o de fitxers d'脿udio.\n Aquest demostrador s'ha desenvolupat per"\
" comprovar els models de reconeixement de parla per a m贸bils. Per ara utilitza el checkpoint "\
f"[{MODEL_NAME}](https://huggingface.co/{MODEL_NAME}) i la llibreria de 馃 Transformers per a la transcripci贸."
def clear():
return (
None
)
with gr.Blocks(theme=theme) as demo:
gr.Markdown(description_string)
with gr.Row():
with gr.Column(scale=1):
#input = gr.Audio(sources=["upload", "microphone"], type="filepath", label="Audio")
input = gr.Audio(sources=["upload"], type="filepath", label="Audio")
with gr.Column(scale=1):
output = gr.Textbox(label="Output", lines=8)
with gr.Row(variant="panel"):
clear_btn = gr.Button("Clear")
submit_btn = gr.Button("Submit", variant="primary")
submit_btn.click(fn=transcribe, inputs=[input], outputs=[output])
clear_btn.click(fn=clear,inputs=[], outputs=[input], queue=False,)
if __name__ == "__main__":
demo.launch() |