Files changed (2) hide show
  1. app/messages.py +35 -0
  2. app/ui.py +2 -1
app/messages.py CHANGED
@@ -1,4 +1,5 @@
1
  from .config import *
 
2
 
3
  ############
4
  # Messages #
@@ -59,4 +60,38 @@ LDESC = """
59
  Vote to help the community determine the best text-to-speech (TTS) models.
60
  The leaderboard displays models in descending order of how natural they sound (based on votes cast by the community).
61
  Important: In order to help keep results fair, the leaderboard hides results by default until the number of votes passes a threshold. Tick the `Reveal preliminary results` to show models without sufficient votes. Please note that preliminary results may be inaccurate.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
62
  """.strip()
 
1
  from .config import *
2
+ from .models import *
3
 
4
  ############
5
  # Messages #
 
60
  Vote to help the community determine the best text-to-speech (TTS) models.
61
  The leaderboard displays models in descending order of how natural they sound (based on votes cast by the community).
62
  Important: In order to help keep results fair, the leaderboard hides results by default until the number of votes passes a threshold. Tick the `Reveal preliminary results` to show models without sufficient votes. Please note that preliminary results may be inaccurate.
63
+ """.strip()
64
+
65
+
66
+ model_series = []
67
+ for model in AVAILABLE_MODELS.keys():
68
+ # name up to first whitespace
69
+ model = model.split()[0]
70
+ model_series.append('%27'+ model +'%27')
71
+ try:
72
+ for model in HF_SPACES.values():
73
+ # url encode pluses +
74
+ model_series.append('%27'+ model['series'].replace('+', '%2B') +'%27')
75
+ except:
76
+ pass
77
+
78
+ TTS_INFO = f"""
79
+ ## πŸ—£ Contenders
80
+
81
+ ### πŸ” Closed Source TTS
82
+ * ElevenLabs
83
+ * Play.ht
84
+
85
+ ### πŸ”“ Open Source TTS capabilities table
86
+
87
+ See [the full dataset itself](https://huggingface.co/datasets/Pendrokar/open_tts_tracker) for the legend and more in depth information of each model.
88
+ """.strip()
89
+ TTS_DATASET_IFRAME_ORDER = '%2C+'.join(model_series)
90
+ TTS_DATASET_IFRAME = f"""
91
+ <iframe
92
+ src="https://huggingface.co/datasets/Pendrokar/open_tts_tracker/embed/sql-console/default/train?sql_console=true&sql=--+The+SQL+console+is+powered+by+DuckDB+WASM+and+runs+entirely+in+the+browser.%0A--+Get+started+by+typing+a+query+or+selecting+a+view+from+the+options+below.%0ASELECT+*%2C+%22Name%22+IN+%28{TTS_DATASET_IFRAME_ORDER}%29+AS+%22In+arena%22+FROM+train+WHERE+%22Insta-clone+%F0%9F%91%A5%22+IS+NOT+NULL+ORDER+BY+%22In+arena%22+DESC+LIMIT+50%3B&views%5B%5D=train"
93
+ frameborder="0"
94
+ width="100%"
95
+ height="650px"
96
+ ></iframe>
97
  """.strip()
app/ui.py CHANGED
@@ -4,6 +4,7 @@ from .messages import *
4
  from .ui_vote import *
5
  from .ui_battle import *
6
  from .ui_leaderboard import *
 
7
 
8
 
9
  with gr.Blocks() as about:
@@ -11,7 +12,7 @@ with gr.Blocks() as about:
11
 
12
  with gr.Blocks(css="footer {visibility: hidden}textbox{resize:none}", title="TTS Arena") as app:
13
  gr.Markdown(DESCR)
14
- gr.TabbedInterface([vote, battle, leaderboard, about], ['Vote', 'Battle', 'Leaderboard', 'About'])
15
  if CITATION_TEXT:
16
  with gr.Row():
17
  with gr.Accordion("Citation", open=False):
 
4
  from .ui_vote import *
5
  from .ui_battle import *
6
  from .ui_leaderboard import *
7
+ from .ui_contenders import *
8
 
9
 
10
  with gr.Blocks() as about:
 
12
 
13
  with gr.Blocks(css="footer {visibility: hidden}textbox{resize:none}", title="TTS Arena") as app:
14
  gr.Markdown(DESCR)
15
+ gr.TabbedInterface([vote, battle, leaderboard, tts_info, about], ['Vote', 'Battle', 'Leaderboard', 'Contenders', 'About'])
16
  if CITATION_TEXT:
17
  with gr.Row():
18
  with gr.Accordion("Citation", open=False):