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