Spaces:
Sleeping
Sleeping
| # -*- coding: utf-8 -*- | |
| """Tlamacehuani.py | |
| Automatically generated by Colab. | |
| Original file is located at | |
| https://colab.research.google.com/drive/1yR3hb66bOXk0oyIwTegmqgdoOQEOSG9Z | |
| """ | |
| # Instalar las librerías necesarias | |
| !pip install gradio gtts | |
| import gradio as gr | |
| from gtts import gTTS | |
| from IPython.display import Audio, display | |
| import os | |
| from google.colab import files | |
| avatar_url = "/content/bannersuperior.jpg" | |
| # Diccionario ampliado para varias lenguas indígenas | |
| diccionario_indigenas = { | |
| "Náhuatl": { | |
| "casa": "calli", | |
| "agua": "atl", | |
| "sol": "tonatiuh", | |
| "luna": "metztli", | |
| "árbol": "cuahuitl" | |
| }, | |
| "Mixteco": { | |
| "casa": "ñuu", | |
| "agua": "ndute", | |
| "sol": "yoo", | |
| "luna": "yoo", | |
| "árbol": "yutnu" | |
| }, | |
| "Zapoteco": { | |
| "casa": "yoo", | |
| "agua": "nisa", | |
| "sol": "guela", | |
| "luna": "guela", | |
| "árbol": "yaga" | |
| }, | |
| "Maya": { | |
| "casa": "nah", | |
| "agua": "ha'", | |
| "sol": "k'in", | |
| "luna": "u", | |
| "árbol": "che'" | |
| }, | |
| "Mayo": { | |
| "casa": "káari", | |
| "agua": "baá'am", | |
| "sol": "tä", | |
| "luna": "meecha", | |
| "árbol": "juyya" | |
| } | |
| } | |
| # Función para generar audio a partir de texto | |
| def generar_audio(texto, idioma='es'): | |
| tts = gTTS(text=texto, lang=idioma) | |
| tts.save("output.mp3") | |
| return "output.mp3" | |
| # Función que interactúa con el niño | |
| def interactuar_con_niño(lengua, palabra): | |
| if lengua in diccionario_indigenas: | |
| if palabra.lower() in diccionario_indigenas[lengua]: | |
| traduccion = diccionario_indigenas[lengua][palabra.lower()] | |
| respuesta = f"La palabra '{palabra}' en {lengua} se dice '{traduccion}'. Significa '{palabra}' en español." | |
| audio = generar_audio(respuesta, idioma='es') # Cambia 'es' a 'nah' si tienes TTS en náhuatl | |
| else: | |
| respuesta = f"Lo siento, no conozco la palabra '{palabra}' en {lengua}. ¿Puedes intentar con otra?" | |
| audio = generar_audio(respuesta, idioma='es') | |
| else: | |
| respuesta = f"Lo siento, no conozco la lengua '{lengua}'. ¿Puedes intentar con otra?" | |
| audio = generar_audio(respuesta, idioma='es') | |
| return respuesta, audio | |
| # Interfaz de Gradio con avatar visual | |
| def interfaz_avatar(lengua, Palabra): | |
| respuesta, audio = interactuar_con_niño(lengua, Palabra) | |
| return respuesta, audio, avatar_url | |
| # Crear la interfaz | |
| iface = gr.Interface( | |
| fn=interfaz_avatar, | |
| inputs=[ | |
| gr.Dropdown(choices=["Náhuatl", "Mixteco", "Zapoteco", "Maya", "Mayo"], label="Selecciona una lengua:"), | |
| "text" | |
| ], | |
| outputs=[ | |
| gr.Textbox(label="Explicación de la respuesta"), | |
| gr.Audio(label="Respuesta en Audio"), | |
| gr.Image(label="Creado por el Dr. Argenis Báez Ochoa") # Mostrar la imagen del avatar | |
| ], | |
| live=True, | |
| title="Aprendiendo y Conservando Lenguas Indígenas ", | |
| description="Selecciona una lengua indígena y escribe una palabra en español para aprenderla." | |
| ) | |
| # Mostrar la interfaz | |
| iface.launch() |