File size: 2,959 Bytes
f6b1e4d
baa614b
b269917
f6b1e4d
b269917
 
baa614b
f6b1e4d
baa614b
 
 
f6b1e4d
b269917
 
3f368b8
baa614b
 
 
 
 
 
 
 
 
 
 
e4be762
baa614b
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
e4be762
baa614b
 
 
 
3f368b8
baa614b
3f368b8
baa614b
 
8127178
baa614b
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
import streamlit as st
import streamlit_antd_components as sac

from app.pages import *


# Set page configuration
st.set_page_config(
    page_title="AudioBench Leaderboard",
    page_icon=":chart_with_upwards_trend:",
    layout="wide",
)



# Dictionary mapping menu items to their corresponding functions
pages = {
    'Dashboard'                     : dashboard,
    'ASR-English'                   : asr_english,
    'ASR-Mandarin'                  : asr_mandarin,
    'ASR-Singlish'                  : asr_singlish,
    'Speech Translation'            : speech_translation,
    'SQA-English'                   : speech_question_answering_english,
    'SQA-Singlish'                  : speech_question_answering_singlish,
    'Speech Instruction'            : speech_instruction,
    'Audio Captioning'              : audio_captioning,
    'Audio-Scene QA': audio_scene_question_answering,
    'Accent Recognition'            : accent_recognition,
    'Gender Recognition'            : gender_recognition,
    'Emotion Recognition'           : emotion_recognition,
    'Music Understanding'           : music_understanding,
}

# Initialize session state for menu selection
if 'selected_menu' not in st.session_state:
    st.session_state.selected_menu = 'Introduction'

# Define the menu items
menu_items = [
    sac.MenuItem(label='Dashboard', icon='house'),

    sac.MenuItem(label='Automatic Speech Recognition', icon='mic',
                 children = [
                     sac.MenuItem(label='ASR-English', icon='mic'),
                     sac.MenuItem(label='ASR-Mandarin', icon='mic'),
                     sac.MenuItem(label='ASR-Singlish', icon='mic'),
                 ]
                 ),

    sac.MenuItem(label='Speech Translation', icon='translate'
                 ),

    sac.MenuItem(label='Spoken Question Answering', icon='question-circle',
                 children = [
                     sac.MenuItem(label='SQA-English', icon='mic'),
                     sac.MenuItem(label='SQA-Singlish', icon='mic'),
                 ]
                 ),

    sac.MenuItem(label='Speech Instruction', icon='mic-fill'),

    sac.MenuItem(label='Audio Captioning', icon='volume-down'),

    sac.MenuItem(label='Audio-Scene QA', icon='question-diamond-fill'),
    
    sac.MenuItem(label='Accent Recognition', icon='person-badge-fill'),
    
    sac.MenuItem(label='Gender Recognition', icon='gender-ambiguous'),

    sac.MenuItem(label='Emotion Recognition', icon='emoji-smile-fill'),

    sac.MenuItem(label='Music Understanding', icon='music-note-list'),
]

# Render the menu in the sidebar
with st.sidebar:
    selected = sac.menu(menu_items,
                        size='sm', 
                        open_all=False,
                        )

# Update session state based on selection
if selected:
    st.session_state.selected_menu = selected

# Display the selected page's content
page = pages[st.session_state.selected_menu]
page()