teetch / app.py
Equityone's picture
Update app.py
20006a6 verified
raw
history blame
1.9 kB
import gradio as gr
from PIL import Image
import random
# Exemple de base de données de mots (objets courants avec leurs traductions et audios)
WORDS_DATABASE = {
"cat": {"fr": "chat", "audio": "audio/cat.mp3"},
"house": {"fr": "maison", "audio": "audio/house.mp3"},
"tree": {"fr": "arbre", "audio": "audio/tree.mp3"},
"dog": {"fr": "chien", "audio": "audio/dog.mp3"},
}
# Simule un modèle de reconnaissance d'image
def recognize_object(image):
# Simule une reconnaissance aléatoire pour la démo
recognized_object = random.choice(list(WORDS_DATABASE.keys()))
return recognized_object
# Fonction principale pour gérer les interactions
def handle_drawing(image):
# Reconnaissance de l'objet dessiné
recognized_object = recognize_object(image)
# Récupération des informations sur le mot
word_info = WORDS_DATABASE.get(recognized_object, {})
english_word = recognized_object.capitalize()
french_translation = word_info.get("fr", "Inconnu")
audio_path = word_info.get("audio", None)
# Génération de la réponse
response = f"Objet reconnu : **{english_word}** (Français : **{french_translation}**)"
return response, audio_path
# Interface utilisateur avec Gradio
def create_interface():
with gr.Blocks() as demo:
gr.Markdown("# 🖌️ Atelier de Dessin Virtuel - Apprends l'Anglais en Dessinant !")
gr.Markdown(
"""
1. Dessine un objet simple (par ex., un chat, une maison, un arbre, un chien).
2. L'IA essaiera de reconnaître ton dessin et te montrera le mot en anglais et français.
3. Écoute la prononciation pour améliorer ton anglais !
"""
)
# Zone de dessin et résultats
with gr.Row():
canvas = gr.Sketchpad(label="Dessine ici !", shape=(256, 256)) # Zone de dessin
response_text