File size: 3,449 Bytes
f6b1e4d
baa614b
b269917
f6b1e4d
b269917
 
baa614b
f6b1e4d
baa614b
 
 
f6b1e4d
b269917
 
3f368b8
baa614b
 
39089b4
 
 
 
 
af3a1ed
39089b4
 
 
 
 
 
 
 
 
 
 
 
baa614b
 
 
 
 
 
 
 
 
 
39089b4
 
baa614b
 
 
 
 
1de59cf
baa614b
 
 
 
 
 
 
 
 
 
 
 
 
1b6573a
 
 
 
 
 
baa614b
 
 
 
e4be762
baa614b
 
 
 
3f368b8
baa614b
3f368b8
baa614b
1b6573a
 
 
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
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
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,
    'MMAU'                 : mmau_evaluation,
    'ASR-English'          : asr_english,
    'ASR-Mandarin'         : asr_mandarin,
    'ASR-Singlish'         : asr_singlish,
    'ASR-SEA'              : asr_sea,
    'Speech Translation'   : speech_translation,
    'SQA-English'          : speech_question_answering_english,
    'SQA-Singlish'         : speech_question_answering_singlish,
    'SDS-Singlish'         : spoken_dialogue_summarization_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,
    '* Under Development *': under_development,
}

# 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='MMAU', icon='headphones'),

    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='ASR-SEA', 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='Spoken Dialogue Summarization', icon='question-circle',
                 children = [
                     sac.MenuItem(label='SDS-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'),

    sac.MenuItem(label='* Under Development *', icon='lock'),

]

# 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()