chompionsawelo's picture
Huge changes
59e1d08
import gradio as gr
from ui.ui_component import *
from ui.lang_setting import *
from main.adjust import *
from main.set_up import prepare_input, prepare_video_subtitle
from main.summary import get_summary
from tool.gdrive_tool import get_video_from_url
with gr.Blocks() as demo:
ui_lang_radio.render()
ui_lang_radio.change(change_lang, inputs=ui_lang_radio,
outputs=comp_to_update)
top_markdown.render()
with gr.Column():
with gr.Row():
with gr.Column():
input_url.render()
url_download_button.render()
url_download_button.click(
get_video_from_url, input_url, input_video)
input_video.render()
with gr.Column():
with gr.Row():
start_time.render()
end_time.render()
lang_radio.render()
model_dropdown.render()
start_button.render()
(
start_button
.click(prepare_input, [input_video, start_time, end_time, lang_radio, model_dropdown], [output_transcribe, output_file, output_video])
.success(prepare_output, inputs=input_video, outputs=[download_video_subtitle_button, adjust_speaker, adjust_audio, prev_button, next_button, adjust_button, summary_button])
)
bottom_markdown.render()
with gr.Row(equal_height=False):
with gr.Column():
output_video.render()
output_file.render()
download_video_subtitle_button.render()
(
download_video_subtitle_button
.click(prepare_video_subtitle, inputs=[input_video, start_time, end_time], outputs=output_file)
)
with gr.Column():
output_transcribe.render()
middle_markdown.render()
with gr.Row(equal_height=False):
adjust_audio.render()
adjust_speaker.render()
with gr.Row():
prev_button.render()
next_button.render()
prev_button.click(get_speakers_previous, inputs=[
adjust_speaker], outputs=[adjust_speaker, adjust_audio])
next_button.click(get_speakers_next, inputs=[adjust_speaker], outputs=[
adjust_speaker, adjust_audio])
adjust_button.render()
adjust_button.click(start_adjust, inputs=[adjust_speaker], outputs=[
output_transcribe, output_file, output_video])
summary_markdown.render()
output_summary.render()
summary_button.render()
summary_button.click(get_summary, inputs=lang_radio,
outputs=output_summary)
with gr.Accordion("Copyright"):
gr.Markdown("OpenAI Whisper, OpenAI GPT, Pyannote & Huggingface")
if __name__ == "__main__":
demo.queue(concurrency_count=2, max_size=2).launch(
share=False, show_error=True)