sami_asr / app.py
GetmanY1's picture
Update description
ca8157c
import gradio as gr
from transformers import pipeline
from librosa import resample
import numpy as np
def transcribe(input_audio):
sr, speech = input_audio
# Convert to mono if stereo
if speech.ndim > 1:
speech = speech.mean(axis=1)
# Convert to float32 if needed
if speech.dtype != "float32":
speech = speech.astype(np.float32)
# Resample if sampling rate is not 16kHz
if sr!=16000:
speech = resample(speech, orig_sr=sr, target_sr=16000)
output = pipe(speech, chunk_length_s=30, stride_length_s=5)['text']
return output
pipe = pipeline(
"automatic-speech-recognition",
model="GetmanY1/wav2vec2-large-sami-cont-pt-22k-finetuned",
device="cpu"
)
gradio_app = gr.Interface(
fn=transcribe,
inputs=gr.Audio(sources=["upload","microphone"]),
outputs="text",
title="Sámi Automatic Speech Recognition",
)
if __name__ == "__main__":
gradio_app.launch()
# if __name__ == "__main__":
# gradio_app.launch()