|
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() |
|
|