papasega's picture
Update app.py
87528f8 verified
raw
history blame contribute delete
No virus
1.61 kB
import gradio as gr
from transformers import pipeline
import numpy as np
import httpcore
from googletrans import Translator
import time
# Correctif pour httpcore
setattr(httpcore, 'SyncHTTPTransport', object)
# Initialisation du modèle de transcription
transcriber = pipeline("automatic-speech-recognition", model="jonatasgrosman/wav2vec2-large-xlsr-53-arabic")
#transcriber = pipeline("automatic-speech-recognition", model="tarteel-ai/whisper-base-ar-quran")
#transcriber = pipeline("automatic-speech-recognition", model="elgeish/wav2vec2-large-xlsr-53-arabic")
# Initialisation du traducteur
translator = Translator()
def transcribe_and_translate(audio):
sr, y = audio
y = y.astype(np.float32)
y /= np.max(np.abs(y))
# Transcription du texte
transcription = transcriber({"sampling_rate": sr, "raw": y})["text"]
time.sleep(2)
# Traduction du texte transcrit
translation = translator.translate(transcription, src='ar', dest='fr').text
return transcription, translation
# Création de l'interface Gradio
demo = gr.Interface(
fn=transcribe_and_translate,
inputs=gr.Audio(sources=["microphone"], label="Enregistrement Audio"),
outputs=[
gr.Textbox(label="Texte en Arabe"),
gr.Textbox(label="Traduction en Français")
],
title="Transcription automatiques de l'Arabe et traduction en Français by PSW",
description="Utilisez le microphone pour parler en arabe, puis appuyez sur le bouton stop et Submit pour voir la transcription et la traduction."
)
# Lancement de l'application Gradio
demo.launch(show_error=True, share=True)