Spaces:
Build error
Build error
| import gradio as gr | |
| LAST_UPDATED = "Nov 22th 2024" | |
| #################################### | |
| # Datos est谩ticos del leaderboard | |
| #################################### | |
| leaderboard_data = [ | |
| {'name': 'StyleTTS 2', 'STOI': 0.998, 'PESQ': 3.921, 'WER': 0.162, 'UTMOS': 3.47}, | |
| {'name': 'Matxa-TTS', 'STOI': 0.996, 'PESQ': 3.539, 'WER': 0.179, 'UTMOS': 3.50}, | |
| {'name': 'Matxa-TTS-multiaccent', 'STOI': 0.996, 'PESQ': 3.415, 'WER': 0.242, 'UTMOS': 2.98}, | |
| {'name': 'StableTTS', 'STOI': 0.997, 'PESQ': 3.643, 'WER': 0.164, 'UTMOS': 2.62}, | |
| ] | |
| #################################### | |
| # Functions (static version) | |
| #################################### | |
| def get_leaderboard(): | |
| """ | |
| Retorna el leaderboard en orden descendente por PESQ y luego por UTMOS. | |
| """ | |
| # Ordenar primero por PESQ (calidad del habla) y luego por UTMOS (calidad percibida) | |
| sorted_leaderboard = sorted(leaderboard_data, key=lambda x: (x['PESQ'], x['UTMOS']), reverse=True) | |
| # Asignar el rank basado en el orden por PESQ | |
| for rank, model in enumerate(sorted_leaderboard): | |
| model['rank'] = rank + 1 # rank es la posici贸n en la lista (1-indexed) | |
| return [[model['rank'], model['name'], model['UTMOS'], model['WER'], model['STOI'], model['PESQ']] for model in sorted_leaderboard] | |
| #################################### | |
| # Interfaz con Gradio | |
| #################################### | |
| theme = gr.themes.Base( | |
| font=[gr.themes.GoogleFont('Libre Franklin'), gr.themes.GoogleFont('Public Sans'), 'system-ui', 'sans-serif'], | |
| ) | |
| with gr.Blocks(theme=theme) as demo: | |
| gr.Markdown("# 馃弳 Leaderboard\nVote to help the community determine the best Catalan TTS models.\n") | |
| # Inicializa la tabla con los datos directamente al iniciar | |
| leaderboard_table = gr.DataFrame( | |
| headers=["Rank", "Model", "UTMOS", "WER", "STOI", "PESQ"], | |
| datatype=["str", "str", "str", "str", "str", "str"], | |
| value=get_leaderboard() # Carga los datos iniciales de la tabla | |
| ) | |
| # No es necesario usar hilos o actualizaci贸n autom谩tica aqu铆 | |
| # Lanzar la aplicaci贸n | |
| demo.queue(api_open=False, default_concurrency_limit=40).launch(show_api=False) | |