import torch
import scipy
import gradio as gr
from transformers import set_seed
from datasets import load_dataset, Audio
import goai_stt, goai_tts, goai_traduction
#language_list = ['mos', 'fra', 'eng']
device = 0 if torch.cuda.is_available() else "cpu"
demo = gr.Blocks()
goai_stt = gr.Interface(
fn = goai_stt.goai_stt,
inputs=[
gr.Audio(sources=["microphone", "upload"], type="numpy")
],
outputs="text",
examples=[["./example1.mp3", "a ye ligdi"],
["./example2.mp3", "zoe nimbãanega"],
["./example3.mp3", "zãng-zãnga"],
["./example4.mp3", "yõk foto"]
],
title="Transcription Mooré: audio vers texte",
description="""Démo de transcription de la parole vers le texte en langage Mooré. Enregistrez l'audio à partir de votre micro ou uploadez-le depuis votre appareil!
Cet **Space ainsi que les modèles associés** ont été développés par [**GO AI CORPORATION**](https://goaicorporation.org/)
""",
)
goai_tts = gr.Interface(
fn=goai_tts.goai_tts,
inputs=[
gr.Text(label="Input text")
],
outputs=[
gr.Audio(label="Generated Audio", type="numpy")
],
examples=[["a ye ligdi"],
["zoe nimbãanega "],
["zãng-zãnga"],
["yõk foto"]
],
title="Synthèse vocale Mooré: texte vers audio",
description="""Démo de synthèse vocale d'un texte en langage Mooré!
Cet **Space ainsi que les modèles associés** ont été développés par [**GO AI CORPORATION**](https://goaicorporation.org/)
""",
)
goai_traduction = gr.Interface(
fn=goai_traduction.goai_traduction,
inputs=[
gr.Textbox(label="Text", placeholder="Yaa sõama"),
gr.Dropdown(label="Source Language", choices=["eng_Latn", "fra_Latn", "mos_Latn"]),
gr.Dropdown(label="Target Language", choices=["eng_Latn", "fra_Latn", "mos_Latn"])
],
outputs=["text"],
examples=[["Yʋʋm a wãn la b kẽesd biig lekolle?", "mos_Latn", "fra_Latn"],
["Zak-soab la kasma.", "mos_Latn", "fra_Latn"],
["Le gouvernement avait pris des mesures louables par rapport à l’augmentation des prix de certaines denrées alimentaires.", "fra_Latn", "mos_Latn"],
["Comme lors du match face à la Côte d’Ivoire, c’est sur un coup de pied arrêté que les Etalons encaissent leur but.", "fra_Latn", "mos_Latn"],
],
title="Traduction du Mooré: texte vers texte",
description="""Démo de traduction d'un texte en langage Mooré à partir de l'anglais ou du francais!
Cet **Space ainsi que les modèles associés** ont été développés par [**GO AI CORPORATION**](https://goaicorporation.org/)
""",
)
with demo:
gr.TabbedInterface(
[goai_traduction, goai_tts, goai_stt],
["Traduction", "Text-2-speech", "Speech-2-text"],
)
demo.launch()