Spaces:
Running
Running
File size: 1,952 Bytes
adf1205 4631e13 adf1205 6b5ce4a adf1205 1829484 adf1205 6b5ce4a 4631e13 6eb3fe4 4631e13 075f4a5 4631e13 d25a92c 6b5ce4a f8b0b7a adf1205 4631e13 adf1205 6b5ce4a adf1205 |
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 |
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.png)")
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.Dropdown([2,3,4,5],
label="Number of Speakers",
value=2)
speaker_names = gr.Dataframe(
label="Type your names and details. Your actual entries will be limited to the speakers you selected above.",
headers=["Name", "Supporting Details"],
datatype=["str", "str"],
row_count=(5,"fixed"),
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(server_name="0.0.0.0", allowed_paths=["/"])
if __name__ == "__main__":
conf = get_files.json_cfg()
main(conf) |