Spaces:
Sleeping
Sleeping
# cargamos el modelo de huggingsound | |
import re | |
import unidecode | |
from huggingsound import SpeechRecognitionModel | |
from models.model import * | |
from models.plantillas_codigo import * | |
from models.variables_globales import * | |
# creación del modelo | |
model = SpeechRecognitionModel("patrickvonplaten/wav2vec2-large-xlsr-53-spanish-with-lm") | |
# Variables globales | |
bloque = '' # Define el contexto (si es función, condicional, ciclo, etc.) | |
codigo = None # Guarda el código hasta el momento | |
indentacion = 0 # Nivel de indentación | |
linea_codigo = 0 # Esto para dar seguimiento al eliminado de una linea | |
recomendacion = "" | |
import gradio as gr | |
def transcribe(audio, state=""): | |
global bloque | |
global codigo | |
transcriptions_es = model.transcribe([audio])[0] | |
# quitamos el acento de la transcripcion | |
frase = unidecode.unidecode(transcriptions_es['transcription']).lower() | |
# print(frase) | |
if not bloque: | |
# Significa que es la primera vez | |
codigo = main(frase) | |
else: | |
codigo = agregar_adentro(codigo, frase) | |
return codigo, frase | |
inputs = gr.inputs.Audio(label="Dar click para escuchar tu voz", type="filepath", source="microphone") | |
output1 = gr.outputs.Textbox(label="Asi se ve tu código") | |
output2 = gr.outputs.Textbox(label="Transcripción en español de la última línea de código") | |
title = "Expresate con voz" | |
description = "<h1>Hola</h1> Aplicación que ayuda a programar a traves de tu voz" | |
# ,'mientras variable alpha es menor igual a numero dos' | |
# ,'Definir variable con nombre india igual a numero uno' | |
examples = [ | |
'definir función con nombre magica y parámetros x y z' | |
'mientras variable india es menor o igual a seis', | |
'ejecuta print con argumentos variable india producto cadena o cadena','Asignar variable india con india mas uno', | |
'./grabaciones-wav/codigo_o/Audios demo while/definir_func_avitua.wav', | |
'./grabaciones-wav/codigo_o/Audios demo while/linea1_avitua.wav', | |
'./grabaciones-wav/codigo_o/Audios demo while/linea2_avitua.wav', | |
'./grabaciones-wav/codigo_o/Audios demo while/linea3_avitua.wav', | |
'./grabaciones-wav/codigo_o/Audios demo while/linea4_avitua.wav', | |
'./grabaciones-wav/codigo_o/Audios demo while/fin_bloque_avitua.wav', | |
] | |
article = "<a style='color:#eb9f59;' href = 'https://github.com/gandres-dev/Hackaton-Common-Voice'> Repositorio de la app" | |
demo = gr.Interface(fn=transcribe, inputs=inputs, outputs=[output1,output2], | |
title=title, description=description, article=article, | |
allow_flagging="never", theme="darkpeach", examples=examples, | |
# live=True | |
) | |
demo.launch() | |