lenguaindigena / Tlamacehuani..py
argenisbaez8a's picture
Update Tlamacehuani..py
d6cb6ac verified
# -*- 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()