Update app.py
Browse files
app.py
CHANGED
|
@@ -1,7 +1,7 @@
|
|
| 1 |
# -*- coding: utf-8 -*-
|
| 2 |
"""
|
| 3 |
ROBOTSMALI — Sous-titrage Bambara
|
| 4 |
-
Version complète et
|
| 5 |
"""
|
| 6 |
|
| 7 |
import os
|
|
@@ -364,24 +364,27 @@ def pipeline(video_input, model_name):
|
|
| 364 |
return (f"❌ Erreur — {str(e)}", None)
|
| 365 |
|
| 366 |
# ----------------------------
|
| 367 |
-
# INTERFACE GRADIO (Corrigée pour
|
| 368 |
# ----------------------------
|
| 369 |
with gr.Blocks(title="RobotsMali - Sous-titrage") as demo:
|
| 370 |
gr.Markdown("## 🤖 RobotsMali — Sous-titrage Bambara (Amélioration Audio)")
|
| 371 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| 372 |
with gr.Row():
|
| 373 |
with gr.Column():
|
| 374 |
-
#
|
| 375 |
v = gr.Video(label="Vidéo à sous-titrer", sources=["upload", "webcam"])
|
| 376 |
m = gr.Dropdown(list(MODELS.keys()), value="Soloba V1 (CTC)", label="Modèle ASR")
|
| 377 |
|
| 378 |
-
#
|
| 379 |
gr.Examples(
|
| 380 |
examples=[
|
| 381 |
["examples/video_bambara_sample.mp4", "Soloba V1 (CTC)"]
|
| 382 |
],
|
| 383 |
inputs=[v, m],
|
| 384 |
-
# FIXE: Ajout de fn=pipeline et outputs pour l'exécution automatique au clic
|
| 385 |
fn=pipeline,
|
| 386 |
outputs=[s, o],
|
| 387 |
label="▶️ Utiliser un exemple (Vidéo stockée dans le Space)",
|
|
@@ -391,8 +394,10 @@ with gr.Blocks(title="RobotsMali - Sous-titrage") as demo:
|
|
| 391 |
b = gr.Button("▶️ Générer les sous-titres", variant="primary")
|
| 392 |
|
| 393 |
with gr.Column():
|
| 394 |
-
|
| 395 |
-
|
|
|
|
|
|
|
| 396 |
|
| 397 |
b.click(pipeline, [v, m], [s, o])
|
| 398 |
|
|
|
|
| 1 |
# -*- coding: utf-8 -*-
|
| 2 |
"""
|
| 3 |
ROBOTSMALI — Sous-titrage Bambara
|
| 4 |
+
Version complète et stable intégrant tous les correctifs et fonctionnalités.
|
| 5 |
"""
|
| 6 |
|
| 7 |
import os
|
|
|
|
| 364 |
return (f"❌ Erreur — {str(e)}", None)
|
| 365 |
|
| 366 |
# ----------------------------
|
| 367 |
+
# INTERFACE GRADIO (Corrigée pour la séquence de définition)
|
| 368 |
# ----------------------------
|
| 369 |
with gr.Blocks(title="RobotsMali - Sous-titrage") as demo:
|
| 370 |
gr.Markdown("## 🤖 RobotsMali — Sous-titrage Bambara (Amélioration Audio)")
|
| 371 |
|
| 372 |
+
# 1. Définir toutes les sorties AVANT leur utilisation dans gr.Examples.
|
| 373 |
+
s = gr.Markdown(label="Statut de la tâche")
|
| 374 |
+
o = gr.Video(label="Vidéo sous-titrée")
|
| 375 |
+
|
| 376 |
with gr.Row():
|
| 377 |
with gr.Column():
|
| 378 |
+
# 2. Définition des inputs
|
| 379 |
v = gr.Video(label="Vidéo à sous-titrer", sources=["upload", "webcam"])
|
| 380 |
m = gr.Dropdown(list(MODELS.keys()), value="Soloba V1 (CTC)", label="Modèle ASR")
|
| 381 |
|
| 382 |
+
# 3. gr.Examples utilise V, M, S, et O (tous sont maintenant définis)
|
| 383 |
gr.Examples(
|
| 384 |
examples=[
|
| 385 |
["examples/video_bambara_sample.mp4", "Soloba V1 (CTC)"]
|
| 386 |
],
|
| 387 |
inputs=[v, m],
|
|
|
|
| 388 |
fn=pipeline,
|
| 389 |
outputs=[s, o],
|
| 390 |
label="▶️ Utiliser un exemple (Vidéo stockée dans le Space)",
|
|
|
|
| 394 |
b = gr.Button("▶️ Générer les sous-titres", variant="primary")
|
| 395 |
|
| 396 |
with gr.Column():
|
| 397 |
+
# 4. Affichage des sorties
|
| 398 |
+
gr.Markdown("### Résultats:")
|
| 399 |
+
s.render()
|
| 400 |
+
o.render()
|
| 401 |
|
| 402 |
b.click(pipeline, [v, m], [s, o])
|
| 403 |
|