File size: 5,764 Bytes
565f995
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
import streamlit as st
from app.draw_diagram import *

def dashboard():

    with st.container():
        st.title("AudioBench")
   
        st.markdown("""
            [gh]: https://github.com/AudioLLMs/AudioBench
            [![GitHub watchers](https://img.shields.io/github/watchers/AudioLLMs/AudioBench?style=social)][gh]
            [![GitHub Repo stars](https://img.shields.io/github/stars/AudioLLMs/AudioBench?style=social)][gh]
            """)

    audio_url = "https://arxiv.org/abs/2406.16020"

    st.divider()
    st.markdown("#### [AudioBench](%s)" % audio_url)
    st.markdown("##### :dizzy: A comprehensive evaluation benchmark designed for general instruction-following audiolanguage models")
    st.markdown('''

                
                ''')

    with st.container():
        left_co, center_co, right_co = st.columns([0.5,1, 0.5])
        with center_co:
            st.image("./style/audio_overview.png", 
                     caption="Overview of the datasets in AudioBench.", 
                     use_column_width = True)
        
        st.markdown('''

                
                ''')
        
        st.markdown("###### :dart: Our Benchmark includes: ")
        cols = st.columns(10)
        cols[1].metric(label="Tasks", value="8", delta="Tasks", delta_color="off")
        cols[2].metric(label="Datasets", value="26", delta="Datasets", delta_color="off")
        cols[3].metric(label="Test On", value="4", delta="Models", delta_color="off")

        # st.markdown("###### :dart: Supported Models and Datasets: ")
        
        # sup = pd.DataFrame(
        #         {"Dataset": "LibriSpeech-Clean", 
        #          "Category": st.selectbox('category', ['Speech Understanding']),
        #          "Task": st.selectbox('task', ['Automatic Speech Recognition']),
        #          "Metrics": st.selectbox('metrics', ['WER']),
        #          "Status":True}
        # )
        
        # st.data_editor(sup, num_rows="dynamic")



    st.divider()
    with st.container():
        st.markdown("##### Citations")

        st.markdown('''
                    :round_pushpin: AudioBench Paper \n
                        @article{wang2024audiobench,
                            title={AudioBench: A Universal Benchmark for Audio Large Language Models},
                            author={Wang, Bin and Zou, Xunlong and Lin, Geyu and Sun, Shuo and Liu, Zhuohan and Zhang, Wenyu and Liu, Zhengyuan and Aw, AiTi and Chen, Nancy F},
                            journal={arXiv preprint arXiv:2406.16020},
                            year={2024}
                            }
                    ''')

def speech_understanding():
    st.title("Speech Understanding")
    
    filters_levelone = ['ASR', 'SQA', 'SI']
    sort_leveltwo = []
    
    left, center, _, middle,right = st.columns([0.2, 0.2, 0.2, 0.2 ,0.2])
    
    with left:
        filter_1 = st.selectbox('Select Category', filters_levelone)
    
    with middle:
        if filter_1 == filters_levelone[0]:
            sort_leveltwo = ['LibriSpeech-Test-Clean', 'LibriSpeech-Test-Other', 'Common-Voice-15-En-Test', 'Peoples-Speech-Test',
                            'GigaSpeech-Test', 'Tedlium3-Test','Tedlium3-Longform-Test', 'Earning-21-Test', 'Earning-22-Test']
        elif filter_1 == filters_levelone[1]:
            sort_leveltwo = ['CN-College-Listen-Test', 'SLUE-P2-SQA5-Test', 'DREAM-TTS-Test', 'Public-SG-SpeechQA-Test']
        
        elif filter_1 == filters_levelone[2]:
            sort_leveltwo = ['OpenHermes-Audio-Test', 'ALPACA-Audio-Test']
        
        sort = st.selectbox("Sort Dataset", sort_leveltwo)
    
    with right:
        sorted = st.selectbox('by', ['Ascending', 'Descending'])

    if filter_1 or sort or sorted:
        draw('su',filter_1, sort, sorted)
    else:
        draw('su', 'ASR', 'LibriSpeech-Test-Clean', 'Descending')


def audio_scene_understanding():
    st.title("Audio Scence Understanding")

    filters_levelone = ['AQA', 'AC']
    sort_leveltwo = []
    
    left, center, _, middle,right = st.columns([0.2, 0.2, 0.2, 0.2 ,0.2])
    
    with left:
        filter_1 = st.selectbox('Select Category', filters_levelone)
    
    with middle:
        if filter_1 == filters_levelone[0]:
            sort_leveltwo = ['Clotho-AQA-Test', 'WavCaps-QA-Test', 'AudioCaps-QA-Test']
        elif filter_1 == filters_levelone[1]:
            sort_leveltwo = ['WavCaps-Test', 'AudioCaps-Test']
        
        sort = st.selectbox("Sort Dataset", sort_leveltwo)
    
    with right:
        sorted = st.selectbox('by', ['Ascending', 'Descending'])

    if filter_1 or sort or sorted:
        draw('asu',filter_1, sort, sorted)
    else:
        draw('asu', 'AQA', 'Clotho-AQA-Test', 'Descending')


def voice_understanding():
    st.title("Voice Understanding")

    filters_levelone = ['ER', 'AR', 'GR']
    sort_leveltwo = []
    
    left, center, _, middle,right = st.columns([0.2, 0.2, 0.2, 0.2 ,0.2])
    
    with left:
        filter_1 = st.selectbox('Select Category', filters_levelone)
    
    with middle:
        if filter_1 == filters_levelone[0]:
            sort_leveltwo = ['IEMOCAP-Emotion-Test', 'MELD-Sentiment-Test', 'MELD-Emotion-Test']
        
        elif filter_1 == filters_levelone[1]:
            sort_leveltwo = ['VoxCeleb1-Accent-Test']
        
        elif filter_1 == filters_levelone[2]:
            sort_leveltwo = ['VoxCeleb1-Gender-Test', 'IEMOCAP-Gender-Test']
        
        sort = st.selectbox("Sort Dataset", sort_leveltwo)
    
    with right:
        sorted = st.selectbox('by', ['Ascending', 'Descending'])

    if filter_1 or sort or sorted:
        draw('vu',filter_1, sort, sorted)
    else:
        draw('vu', 'ER', 'IEMOCAP-Emotion-Test', 'Descending')