Spaces:
Runtime error
Runtime error
| 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 | |
| [][gh] | |
| [][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 asr(): | |
| st.title("Automatic Speech Recognition") | |
| filters_levelone = ['LibriSpeech-Test-Clean', | |
| 'LibriSpeech-Test-Other', | |
| 'Common-Voice-15-En-Test', | |
| 'Peoples-Speech-Test', | |
| 'GigaSpeech-Test', | |
| 'Earning-21-Test', | |
| 'Earning-22-Test', | |
| 'Tedlium3-Test', | |
| 'Tedlium3-Longform-Test', | |
| 'IMDA-Part1-ASR-Test', | |
| 'IMDA-Part2-ASR-Test', | |
| 'IMDA-Part3-ASR-Test', | |
| 'IMDA-Part4-ASR-Test', | |
| 'IMDA-Part5-ASR-Test', | |
| 'IMDA-Part6-ASR-Test'] | |
| left, center, _, middle,right = st.columns([0.2, 0.2, 0.2, 0.2 ,0.2]) | |
| with left: | |
| filter_1 = st.selectbox('Select Dataset', 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: | |
| draw('su', 'ASR', filter_1, 'wer') | |
| else: | |
| draw('su', 'ASR', 'LibriSpeech-Test-Clean', 'wer') | |
| def sqa(): | |
| st.title("Speech Question Answering") | |
| binary = ['CN-College-Listen-Test', 'DREAM-TTS-MCQ-Test'] | |
| rest = ['SLUE-P2-SQA5-Test', | |
| 'Public-SG-SpeechQA-Test', | |
| 'Spoken-Squad-v1'] | |
| filters_levelone = binary + rest | |
| left, center, _, middle,right = st.columns([0.2, 0.2, 0.2, 0.2 ,0.2]) | |
| with left: | |
| filter_1 = st.selectbox('Select Dataset', filters_levelone) | |
| if filter_1: | |
| if filter_1 in binary: | |
| draw('su', 'SQA', filter_1, 'llama3_70b_judge_binary') | |
| else: | |
| draw('su', 'SQA', filter_1, 'llama3_70b_judge') | |
| else: | |
| draw('su', 'SQA', 'CN-College-Listen-Test', 'llama3_70b_judge_binary') | |
| def si(): | |
| st.title("Speech Question Answering") | |
| filters_levelone = ['OpenHermes-Audio-Test', | |
| 'ALPACA-Audio-Test'] | |
| left, center, _, middle,right = st.columns([0.2, 0.2, 0.2, 0.2 ,0.2]) | |
| with left: | |
| filter_1 = st.selectbox('Select Dataset', filters_levelone) | |
| if filter_1: | |
| draw('su', 'SI', filter_1, 'llama3_70b_judge') | |
| else: | |
| draw('su', 'SI', 'OpenHermes-Audio-Test', 'llama3_70b_judge') | |
| def ac(): | |
| st.title("Audio Captioning") | |
| filters_levelone = ['WavCaps-Test', | |
| 'AudioCaps-Test'] | |
| filters_leveltwo = ['Llama3-70b-judge', 'Meteor'] | |
| left, center, _, middle,right = st.columns([0.2, 0.2, 0.2, 0.2 ,0.2]) | |
| with left: | |
| filter_1 = st.selectbox('Select Dataset', filters_levelone) | |
| with middle: | |
| metric = st.selectbox('Select Metric', filters_leveltwo) | |
| # 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 metric: | |
| draw('asu', 'AC',filter_1, metric.lower().replace('-', '_')) | |
| else: | |
| draw('asu', 'AC', 'WavCaps-Test', 'llama3_70b_judge') | |
| def asqa(): | |
| st.title("Audio Scene Question Answering") | |
| filters_levelone = ['Clotho-AQA-Test', | |
| 'WavCaps-QA-Test', | |
| 'AudioCaps-QA-Test'] | |
| left, center, _, middle,right = st.columns([0.2, 0.2, 0.2, 0.2 ,0.2]) | |
| with left: | |
| filter_1 = st.selectbox('Select Dataset', filters_levelone) | |
| if filter_1: | |
| draw('asu', 'AC',filter_1, 'llama3_70b_judge') | |
| else: | |
| draw('asu', 'AC', 'Clotho-AQA-Test', 'llama3_70b_judge') | |
| def er(): | |
| st.title("Emotion Recognition") | |
| filters_levelone = ['IEMOCAP-Emotion-Test', | |
| 'MELD-Sentiment-Test', | |
| 'MELD-Emotion-Test'] | |
| 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 Dataset', 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: | |
| draw('vu', 'ER', filter_1, 'llama3_70b_judge_binary') | |
| else: | |
| draw('vu', 'ER', 'IEMOCAP-Emotion-Test', 'llama3_70b_judge_binary') | |
| def ar(): | |
| st.title("Accent Recognition") | |
| filters_levelone = ['VoxCeleb1-Accent-Test'] | |
| left, center, _, middle,right = st.columns([0.2, 0.2, 0.2, 0.2 ,0.2]) | |
| with left: | |
| filter_1 = st.selectbox('Select Dataset', filters_levelone) | |
| if filter_1: | |
| draw('vu', 'AR', filter_1, 'llama3_70b_judge') | |
| else: | |
| draw('vu', 'AR', 'VoxCeleb1-Accent-Test', 'llama3_70b_judge') | |
| def gr(): | |
| st.title("Emotion Recognition") | |
| filters_levelone = ['VoxCeleb1-Gender-Test', | |
| 'IEMOCAP-Gender-Test'] | |
| left, center, _, middle,right = st.columns([0.2, 0.2, 0.2, 0.2 ,0.2]) | |
| with left: | |
| filter_1 = st.selectbox('Select Dataset', filters_levelone) | |
| if filter_1: | |
| draw('vu', 'GR', filter_1, 'llama3_70b_judge_binary') | |
| else: | |
| draw('vu', 'GR', 'VoxCeleb1-Gender-Test', 'llama3_70b_judge_binary') | |
| def spt(): | |
| st.title("Speech Translation") | |
| filters_levelone = ['Covost2-EN-ID-test', | |
| 'Covost2-EN-ZH-test', | |
| 'Covost2-EN-TA-test', | |
| 'Covost2-ID-EN-test', | |
| 'Covost2-ZH-EN-test', | |
| 'Covost2-TA-EN-test'] | |
| left, center, _, middle,right = st.columns([0.2, 0.2, 0.2, 0.2 ,0.2]) | |
| with left: | |
| filter_1 = st.selectbox('Select Dataset', filters_levelone) | |
| if filter_1: | |
| draw('su', 'ST', filter_1, 'bleu') | |
| else: | |
| draw('su', 'ST', 'Covost2-EN-ID-test', 'bleu') | |
| def cnasr(): | |
| st.title("Chinese Automatic Speech Recognition") | |
| filters_levelone = ['Aishell-ASR-ZH-Test'] | |
| left, center, _, middle,right = st.columns([0.2, 0.2, 0.2, 0.2 ,0.2]) | |
| with left: | |
| filter_1 = st.selectbox('Select Dataset', filters_levelone) | |
| if filter_1: | |
| draw('su', 'CNASR', filter_1, 'wer') | |
| else: | |
| draw('su', 'CNASR', 'Aishell-ASR-ZH-Test', 'wer') | |