File size: 3,220 Bytes
f6b1e4d
baa614b
b269917
f6b1e4d
b269917
 
baa614b
f6b1e4d
baa614b
 
 
f6b1e4d
b269917
 
3f368b8
baa614b
 
1b6573a
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
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,
    '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='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='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()