CoolFace
Apppublic

BasqueLabs/whisper-demo-basque

sourceHugging Faceapache-2.0updated 2y agoView on Hugging Face
0likes
app.py66 linesDownload Raw Back to root
1 2import gradio as gr3from AinaTheme import theme4from faster_whisper import WhisperModel5import torch6 7device, torch_dtype = ("cuda", "float32") if torch.cuda.is_available() else ("cpu", "int8")8 9MODEL_NAME = "xezpeleta/whisper-tiny-eu-ct2"10print("Loading model ...")11model = WhisperModel(MODEL_NAME, compute_type=torch_dtype)12print("Loading model done.")13 14def transcribe(inputs):15    print("transcribe()")16    if inputs is None:17        raise gr.Error("Ez da audio fitxategirik aukeratu. Mesedez, igo audio fitxategi bat"\18                       "edo grabatu zure ahotsa mikrofono bidez")19 20    segments, _ = model.transcribe(21        inputs, 22        chunk_length=30,23        task="transcribe",24        word_timestamps=True,25        repetition_penalty=1.1,26        temperature=[0.0, 0.1, 0.2, 0,3, 0.4, 0.6, 0.8, 1.0],27    )28 29    text = ""30    for segment in segments:31        text += " " + segment.text.strip()32    return text33 34 35description_string = "Mikrofono grabazioaren edo audio fitxategi baten transkripzio automatikoa\n Demo hau hurrengo eredu hauek erabiliz"\36        " sortua izan da: "\37              f"[{MODEL_NAME}](https://huggingface.co/{MODEL_NAME})"38 39 40def clear():41     return (None)42 43 44with gr.Blocks(theme=theme) as demo:45    gr.Markdown(description_string)46    with gr.Row():47        with gr.Column(scale=1):48            input = gr.Audio(sources=["upload", "microphone"], type="filepath", label="Audio")49 50        with gr.Column(scale=1):51            output = gr.Textbox(label="Output", lines=8)52    53    with gr.Row(variant="panel"):54            clear_btn = gr.Button("Clear")55            submit_btn = gr.Button("Submit", variant="primary")56 57 58    submit_btn.click(fn=transcribe, inputs=[input], outputs=[output])59    clear_btn.click(fn=clear,inputs=[], outputs=[input], queue=False,)60 61 62if __name__ == "__main__":63    demo.launch()64 65 66