Spaces:
Running
Running
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') | |