Spaces:
Runtime error
Runtime error
import gradio as gr | |
import utils | |
import transcribe | |
with gr.Blocks(theme="base") as demo: | |
gr.Markdown("<center><h1> π Transcription Delight </h1></center>") | |
gr.Markdown("### Step 1: Generate Raw Transcript") | |
with gr.Row(): | |
with gr.Column(): | |
source = gr.Radio(label="Source type", choices=[("Audio", "audio"), ("Video", "video"), ("YouTube URL", "youtube")], value="audio") | |
def show_source(s): | |
if s == "audio": | |
source_component = gr.Audio(type="filepath") | |
elif s == "video": | |
source_component = gr.Video() | |
else: | |
source_component = gr.Textbox(placeholder="https://www.youtube.com/watch?v=44vi31hehw4") | |
preview = gr.HTML(label="Video preview") | |
source_component.change(utils.convert_to_embed_url, source_component, preview) | |
# transcribe_btn.click( | |
# lambda : gr.Tabs(selected="result"), | |
# None, | |
# tabs | |
# ).then( | |
# utils.generate_audio, | |
# [source, source_component], | |
# [download_audio], | |
# show_progress="minimal" | |
# ).then( | |
# transcribe.transcribe, | |
# [download_audio], | |
# [preliminary_transcript], | |
# show_progress="hidden" | |
# ) | |
with gr.Column(): | |
transcribe_btn = gr.Button("Transcribe audio π", variant="primary") | |
preliminary_transcript = gr.Textbox(info="Raw transcript", lines=10, show_copy_button=True, show_label=False, interactive=False) | |
source.change(utils.transcribe_button, source, transcribe_btn) | |
gr.Markdown("### Step 2: Clean with an LLM") | |
with gr.Row(): | |
with gr.Column(): | |
cleanup_options = gr.CheckboxGroup(label="Cleanup Transcript with LLM", choices=["Remove typos", "Separate into paragraphs"]) | |
llm_prompt = gr.Textbox(label="LLM Prompt", visible=False, lines=3) | |
cleanup_options.change( | |
utils.generate_prompt, | |
cleanup_options, | |
llm_prompt | |
) | |
with gr.Column(): | |
clean_btn = gr.Button("Clean transcript β¨", variant="primary", interactive=False) | |
gr.Markdown("*Final transcript will appear here*") | |
# with gr.Tab("Result", id="result"): | |
# with gr.Row(): | |
# with gr.Column(): | |
# download_audio = gr.DownloadButton("Downloading Audio File (please wait...)", variant="primary", interactive=False, size="sm") | |
# preliminary_transcript = gr.Textbox(info="Raw transcript", lines=10, show_copy_button=True, show_label=False, interactive=False) | |
# with gr.Column(): | |
demo.launch() |