Spaces:
Running
Running
| 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() |