Speech-DF-Arena / app.py
Speech-Arena-2025's picture
Update app.py
2fdaf02 verified
import pandas as pd
import gradio as gr
from ui.leaderboard import render_leader_board, render_info_html, render_citation, render_dataset_list
from ui.evaluation import render_eval_info
from ui.coming_soon import render_coming_soon
from ui.submission import render_submission_page
import os
from utils import load_leaderboard, custom_css
from huggingface_hub import snapshot_download
import gradio as gr
import os
import json
REPO_ID = os.getenv('REPO_ID')
DB_ERR_PATH = f'./data/data/leaderboard_err.csv'
CITATIONS_PATH = f'./data/data/model_citations.json'
if not os.path.exists('./data/data'):
snapshot_download(repo_id=REPO_ID,
repo_type="dataset", local_dir='./data/data')
with open(CITATIONS_PATH, 'r') as f:
model_citations = json.load(f)
# Load leaderboard data
leaderboard_df_err = load_leaderboard(DB_ERR_PATH)
def create_ui():
with gr.Blocks(theme=gr.themes.Soft(text_size=gr.themes.sizes.text_md), css=custom_css) as demo:
# gr.Markdown("# Speech Deep Fake Arena")
gr.Image('./data/data/df_arena_3.jpg', interactive=False,
show_fullscreen_button=False, show_share_button=False, show_label=False)
with gr.Tabs():
with gr.Tab("πŸ† Leaderboard"):
with gr.Column():
render_info_html()
gr.Markdown("Table for Equal Error Rate (EER %) for different systems. All the systems are are trained on the ASVspoof 2019 dataset, except for the Whisper MesoNet system, which is trained on a subset of the ASVspoof 2021 DF dataset.")
render_leader_board(leaderboard_df_err, model_citations) # Adjust this to work with Gradio components
render_citation()
render_dataset_list()
with gr.Tab("πŸ“Š Metrics"):
render_eval_info()
with gr.Tab("πŸ“€ Submit your own system !"):
render_submission_page()
with gr.Tab("πŸ”œ Coming Soon"):
render_coming_soon()
return demo
# Launch the app
create_ui().launch()