Spaces:
Running
Running
import gradio as gr | |
from utilities.setup import get_files | |
# import spaces | |
#@spaces.GPU | |
def process_meeting(audio_input, num_speakers, speaker_names): | |
if 1 < num_speakers < 6: | |
answer = "Completed Loading Data", "fl" | |
else: | |
answer = "Number of speakers out of range", "fl" | |
return answer | |
def main(conf): | |
with gr.Blocks(theme=gr.themes.Soft(text_size="lg")) as demo: | |
with gr.TabItem(conf["layout"]["page_names"][0]): | |
gr.Markdown("π€ Non-Video Meeting Transcription and Speaker Diarization") | |
gr.Markdown("![](file/microphone_pen_and_paper.jpeg)") | |
gr.Markdown(get_files.load_markdown_file(conf["layout"]["about"])) | |
with gr.TabItem(conf["layout"]["page_names"][1]): | |
audio_input = gr.Audio(type="filepath", label="Upload Audio File") | |
num_speakers = gr.Number(label="Number of Speakers", | |
value=2, | |
precision=0, | |
minimum=2, | |
maximum=5) | |
speaker_names = gr.Dataframe( | |
label="Names and Additional Info", | |
headers=["Name", "Supporting Details"], | |
datatype=["str", "str"], | |
row_count=(5,"dynamic"), | |
col_count=(2, "fixed"), | |
) | |
process_button = gr.Button("Process") | |
diarization_output = gr.Textbox(label="Diarization Output") | |
label_file_link = gr.File(label="Download DAW Labels") | |
process_button.click( | |
fn=process_meeting, | |
inputs=[audio_input, num_speakers, speaker_names], | |
outputs=[diarization_output, label_file_link] | |
) | |
demo.launch() | |
if __name__ == "__main__": | |
conf = get_files.json_cfg() | |
main(conf) |