rjzevallos commited on
Commit
df2d876
verified
1 Parent(s): 80eb550

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +22 -27
app.py CHANGED
@@ -1,25 +1,19 @@
1
  import gradio as gr
2
- import os
3
  import random
4
  from pathlib import Path
 
 
5
 
6
- ####################################
7
- # Constants (static data version)
8
- ####################################
9
-
10
-
11
- SPACE_ID = os.getenv('SPACE_ID')
12
- MAX_SAMPLE_TXT_LENGTH = 300
13
- MIN_SAMPLE_TXT_LENGTH = 10
14
 
15
  ####################################
16
  # Datos est谩ticos del leaderboard
17
  ####################################
18
  leaderboard_data = [
19
- {'name': 'StyleTTS 2', 'STOI': 0.998, 'PESQ': 3.921, 'WER': 0.162, 'UTMOS':3.47},
20
- {'name': 'Matxa-TTS', 'STOI': 0.996, 'PESQ': 3.539, 'WER': 0.179, 'UTMOS':3.50},
21
- {'name': 'Matxa-TTS-multiaccent', 'STOI': 0.996, 'PESQ': 3.415, 'WER': 0.242, 'UTMOS':2.98},
22
- {'name': 'StableTTS', 'STOI': 0.997, 'PESQ': 3.643, 'WER': 0.164, 'UTMOS':2.62},
23
  ]
24
 
25
  ####################################
@@ -32,16 +26,12 @@ def get_leaderboard():
32
  """
33
  return sorted(leaderboard_data, key=lambda x: x['PESQ'], reverse=True)
34
 
35
-
36
-
37
- def update_leaderboard(reveal):
38
  """
39
- Actualiza la tabla del leaderboard con base en si se deben mostrar
40
- resultados preliminares o no.
41
  """
42
  filtered_leaderboard = get_leaderboard()
43
 
44
-
45
  # Ordenar por 'score' y asignar el rank din谩micamente
46
  sorted_leaderboard = sorted(filtered_leaderboard, key=lambda x: x['UTMOS'], reverse=True)
47
 
@@ -49,7 +39,14 @@ def update_leaderboard(reveal):
49
  for rank, model in enumerate(sorted_leaderboard):
50
  model['rank'] = rank + 1 # rank es la posici贸n en la lista (1-indexed)
51
 
52
- return [[model['rank'], model['name'], model['UTMOS'], model['WER'], model['STOI'], model['PESQ'], model['SI-SDR']] for model in sorted_leaderboard]
 
 
 
 
 
 
 
53
 
54
  ####################################
55
  # Interfaz con Gradio
@@ -62,14 +59,12 @@ theme = gr.themes.Base(
62
  with gr.Blocks(theme=theme) as demo:
63
  gr.Markdown("# 馃弳 Leaderboard\nVote to help the community determine the best Catalan TTS models.\n")
64
 
65
- reveal_checkbox = gr.Checkbox(label="Reveal preliminary results", value=False)
66
-
67
  # Inicializa la tabla sin datos, solo con encabezados
68
- leaderboard_table = gr.DataFrame(headers=["Rank", "Model", "UTMOS", "WER", "STOI", "PESQ", "SI-SDR"],
69
- datatype=["str", "str", "str", "str", "str"], value=[])
70
-
71
- # Al cambiar el valor del checkbox, actualizamos la tabla
72
- reveal_checkbox.change(fn=update_leaderboard, inputs=[reveal_checkbox], outputs=[leaderboard_table])
73
 
74
  # Lanzar la aplicaci贸n
75
  demo.queue(api_open=False, default_concurrency_limit=40).launch(show_api=False)
 
1
  import gradio as gr
 
2
  import random
3
  from pathlib import Path
4
+ import time
5
+ import threading
6
 
7
+ LAST_UPDATED = "Nov 22th 2024"
 
 
 
 
 
 
 
8
 
9
  ####################################
10
  # Datos est谩ticos del leaderboard
11
  ####################################
12
  leaderboard_data = [
13
+ {'name': 'StyleTTS 2', 'STOI': 0.998, 'PESQ': 3.921, 'WER': 0.162, 'UTMOS': 3.47},
14
+ {'name': 'Matxa-TTS', 'STOI': 0.996, 'PESQ': 3.539, 'WER': 0.179, 'UTMOS': 3.50},
15
+ {'name': 'Matxa-TTS-multiaccent', 'STOI': 0.996, 'PESQ': 3.415, 'WER': 0.242, 'UTMOS': 2.98},
16
+ {'name': 'StableTTS', 'STOI': 0.997, 'PESQ': 3.643, 'WER': 0.164, 'UTMOS': 2.62},
17
  ]
18
 
19
  ####################################
 
26
  """
27
  return sorted(leaderboard_data, key=lambda x: x['PESQ'], reverse=True)
28
 
29
+ def update_leaderboard():
 
 
30
  """
31
+ Actualiza la tabla del leaderboard.
 
32
  """
33
  filtered_leaderboard = get_leaderboard()
34
 
 
35
  # Ordenar por 'score' y asignar el rank din谩micamente
36
  sorted_leaderboard = sorted(filtered_leaderboard, key=lambda x: x['UTMOS'], reverse=True)
37
 
 
39
  for rank, model in enumerate(sorted_leaderboard):
40
  model['rank'] = rank + 1 # rank es la posici贸n en la lista (1-indexed)
41
 
42
+ return [[model['rank'], model['name'], model['UTMOS'], model['WER'], model['STOI'], model['PESQ']] for model in sorted_leaderboard]
43
+
44
+ # Funci贸n para actualizar la tabla peri贸dicamente
45
+ def auto_update_table(leaderboard_table):
46
+ while True:
47
+ # Actualizar cada 10 segundos
48
+ leaderboard_table.update(value=update_leaderboard())
49
+ time.sleep(10) # Esperar 10 segundos antes de actualizar de nuevo
50
 
51
  ####################################
52
  # Interfaz con Gradio
 
59
  with gr.Blocks(theme=theme) as demo:
60
  gr.Markdown("# 馃弳 Leaderboard\nVote to help the community determine the best Catalan TTS models.\n")
61
 
 
 
62
  # Inicializa la tabla sin datos, solo con encabezados
63
+ leaderboard_table = gr.DataFrame(headers=["Rank", "Model", "UTMOS", "WER", "STOI", "PESQ"],
64
+ datatype=["str", "str", "str", "str", "str", "str"], value=[])
65
+
66
+ # Iniciar un hilo para actualizar la tabla autom谩ticamente
67
+ threading.Thread(target=auto_update_table, args=(leaderboard_table,), daemon=True).start()
68
 
69
  # Lanzar la aplicaci贸n
70
  demo.queue(api_open=False, default_concurrency_limit=40).launch(show_api=False)