Spaces:
Running
Running
File size: 3,314 Bytes
590e824 db2559b 590e824 a710bbe 0dade2f 590e824 8e05f53 b879e18 a710bbe b234b92 590e824 ba66804 a710bbe faac03c a710bbe 590e824 a710bbe 0dade2f e719dee b879e18 a710bbe b234b92 0dade2f ba66804 a710bbe faac03c a710bbe 0dade2f a710bbe 0dade2f a710bbe 0dade2f a710bbe 44f5f21 d574253 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 |
import gradio as gr
from transformers import pipeline
# Chargement des deux modèles Whisper
model_roman = pipeline("automatic-speech-recognition", model="nairaxo/whisper-shikomori-latin")
model_arabic = pipeline("automatic-speech-recognition", model="nairaxo/whisper-shikomori-arabic")
# Fonction de transcription avec sélection du modèle
def transcribe(audio, model_choice):
if model_choice == "Modèle en alphabet latin":
transcription = model_roman(audio)["text"]
else:
transcription = model_arabic(audio)["text"]
return transcription
# Initialisation des blocs pour l'interface Gradio
demo = gr.Blocks()
# Interface Gradio pour microphone
mf_transcribe = gr.Interface(
fn=transcribe,
inputs=[
gr.Audio(sources=["microphone"], type="filepath", label="🎤 Entrée Audio (Microphone)"),
gr.Radio(choices=["Modèle en alphabet latin", "Modèle en alphabet arabe"], label="Sélection du modèle de transcription",
value="Modèle en alphabet latin",
# style={"font-family": "Arial", "font-size": "16px", "color": "#333"}
),
],
outputs=gr.Textbox(label="📄 Transcription en Shikomori", lines=5, max_lines=10),
title="Transcription Audio en Shikomori",
description="<p style='color: #555;'>Sélectionnez une méthode et un modèle pour transcrire l'audio en langue Shikomori. Ce service (en version bêta) prend en charge les transcriptions en alphabet latin et arabe (système Kamar-Eddine). Les modèles ont été entraîné sur la base de données construites à partir d'un algorithme d'alignement forcé. Pour une bonne expérience et afin de mieux transcrire vos audios, assurez-vous de prononcer clairement les mots et d'être dans un environnement ayant peu de bruits.</p>",
theme="compact",
)
# Interface Gradio pour fichier audio
file_transcribe = gr.Interface(
fn=transcribe,
inputs=[
gr.Audio(type="filepath", label="📂 Entrée Audio (Fichier)"),
gr.Radio(choices=["Modèle en alphabet latin", "Modèle en alphabet arabe"], label="Sélection du modèle de transcription",
value="Modèle en alphabet latin",
# style={"font-family": "Arial", "font-size": "16px", "color": "#333"}
),
],
outputs=gr.Textbox(label="📄 Transcription en Shikomori", lines=5, max_lines=10),
title="Transcription Audio en Shikomori",
description="<p style='color: #555;'>Chargez un fichier audio et sélectionnez une méthode et un modèle pour transcrire l'audio en langue Shikomori. Ce service (en version bêta) prend en charge les transcriptions en alphabet latin et arabe (système Kamar-Eddine). Les modèles ont été entraîné sur la base de données construites à partir d'un algorithme d'alignement forcé. Pour une bonne expérience et afin de mieux transcrire vos audios, assurez-vous de prononcer clairement les mots et d'être dans un environnement ayant peu de bruits.</p>",
theme="compact",
)
# Utilisation de l'interface avec des onglets
with demo:
gr.TabbedInterface(
[mf_transcribe, file_transcribe],
["🔊 Microphone", "📁 Fichier Audio"]
)
# Lancement de l'application
# demo.launch(enable_queue=True, server_port=5001, share=True)
demo.launch()
|