papasega's picture
Update app.py
e7baf67 verified
raw
history blame contribute delete
No virus
1.02 kB
from speechbrain.inference.ASR import EncoderASR
import gradio as gr
import numpy as np
import soundfile as sf
model = EncoderASR.from_hparams("speechbrain/asr-wav2vec2-dvoice-wolof")
def transcribe(audio):
if isinstance(audio, str): # Si audio est un chemin de fichier
return model.transcribe_file(audio)
else: # Si audio est un tuple (cas du microphone)
sr, y = audio
y = y.astype(np.float32)
y /= np.max(np.abs(y))
# Enregistrer temporairement l'audio pour utiliser la méthode transcribe_file
temp_file = 'temp.wav'
sf.write(temp_file, y, sr)
return model.transcribe_file(temp_file)
demo = gr.Interface(
fn=transcribe,
inputs=gr.Audio(sources=["microphone", "upload"], label="Audio en wolof"),
outputs=gr.Textbox(label="Transcription alphabet latin"),
title="Transcription audio en wolof latin by PSW",
description="Ce modèle transcrit un fichier audio en wolof en texte en utilisant l'alphabet latin."
)
demo.launch()