import gradio as gr import librosa import numpy as np from transformers import pipeline asr_pipe = pipeline( "automatic-speech-recognition", model="Monsia/wav2ve-dyula-lr-3e-4-aug2-2" ) mt_pipe = pipeline("text2text-generation", model="Monsia/nllb200-mt-dyu-fr-1e-05-Aug-4") def load_and_fix_data(input_file): speech, sample_rate = librosa.load(input_file) if len(speech.shape) > 1: speech = speech[:, 0] + speech[:, 1] if sample_rate != 16000: speech = librosa.resample(speech, orig_sr=sample_rate, target_sr=16000) return speech def koumankan_ast(path): speech_array = load_and_fix_data(path) text_dyu = asr_pipe(speech_array)["text"] text_fr = mt_pipe(text_dyu)[0]["generated_text"] return text_dyu, text_fr iface = gr.Interface( fn=koumankan_ast, inputs=gr.Audio( sources=["microphone", "upload"], type="filepath", label="Record/ Drop audio" ), outputs=[gr.Textbox(label="Dioula"), gr.Textbox(label="Français")], title="Koumankan: AST Dioula vers Français", description="Le projet Koumankan vise à améliorer la disponibilité et la qualité des données vocales et textuelles pour les langues africaines, et à développer des modèles de reconnaissance vocale et de traduction automatique pour ces langues. Ici nous vous présentons Koumankan AST Dioula vers Français.", ) iface.launch()